Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cross-project-issues-dev] Re: Migrating Athena Ant-based builds from build to build2 (was Re: Closer, but not quite there)

Yeah, that works, but you may have available some JRE classes that aren't available in a particular version. Plus the build needs to force the compiler to produce the correct byte code. I'm already using the below technique for Vex, but ideally, there needs to be a realy 1.4, 5.0, and 6.0 JDKs that are referenced so the appropriate libraries and runtimes are referenced.

As Paul said these should be three different locations, and on the slave since we have a different architecture they'll need to be defined per slave. The master will need to point to it's versions, and the slaves will need to point.

Maven seems to handle things by forcing the compiler to produce appropriate byte code.


Dave

On 05/16/2010 08:35 PM, Nick Boldt wrote:
If you, in your build.properties file, set:

JAVA60_HOME=${JAVA_HOME}
JAVA50_HOME=${JAVA_HOME}
JAVA14_HOME=${JAVA_HOME}

and Hudson or Eclipse set JAVA_HOME for you, then you're golden.

Or have I missed something? Can't the individual builds define their dependency on JAVA_HOME (be it from within Eclipse, via commandline locally, or as defined by Hudson), and have the build jobs define what JAVA_HOME to use by selecting the version of Java to use on that slave?

Nick

On 05/16/2010 10:20 AM, David Carver wrote:
I've got everything working now.  However the PDE build systems are
going to have problems with the slave combination, because of the
reliance on the various JAVA14_HOME, JAVA_50, JAVA_60 environment
variables. Unless we set these as Environment variables by default on
the Slave machine so they point to the correct locations.

JAVA_HOME should be set by the selection of the JDK (i.e. Base Java 5.0
Installation, Base Java 6.0 Installation). The JAVA_14, JAVA_50, JAVA_60
can be set per slave machine, so builds can pick it up. There is an
option to do this under the Slave configuration screen on Hudson.

Dave

On 05/13/2010 10:08 PM, Nick Boldt wrote:
bootclasspath issues.

Solution is to add entries such as these into your build.properties
file until you solve the problem.

JavaSE-1.6=${JAVA60_HOME}/jre/lib/rt.jar:${JAVA60_HOME}/jre/lib/core.jar:${JAVA60_HOME}/jre/lib/annotation.jar:${JAVA60_HOME}/jre/lib/beans.jar:${JAVA60_HOME}/jre/lib/ibmorbapi.jar:${JAVA60_HOME}/jre/lib/java.util.jar:${JAVA60_HOME}/jre/lib/jlm.jar:${JAVA60_HOME}/jre/lib/logging.jar:${JAVA60_HOME}/jre/lib/resources.jar:${JAVA60_HOME}/jre/lib/security.jar:${JAVA60_HOME}/jre/lib/sql.jar:${JAVA60_HOME}/jre/lib/vm.jar:${JAVA60_HOME}/jre/lib/xmldsigfw.jar:${JAVA60_HOME}/jre/lib/xml.jar:${JAVA60_HOME}/jre/lib/graphics.jar:${JAVA60_HOME}/jre/lib/server.jar:${JAVA60_HOME}/jre/lib/jce.jar:${JAVA60_HOME}/jre/lib/jsse.jar:${JAVA60_HOME}/jre/lib/ibmjcefw.jar:${JAVA60_HOME}/lib/dt.jar:${JAVA60_HOME}/../Classes/dt.jar:${JAVA60_HOME}/../Classes/classes.jar:${JAVA60_HOME}/../Classes/jsse.jar:${JAVA60_HOME}/../Classes/jce.jar


J2SE-1.5=${JAVA50_HOME}/jre/lib/rt.jar:${JAVA50_HOME}/jre/lib/vm.jar:${JAVA50_HOME}/jre/lib/core.jar:${JAVA50_HOME}/jre/lib/xml.jar:${JAVA50_HOME}/jre/lib/graphics.jar:${JAVA50_HOME}/jre/lib/server.jar:${JAVA50_HOME}/jre/lib/ibmorbapi.jar:${JAVA50_HOME}/jre/lib/security.jar:${JAVA50_HOME}/jre/lib/classes.jar:${JAVA50_HOME}/jre/lib/jsse.jar:${JAVA50_HOME}/jre/lib/jce.jar:${JAVA50_HOME}/jre/lib/ibmjcefw.jar:${JAVA50_HOME}/../Classes/dt.jar:${JAVA50_HOME}/../Classes/classes.jar:${JAVA50_HOME}/../Classes/jsse.jar:${JAVA50_HOME}/../Classes/jce.jar


J2SE-1.4=${JAVA14_HOME}/lib/vm.jar:${JAVA14_HOME}/jre/lib/vm.jar:${JAVA14_HOME}/lib/dt.jar:${JAVA14_HOME}/jre/lib/dt.jar:${JAVA14_HOME}/lib/rt.jar:${JAVA14_HOME}/jre/lib/rt.jar:${JAVA14_HOME}/lib/core.jar:${JAVA14_HOME}/jre/lib/core.jar:${JAVA14_HOME}/lib/xml.jar:${JAVA14_HOME}/jre/lib/xml.jar:${JAVA14_HOME}/lib/graphics.jar:${JAVA14_HOME}/jre/lib/graphics.jar:${JAVA14_HOME}/lib/server.jar:${JAVA14_HOME}/jre/lib/server.jar:${JAVA14_HOME}/lib/ibmorbapi.jar:${JAVA14_HOME}/jre/lib/ibmorbapi.jar:${JAVA14_HOME}/lib/security.jar:${JAVA14_HOME}/jre/lib/security.jar:${JAVA14_HOME}/lib/classes.jar:${JAVA14_HOME}/jre/lib/classes.jar:${JAVA14_HOME}/jre/lib/jce.jar:${JAVA14_HOME}/lib/jsse.jar:${JAVA14_HOME}/jre/lib/jsse.jar:${JAVA14_HOME}/../Classes/dt.jar:${JAVA14_HOME}/../Classes/classes.jar:${JAVA14_HOME}/../Classes/jsse.jar:${JAVA14_HOME}/../Classes/jce.jar


CDC-1.0/Foundation-1.0=${JAVA_FOUNDATION_HOME}/ee.foundation-1.0.jar

CDC-1.1/Foundation-1.1=${JAVA_FOUNDATION_HOME}/ee.foundation.jar

Also, make sure you're setting a correct value for JAVA_HOME in your
build.properties. My latest template for Athena builds has this:

JAVA14_HOME=${JAVA_HOME}
JAVA50_HOME=${JAVA_HOME}
JAVA60_HOME=${JAVA_HOME}

and the accompanying build.xml script that Hudson runs contains this:

<property name="JAVA_HOME" value="${java.home}/.." />

Then, open a bug, attach what you added to make it build on the slave,
an I'll add them into the default in server.properties so that
bootclasspath should work OOTB on both master build ppc and slave
build2 x86_64 boxen.

You could also - if you wanted to try another approach - explore the
pomgen + tycho/maven approach to building. It's almost working for ESL:

https://build.eclipse.org/hudson/job/tycho-esl/
https://bugs.eclipse.org/bugs/show_bug.cgi?id=294825

Nick

On 05/13/2010 05:22 PM, David Carver wrote:
I switched Vex to an installable unit, but not quite there yet.

https://build.eclipse.org/hudson/job/cbi-wtp-inc.vex/370/console

Dave








Back to the top