David,
I noticed that the maven pluto plugin is now published into the
repository, along with the 'maven-metadata.xml' file in
http://mirrors.dotsrc.org/maven2/org/apache/pluto/. I have the
org.apache.pluto groupId in my settings.xml <pluginGroups>/<pluginGroup>
element.
I can successfully use 'mvn integration-test
-Dpluto.home=/path/to/tomcat' using the binary install!
But I still can't run 'mvn pluto:install -DinstallDir=/path/to/tomcat'
from the root of the beta2 tag. Can you? I do not think it needs to be
resolved prior to beta2 being released, what do you and others think?
With a clean repository I get [0]. Two things of note. One is that it
does check the repository for the org.apache.pluto groupId to resolve
the 'pluto' plugin prefix:
[INFO] org.apache.pluto: checking for updates from central
Second, I sniffed the wire while running the above mvn command and saw this:
GET /maven2/org/apache/pluto/maven-metadata.xml
200 OK
GET /maven2/org/apache/pluto/maven-metadata.xml.sha1
200 OK
GET /maven2/org/apache/maven/plugins/maven-pluto-plugin/maven-metadata.xml
404 Not Found
I'm not sure why it is doing the third GET for the
org.apache.maven.plugins group Id.
I'm puzzled - wondering if it is just me and if it is working for you.
I will dig a little more.
I'm wondering if
http://www.ibiblio.org/maven2/org/apache/pluto/maven-metadata.xml needs
to have a <groupId>org.apache.pluto</groupId> in it.
Elliot
[0] Output of mvn -X -e pluto:install
-DinstallDir=/home/esm/apache-tomcat-5.5.17-pluto11beta2
+ Error stacktraces are turned on.
Maven version: 2.0.4
[DEBUG] Building Maven user-level plugin registry from:
'/home/esm/.m2/plugin-registry.xml'
[DEBUG] Building Maven global-level plugin registry from:
'/home/esm/apache/maven-2.0.4/conf/plugin-registry.xml'
[INFO] Scanning for projects...
[INFO] Reactor build order:
[INFO] Apache Pluto
[INFO] Pluto Descriptor Service API
[INFO] Pluto Descriptor Service Implementation
[INFO] Pluto Portlet Container
[INFO] Pluto Portlet Tag Library
[INFO] Pluto Portal Driver
[INFO] Pluto Portal Driver Implementation Classes
[INFO] Pluto Portal
[INFO] Pluto Utilities
[INFO] Maven Pluto Installer Plugin
[INFO] Pluto Testsuite Portlet
[INFO] Pluto Ant Tasks
[INFO] Pluto Website Documentation
[INFO] Searching repository for plugin with prefix: 'pluto'.
[INFO] org.apache.pluto: checking for updates from central
[INFO] artifact org.apache.maven.plugins:maven-pluto-plugin: checking
for updates from central
[DEBUG] repository metadata for: 'artifact
org.apache.maven.plugins:maven-pluto-plugin' could not be found on
repository: central
[DEBUG] maven-pluto-plugin: using locally installed snapshot
[DEBUG] Artifact not found - using stub model: Unable to determine the
latest version
org.apache.maven.plugins:maven-pluto-plugin:pom:LATEST
[DEBUG] Using defaults for missing POM
org.apache.maven.plugins:maven-pluto-plugin:pom:LATEST
[DEBUG] maven-pluto-plugin: using locally installed snapshot
[DEBUG] Artifact not found - using stub model: Unable to determine the
release version
org.apache.maven.plugins:maven-pluto-plugin:pom:RELEASE
[DEBUG] Using defaults for missing POM
org.apache.maven.plugins:maven-pluto-plugin:pom:RELEASE
[INFO]
------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO]
------------------------------------------------------------------------
[INFO] The plugin 'org.apache.maven.plugins:maven-pluto-plugin' does not
exist or no valid version could be found
[INFO]
------------------------------------------------------------------------
[DEBUG] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: The plugin
'org.apache.maven.plugins:maven-pluto-plugin' does not exist or no valid
version could be found
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.verifyPlugin(DefaultLifecycleExecutor.java:1281)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.getMojoDescriptor(DefaultLifecycleExecutor.java:1517)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.segmentTaskListByAggregationNeeds(DefaultLifecycleExecutor.java:381)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:135)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:256)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at
org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by:
org.apache.maven.plugin.version.PluginVersionNotFoundException: The
plugin 'org.apache.maven.plugins:maven-pluto-plugin' does not exist or
no valid version could be found
at
org.apache.maven.plugin.version.DefaultPluginVersionManager.resolvePluginVersion(DefaultPluginVersionManager.java:225)
at
org.apache.maven.plugin.version.DefaultPluginVersionManager.resolvePluginVersion(DefaultPluginVersionManager.java:87)
at
org.apache.maven.plugin.DefaultPluginManager.verifyPlugin(DefaultPluginManager.java:158)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.verifyPlugin(DefaultLifecycleExecutor.java:1252)
... 14 more
[INFO]
------------------------------------------------------------------------
[INFO] Total time: 3 seconds
[INFO] Finished at: Wed Sep 27 17:49:56 EDT 2006
[INFO] Final Memory: 1M/3M
[INFO]
------------------------------------------------------------------------
I am able to 'mvn install' from root (after fixing the pluto-testsuite
pom.xml - below), but 'mvn pluto:install -DinstallDir=<path/to/tomcat>'
fails [0], because apparently for maven to magically resolve the goal
prefix 'pluto' requires that the plugin be a part of the
org.apache.maven.plugins groupId [1], [2]. You have to run 'mvn
org.apache.pluto:maven-pluto-plugin:install
-DinstallDir=<path/to/tomcat>' in order to
execute the Pluto maven plugin (unless something is up with my install??).
In order to enable the prefix 'pluto:<goal>', and keep in the
org.apache.pluto group, I think we need to publish
a metadata.xml file to the base of Pluto's repository:
http://mirrors.dotsrc.org/maven2/org/apache/pluto/. See for example the
way the Maven team is doing it:
http://www.ibiblio.org/maven2/org/apache/maven/plugins/maven-metadata.xml.
Next, the Pluto maven plugin itself needs to be published to the
repository, then(!) you have to add an entry to ~/.m2/settings.xml:
<pluginGroups>
<pluginGroup>org.apache.pluto</pluginGroup>
</pluginGroups>
I haven't tried all of that yet, its just based on my experimentation
and reading. I'm hoping that the modification of ~/.m2/settings.xml
isn't needed...