Bug 1154 : Replace make-based build with Maven
Last modified: 2010-06-05 02:56




Status:
RESOLVED
Resolution:
WONTFIX -
Priority:
P2
Severity:
normal

 

Reporter:
jramsdale
Assigned To:
fry

Attachment Type Created Size Actions
Maven build files (poms) patch 2009-02-07 11:00 20.09 KB

Description:   Opened: 2009-02-07 10:34
Though building Processing with Ant would be preferable to Make, I believe
even greater value would come from building it with Maven. Recent years
have seen many projects move from Ant-based to Maven-based builds due to
its configuration-based, rather than script-based, approach to building
projects. It also has advanced management of dependencies, a large number
of plugins, and facilities supporting IDE independence.

Beyond theory, though, I've succeeded in building Processing's jars using
Maven, with a couple of caveats. First, compilation initially failed due to
there existing two instances of AutoFormat with the same package
declaration (though not residing in the same directory). Second, I haven't
attempted to replicate preproc.pl or its behavior. I'll need to know more
about both of these situations to replicate their behavior. I've not
addressed assembling the distribution(s) yet--I've got some questions first.

Please take a look at the attached patch, which I'd like to offer the
community for its consideration. I'd be glad to answer any questions you
might have.
Additional Comment #1 From jramsdale 2009-02-07 11:00
edit]
Maven build files (poms)

Enclosed patch provides a pom.xml build file for each Processing project, plus
a root pom. After applying the patch and installing Maven, type 'mvn clean
install' from the root of the project. This will build jars for the
sub-projects (found in the target dir under each).

Typing 'mvn clean site' will generate a web site for each project (found in the
target/site dir under each). The site contains reports on a number of code
quality metrics and is worth a look.

I'm on the #processing IRC channel a fair bit if anyone's got questions, or ask
here...