--On Monday, September 19, 2005 10:55 PM -1000 Aaron Kagawa <[EMAIL PROTECTED]> wrote:

Here is my initial version:
<http://csdl.ics.hawaii.edu/~kagawaa/hackyMaven-0.1.1.zip>.  With
Philip's permission, I will commit this module to CVS.

Sure thing. Just so that I am clear on the intent: I assume that what this provides is the ability for Hackystat sensors to work in a project that uses Maven as its build facility? If so, then this module would probably be called hackyApp_Maven in version 7 of Hackystat.

1) There is something wrong with the Maven plugin for LOCC (I it from
CVS).  Apparently, it creates an xml file with sizeType="javaLine".

Weird. Who wrote this plugin? (Tim?) Is this due to a simple typo somewhere?

2) For some reason (probably because I don't understand it fully), Maven
wants to download sensorshell.jar as sensorshell-.jar and I couldn't get
rid of the "-"-".

This provides yet additional motivation for a feature I would like to provide in the next generation of our build.xml. Currently, each module can define its own 'install' task in its local.build.xml. This task runs before the main build.xml creates sensorshell.jar. It turns out that some sensors/modules want to do some post-processing after the sensorshell.jar is created (hackyEclipse and hackyInstaller are examples, in that they want to create a jar file containing the contents of sensorshell.jar). Currently, to do this the main build.xml has to be hacked to include a task specific to that sensor/module that runs after sensorshell is created.

To fix this violation of modularity, what we can do is change our requirements for the contents of the local.build.xml from a single 'install' task to two tasks: 'install-presensorshell' and 'install-postsensorshell'. (OK, the names aren't great, and I am open to improvements.)

The 'install-presensorshell' task runs at the point in the build that the current 'install' task runs. So, all of the current modules can simply change the name of their install task to install-presensorshell to retain their current behavior.

The 'install-postsensorshell' task can be defined as the no-op task if a module doesn't need it, but for modules that want a hook into the build environment after sensorshell has been created, this will do the trick. I am pretty sure that the hackyInstaller and hackyEclipse-specific code in the main build.xml can be moved to such a local install-postsensorshell task.

With respect to your Maven issue, if Maven requires the '-' in sensor names, then the hackyApp_Maven module can get this behavior by implementing a install-postsensorshell task that makes a copy of sensorshell.jar in the download directory called sensorshell-.jar.

3) I noticed that maven v. 1.0.2 depends on ant-1.5.3.  I'm not sure if
that will be a problem for the sensors and/or CSDL tools.

I just checked the Maven home page; as of 12-Sep they support Ant 1.6.5.

This was a little harder that I thought it was going to be... I think I
don't really like Maven anymore... :)

I have this attraction/repulsion relationship with Maven 1.x---the idea is so promising, but the execution seems a little off somehow. (That's probably how a lot of folks feel about Hackystat!)

but, I suppose its pretty cool
that our existing Ant Sensors can be called via Maven without very much
work.  Oh, and I have no idea on how hackyMaven would integrate with
Hackystat; not sure one how to write hackyInstaller code for this because
it isn't really a sensor and doesn't have sensor code.

I plan to hack on this more later on: (1) make a maven jblanket sensor,
(2) think of some way to integrate this into hackystat, (3) more
exploration of maven, (4) take a look at the new version of maven.

The Maven 2.0 release seems worth taking a look at.

Question: Is it possible to use Maven to build www.hackystat.org instead of hackyDevSite, but not 'infect' our current development environment? In other words, can regular developers continue to build and run hackystat just as they do now without any knowledge of Maven (or hackyDevSite), but Maven would be used to build the www.hackystat.org website (instead of hackyDevSite)? And would moving from hackyDevSite to Maven be a step forward or a step backward?

Cheers,
Philip

Reply via email to