harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Ellison <t.p.elli...@gmail.com>
Subject Re: [classlib] HARMONY-6546: Make JARs available to Maven repository?
Date Wed, 09 Jun 2010 12:29:35 GMT
On 09/Jun/2010 09:09, Andreas Sewe wrote:
> Hi all,
> Mark Hindess asked me to state my case on this list, so here I am: I
> yesterday filed <https://issues.apache.org/jira/browse/HARMONY-6546>, a
> request to make the JARs of the Harmony JRE available to a central Maven
> repository.
> Here are my use cases for this: While tons of libraries are available in
> such repositories (if you don't like Maven, substitute the build
> management tool of your choice), this is not true of the JRE's; these
> JARs are simply assumed to exist and are typically not an explicit
> dependency of your project. Occasionally, however, you need control not
> of the JRE you run on, but of the one you compile against.
> Crosscompiling the Scala library (scalac itself ran on OpenJDK when I
> did the tests) against the Apache Harmony JRE exposed
> <https://issues.apache.org/jira/browse/HARMONY-6533>, for example.
> Similarly, a tool like <http://mojo.codehaus.org/animal-sniffer> would
> benefit from the JRE being available as a managed dependency. Currently,
> generating a API signature for a JRE different than the one you run on
> requires a lot of manual steps:
> <http://mojo.codehaus.org/animal-sniffer-maven-plugin/examples/generating-java-signatures.html>.
> In summary, doing tests (which are akin to testing with different
> compilers in the C/C++ world) to ensure compatibility across JREs is
> difficult in the Java world; the JARs of *any* JRE are simply not
> available as a "normal" project dependency. (In fact, you cannot put the
> rt.jar of Sun's/Oracle's JRE in Maven central due to some click-through
> license of theirs.)
> And here's where the Apache Harmony project could IMHO help out: upload
> the classlib's JARs to Maven central. As you have already figured the
> dependencies in your JRE for OSGi, you just need to turn them into Maven
> POMs. The resulting artifacts would then have coordinates
> (groupId:artifactId:packaging:classifier:version) like
> org.apache.harmony:luni:jar:linux-x86:6.0-M2.
> Mark wrote HARMONY-6546:
>> Some of the jars are quite tightly coupled with the portlibrary, vmi,
>> etc. so would be difficult/impossible to deploy on a non-Harmony
>> compatible VM.
>> I'm curious how platform dependent jars - and corresponding native
>> dlls - can be managed in maven repositories. 
> Platform dependent JARs are not a problem; that's what the classifier
> dimension of the Maven coordinates is for. Whether you want to deploy
> the corresponding native DLLs to a Maven repository is a different
> question, however, as they are not needed for the use cases I outlined
> above. Furthermore, things like this might be useless on a non-Harmony
> compatible VM. That's an issue I am well aware of. (I do some Jikes RVM
> hacking for a PhD. :-) But having the JARs available would still be
> useful, I think.

Hi Andreas.

>From your description it sounds like you are not so much interested in
the implementation details of the Harmony JAR files, but you are looking
for "compile against JARs" for a full Java SE API.  Is that right?


View raw message