[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
resource.
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
look-and-feel."
http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html
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
--
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/kepler/pipermail/kepler-dev/attachments/20080815/4a3e4469/attachment-0002.htm>
More information about the Kepler-dev
mailing list