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