We use maven in a corporate setting and in general it does quite a good job.
There are some aspects that we have problems with (maven-rc1, win2k): The "plugin" plugin: We developed a new plugin containing some corporate-specific goals. I did not understand the semantics of plugin:install and plugin:deploy: In analogy to "normal projects" and to jar:install and jar:deploy I would have expected - plugin:install to install the plugin on my local machine - plugin:deploy to deploy the plugin in our central repository (on a different machine, I am normally the only one using my machine) so that others can download it But the documentation on http://maven.apache.org/reference/developers/developer-guide.html describes quite different semantics, especially there seems to be no way to deploy the plugin to the central repository? When invoking plugin:deploy I get a warning that I don't understand (it seems to be hardcoded into the plugin, ie. it appears every time regardless of any tests, does that make sense?) <echo message="" > Warning: Contents of ${maven.home}/plugins/${maven.final.name}.jar does not match the unpacked contents of ${maven.plugin.unpacked.dir}/${maven.final.name} directory. </echo> Then I found on the website about releasing maven plugins the following command to deploy a plugin: maven -DgroupId=maven -Dtype=plugin -Dartifact=/path/to/file repository:copy-artifact Okay, I wanted to look up what the goal copy-artifact exactly does (okay, it's almost clear, but...) Two issues: - the plugins on the website http://maven.apache.org/reference/plugins/optional/optional.html are not sorted alphabetically (minor) - the goal "copy-artifact" is not documented (major, because this is quite annoying for a user who just found what he thinks he needs and then it's not documented (or for someone who will simply not know about existing functionalities) Anyway, I got it working and my plugin deployed. Then I wanted to download it (on a different machine): Using plugin:download I was wondering where the downloaded plugin is installed to. It took me a while to find out that the plugin successfully downloads but apparently immediately deletes the downloaded file. After I added a line to the jelly.xml it worked: <delete includeEmptyDirs="true" verbose="false"> <fileset dir="${maven.plugin.unpacked.dir}"> <include name="*.cache"/> <include name="**/.processed" /> <include name="${artifactId}-*/**" /> <exclude name="${artifactId}-${version}.jar" /> <!-- this line added by oliver --> </fileset> </delete> Okay, I finally succeeded, but with just too many obstacles that are not necessary to my mind (and that might prevent other users from using maven and/or writing plugins for maven). Summary: - what about deploying a plugin and the semantics of the plugin:deploy goal, do I have a wrong understanding? - PLEASE keep the documentation in a good and up-to-date state, it just eats up hours at the moment to find out certain things! (example: how should a new user find out that he can/should use groupId and artifactId for dependencies, if almost all the samples on the website contain the old "id"-only version? See eg. http://maven.apache.org/start/integrate.html) (especially as maven easily enables you to deploy the sitedoc of a plugin within the same step that performs the release, I am a bit disappointed about the quality and up-to-date status of plugins) - conceptual question: what about site-doc for older versions? Maybe the docs were not too old but too new, and the goal does not exist any more in the CVS version, shouldn't there be the old sitedoc for a project available, too (eg. deployed as another artifact?) - is the missing exclude-line a bug, should I raise an issue in JIRA for it (there doesn't exist one yet) Okay, I hope you take this as constructive criticism, and thanks for all the work done so far! Oliver N�lle -- Oliver N�lle BMW Car IT GmbH Munich --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
