Venkata Krishnan wrote:
Hi,

I'd go with 1 or 2 or 5.  With 1 and 2 we have a dependency on the build
folks and if that gets a bit difficult to do, then I suppose 5 is the best
option.

Thanks

- Venkat

On 10/11/07, Jean-Sebastien Delfino <[EMAIL PROTECTED]> wrote:
Jean-Sebastien Delfino wrote:
I have been looking into JIRA issue 1676, reporting that our top-down
build is broken.

With the fixes that went into SVN revision r583587, people should now
be able to build the whole java/sca tree from an empty Maven
repository on Maven 2.0.7.

P.S. Thanks to Luciano and Raymond for helping troubleshoot the build
issues.

So that was for the good news.

The bad news is that the build machine at
http://vmbuild1.apache.org/continuum uses JDK6. This breaks our build
again as JDK 6 ships JAXB and JAXWS 2.0, older than the JAXB and JAXWS
2.1 that we're using in Tuscany.

It looks like many other projects are running into this 2.0 vs 2.1 issue
with JAX-* and JDK6 as well...

Here are a few options to fix our build:
1) Ask the build team to run our build with JDK5
2) Ask the build team to run our build with MAVEN_OPTS -
Djava.endorsed.dirs
3) Patch the JDK6 on the build machine and copy the JAXB and JAX-WS API
Jars to a <JRE>/lib/endorsed directory
4) Port Tuscany back to JAXB and JAX-WS 2.0
5) Tweak the few pom.xml files that generate/compile/run JAXB/JAXWS code
to pass -Djava.endorsed.dirs to the relevant plugins/tasks/classes.

I'm investigating option (5) right now, plowing through pom.xml files
and Maven plugin configuration... as I think that supporting JDK 6 will
be good anyway and that it's also better to avoid requiring special
Maven command line options as everybody will run into this... but at
this point I'm not sure that I'll be able to get it working.

What do people think?

--
Jean-Sebastien

After investigation, I think that option (5) is technically feasible but really too messy as everywhere we use JAX-WS + JAXB we have to: - Replace the JAXB and JAXWS Maven plugins by the Maven antrun plugin and run the JAXB and JAXWS generator classes using a <java> Ant task with fork=true and -Djava.endorsed.dirs
- Configure the maven compiler plugin with -Djava.endorsed.dirs
- Configure the surefire plugin with -Djava.endorsed.dirs

... basically pages of convoluted XML.

Here's a simpler solution:

- Configure the surefire plugin with -Djava.endorsed.dirs=${settings.localRepository}/javax/xml/bind/jaxb-api/2.1 where necessary.
I took care of that one.

- On the continuum build machine configure
MAVEN_OPTS=-Djava.endorsed.dirs=<M2 repository>/javax/xml/bind/jaxb-api/2.1:<M2 repository>/javax/xml/ws/jaxws-api/2.1

- Document that MAVEN_OPTS configuration for people who need to build on JDK6.

Luciano, since you set up the initial build configuration, how can we configure MAVEN_OPTS on the build machine?

--
Jean-Sebastien


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to