Superwaba

Olá pessoal,

Estou com um problema para rodar o build em um projeto superwaba. Li em alguns foruns que é necessário compilar as classes com o JDK inferior a versão 1.3, sendo que para isso seria necessário compilar as classes passando como parametro -target = 1.1, ficando o build.xml com a seguinte configuração:

<javac srcdir="${workspace}\${ant.project.name}\buy" destdir="${workspace}\${ant.project.name}\build" source="1.2" target="1.1">

O erro que ocorre quando rodo o build é o seguinte:

Buildfile: D:\projetos\Superwaba\build_superwaba.xml
clean:
   [delete] Deleting directory D:\projetos\Superwaba\build
   [delete] Deleting directory D:\projetos\Superwaba\dist
build:
    [mkdir] Created dir: D:\projetos\Superwaba\build
    [mkdir] Created dir: D:\projetos\Superwaba\dist
    [javac] Compiling 1 source file to D:\projetos\Superwaba\build
     [copy] Copying 1 file to D:\projetos\Superwaba\build
jar:
      [jar] Building jar: D:\projetos\Superwaba\build\Superwaba.jar
warp:
     [java] (Super)Waba Application Resource Packager for Java  Version 5.0
     [java] Copyright (C) Rob Nielsen 1999-2001. All rights reserved
     [java] Copyright (C) SuperWaba Ltda 2002-2008. All rights reserved
     [java] PDB file: Superwaba.pdb
     [java] PDB name: Superwaba
     [java] PDB creator: cBAN
     [java] ...writing Superwaba.pdb
     [java] ...adding: Buying.class
     [java] FATAL ERROR!
     [java] This file has an invalid .class file format.It uses a format greater than 1.1.  You probably are using the javac.exe file from JDK 1.3.0 or superior. You may   continue to use it, but pass into the command line this: "-target 1.1". If you  read the SuperWaba Optimization Tricks Tutorial, you'll find that is a bad idea use newer JDKs. Among other more important things, like producing a slower code, you will not be able to obfuscate your code using retroguard or JOpt.
     [java] Java Result: 990
prepare-exegen:
exegen-cab:
     [java] SuperWaba Launch Executable Generator for Java  Version 5.0
     [java] Copyright (C) Rob Nielsen 1999-2001. All rights reserved
     [java] Copyright (C) SuperWaba Ltda 2002-2008. All rights reserved
     [java] Output file: Superwaba
     [java] Class name: buy/Buying
     [java] PalmOS PRC name: Superwaba
     [java] Creator ID: cBAN
     [java] App version: 1
     [java] Basic cmdline: buy/Buying Superwaba cBAN
     [java] ...writing Superwaba.prc
     [java] Creating installation files...
     [java] Could not find Cabwiz.exe in directories relative to the classpath. Be sure to add SuperwabaSDK/lib to the classpath
     [java] Java Result: 990
all-warp:
     [move] Moving 1 file to D:\projetos\Superwaba\dist
all-exegen-cab:
     [move] Moving 1 file to D:\projetos\Superwaba\dist
all:
BUILD SUCCESSFUL
Total time: 3 seconds

Alguém tem alguma dica?

This file has an invalid .class file format.It uses a format greater than 1.1. You probably are using the javac.exe file from JDK 1.3.0 or superior. You may continue to use it, but pass into the command line this: “-target 1.1”. If you read the SuperWaba Optimization Tricks Tutorial, you’ll find that is a bad idea use newer JDKs. Among other more important things, like producing a slower code, you will not be able to obfuscate your code using retroguard or JOpt.

O erro está ali, e vc ja tentou passar target 1.1 correto?

Vc esta com o proejto no eclipse ou netbeans?

O projeto está no eclipse, passei o target 1.1 e o source 1.2, mas mesmo assim o erro persiste. O build que estou usando está abaixo:

<!-- ****** XML Para Deploy da Aplicacao Superwaba ****** -->

<project name="Superwaba" basedir="." default="all">

	<property name="MainWindow" value="buy.Buying" />

	<property name="workspace" location="d:\projetos\" />

	<path id="classpath">
		<pathelement location="d:\SuperWabaSDK\lib\SuperWaba.jar" />
		<pathelement location="c:\Arquivos de programas\Java\jdk1.5.0_06\lib\tools.jar" />
		<pathelement location="d:\SuperWabaSDK\lib\SuperWabaTools.jar" />
		
		<!--Caso use o Litebase para persistencia dos dados de seus aplicativos -->
		<!-- pathelement location="C:\Litebase/lib/Litebase.jar"/ -->
	</path>
	
	
	<!-- Warp/Exegen classpath -->
	<path id="utils">
		<pathelement path="d:\SuperWabaSDK" />
		<pathelement location="d:\SuperWabaSDK/lib/SuperWaba.jar" />
	</path>

	<path id="lib">
		<pathelement path="d:\SuperWabaSDK/lib" />
		<pathelement location="d:\SuperWabaSDK/lib/SuperWabaTools.jar" />
		<pathelement location="d:\SuperWabaSDK/lib/SuperWaba.jar" />
	</path>
	
	<!-- Clean directories and files -->
	<target name="clean">
		<delete dir="${workspace}\${ant.project.name}\build" />
		<delete dir="${workspace}\${ant.project.name}\dist" />
	</target>

	<!-- Compile -->
	<target name="build" depends="clean">
		<mkdir dir="${workspace}\${ant.project.name}\build" />
		<mkdir dir="${workspace}\${ant.project.name}\dist" />
		<javac srcdir="${workspace}\${ant.project.name}\buy" destdir="${workspace}\${ant.project.name}\build" source="1.2" target="1.1">
			<include name="**/*.java" />
			<classpath refid="classpath" />
		</javac>
		<copy todir="${workspace}\${ant.project.name}\build">
			<fileset dir="${workspace}\${ant.project.name}\buy">
				<exclude name="**/*.java" />
			</fileset>
		</copy>
	</target>
	
	<!-- Package classes -->
	<target name="jar" depends="build">
		<jar
			jarfile="${workspace}\${ant.project.name}\build/${ant.project.name}.jar">
			<fileset dir="${workspace}\${ant.project.name}\build"
				includes="**/*.class" />
		</jar>
	</target>

	<!-- Execute WARP -->
	<target name="warp" depends="jar">
		<java dir="${workspace}\${ant.project.name}\build"
			classname="superwaba.tools.Warp" fork="true" classpathref="lib">
			<arg value="c" />
			<arg value="${ant.project.name}" />
			<arg value="${ant.project.name}.jar" />
		</java>
	</target>

	<!-- Prepare EXEGEN execution -->
	<target name="prepare-exegen">
		<mkdir dir="${workspace}\${ant.project.name}\icons" />
		<copy todir="${workspace}\${ant.project.name}\build">
			<fileset dir="${workspace}\${ant.project.name}\icons">
				<include name="*.bmp" />
			</fileset>
		</copy>
	</target>

	<!-- Execute EXEGEN -->
	<target name="exegen" depends="warp, prepare-exegen">
		<java dir="${workspace}\${ant.project.name}\build"
			classname="Exegen" fork="true" classpathref="lib">
			<arg value="/I" />
			<arg value="GuiBuilder_" />
			<arg value="/v" />
			<arg value="1" />
			<arg value="${ant.project.name}" />
			<arg value="${MainWindow}" />
			<arg value="${ant.project.name}" />
		</java>
	</target>

	<!-- Execute EXEGEN with WinCE EXE -->
	<target name="exegen-exe" depends="warp, prepare-exegen">
		<java dir="${workspace}\${ant.project.name}\build"
			classname="Exegen" fork="true" classpathref="lib">
			<arg value="/v" />
			<arg value="1" />
			<arg value="/e" />
			<arg value="${ant.project.name}" />
			<arg value="${MainWindow}" />
			<arg value="${ant.project.name}" />
		</java>
	</target>
	
	<!-- Execute EXEGEN with WinCE CAB -->
	<target name="exegen-cab" depends="warp, prepare-exegen">
		<java dir="${workspace}\${ant.project.name}\build"
			classname="superwaba.tools.Exegen" fork="true" classpathref="lib">
			<arg value="/v" />
			<arg value="1" />
			<arg value="/z" />
			<arg value="${ant.project.name}" />
			<arg value="${MainWindow}" />
			<arg value="${ant.project.name}" />
		</java>
	</target>
	
	<!-- Execute WARP and populate distribution directory -->
	<target name="all-warp" depends="warp">
		<move
			file="${workspace}\${ant.project.name}\build/${ant.project.name}.pdb"
			todir="${workspace}\${ant.project.name}\dist" />
	</target>

	<!--Execute EXEGEN and populate distribution directory -->
	<target name="all-exegen" depends="exegen, all-warp">
		<move todir="${workspace}\${ant.project.name}\dist"
			file="${workspace}\${ant.project.name}\build/${ant.project.name}.prc" />
	</target>

	<!--Execute EXEGEN with WinCE EXE and populate distribution directory -->
	<target name="all-exegen-exe" depends="exegen-exe, all-warp">
		<move todir="${workspace}\${ant.project.name}\dist">
			<fileset dir="build">
				<include name="${ant.project.name}.prc" />
				<include name="**/*.exe" />
			</fileset>
		</move>
	</target>

	<!--Execute EXEGEN with WinCE CAB and populate distribution directory -->
	<target name="all-exegen-cab" depends="exegen-cab, all-warp">
		<move todir="${workspace}\${ant.project.name}\dist">
			<fileset dir="${workspace}\${ant.project.name}\build">
				<include name="${ant.project.name}.prc" />
				<include name="*.CAB" />
				<include name="*.ini" />
				<include name="*.bat" />
			</fileset>
		</move>
	</target>
	<target name="all" depends="all-exegen-cab" />
</project>

como pode ver, a tag javac já contém o source e o target definidos.

Que source 1.2, tenta la 1.3, nao sei se vc consegue compliance abaixo de 1.3 nao.
Nem no eclipse tem jeito.
O meu aqui ta configurado para 1.3 e ta certinho.
Vc configurou tudo de acordo com SuperWaba companion?

Eu nao uso ant aqi, so meio ogro pressas coisas eu rodo o warp e o exegen na mao…

Vai la no seu eclipse e configura o JDK Compliance para 1.3 no Java Compiler na properties do projeto, compila e muda seu ant ai tb pra source 1.3 com target 1.1

Valeu pela dica, agora está compilando corretamenta, e sobre o 2º erro, referente ao arquivo Cabwiz.exe, cujo log está abaixo

Could not find Cabwiz.exe in directories relative to the classpath. Be sure to add SuperwabaSDK/lib to the classpath, tenho que fazer alguma configuração para que o build o encontre?

Você pode me enviar o SuperWaba Companion, pois o que veio com o SuperwabaSDK que baixei não possui as páginas 204 a 248.

Encontrei o 2º erro, eu não tinha a pasta makecab dentro da instalação do SuperwabaSDK, agora funcionou perfeitamente. Obrigado pelas dicas.

Até a próxima.

Amigo, tenho uma aplicação com superwaba que fiz em 2009, mas não tenho o litebase para compilá-lo no eclipse. Já procurei na internet e naõ acho a versão 1.2. Por acaso, você tem o instalador dele que possa me passar?

Desde já agradeço!