Hi Igor,
I tried your patches using build.eclipse.org but I'm still getting a
bunch of classes being different. I was wondering if I need to apply
your patch from Bug 378234 [1] as well for this to work?
Or perhaps I might have missed a step. What I did was:
1. Applied the diffs from Bug 386646
2. Download the ee.zip from Bug 386649 and unzipped it to my home
directory
3. Copy toolchains.xml to my ~/.m2/toolchains.xml
4. Modified the directories in toolchains.xml to point to the
unzipped ee directory
5. Modified toolchains.xml to use jdk 1.4, 1.5, and 1.6 from
/shared/common
Specifically:
/shared/common/j2sdk1.4.2_19/jre
/shared/common/jdk-1.5.0-22.x86_64/jre
/shared/common/jdk1.6.0_27.x86_64/jre
I ran the build using the command:
mvn clean install
-Dmaven.repo.local=/home/data/users/tha/R4_localrepo
-Dmaven.test.skip=true -Peclipse-pack,bree-libs
Any ideas on what I might have missed?
Thanks,
Thanh
[1]
https://bugs.eclipse.org/bugs/show_bug.cgi?id=378234#c30
On 08/06/2012 09:28 AM, Igor Fedorenko wrote:
I've
opened couple of bugs [1] and [2] that explain how to enable use
of
proper execution environment and jre libraries for the Platform
build.
This fixes all but one class file discrepancies between CBI-built
bundles and corresponding bundles in Juno and I'd like to ask
Platform
developers to review build configuration changes attached to bug
386646
[1]. I am particularly concerned about this
* there are cases where Juno bundles appear to be built for
specific EE
but I could not explain why. Likely just the lack of understanding
on my
part, but could be a problem with Juno bundles, I am not sure.
* there are cases when bundles use classes/methods not available
there
minimal EE.
* there are cases when bundles are compiled higher class version
than
supported by their minimal EE.
* p2 build is basically a mess. I had to force EE=J2SE-1.4 by
default
but then override many bundles to use either 1.5 or one of
restricted EEs.
Some background information about default tycho behaviour.
Normally Tycho uses minimal runtime execution environment (EE for
short)
declared in bundle manifest to determine system classes visible to
the
bundle as well as java compiler source and target levels. It is
also
possible to instruct Tycho to use EE-specific JRE libraries during
compilation. The goal is to detect any possible incompatibilities
with
EE during the build. This default behaviour does not work in all
cases
and Tycho provides configuration parameters to override both build
EE
and java compiler source/target levels.
There are two reasons I usually recommend using Tycho default
behaviour
whenever possible. First, build-specific configuration will likely
suppress build-time validation of bundle compatibility with its
declared
minimal EE. For example, bundle with CDC-1.1/Foundation-1.1 but
built
against J2SE-1.5, can be using java 5 classes/methods. Second,
build
configuration will need to be updated if bundle EE requirements
change
in the future.
[1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=386646
[2] https://bugs.eclipse.org/bugs/show_bug.cgi?id=386649
--
Regards,
Igor
_______________________________________________
cbi-dev mailing list
cbi-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/cbi-dev
|