You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2007/10/19 19:13:21 UTC
svn commit: r586543 - in /maven/components/trunk/maven-core/src:
main/java/org/apache/maven/execution/ main/java/org/apache/maven/extension/
test/java/org/apache/maven/extension/
Author: jdcasey
Date: Fri Oct 19 10:13:20 2007
New Revision: 586543
URL: http://svn.apache.org/viewvc?rev=586543&view=rev
Log:
some documentation for new extension and project-level session stuff, and trying a fix for the extension manager test that may help things on windows where forceDelete(..) fails.
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenProjectSession.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java
maven/components/trunk/maven-core/src/test/java/org/apache/maven/extension/DefaultExtensionManagerTest.java
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenProjectSession.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenProjectSession.java?rev=586543&r1=586542&r2=586543&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenProjectSession.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenProjectSession.java Fri Oct 19 10:13:20 2007
@@ -14,6 +14,26 @@
import java.util.HashMap;
import java.util.Map;
+/**
+ * Project-level session that stores extension and plugin realms for the project
+ * with the specified projectId (groupId, artifactId, and version). The projectId
+ * is the key here, not the project instance, since this session may be constructed
+ * before the MavenProject instance has been created, in order to pre-scan for
+ * extensions that may alter the project instance when it is constructed (using
+ * custom profile activators, for instance).
+ *
+ * The {@link MavenProjectSession#getProjectRealm()} method is used in many cases
+ * as the lookup realm when the project associated with this session is active,
+ * as in the lifecycle executor. In other cases, where a plugin itself is being
+ * executed, the {@link MavenProjectSession#getPluginRealm(Plugin)} and
+ * {@link MavenProjectSession#getPluginRealm(PluginDescriptor)} methods allow for
+ * retrieval of the {@link ClassRealm} instance - linked to this project - which
+ * contains the plugin classes...in these cases, the plugin realm is used as
+ * the lookupRealm.
+ *
+ * @author jdcasey
+ *
+ */
public class MavenProjectSession
{
@@ -50,7 +70,7 @@
return componentRealms.containsKey( id );
}
- public boolean containsRealm( Plugin plugin )
+ public boolean containsPluginRealm( Plugin plugin )
{
String realmId = createPluginRealmId( ArtifactUtils.versionlessKey( plugin.getGroupId(), plugin.getArtifactId() ) );
@@ -62,6 +82,17 @@
return projectRealm;
}
+ /**
+ * Creates a new ClassRealm for the given extension artifact. This realm
+ * will be a child realm of the container passed to this instance in the
+ * constructor, and does not inherit from the project realm. This is important,
+ * since the project realm will eventually import certain extension
+ * component classes from the realm resulting from this call.
+ *
+ * @param extensionArtifact
+ * @return
+ * @throws DuplicateRealmException
+ */
public ClassRealm createExtensionRealm( Artifact extensionArtifact )
throws DuplicateRealmException
{
@@ -73,6 +104,16 @@
return extRealm;
}
+ /**
+ * Create a projectId for use in the {@link MavenProjectSession} constructor
+ * and lookup (from inside {@link MavenSession} currently). This method provides
+ * a standard way of forming that id.
+ *
+ * @param groupId
+ * @param artifactId
+ * @param version
+ * @return
+ */
public static String createProjectId( String groupId,
String artifactId,
String version )
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java?rev=586543&r1=586542&r2=586543&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java Fri Oct 19 10:13:20 2007
@@ -188,6 +188,10 @@
{
getLogger().debug( "Starting extension-addition process for: " + extensionArtifact );
+ // create a new MavenProjectSession instance for the current project.
+ // This session instance will house the plugin and extension realms that
+ // pertain to this specific project, along with containing the project-level
+ // realm to use as a lookupRealm in the lifecycle executor and plugin manager.
MavenProjectSession projectSession = (MavenProjectSession) projectSessions.get( projectId );
if ( projectSession == null )
{
@@ -288,6 +292,9 @@
{
String projectId = projectSession.getProjectId();
+ // Create an entire new ClassWorld, ClassRealm for discovering
+ // the immediate components of the extension artifact, so we don't pollute the
+ // container with component descriptors or realms that don't have any meaning beyond discovery.
ClassRealm discoveryRealm = new ClassRealm( new ClassWorld(), "discovery", Thread.currentThread().getContextClassLoader() );
try
{
@@ -304,12 +311,16 @@
ClassRealm projectRealm = projectSession.getProjectRealm();
try
{
+ // Find the extension component descriptors that exist ONLY in the immediate extension
+ // artifact...this prevents us from adding plexus-archiver components to the mix, for instance,
+ // when the extension uses that dependency.
List componentSetDescriptors = discoverer.findComponents( container.getContext(), discoveryRealm );
for ( Iterator it = componentSetDescriptors.iterator(); it.hasNext(); )
{
ComponentSetDescriptor compSet = (ComponentSetDescriptor) it.next();
for ( Iterator compIt = compSet.getComponents().iterator(); compIt.hasNext(); )
{
+ // For each component in the extension artifact:
ComponentDescriptor comp = (ComponentDescriptor) compIt.next();
String implementation = comp.getImplementation();
@@ -317,9 +328,19 @@
{
getLogger().debug( "Importing: " + implementation + "\nwith role: " + comp.getRole() + "\nand hint: " + comp.getRoleHint() + "\nfrom extension realm: " + extensionRealm.getId() + "\nto project realm: " + projectRealm.getId() );
+ // Import the extension component's implementation class into the project-level
+ // realm.
projectRealm.importFrom( extensionRealm.getId(), implementation );
+ // Set the realmId to be used in looking up this extension component to the
+ // project-level realm, since we now have a restricted import
+ // that allows most of the extension to stay hidden, and the
+ // specific local extension components are still accessible
+ // from the project-level realm.
comp.setRealmId( projectRealm.getId() );
+
+ // Finally, add the extension component's descriptor (with projectRealm
+ // set as the lookup realm) to the container.
container.addComponentDescriptor( comp );
}
catch ( NoSuchRealmException e )
Modified: maven/components/trunk/maven-core/src/test/java/org/apache/maven/extension/DefaultExtensionManagerTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/test/java/org/apache/maven/extension/DefaultExtensionManagerTest.java?rev=586543&r1=586542&r2=586543&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/test/java/org/apache/maven/extension/DefaultExtensionManagerTest.java (original)
+++ maven/components/trunk/maven-core/src/test/java/org/apache/maven/extension/DefaultExtensionManagerTest.java Fri Oct 19 10:13:20 2007
@@ -81,7 +81,12 @@
if ( f.exists() )
{
- FileUtils.forceDelete( f );
+ File f2 = File.createTempFile( "preDeleteRename.", "" );
+
+ f2.delete();
+ f.renameTo( f2 );
+
+ FileUtils.forceDelete( f2 );
}
}
}
Re: svn commit: r586543 - in /maven/components/trunk/maven-core/src: main/java/org/apache/maven/execution/ main/java/org/apache/maven/extension/ test/java/org/apache/maven/extension/
Posted by Carlos Sanchez <ca...@apache.org>.
actually I rolled back my workaround files must not be locked, test is
right and code needs to be fixed
On 10/19/07, Carlos Sanchez <ca...@apache.org> wrote:
> that won't help either, you are not checking the return value of
> renameTo that obviously fails as delete does
> I have made the test ignore the error deleting so i can build but
> there's an underlying problem that the files are locked after the
> container is disposed.
>
> On 10/19/07, jdcasey@apache.org <jd...@apache.org> wrote:
> > Author: jdcasey
> > Date: Fri Oct 19 10:13:20 2007
> > New Revision: 586543
> >
> > URL: http://svn.apache.org/viewvc?rev=586543&view=rev
> > Log:
> > some documentation for new extension and project-level session stuff, and trying a fix for the extension manager test that may help things on windows where forceDelete(..) fails.
> >
> > Modified:
> > maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenProjectSession.java
> > maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java
> > maven/components/trunk/maven-core/src/test/java/org/apache/maven/extension/DefaultExtensionManagerTest.java
> >
> > Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenProjectSession.java
> > URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenProjectSession.java?rev=586543&r1=586542&r2=586543&view=diff
> > ==============================================================================
> > --- maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenProjectSession.java (original)
> > +++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenProjectSession.java Fri Oct 19 10:13:20 2007
> > @@ -14,6 +14,26 @@
> > import java.util.HashMap;
> > import java.util.Map;
> >
> > +/**
> > + * Project-level session that stores extension and plugin realms for the project
> > + * with the specified projectId (groupId, artifactId, and version). The projectId
> > + * is the key here, not the project instance, since this session may be constructed
> > + * before the MavenProject instance has been created, in order to pre-scan for
> > + * extensions that may alter the project instance when it is constructed (using
> > + * custom profile activators, for instance).
> > + *
> > + * The {@link MavenProjectSession#getProjectRealm()} method is used in many cases
> > + * as the lookup realm when the project associated with this session is active,
> > + * as in the lifecycle executor. In other cases, where a plugin itself is being
> > + * executed, the {@link MavenProjectSession#getPluginRealm(Plugin)} and
> > + * {@link MavenProjectSession#getPluginRealm(PluginDescriptor)} methods allow for
> > + * retrieval of the {@link ClassRealm} instance - linked to this project - which
> > + * contains the plugin classes...in these cases, the plugin realm is used as
> > + * the lookupRealm.
> > + *
> > + * @author jdcasey
> > + *
> > + */
> > public class MavenProjectSession
> > {
> >
> > @@ -50,7 +70,7 @@
> > return componentRealms.containsKey( id );
> > }
> >
> > - public boolean containsRealm( Plugin plugin )
> > + public boolean containsPluginRealm( Plugin plugin )
> > {
> > String realmId = createPluginRealmId( ArtifactUtils.versionlessKey( plugin.getGroupId(), plugin.getArtifactId() ) );
> >
> > @@ -62,6 +82,17 @@
> > return projectRealm;
> > }
> >
> > + /**
> > + * Creates a new ClassRealm for the given extension artifact. This realm
> > + * will be a child realm of the container passed to this instance in the
> > + * constructor, and does not inherit from the project realm. This is important,
> > + * since the project realm will eventually import certain extension
> > + * component classes from the realm resulting from this call.
> > + *
> > + * @param extensionArtifact
> > + * @return
> > + * @throws DuplicateRealmException
> > + */
> > public ClassRealm createExtensionRealm( Artifact extensionArtifact )
> > throws DuplicateRealmException
> > {
> > @@ -73,6 +104,16 @@
> > return extRealm;
> > }
> >
> > + /**
> > + * Create a projectId for use in the {@link MavenProjectSession} constructor
> > + * and lookup (from inside {@link MavenSession} currently). This method provides
> > + * a standard way of forming that id.
> > + *
> > + * @param groupId
> > + * @param artifactId
> > + * @param version
> > + * @return
> > + */
> > public static String createProjectId( String groupId,
> > String artifactId,
> > String version )
> >
> > Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java
> > URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java?rev=586543&r1=586542&r2=586543&view=diff
> > ==============================================================================
> > --- maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java (original)
> > +++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java Fri Oct 19 10:13:20 2007
> > @@ -188,6 +188,10 @@
> > {
> > getLogger().debug( "Starting extension-addition process for: " + extensionArtifact );
> >
> > + // create a new MavenProjectSession instance for the current project.
> > + // This session instance will house the plugin and extension realms that
> > + // pertain to this specific project, along with containing the project-level
> > + // realm to use as a lookupRealm in the lifecycle executor and plugin manager.
> > MavenProjectSession projectSession = (MavenProjectSession) projectSessions.get( projectId );
> > if ( projectSession == null )
> > {
> > @@ -288,6 +292,9 @@
> > {
> > String projectId = projectSession.getProjectId();
> >
> > + // Create an entire new ClassWorld, ClassRealm for discovering
> > + // the immediate components of the extension artifact, so we don't pollute the
> > + // container with component descriptors or realms that don't have any meaning beyond discovery.
> > ClassRealm discoveryRealm = new ClassRealm( new ClassWorld(), "discovery", Thread.currentThread().getContextClassLoader() );
> > try
> > {
> > @@ -304,12 +311,16 @@
> > ClassRealm projectRealm = projectSession.getProjectRealm();
> > try
> > {
> > + // Find the extension component descriptors that exist ONLY in the immediate extension
> > + // artifact...this prevents us from adding plexus-archiver components to the mix, for instance,
> > + // when the extension uses that dependency.
> > List componentSetDescriptors = discoverer.findComponents( container.getContext(), discoveryRealm );
> > for ( Iterator it = componentSetDescriptors.iterator(); it.hasNext(); )
> > {
> > ComponentSetDescriptor compSet = (ComponentSetDescriptor) it.next();
> > for ( Iterator compIt = compSet.getComponents().iterator(); compIt.hasNext(); )
> > {
> > + // For each component in the extension artifact:
> > ComponentDescriptor comp = (ComponentDescriptor) compIt.next();
> > String implementation = comp.getImplementation();
> >
> > @@ -317,9 +328,19 @@
> > {
> > getLogger().debug( "Importing: " + implementation + "\nwith role: " + comp.getRole() + "\nand hint: " + comp.getRoleHint() + "\nfrom extension realm: " + extensionRealm.getId() + "\nto project realm: " + projectRealm.getId() );
> >
> > + // Import the extension component's implementation class into the project-level
> > + // realm.
> > projectRealm.importFrom( extensionRealm.getId(), implementation );
> >
> > + // Set the realmId to be used in looking up this extension component to the
> > + // project-level realm, since we now have a restricted import
> > + // that allows most of the extension to stay hidden, and the
> > + // specific local extension components are still accessible
> > + // from the project-level realm.
> > comp.setRealmId( projectRealm.getId() );
> > +
> > + // Finally, add the extension component's descriptor (with projectRealm
> > + // set as the lookup realm) to the container.
> > container.addComponentDescriptor( comp );
> > }
> > catch ( NoSuchRealmException e )
> >
> > Modified: maven/components/trunk/maven-core/src/test/java/org/apache/maven/extension/DefaultExtensionManagerTest.java
> > URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/test/java/org/apache/maven/extension/DefaultExtensionManagerTest.java?rev=586543&r1=586542&r2=586543&view=diff
> > ==============================================================================
> > --- maven/components/trunk/maven-core/src/test/java/org/apache/maven/extension/DefaultExtensionManagerTest.java (original)
> > +++ maven/components/trunk/maven-core/src/test/java/org/apache/maven/extension/DefaultExtensionManagerTest.java Fri Oct 19 10:13:20 2007
> > @@ -81,7 +81,12 @@
> >
> > if ( f.exists() )
> > {
> > - FileUtils.forceDelete( f );
> > + File f2 = File.createTempFile( "preDeleteRename.", "" );
> > +
> > + f2.delete();
> > + f.renameTo( f2 );
> > +
> > + FileUtils.forceDelete( f2 );
> > }
> > }
> > }
> >
> >
> >
>
>
> --
> I could give you my word as a Spaniard.
> No good. I've known too many Spaniards.
> -- The Princess Bride
>
--
I could give you my word as a Spaniard.
No good. I've known too many Spaniards.
-- The Princess Bride
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org
Re: svn commit: r586543 - in /maven/components/trunk/maven-core/src: main/java/org/apache/maven/execution/ main/java/org/apache/maven/extension/ test/java/org/apache/maven/extension/
Posted by Carlos Sanchez <ca...@apache.org>.
that won't help either, you are not checking the return value of
renameTo that obviously fails as delete does
I have made the test ignore the error deleting so i can build but
there's an underlying problem that the files are locked after the
container is disposed.
On 10/19/07, jdcasey@apache.org <jd...@apache.org> wrote:
> Author: jdcasey
> Date: Fri Oct 19 10:13:20 2007
> New Revision: 586543
>
> URL: http://svn.apache.org/viewvc?rev=586543&view=rev
> Log:
> some documentation for new extension and project-level session stuff, and trying a fix for the extension manager test that may help things on windows where forceDelete(..) fails.
>
> Modified:
> maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenProjectSession.java
> maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java
> maven/components/trunk/maven-core/src/test/java/org/apache/maven/extension/DefaultExtensionManagerTest.java
>
> Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenProjectSession.java
> URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenProjectSession.java?rev=586543&r1=586542&r2=586543&view=diff
> ==============================================================================
> --- maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenProjectSession.java (original)
> +++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenProjectSession.java Fri Oct 19 10:13:20 2007
> @@ -14,6 +14,26 @@
> import java.util.HashMap;
> import java.util.Map;
>
> +/**
> + * Project-level session that stores extension and plugin realms for the project
> + * with the specified projectId (groupId, artifactId, and version). The projectId
> + * is the key here, not the project instance, since this session may be constructed
> + * before the MavenProject instance has been created, in order to pre-scan for
> + * extensions that may alter the project instance when it is constructed (using
> + * custom profile activators, for instance).
> + *
> + * The {@link MavenProjectSession#getProjectRealm()} method is used in many cases
> + * as the lookup realm when the project associated with this session is active,
> + * as in the lifecycle executor. In other cases, where a plugin itself is being
> + * executed, the {@link MavenProjectSession#getPluginRealm(Plugin)} and
> + * {@link MavenProjectSession#getPluginRealm(PluginDescriptor)} methods allow for
> + * retrieval of the {@link ClassRealm} instance - linked to this project - which
> + * contains the plugin classes...in these cases, the plugin realm is used as
> + * the lookupRealm.
> + *
> + * @author jdcasey
> + *
> + */
> public class MavenProjectSession
> {
>
> @@ -50,7 +70,7 @@
> return componentRealms.containsKey( id );
> }
>
> - public boolean containsRealm( Plugin plugin )
> + public boolean containsPluginRealm( Plugin plugin )
> {
> String realmId = createPluginRealmId( ArtifactUtils.versionlessKey( plugin.getGroupId(), plugin.getArtifactId() ) );
>
> @@ -62,6 +82,17 @@
> return projectRealm;
> }
>
> + /**
> + * Creates a new ClassRealm for the given extension artifact. This realm
> + * will be a child realm of the container passed to this instance in the
> + * constructor, and does not inherit from the project realm. This is important,
> + * since the project realm will eventually import certain extension
> + * component classes from the realm resulting from this call.
> + *
> + * @param extensionArtifact
> + * @return
> + * @throws DuplicateRealmException
> + */
> public ClassRealm createExtensionRealm( Artifact extensionArtifact )
> throws DuplicateRealmException
> {
> @@ -73,6 +104,16 @@
> return extRealm;
> }
>
> + /**
> + * Create a projectId for use in the {@link MavenProjectSession} constructor
> + * and lookup (from inside {@link MavenSession} currently). This method provides
> + * a standard way of forming that id.
> + *
> + * @param groupId
> + * @param artifactId
> + * @param version
> + * @return
> + */
> public static String createProjectId( String groupId,
> String artifactId,
> String version )
>
> Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java
> URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java?rev=586543&r1=586542&r2=586543&view=diff
> ==============================================================================
> --- maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java (original)
> +++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java Fri Oct 19 10:13:20 2007
> @@ -188,6 +188,10 @@
> {
> getLogger().debug( "Starting extension-addition process for: " + extensionArtifact );
>
> + // create a new MavenProjectSession instance for the current project.
> + // This session instance will house the plugin and extension realms that
> + // pertain to this specific project, along with containing the project-level
> + // realm to use as a lookupRealm in the lifecycle executor and plugin manager.
> MavenProjectSession projectSession = (MavenProjectSession) projectSessions.get( projectId );
> if ( projectSession == null )
> {
> @@ -288,6 +292,9 @@
> {
> String projectId = projectSession.getProjectId();
>
> + // Create an entire new ClassWorld, ClassRealm for discovering
> + // the immediate components of the extension artifact, so we don't pollute the
> + // container with component descriptors or realms that don't have any meaning beyond discovery.
> ClassRealm discoveryRealm = new ClassRealm( new ClassWorld(), "discovery", Thread.currentThread().getContextClassLoader() );
> try
> {
> @@ -304,12 +311,16 @@
> ClassRealm projectRealm = projectSession.getProjectRealm();
> try
> {
> + // Find the extension component descriptors that exist ONLY in the immediate extension
> + // artifact...this prevents us from adding plexus-archiver components to the mix, for instance,
> + // when the extension uses that dependency.
> List componentSetDescriptors = discoverer.findComponents( container.getContext(), discoveryRealm );
> for ( Iterator it = componentSetDescriptors.iterator(); it.hasNext(); )
> {
> ComponentSetDescriptor compSet = (ComponentSetDescriptor) it.next();
> for ( Iterator compIt = compSet.getComponents().iterator(); compIt.hasNext(); )
> {
> + // For each component in the extension artifact:
> ComponentDescriptor comp = (ComponentDescriptor) compIt.next();
> String implementation = comp.getImplementation();
>
> @@ -317,9 +328,19 @@
> {
> getLogger().debug( "Importing: " + implementation + "\nwith role: " + comp.getRole() + "\nand hint: " + comp.getRoleHint() + "\nfrom extension realm: " + extensionRealm.getId() + "\nto project realm: " + projectRealm.getId() );
>
> + // Import the extension component's implementation class into the project-level
> + // realm.
> projectRealm.importFrom( extensionRealm.getId(), implementation );
>
> + // Set the realmId to be used in looking up this extension component to the
> + // project-level realm, since we now have a restricted import
> + // that allows most of the extension to stay hidden, and the
> + // specific local extension components are still accessible
> + // from the project-level realm.
> comp.setRealmId( projectRealm.getId() );
> +
> + // Finally, add the extension component's descriptor (with projectRealm
> + // set as the lookup realm) to the container.
> container.addComponentDescriptor( comp );
> }
> catch ( NoSuchRealmException e )
>
> Modified: maven/components/trunk/maven-core/src/test/java/org/apache/maven/extension/DefaultExtensionManagerTest.java
> URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/test/java/org/apache/maven/extension/DefaultExtensionManagerTest.java?rev=586543&r1=586542&r2=586543&view=diff
> ==============================================================================
> --- maven/components/trunk/maven-core/src/test/java/org/apache/maven/extension/DefaultExtensionManagerTest.java (original)
> +++ maven/components/trunk/maven-core/src/test/java/org/apache/maven/extension/DefaultExtensionManagerTest.java Fri Oct 19 10:13:20 2007
> @@ -81,7 +81,12 @@
>
> if ( f.exists() )
> {
> - FileUtils.forceDelete( f );
> + File f2 = File.createTempFile( "preDeleteRename.", "" );
> +
> + f2.delete();
> + f.renameTo( f2 );
> +
> + FileUtils.forceDelete( f2 );
> }
> }
> }
>
>
>
--
I could give you my word as a Spaniard.
No good. I've known too many Spaniards.
-- The Princess Bride
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org