You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by br...@apache.org on 2004/04/28 05:28:57 UTC
cvs commit: maven/maven-jelly-tags/xdocs changes.xml
brett 2004/04/27 20:28:57
Modified: . Tag: MAVEN-1_0-BRANCH project.xml
src/java/org/apache/maven/plugin Tag: MAVEN-1_0-BRANCH
GoalToJellyScriptHousingMapper.java
PluginCacheManager.java PluginManager.java
maven-jelly-tags Tag: MAVEN-1_0-BRANCH project.xml
maven-jelly-tags/src/java/main/org/apache/maven/jelly/tags/maven
Tag: MAVEN-1_0-BRANCH MavenTagLibrary.java
Added: maven-jelly-tags/src/java/main/org/apache/maven/jelly/tags/maven
Tag: MAVEN-1_0-BRANCH InstallPluginTag.java
UninstallPluginTag.java
maven-jelly-tags/xdocs Tag: MAVEN-1_0-BRANCH changes.xml
Log:
PR: MAVEN-1219
add plugin installation and uninstallation tags to do so on the fly
Revision Changes Path
No revision
No revision
1.317.4.19 +2 -2 maven/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/maven/project.xml,v
retrieving revision 1.317.4.18
retrieving revision 1.317.4.19
diff -u -r1.317.4.18 -r1.317.4.19
--- project.xml 23 Apr 2004 12:43:03 -0000 1.317.4.18
+++ project.xml 28 Apr 2004 03:28:56 -0000 1.317.4.19
@@ -647,7 +647,7 @@
</dependency>
<dependency>
<id>werkz</id>
- <version>20040114.081319</version>
+ <version>20040426.222000</version>
<url>http://werkz.codehaus.org/</url>
</dependency>
<!-- Runtime dependencies -->
@@ -725,7 +725,7 @@
<dependency>
<groupId>maven</groupId>
<artifactId>maven-jelly-tags</artifactId>
- <version>20040423.083312</version>
+ <version>20040427.080410</version>
</dependency>
</dependencies>
<build>
No revision
No revision
1.3.4.14 +35 -0 maven/src/java/org/apache/maven/plugin/GoalToJellyScriptHousingMapper.java
Index: GoalToJellyScriptHousingMapper.java
===================================================================
RCS file: /home/cvs/maven/src/java/org/apache/maven/plugin/GoalToJellyScriptHousingMapper.java,v
retrieving revision 1.3.4.13
retrieving revision 1.3.4.14
diff -u -r1.3.4.13 -r1.3.4.14
--- GoalToJellyScriptHousingMapper.java 21 Apr 2004 00:33:22 -0000 1.3.4.13
+++ GoalToJellyScriptHousingMapper.java 28 Apr 2004 03:28:56 -0000 1.3.4.14
@@ -472,5 +472,40 @@
resolvedPlugins.clear();
}
+ void invalidatePlugin( JellyScriptHousing housing )
+ {
+ resolvedPlugins.remove( housing );
+ for ( Iterator i = dynaTagPluginMap.keySet().iterator(); i.hasNext(); )
+ {
+ String uri = ( String ) i.next();
+ if ( dynaTagPluginMap.get( uri ) == housing )
+ {
+ i.remove();
+ }
+ }
+ pluginDynaTagDepsMap.remove( housing );
+
+ for ( Iterator i = goalPluginMap.keySet().iterator(); i.hasNext(); )
+ {
+ String goal = ( String ) i.next();
+ if ( goalPluginMap.get( goal ) == housing )
+ {
+ i.remove();
+ goalProject.removeGoal( goal );
+ }
+ }
+ for ( Iterator i = preGoalDecoratorsMap.keySet().iterator(); i.hasNext(); )
+ {
+ String preGoal = ( String ) i.next();
+ Set decorators = ( Set ) preGoalDecoratorsMap.get( preGoal );
+ decorators.remove( housing );
+ }
+ for ( Iterator i = postGoalDecoratorsMap.keySet().iterator(); i.hasNext(); )
+ {
+ String postGoal = ( String ) i.next();
+ Set decorators = ( Set ) postGoalDecoratorsMap.get( postGoal );
+ decorators.remove( housing );
+ }
+ }
}
1.16.4.15 +17 -22 maven/src/java/org/apache/maven/plugin/PluginCacheManager.java
Index: PluginCacheManager.java
===================================================================
RCS file: /home/cvs/maven/src/java/org/apache/maven/plugin/PluginCacheManager.java,v
retrieving revision 1.16.4.14
retrieving revision 1.16.4.15
diff -u -r1.16.4.14 -r1.16.4.15
--- PluginCacheManager.java 2 Apr 2004 03:42:25 -0000 1.16.4.14
+++ PluginCacheManager.java 28 Apr 2004 03:28:56 -0000 1.16.4.15
@@ -389,8 +389,8 @@
* Invalidate cache information for a single plugin.
*
* @param pluginName The name of the plugin to invalid cache entries.
- *
- private void invalidateCache( String pluginName )
+ */
+ void invalidateCache( String pluginName )
{
log.debug( "Invalidating plugin " + pluginName );
for ( Iterator i = dynaTagLibCache.keySet().iterator(); i.hasNext();)
@@ -403,20 +403,6 @@
i.remove();
}
}
- for ( Iterator i = goalCache.keySet().iterator(); i.hasNext();)
- {
- String eachGoal = ( String ) i.next();
-
- if ( pluginCache.getProperty( eachGoal ).equals( pluginName ) )
- {
- // TODO: this could be bad if the other one was already loaded
- sessionLog.debug( "removing goal, plugin and callback cache entry for goal " + eachGoal );
- i.remove();
- pluginCache.remove( eachGoal );
- callbackCache.remove( eachGoal + ".pre" );
- callbackCache.remove( eachGoal + ".post" );
- }
- }
for ( Iterator i = callbackCache.keySet().iterator(); i.hasNext();)
{
String callbackName = ( String ) i.next();
@@ -425,14 +411,23 @@
? callbackName.substring( 0, callbackName.length() - 4 )
: callbackName.substring( 0, callbackName.length() - 5 );
- if ( pluginCache.getProperty( goalName ).equals( pluginName ) )
+ // This may be null as you can define pre/postGoals on goals that don't (yet) exist
+ String callbackPlugin = pluginCache.getProperty( goalName );
+ if ( pluginName.equals( callbackPlugin ) )
{
- // TODO: this could be bad if the other one was already loaded
- sessionLog.debug( "removing goal, plugin and callback cache entry for goal " + eachGoal );
+ sessionLog.debug( "removing callback cache entry for goal " + goalName );
+ i.remove();
+ }
+ }
+ for ( Iterator i = goalCache.keySet().iterator(); i.hasNext();)
+ {
+ String eachGoal = ( String ) i.next();
+
+ if ( pluginCache.getProperty( eachGoal ).equals( pluginName ) )
+ {
+ sessionLog.debug( "removing goal and plugin cache entry for goal " + eachGoal );
i.remove();
pluginCache.remove( eachGoal );
- callbackCache.remove( eachGoal + ".pre" );
- callbackCache.remove( eachGoal + ".post" );
}
}
if ( pluginDynaTagDepsCache.containsKey( pluginName ) )
@@ -443,7 +438,7 @@
dirty = true;
}
-*/
+
private JellyScriptHousing loadHousing( String pluginName, PluginManager manager, Map pluginDirs, String desc )
throws IOException
{
1.70.4.42 +21 -1 maven/src/java/org/apache/maven/plugin/PluginManager.java
Index: PluginManager.java
===================================================================
RCS file: /home/cvs/maven/src/java/org/apache/maven/plugin/PluginManager.java,v
retrieving revision 1.70.4.41
retrieving revision 1.70.4.42
diff -u -r1.70.4.41 -r1.70.4.42
--- PluginManager.java 24 Apr 2004 23:11:23 -0000 1.70.4.41
+++ PluginManager.java 28 Apr 2004 03:28:57 -0000 1.70.4.42
@@ -793,6 +793,26 @@
}
}
+ public void uninstallPlugin( String artifactId ) throws IOException
+ {
+ log.debug( "Uninstalling plugin: " + artifactId );
+
+ JellyScriptHousing housing = ( JellyScriptHousing ) artifactIdToHousingMap.get( artifactId );
+ if ( housing == null )
+ {
+ log.warn( "Plugin not found when attempting to uninstall '" + artifactId + "'" );
+ return;
+ }
+
+ String name = housing.getName();
+ pluginHousings.remove( name );
+ cacheManager.invalidateCache( name );
+ mapper.invalidatePlugin( housing );
+ transientMapper.invalidatePlugin( housing );
+ artifactIdToHousingMap.remove( artifactId );
+ cacheManager.saveCache( unpackedPluginsDir );
+ }
+
/**
* @todo [1.0] refactor out, or make more appropriate structure
* @param id
No revision
No revision
1.1.2.2 +2 -1 maven/maven-jelly-tags/Attic/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/maven/maven-jelly-tags/Attic/project.xml,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -r1.1.2.1 -r1.1.2.2
--- project.xml 23 Apr 2004 12:41:10 -0000 1.1.2.1
+++ project.xml 28 Apr 2004 03:28:57 -0000 1.1.2.2
@@ -161,7 +161,8 @@
<dependency>
<artifactId>maven</artifactId>
<groupId>maven</groupId>
- <version>1.0-rc2</version>
+ <version>1.0-rc3</version>
+ <jar>maven.jar</jar>
<url>http://maven.apache.org/</url>
</dependency>
<dependency>
No revision
No revision
1.13.4.3 +3 -1 maven/maven-jelly-tags/src/java/main/org/apache/maven/jelly/tags/maven/MavenTagLibrary.java
Index: MavenTagLibrary.java
===================================================================
RCS file: /home/cvs/maven/maven-jelly-tags/src/java/main/org/apache/maven/jelly/tags/maven/MavenTagLibrary.java,v
retrieving revision 1.13.4.2
retrieving revision 1.13.4.3
diff -u -r1.13.4.2 -r1.13.4.3
--- MavenTagLibrary.java 4 Mar 2004 22:57:26 -0000 1.13.4.2
+++ MavenTagLibrary.java 28 Apr 2004 03:28:57 -0000 1.13.4.3
@@ -50,6 +50,8 @@
registerTag( "copyResources", CopyResources.class);
registerTag( "rootRelativePath", RootRelativePathTag.class );
registerTag( "property", PropertyTag.class );
+ registerTag( "installPlugin", InstallPluginTag.class );
+ registerTag( "uninstallPlugin", UninstallPluginTag.class );
// Remove the following deprecated forms
registerTag( "user-check", UserCheck.class);
registerTag( "param-check", ParamCheck.class);
No revision
Index: MavenTagLibrary.java
===================================================================
RCS file: /home/cvs/maven/maven-jelly-tags/src/java/main/org/apache/maven/jelly/tags/maven/MavenTagLibrary.java,v
retrieving revision 1.13.4.2
retrieving revision 1.13.4.3
diff -u -r1.13.4.2 -r1.13.4.3
--- MavenTagLibrary.java 4 Mar 2004 22:57:26 -0000 1.13.4.2
+++ MavenTagLibrary.java 28 Apr 2004 03:28:57 -0000 1.13.4.3
@@ -50,6 +50,8 @@
registerTag( "copyResources", CopyResources.class);
registerTag( "rootRelativePath", RootRelativePathTag.class );
registerTag( "property", PropertyTag.class );
+ registerTag( "installPlugin", InstallPluginTag.class );
+ registerTag( "uninstallPlugin", UninstallPluginTag.class );
// Remove the following deprecated forms
registerTag( "user-check", UserCheck.class);
registerTag( "param-check", ParamCheck.class);
No revision
Index: MavenTagLibrary.java
===================================================================
RCS file: /home/cvs/maven/maven-jelly-tags/src/java/main/org/apache/maven/jelly/tags/maven/MavenTagLibrary.java,v
retrieving revision 1.13.4.2
retrieving revision 1.13.4.3
diff -u -r1.13.4.2 -r1.13.4.3
--- MavenTagLibrary.java 4 Mar 2004 22:57:26 -0000 1.13.4.2
+++ MavenTagLibrary.java 28 Apr 2004 03:28:57 -0000 1.13.4.3
@@ -50,6 +50,8 @@
registerTag( "copyResources", CopyResources.class);
registerTag( "rootRelativePath", RootRelativePathTag.class );
registerTag( "property", PropertyTag.class );
+ registerTag( "installPlugin", InstallPluginTag.class );
+ registerTag( "uninstallPlugin", UninstallPluginTag.class );
// Remove the following deprecated forms
registerTag( "user-check", UserCheck.class);
registerTag( "param-check", ParamCheck.class);
1.1.2.1 +70 -0 maven/maven-jelly-tags/src/java/main/org/apache/maven/jelly/tags/maven/Attic/InstallPluginTag.java
1.1.2.1 +64 -0 maven/maven-jelly-tags/src/java/main/org/apache/maven/jelly/tags/maven/Attic/UninstallPluginTag.java
No revision
No revision
1.1.2.1 +31 -0 maven/maven-jelly-tags/xdocs/Attic/changes.xml
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org