JFX using pre-built native elements for contributor build
Daniel Zwolenski
zonski at gmail.com
Tue Jan 22 14:35:43 PST 2013
> For this to work, one key thing is that there should be a mode where you
> don't have to build the native bits. We ought to publish native bits
> someplace that will just work with gradle (for example) so that when you
> build it just downloads the native bits the same as it does jar file
> dependencies. Unless you opt to build native bits, and then you're going to
> have to do a lot more work in terms of setting up your workstation (all the
> dev tools).
>
The normal "someplace" for this would be a Maven repository. The native
elements would then be accessible via Ant (with Ivy), Maven, Gradle and
anything else that can download a file from the web (the Maven repo is
really just a defined directory structure based on the name/version of the
thing).
The Maven repo has the idea of "SNAPSHOT" releases. When you reference a
SNAPSHOT in your Ivy/Maven/Gradle project it will always check for the
latest and download it. Snapshots are typically used for "developer/alpha
releases" and discarded after a point in time. This is in contrast to an
official release, where the release is intended never to change (and once
in Maven central you can't ever update it, meaning you can't ever break
someone's build).
You could either deploy to Maven Central or your own repository (easy/free
to setup).
You can use ANT tasks to deploy both your Snapshots and official releases
(i.e. you don't have to build everything with Maven to do this). I have
just gone through the process of setting this up for the JFX Deployment
stuff, so all the JFX Deployment JARs (and native files) can be deployed to
Maven as part of this build by calling either "ant maven-deploy-snapshot"
or "ant maven-release". Just waiting on the deployment guys to integrate
this back into the main repo, hopefully this week.
I'd be happy to work with you to make this happen, although you have a
window of about 3 weeks to work with before I go travelling for a while
(few months). I'm sure one of the other Maven/Gradle guys out there could
help out as well though, this is pretty standard Maven/Gradle stuff - just
a bit weird because of the native bits.
More information about the openjfx-dev
mailing list