[kepler-dev] Maven and Ptolemy

Christopher Brooks cxh at eecs.berkeley.edu
Fri Aug 15 10:04:53 PDT 2008

Ok, I was able to build using Maven.  I started from Tristan's notes
and created $PTII/doc/coding/maven.htm, which I've attached.

There are a few issues to contend with:

* Why does "make maven" copy the .java files?  This means
   that we have yet another copy of the code and that changes to the
   master .java files are not propagated?  This was a problem with ant
   in Kepler, we should see about avoiding it.

   The tool should fit our current directory structure, we should
   not need to change our directory structure to fit the tool.

* Having resources separate from the sources makes no sense for a
   componetized architecture.  Every time a package is moved, the
   resources need to be moved.  The resources should be in the
   jar that uses the resources.

   I know that webstart has a hard time finding resources that are not
   in the jar file that contains the .class file that references the

   Maven seems to want resources in a separate directory.  David and I
   have exchanged some email on this, and I'm not yet convinced that
   having resources away from the code makes any sense.
   The Maven docs say
   "Having a common directory layout would allow for users familiar with
    one Maven project to immediately feel at home in another Maven
    project. The advantages are analogous to adopting a site-wide

   So, it sounds like this is a Maven standard.  The great thing about
   standards is that there are so many to choose from.  :-)

* The $PTII/pom.xml file lists dev.archer.edu.au
   as the repository, this should probably be changed to the Ptolemy
   website.  Should this be a configuration time choice?

* There is this entire issue of how to generate the pom.xml file, what
   to do not all of the optional components are available.  Right now,
   it is fairly easy to build a stripped down Ptolemy that does not
   include packages like Java 3D.  Do we still need a configure step?

* Can we automatically generate run-vergil.sh?  That
   file has version numbers hard coded in.  Can we have a Maven step
   that generates this file?  We could also generate it via configure.

* What about the Eclipse jar files for backtracking?  There is an
   eclipse maven plugin, but I could not get the dependencies to work.

* maven is very network-centric, to build Ptolemy with Maven, you _must_
   have a network connection because it downloads various modules the
   first time it runs.  We would have to do quite a bit of monkeying
   around for Maven to build for the first time for a user who did not
   have a fast network connection.  This caused me problems when I was
   connected via a modem and had not yet build using Maven.  This is not
   a huge problem, just something of which to be aware.	

So, I think to proceed, we need to address the copy issue, the directory
layout issue and whether configure will be run or not.

Christopher Brooks (cxh at eecs berkeley edu) University of California
Chess Executive Director                      US Mail: 337 Cory Hall
Programmer/Analyst Chess/Ptolemy/Trust        Berkeley, CA 94720-1774
ph: 510.643.9841 fax: 510.642.2718	      (office: 400A Cory)
home: (F-Tu) 707.665.0131 (W-F) 510.655.5480

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mercury.nceas.ucsb.edu/ecoinformatics/pipermail/kepler-dev/attachments/20080815/4a3e4469/attachment-0001.htm>

More information about the Kepler-dev mailing list