You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ant.apache.org by Jon Baer <jo...@digitalanywhere.com> on 2001/05/03 16:34:26 UTC

Ant + ZeroG Install Anywhere?

Has anyone had any success on using Ant to do a final packaging build with any
installer products like ZeroG's InstallAnywhere NOW! 4.0 stuff?  (or any
installer for that matter).

- Jon


Re: Generics compiler and Ant?

Posted by Stefan Bodewig <bo...@apache.org>.
Joel Riedesel <jr...@jnana.com> wrote:

> It's tricky since one must use the javac from the sample
> generics implementation AND one must cross compile using
> the collect.jar (collections modified for generics).

What's the class name of that generics compiler?  Ant won't run
command line javac but invoke either com.sun.tools.javac.Main (1.3 ==
modern) or sun.tools.javac.Main (1.2 and 1.1) directly.  And it will
load it from its current CLASSPATH.

If it is the same class name, you cannot use it with Ant - we've
thought about adding a fork option to javac that might help, but
nothing has been implemented yet.

If it is a different class name, you could add a CompilerAdapter and a
new compiler type to Ant.

Stefan

Generics compiler and Ant?

Posted by Joel Riedesel <jr...@jnana.com>.
Is it possible to use the prototype generics compiler
with ant?

It's tricky since one must use the javac from the sample
generics implementation AND one must cross compile using
the collect.jar (collections modified for generics).

The collect.jar is stubs of actual collections.  So, if
collect.jar is included on ant's classpath, ant doesn't work.

My build task looks like this:
  <target name="main" depends="init">
    <javac srcdir="."
           destdir="."

bootclasspath="e:\jnana\java\jks4\generics\collect.jar;e:/jnana/java/jdk1.4b
1/jre/lib/rt.jar"
           classpath="${j2eepath}" />
  </target>

And, ant with verbose looks like this at the appropriate time:
---
    [javac] Compilation args: -d E:\Jnana\jks4 -classpath
E:\Jnana\jks4;E:\Jnana
\Java\jdk1.4b1\lib\tools.jar;E:\Jnana\Java\jakarta-ant-1.3\lib\parser.jar;E:
\Jna
na\Java\jakarta-ant-1.3\lib\jaxp.jar;E:\Jnana\Java\jakarta-ant-1.3\lib\ant.j
ar;E
:\Jnana\jks4\dev -sourcepath E:\Jnana\jks4 -bootclasspath
E:\Jnana\Java\jks4\gen
erics\collect.jar;E:\Jnana\Java\jdk1.4b1\jre\lib\rt.jar
---

Yet, my test file doesn't compile.  The difficult seems to be that
javac is loaded using ant's class loader (which is fine - if we get
the JDK1.3 or JDK1.4 javac, then I get a variety of interesting parse
errors, I
don't get these, so I know it's loading the javac from the generics
sample implementation compiler).

Now, during the compile, javac looks up a LinkedList (for example) and
gets the one in the default class loader (since javac was loaded from
the default class loader...) instead of what I specified in bootclasspath.

Any ideas about this?  Is this even possible?

Thanks,

Joel



RE: Ant + ZeroG Install Anywhere?

Posted by Paul Perevalov <pp...@cyber-asp.com>.
Jon,

I'm using JExpress product from DeNova and it works very well for me.
You can do all packaging from command line and even setup
some packaging properties in Ant target because it uses simple property
file to store it configuration.
Here is an example of my build file for distribution task:

    <!-- Prepare JExpress project file -->
    <propertyfile  file="${build.jex}/claims3.jex" >
    	<entry key="customAfterInstallWizardPanelClass" value="WinDesktop"/>
      <entry key="localBuildDirectory" value="${basedir}\${dist.dir.root}"
/>
      <entry key="downloadUrl" value="${provider.url}/${jex.download.url}"
/>
      <entry key="defaultApplicationDirectory" value="/${jex.app.home}" />
      <entry key="menus"
value="1,${jex.app.menu}=1%2CshortName=${jex.app.shortname}%2CiconFilename=$
{basedir}\${build.jex}\C3Icon.ico%2CuseJavaCommandPrefix=true%2CuseJavaConso
le=false%2ClongName=${jex.app.longname}%2CuseSwing=false%2CexecutableFile=Ma
in%2CcommandLineArguments=${jex.app.cmdline}" />
      <!--entry key="packageVersion" value="${ver}" /-->
      <entry key="packageVersion" value="" />
      <entry key="packageName" value="${jex.app.name}" />
      <entry key="installLicenseFilename"
value="${basedir}\${build.jex}\license.txt"/>
      <entry key="installImageFilename"
value="${basedir}\${build.jex}\Logo.jpg"/>
      <!-- JExpress will set app. classpath automatically based on available
JARs -->
      <entry key="installUserClasspath" value=""/>
      <entry key="filesList"
value="1,${basedir}\${build.lib},${basedir}\${build.dir};contents"/>
    </propertyfile>

    <!-- Run JExpress in different VM -->
    <java classname="com.denova.JExpress.Build.JExpressDeveloper"
fork="yes" dir="${jex.install.dir}">
      <classpath>
        <pathelement path=".;${jex.install.dir}"/>
      </classpath>
      <arg value="${basedir}\${build.jex}\project.jex"/>
    </java>


Paul


-----Original Message-----
From: Jon Baer [mailto:jonbaer@digitalanywhere.com]
Sent: Thursday, May 03, 2001 10:34 AM
To: ant-user@jakarta.apache.org
Subject: Ant + ZeroG Install Anywhere?


Has anyone had any success on using Ant to do a final packaging build with
any
installer products like ZeroG's InstallAnywhere NOW! 4.0 stuff?  (or any
installer for that matter).

- Jon