AFAIK, if your Bundle-RequireExecutionEnvironment is set correctly in your plugins' MANIFEST.MF, you can point everything @ JDK6 and still end up with 1.4- or 5.0-compliant code. Much simpler.
And yes, Tycho is simpler than PDE (less configuration needed, arguably more/differently extensible), but currently lacks support for generation of source plugins/features. Nick On 5/17/10, David Carver <[email protected]> wrote: > 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 >>>>> >>>>> >>>> >>> >> > > -- Sent from my mobile device Nick Boldt :: JBoss by Red Hat Productization Lead :: JBoss Tools & Dev Studio Release Engineer :: Dash Athena http://nick.divbyzero.com _______________________________________________ dash-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/dash-dev
