Refactoring JavaFX Builds & Sources
danno.ferrin at shemnon.com
Fri Oct 19 07:37:28 PDT 2012
On Fri, Oct 19, 2012 at 7:55 AM, Roman Kennke <roman at kennke.org> wrote:
> Am Freitag, den 19.10.2012, 15:31 +0200 schrieb Mario Torre:
> > > Further more, you should be able to do "find usages" in your IDE and
> get EVERYTHING IN THE UNIVERSE, rather than right now where in NB it
> doesn't have enough information about the 160 other projects in our system
> to be able to do this. This is bad.
> > >
> > > Right now we build with ant. Many of you have suggested Maven. Some of
> you at JavaOne suggested Gradle. I am presently looking into Gradle. The
> key things I like about Gradle are:
> > >
> > > 1) It isn't XML
> > > 2) Like Ivy & Maven, it handles dependencies well
> > >
> > > We presently have a pile of XML files and nasty build logic for
> downloading dependencies (this is all in the closed repo, but you would be
> exposed to the horror if we just made it all public). I wanted instead to
> use Ivy at the very least, but rather if I can get better build happiness
> from another setup entirely (like Gradle) then I might as well give it a
> > I kind of like Gradle, but let me put the cart before the horse here
> > (I don't know if this sounds as well in English as it is in Italian,
> > where we actually use the oxen, but well :)
> > While Maven is a well understood tool, Gradle is fairly new. This
> > turns to be especially problematic when building and shipping on Linux
> > distributions because there are some constraints and limitation on
> > what can go or not in a given release (btw, I think this could be
> > considered a problem on Windows and OSX installations in some
> > environments where you can't simply install any tool you want).
> > Maven, on the other end, is pretty likely sitting on your machine
> > already (as are Make, GCC and Configure most of the time on developers
> > machines), so I suspect it will be easier for the average folk as well
> > as heavily filled packager to take care of the build bits.
> I totally agree with this, but would take a view from the IDE angle at
> it. I still remember the days when Maven was 'young' (i.e. just a few
> years old ;-) ), there was an Eclipse plugin, but it was horror. Only
> recently the Eclipse-Maven plugin evolved into something truly useful. I
> don't know how good or bad a Gradle plugin for Eclipse does though, or
> if it even exists (I am sure it does).
I've heard good things about the Spring Source Tools Gradle plugin
http://static.springsource.org/sts/docs/latest/reference/html/gradle/ but I
am not an Eclipse user.
Idea has built in support for Gradle. Idea is my current IDE of choice.
(Sidebar, when is netbeans going to get changelist support?)
There is a NetBeans project starting for Gradle:
Gradle can also spit out Eclipse projects and Idea projects. That is what
I use personally. Since eclipse projects are fairly universal any IDE that
people may want to hack in can ingest that. (JDeveloper?)
> However, there is more to this than just that. JavaFX comes with a bunch
> of native code (quite a lot, I'd figure). The IDE extensions for C/C++
> hacking (e.g. CDT for Eclipse) are usually really good at handling
> configure/make style projects, but totally lack support for anything
> else (e.g. Maven, Ant or even Gradle). That is in part due to the fact
> that Maven, Ant (dunno about Gradle) themselves are not that well-suited
> for building C/C++ code. For example, I am completely hacking on
> OpenJDK/Hotspot using Eclipse, with just make, and it wasn't even
> difficult to setup, and yes, I can hit 'go' and it builds+runs whatever
> I want with my code or 'find' and it finds everything in the universe
> (both C/C++ and Java).
What would be nice is if the snapshot builds posted the intermediaries to a
public facing repository so that installing the naitve build chain ins not
a requirement. IIRC you need a non-free-as-in-beer VisualC++ compiler to
spit out windows builds. (I may be wrong as my knowledge is dated).
> So, from my point of view, what would work well is probably make for
> native code and ant or maven or whatever for Java code (and just call
> one from the other to make it a nicely integrated build).
There is nothing that will hold me back. I know who I am....
I remember wher I came from, and I feel stronger for knowing.
Zane, Ninja of Ice. Ninjago S01E07
More information about the openjfx-dev