Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #25792

Re: Dependency resolution in Java builds

From Markus Gessner <nospam@nospam.com>
Newsgroups comp.lang.java.programmer
Subject Re: Dependency resolution in Java builds
References <87oc6mi2nl.fsf@web.de> <b074deac-dae8-4afe-895c-496eaa3fb5eb@x4g2000prf.googlegroups.com>
Date 2011-02-09 08:06 +0100
Message-ID <87ei7hk7ox.fsf@web.de> (permalink)
Organization Arcor

Show all headers | View raw


Hello!

First of all, please excuse my typos of yesterday, it was a bit late
here in Europe.

On Tue, 8 Feb 2011 17:28:50 -0800 (PST), Joshua Maurice wrote:

> In short, all commonly available build systems suck. It's just a
> difference of degree. That includes the idiomatic solution of
> "Recursive Make Considered Harmful" with gnu make and gcc -M on c++
> code. Ex: Try removing a cpp file, and see if your link output gets
> rebuilt. See what happens when you add a new header file which hides
> another header file on an include search path.

This may happen, but in my everyday work I never came across such
situations. We even had a medley of metacompilers (moc, proc ...), and
the handling of the additional dependencies introduced by them also
always worked. You only had to explicitly add source files to some
*.pro-files, the makefiles were generated from, but that I happily
submitted to, everything else just working.

To sum it up -- this setup, devised a lot of years ago and never
changed, just worked, I almost never noticed it, which unobtrusiveness
IMHO is the best one can say about a tool. It was just "issue a command
and sit back".

> So, the modern commonly available Java build systems handle even less
> of these dependencies than the common "Recursive Make Considered
> Harmful" handles. I've been working on my actually incrementally
> correct build system on the side which does /correct/ incremental
> Java, but don't expect anything soon. (It also relies on Sun JVM's
> compiler interface, which isn't Java standard but Sun standard, so
> don't expect it to work on other platforms which don't have the Sun
> JVM. However, the output bytecode is portable and can run everywhere.)

This is a very laudable undertaking, but the fact of its necessity says
a lot about the common regard of this complex, as you note further
below.

> I think you'll just have to make do with full clean builds. That's
> also the advice I've heard from basically all Java people to whom I've
> talked on this subject.

At least now I won't do too much digging, although in this thread
markspace wrote about a different experience, which he made with Ant
(not Maven, I am stuck with, alas).

> Builds is one of the most under-appreciated aspects of programming.

Having just begun working with Java, I of course cannot really
appreciate its merits, but it seems, that it would be impossible to
implement the needs of a lot of business oriented applications without
its standards (Java EE), and some frameworks do have a certain charme
(e.g., JAXB and Hibernate). Nevertheless, the build environment I
experience gives me the overall impression of a car, nicely fitted with
teak panels, a GPS system and a minibar, but which has to be cranked
every mile or so. Says a somewhat frustrated mind, who prefers the
tramway :-)

Markus

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Re: Dependency resolution in Java builds Joshua Maurice <joshuamaurice@gmail.com> - 2011-02-08 17:28 -0800
  Re: Dependency resolution in Java builds Michal Kleczek <kleku75@gmail.com> - 2011-02-10 14:17 +0000
    Re: Dependency resolution in Java builds Lew <noone@lewscanon.com> - 2011-02-10 19:08 -0500
  Re: Dependency resolution in Java builds Joshua Maurice <joshuamaurice@gmail.com> - 2011-02-09 14:59 -0800
  Re: Dependency resolution in Java builds Lew <noone@lewscanon.com> - 2011-02-09 08:02 -0500
  Re: Dependency resolution in Java builds Markus Gessner <nospam@nospam.com> - 2011-02-09 08:06 +0100
  Re: Dependency resolution in Java builds Tom Anderson <twic@urchin.earth.li> - 2011-02-09 23:56 +0000
    Re: Dependency resolution in Java builds Lew <noone@lewscanon.com> - 2011-02-10 08:09 -0500
  Re: Dependency resolution in Java builds Lew <noone@lewscanon.com> - 2011-02-08 22:14 -0500
  Re: Dependency resolution in Java builds Tom Anderson <twic@urchin.earth.li> - 2011-02-09 23:28 +0000

csiph-web