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)

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 <d_a_carver@xxxxxxxxx> 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


Back to the top