dion 2003/08/17 16:47:44 Modified: src/java/org/apache/maven/plugin Tag: MAVEN_RC1_STABLE PluginManager.java Log: Refactor out some large methods from initialize Move setting of cacheManager unpackedPlugins dir to set method Revision Changes Path No revision No revision 1.45.2.6 +65 -45 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.45.2.5 retrieving revision 1.45.2.6 diff -u -r1.45.2.5 -r1.45.2.6 --- PluginManager.java 14 Aug 2003 07:01:32 -0000 1.45.2.5 +++ PluginManager.java 17 Aug 2003 23:47:43 -0000 1.45.2.6 @@ -202,7 +202,7 @@ /** * Retrieve a goal description by the goal name. * - * @param name THe goal name. + * @param name The goal name. * * @return The description or <code>null</code> if no * description has been set. @@ -245,7 +245,6 @@ } setPluginsDir( new File( mavenSession.getRootContext().getMavenHome(), "plugins" ) ); setUnpackedPluginsDir( new File( mavenSession.getRootContext().getUnpackedPluginsDir() ) ); - cacheManager.setUnpackedPluginsDir( getUnpackedPluginsDir() ); if( log.isDebugEnabled() ) { log.debug( "Set plugin source directory to " @@ -255,13 +254,74 @@ } cacheManager.loadCache(); - File[] files = getPluginsDir().listFiles(); if( log.isDebugEnabled() ) { log.debug( "Unpacking plugins from directory --> " + getPluginsDir().getAbsolutePath() ); } + expandPluginJars(); + + cachePlugins(); + + initialized = true; + + log.debug( "Finished initializing Plugins!" ); + } + + /** + * For any plugin that is not already cached according to the cache manager + * we cache it. + * @throws Exception FIXME. When anything goes wrong + */ + private void cachePlugins() throws Exception + { + // We need to get the directory listing again so that we + // can process plugins that were just unpacked by the + // above process. This time we're looking at the unpacked plugins. + File[] files = getUnpackedPluginsDir().listFiles(); + + if (log.isDebugEnabled()) + { + log.debug( "Processing unpacked plugins in " + + getUnpackedPluginsDir().getAbsolutePath() ); + } + + // Process each of the directorties. + for ( int i = 0; i < files.length; ++i ) + { + if ( files[i].isDirectory() ) + { + String directory = files[i].getName(); + + // If we haven't cached (or previous cache data has become invalid) + // the plugin, then do so now. + if ( isCached( directory ) == false ) + { + try + { + cachePlugin( files[i].getName() ); + } + catch ( Exception e ) + { + log.error( getMessage( "plugin.loading.error", files[i].getName() ) ); + e.printStackTrace(); + } + } + } + } + + saveCache(); + } + + /** + * Expand the plugin jars if needed + * @throws MavenException + */ + private void expandPluginJars() throws MavenException + { + File[] files = getPluginsDir().listFiles(); + // First we expand any JARs that contain plugins to the unpack directory. // This will be a different directory than the plugin jars // MAVEN_HOME_LOCAL / maven.home.local was set to a different directory @@ -308,47 +368,6 @@ } } } - - // We need to get the directory listing again so that we - // can process plugins that were just unpacked by the - // above process. This time we're looking at the unpacked plugins. - files = getUnpackedPluginsDir().listFiles(); - - if( log.isDebugEnabled() ) - { - log.debug( "Processing unpacked plugins in " - + getUnpackedPluginsDir().getAbsolutePath() ); - } - - // Process each of the directorties. - for ( int i = 0; i < files.length; ++i ) - { - if ( files[i].isDirectory() ) - { - String directory = files[i].getName(); - - // If we haven't cached (or previous cache data has become invalid) - // the plugin, then do so now. - if ( isCached( directory ) == false ) - { - try - { - cachePlugin( files[i].getName() ); - } - catch ( Exception e ) - { - log.error( getMessage( "plugin.loading.error", files[i].getName() ) ); - e.printStackTrace(); - } - } - } - } - - saveCache(); - - initialized = true; - - log.debug( "Finished initializing Plugins!" ); } @@ -987,6 +1006,7 @@ void setUnpackedPluginsDir( File unpackedPluginsDir ) { this.unpackedPluginsDir = unpackedPluginsDir; + cacheManager.setUnpackedPluginsDir( unpackedPluginsDir ); } /**
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]