Fixing problem with new extensions manager code where custom lifecycle definitions are not used in build planning. Unit tests included.

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@600792 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
John Dennis Casey 2007-12-04 04:32:13 +00:00
parent f55eb07bda
commit 1db3b755ab
14 changed files with 356 additions and 76 deletions

View File

@ -26,6 +26,7 @@ under the License.
<groupId>org.apache.maven</groupId>
<version>2.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>maven-core</artifactId>
<name>Maven Core</name>

View File

@ -21,9 +21,14 @@ import org.apache.maven.plugin.loader.PluginLoader;
import org.apache.maven.plugin.loader.PluginLoaderException;
import org.apache.maven.project.MavenProject;
import org.apache.maven.reporting.MavenReport;
import org.codehaus.plexus.PlexusConstants;
import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.classworlds.realm.ClassRealm;
import org.codehaus.plexus.context.Context;
import org.codehaus.plexus.context.ContextException;
import org.codehaus.plexus.logging.LogEnabled;
import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
import org.codehaus.plexus.util.xml.Xpp3Dom;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
@ -43,7 +48,7 @@ import java.util.StringTokenizer;
*
*/
public class DefaultLifecycleBindingManager
implements LifecycleBindingManager, LogEnabled
implements LifecycleBindingManager, LogEnabled, Contextualizable
{
private Map bindingsByPackaging;
@ -63,17 +68,26 @@ public class DefaultLifecycleBindingManager
// configured. Moved out of DefaultLifecycleExecutor...
private List defaultReports;
// contextualized, used for setting lookup realm before retrieving lifecycle bindings for packaging.
private PlexusContainer container;
/**
* Retrieve the LifecycleBindings given by the lifecycle mapping component/file for the project's packaging. Any
* applicable mojo configuration will be injected into the LifecycleBindings from the POM.
*/
public LifecycleBindings getBindingsForPackaging( final MavenProject project )
public LifecycleBindings getBindingsForPackaging( final MavenProject project, final MavenSession session )
throws LifecycleLoaderException, LifecycleSpecificationException
{
String packaging = project.getPackaging();
LifecycleBindings bindings = null;
ClassRealm projectRealm = session.getRealmManager().getProjectRealm( project.getGroupId(), project.getArtifactId(), project.getVersion() );
ClassRealm oldRealm = container.setLookupRealm( projectRealm );
try
{
LifecycleBindingLoader loader = (LifecycleBindingLoader) bindingsByPackaging.get( packaging );
if ( loader != null )
{
@ -89,6 +103,11 @@ public class DefaultLifecycleBindingManager
bindings = legacyLifecycleMappingParser.parseMappings( mapping, packaging );
}
}
}
finally
{
container.setLookupRealm( oldRealm );
}
if ( bindings != null )
{
@ -582,4 +601,10 @@ public class DefaultLifecycleBindingManager
return reportClass.isAssignableFrom( mojoClass );
}
public void contextualize( Context ctx )
throws ContextException
{
container = (PlexusContainer) ctx.get( PlexusConstants.PLEXUS_KEY );
}
}

View File

@ -31,8 +31,9 @@ public interface LifecycleBindingManager
/**
* Retrieve the LifecycleBindings given by the lifecycle mapping component/file for the project's packaging. Any
* applicable mojo configuration will be injected into the LifecycleBindings from the POM.
* @param session
*/
LifecycleBindings getBindingsForPackaging( MavenProject project )
LifecycleBindings getBindingsForPackaging( MavenProject project, MavenSession session )
throws LifecycleLoaderException, LifecycleSpecificationException;
/**

View File

@ -51,7 +51,7 @@ public class DefaultBuildPlanner
throws LifecycleLoaderException, LifecycleSpecificationException, LifecyclePlannerException
{
LifecycleBindings defaultBindings = lifecycleBindingManager.getDefaultBindings( project );
LifecycleBindings packagingBindings = lifecycleBindingManager.getBindingsForPackaging( project );
LifecycleBindings packagingBindings = lifecycleBindingManager.getBindingsForPackaging( project, session );
LifecycleBindings projectBindings = lifecycleBindingManager.getProjectCustomBindings( project, session );
BuildPlan plan = new BuildPlan( packagingBindings, projectBindings, defaultBindings, tasks );

View File

@ -3,7 +3,6 @@ package org.apache.maven.execution;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.codehaus.plexus.PlexusTestCase;
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.logging.console.ConsoleLogger;
@ -25,7 +24,7 @@ public class DefaultMavenRealmManagerTest
}
public void test_ReuseSingleExtensionRealmFromMultipleProjectRealms_UsingTwoManagerInstances()
throws RealmManagementException, ComponentLookupException
throws Exception
{
ClassLoader cloader = Thread.currentThread().getContextClassLoader();
URL jarResource = cloader.getResource( "org/apache/maven/execution/test-extension-1.jar" );

View File

@ -207,6 +207,7 @@ public class DefaultExtensionManagerTest
}
private ExtensionManager newDefaultExtensionManager()
throws Exception
{
DefaultExtensionManager mgr = new DefaultExtensionManager( factory, resolver,
metadataSource, container,

View File

@ -1,29 +1,45 @@
package org.apache.maven.lifecycle.binding;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.execution.DefaultMavenExecutionRequest;
import org.apache.maven.execution.DefaultMavenRealmManager;
import org.apache.maven.execution.MavenExecutionRequest;
import org.apache.maven.execution.MavenRealmManager;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.lifecycle.LifecycleLoaderException;
import org.apache.maven.lifecycle.LifecycleSpecificationException;
import org.apache.maven.lifecycle.model.BuildBinding;
import org.apache.maven.lifecycle.model.LifecycleBindings;
import org.apache.maven.lifecycle.model.MojoBinding;
import org.apache.maven.lifecycle.model.Phase;
import org.apache.maven.model.Build;
import org.apache.maven.model.Model;
import org.apache.maven.model.Plugin;
import org.apache.maven.model.PluginExecution;
import org.apache.maven.model.PluginManagement;
import org.apache.maven.project.MavenProject;
import org.apache.maven.shared.tools.easymock.MockManager;
import org.codehaus.plexus.PlexusTestCase;
import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.logging.console.ConsoleLogger;
import org.codehaus.plexus.util.xml.Xpp3Dom;
import org.easymock.MockControl;
import java.io.File;
import java.net.URL;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Properties;
public class DefaultLifecycleBindingManagerTest extends PlexusTestCase
public class DefaultLifecycleBindingManagerTest
extends PlexusTestCase
{
private LifecycleBindingManager mgr;
public void setUp() throws Exception
public void setUp()
throws Exception
{
super.setUp();
@ -36,7 +52,7 @@ public class DefaultLifecycleBindingManagerTest extends PlexusTestCase
}
public void testGetBindingsForPackaging_TestMergePluginConfigToBinding()
throws LifecycleLoaderException, LifecycleSpecificationException
throws Exception
{
Model model = new Model();
model.setGroupId( "group" );
@ -61,7 +77,19 @@ public class DefaultLifecycleBindingManagerTest extends PlexusTestCase
MavenProject project = new MavenProject( model );
LifecycleBindings lifecycleBindings = mgr.getBindingsForPackaging( project );
MavenRealmManager realmManager = new DefaultMavenRealmManager(
getContainer(),
new ConsoleLogger(
Logger.LEVEL_DEBUG,
"test" ) );
MavenExecutionRequest request = new DefaultMavenExecutionRequest().setRealmManager( realmManager );
LifecycleBindings lifecycleBindings = mgr.getBindingsForPackaging( project,
new MavenSession(
getContainer(),
request,
null,
null ) );
List bindings = lifecycleBindings.getBuildBinding().getCompile().getBindings();
@ -79,7 +107,7 @@ public class DefaultLifecycleBindingManagerTest extends PlexusTestCase
}
public void testGetBindingsForPackaging_TestMergePluginManagementConfigToBinding()
throws LifecycleLoaderException, LifecycleSpecificationException
throws Exception
{
Model model = new Model();
model.setGroupId( "group" );
@ -107,7 +135,19 @@ public class DefaultLifecycleBindingManagerTest extends PlexusTestCase
MavenProject project = new MavenProject( model );
LifecycleBindings lifecycleBindings = mgr.getBindingsForPackaging( project );
MavenRealmManager realmManager = new DefaultMavenRealmManager(
getContainer(),
new ConsoleLogger(
Logger.LEVEL_DEBUG,
"test" ) );
MavenExecutionRequest request = new DefaultMavenExecutionRequest().setRealmManager( realmManager );
LifecycleBindings lifecycleBindings = mgr.getBindingsForPackaging( project,
new MavenSession(
getContainer(),
request,
null,
null ) );
List bindings = lifecycleBindings.getBuildBinding().getCompile().getBindings();
@ -178,6 +218,86 @@ public class DefaultLifecycleBindingManagerTest extends PlexusTestCase
assertEquals( "other-value", config.getChild( "test2" ).getValue() );
}
public void test_GetBindingsForPackaging_CustomLifecycleIsUsedFromRealmManager()
throws Exception
{
Model model = new Model();
model.setPackaging( "test" );
MavenProject project = new MavenProject( model );
MavenRealmManager realmManager = new DefaultMavenRealmManager(
getContainer(),
new ConsoleLogger(
Logger.LEVEL_DEBUG,
"test" ) );
MockManager mockManager = new MockManager();
MockControl extArtifactCtl = MockControl.createControl( Artifact.class );
mockManager.add( extArtifactCtl );
Artifact extensionArtifact = (Artifact) extArtifactCtl.getMock();
extensionArtifact.getGroupId();
extArtifactCtl.setReturnValue( "group", MockControl.ZERO_OR_MORE );
extensionArtifact.getArtifactId();
extArtifactCtl.setReturnValue( "artifact", MockControl.ZERO_OR_MORE );
extensionArtifact.getVersion();
extArtifactCtl.setReturnValue( "1", MockControl.ZERO_OR_MORE );
extensionArtifact.getFile();
extArtifactCtl.setReturnValue( getResourceFile( "org/apache/maven/lifecycle/plan/test-custom-lifecycle-buildPlan-1.jar" ),
MockControl.ZERO_OR_MORE );
mockManager.replayAll();
realmManager.createExtensionRealm( extensionArtifact, Collections.EMPTY_SET );
realmManager.importExtensionsIntoProjectRealm( "group", "project", "1", extensionArtifact );
MavenExecutionRequest request = new DefaultMavenExecutionRequest().setRealmManager( realmManager );
MavenSession session = new MavenSession( getContainer(), request, null, null );
LifecycleBindings lifecycleBindings = mgr.getBindingsForPackaging( project, session );
BuildBinding buildBinding = lifecycleBindings.getBuildBinding();
assertNotNull( buildBinding );
Phase installPhase = buildBinding.getInstall();
Phase deployPhase = buildBinding.getDeploy();
Phase packagePhase = buildBinding.getCreatePackage();
assertTrue( ( packagePhase.getBindings() == null ) || packagePhase.getBindings().isEmpty() );
assertNotNull( installPhase.getBindings() );
assertEquals( 1, installPhase.getBindings().size() );
assertEquals( "maven-deploy-plugin",
( (MojoBinding) installPhase.getBindings().get( 0 ) ).getArtifactId() );
assertNotNull( deployPhase.getBindings() );
assertEquals( 1, deployPhase.getBindings().size() );
assertEquals( "maven-install-plugin",
( (MojoBinding) deployPhase.getBindings().get( 0 ) ).getArtifactId() );
mockManager.verifyAll();
}
private File getResourceFile( String path )
{
ClassLoader cloader = Thread.currentThread().getContextClassLoader();
URL resource = cloader.getResource( path );
if ( resource == null )
{
fail( "Cannot find test resource: " + path );
}
return new File( resource.getPath() );
}
private Object createConfiguration( final Properties configProperties )
{
Xpp3Dom config = new Xpp3Dom( "configuration" );

View File

@ -1,8 +1,11 @@
package org.apache.maven.lifecycle.plan;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.execution.DefaultMavenExecutionRequest;
import org.apache.maven.execution.DefaultMavenRealmManager;
import org.apache.maven.execution.MavenExecutionRequest;
import org.apache.maven.execution.MavenRealmManager;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.lifecycle.LifecycleLoaderException;
import org.apache.maven.lifecycle.LifecycleSpecificationException;
import org.apache.maven.lifecycle.MojoBindingUtils;
import org.apache.maven.lifecycle.model.MojoBinding;
import org.apache.maven.lifecycle.plan.testutils.TestPluginLoader;
@ -14,8 +17,14 @@ import org.apache.maven.plugin.descriptor.MojoDescriptor;
import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.plugin.loader.PluginLoader;
import org.apache.maven.project.MavenProject;
import org.apache.maven.shared.tools.easymock.MockManager;
import org.codehaus.plexus.PlexusTestCase;
import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.logging.console.ConsoleLogger;
import org.easymock.MockControl;
import java.io.File;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@ -29,6 +38,8 @@ public class DefaultBuildPlannerTest
private TestPluginLoader pluginLoader;
private MockManager mockManager = new MockManager();
protected void setUp()
throws Exception
{
@ -38,7 +49,7 @@ public class DefaultBuildPlannerTest
}
public void test_constructBuildPlan_ForkedPhaseFromMojoBoundInThatPhase()
throws LifecycleLoaderException, LifecycleSpecificationException, LifecyclePlannerException
throws Exception
{
Model model = new Model();
@ -59,8 +70,10 @@ public class DefaultBuildPlannerTest
plugin.addExecution( exec );
PluginDescriptor pd = TestPluginLoader.createPluginDescriptor( plugin.getArtifactId(), "assembly",
plugin.getGroupId(), plugin.getVersion() );
PluginDescriptor pd = TestPluginLoader.createPluginDescriptor( plugin.getArtifactId(),
"assembly",
plugin.getGroupId(),
plugin.getVersion() );
MojoDescriptor md = TestPluginLoader.createMojoDescriptor( pd, "assembly" );
md.setExecutePhase( "package" );
@ -68,9 +81,14 @@ public class DefaultBuildPlannerTest
MavenProject project = new MavenProject( model );
MavenSession session = new MavenSession( getContainer(), null, null, null );
MavenRealmManager realmManager = new DefaultMavenRealmManager( getContainer(), new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) );
MavenExecutionRequest request = new DefaultMavenExecutionRequest().setRealmManager( realmManager );
BuildPlan plan = buildPlanner.constructBuildPlan( Collections.singletonList( "package" ), project, session );
MavenSession session = new MavenSession( getContainer(), request, null, null );
BuildPlan plan = buildPlanner.constructBuildPlan( Collections.singletonList( "package" ),
project,
session );
List rendered = plan.renderExecutionPlan( new Stack() );
@ -96,7 +114,75 @@ public class DefaultBuildPlannerTest
assertBindingIds( rendered, checkIds );
}
private void assertBindingIds( List bindings, List checkIds )
public void test_constructBuildPlan_CustomLifecycleIsUsedFromRealmManager()
throws Exception
{
Model model = new Model();
model.setPackaging( "test" );
MavenProject project = new MavenProject( model );
MavenRealmManager realmManager = new DefaultMavenRealmManager( getContainer(), new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) );
MockControl extArtifactCtl = MockControl.createControl( Artifact.class );
mockManager.add( extArtifactCtl );
Artifact extensionArtifact = (Artifact) extArtifactCtl.getMock();
extensionArtifact.getGroupId();
extArtifactCtl.setReturnValue( "group", MockControl.ZERO_OR_MORE );
extensionArtifact.getArtifactId();
extArtifactCtl.setReturnValue( "artifact", MockControl.ZERO_OR_MORE );
extensionArtifact.getVersion();
extArtifactCtl.setReturnValue( "1", MockControl.ZERO_OR_MORE );
extensionArtifact.getFile();
extArtifactCtl.setReturnValue( getResourceFile( "org/apache/maven/lifecycle/plan/test-custom-lifecycle-buildPlan-1.jar" ),
MockControl.ZERO_OR_MORE );
mockManager.replayAll();
realmManager.createExtensionRealm( extensionArtifact, Collections.EMPTY_SET );
realmManager.importExtensionsIntoProjectRealm( "group", "project", "1", extensionArtifact );
MavenExecutionRequest request = new DefaultMavenExecutionRequest().setRealmManager( realmManager );
MavenSession session = new MavenSession( getContainer(), request, null, null );
BuildPlan plan = buildPlanner.constructBuildPlan( Collections.singletonList( "deploy" ),
project,
session );
List rendered = plan.renderExecutionPlan( new Stack() );
List checkIds = new ArrayList();
checkIds.add( "org.apache.maven.plugins:maven-deploy-plugin:deploy" );
checkIds.add( "org.apache.maven.plugins:maven-install-plugin:install" );
assertBindingIds( rendered, checkIds );
mockManager.verifyAll();
}
private File getResourceFile( String path )
{
ClassLoader cloader = Thread.currentThread().getContextClassLoader();
URL resource = cloader.getResource( path );
if ( resource == null )
{
fail( "Cannot find test resource: " + path );
}
return new File( resource.getPath() );
}
private void assertBindingIds( List bindings,
List checkIds )
{
assertEquals( checkIds.size(), bindings.size() );

View File

@ -0,0 +1,10 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.maven.core.test</groupId>
<artifactId>test-custom-lifecycle-buildPlan</artifactId>
<packaging>jar</packaging>
<version>1</version>
<name>test-custom-lifecycle-buildPlan</name>
</project>

View File

@ -0,0 +1,31 @@
<component-set>
<components>
<component>
<role>org.apache.maven.artifact.handler.ArtifactHandler</role>
<role-hint>test</role-hint>
<implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
<configuration>
<type>test</type>
<extension>jar</extension>
<language>java</language>
<addedToClasspath>true</addedToClasspath>
</configuration>
</component>
<component>
<role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
<role-hint>test</role-hint>
<implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
<configuration>
<lifecycles>
<lifecycle>
<id>default</id>
<phases>
<install>org.apache.maven.plugins:maven-deploy-plugin:deploy</install>
<deploy>org.apache.maven.plugins:maven-install-plugin:install</deploy>
</phases>
</lifecycle>
</lifecycles>
</configuration>
</component>
</components>
</component-set>

View File

@ -27,7 +27,6 @@ import org.apache.maven.profiles.DefaultProfileManager;
import org.apache.maven.profiles.ProfileManager;
import org.apache.maven.profiles.activation.DefaultProfileActivationContext;
import org.apache.maven.profiles.activation.ProfileActivationContext;
import org.apache.maven.profiles.activation.ProfileActivationException;
import org.codehaus.plexus.PlexusTestCase;
import java.util.List;
@ -37,28 +36,30 @@ public class DefaultProfileManagerTest
extends PlexusTestCase
{
public void setUp() throws Exception
public void setUp()
throws Exception
{
super.setUp();
}
public void testShouldActivateDefaultProfile() throws ProfileActivationException
public void testShouldActivateDefaultProfile()
throws Exception
{
Profile notActivated = new Profile();
notActivated.setId("notActivated");
notActivated.setId( "notActivated" );
Activation nonActivation = new Activation();
nonActivation.setJdk("19.2");
nonActivation.setJdk( "19.2" );
notActivated.setActivation( nonActivation );
Profile defaultActivated = new Profile();
defaultActivated.setId("defaultActivated");
defaultActivated.setId( "defaultActivated" );
Activation defaultActivation = new Activation();
defaultActivation.setActiveByDefault(true);
defaultActivation.setActiveByDefault( true );
defaultActivated.setActivation( defaultActivation );
@ -67,36 +68,37 @@ public class DefaultProfileManagerTest
ProfileManager profileManager = new DefaultProfileManager( getContainer(), ctx );
profileManager.addProfile(notActivated);
profileManager.addProfile(defaultActivated);
profileManager.addProfile( notActivated );
profileManager.addProfile( defaultActivated );
List active = profileManager.getActiveProfiles();
assertNotNull( active );
assertEquals( 1, active.size() );
assertEquals("defaultActivated", ((Profile)active.get(0)).getId());
assertEquals( "defaultActivated", ( (Profile) active.get( 0 ) ).getId() );
}
public void testShouldNotActivateDefaultProfile() throws ProfileActivationException
public void testShouldNotActivateDefaultProfile()
throws Exception
{
Profile syspropActivated = new Profile();
syspropActivated.setId("syspropActivated");
syspropActivated.setId( "syspropActivated" );
Activation syspropActivation = new Activation();
ActivationProperty syspropProperty = new ActivationProperty();
syspropProperty.setName("java.version");
syspropProperty.setName( "java.version" );
syspropActivation.setProperty(syspropProperty);
syspropActivation.setProperty( syspropProperty );
syspropActivated.setActivation( syspropActivation );
Profile defaultActivated = new Profile();
defaultActivated.setId("defaultActivated");
defaultActivated.setId( "defaultActivated" );
Activation defaultActivation = new Activation();
defaultActivation.setActiveByDefault(true);
defaultActivation.setActiveByDefault( true );
defaultActivated.setActivation( defaultActivation );
@ -105,27 +107,28 @@ public class DefaultProfileManagerTest
ProfileManager profileManager = new DefaultProfileManager( getContainer(), ctx );
profileManager.addProfile(syspropActivated);
profileManager.addProfile(defaultActivated);
profileManager.addProfile( syspropActivated );
profileManager.addProfile( defaultActivated );
List active = profileManager.getActiveProfiles();
assertNotNull( active );
assertEquals( 1, active.size() );
assertEquals("syspropActivated", ((Profile)active.get(0)).getId());
assertEquals( "syspropActivated", ( (Profile) active.get( 0 ) ).getId() );
}
public void testShouldNotActivateReversalOfPresentSystemProperty() throws ProfileActivationException
public void testShouldNotActivateReversalOfPresentSystemProperty()
throws Exception
{
Profile syspropActivated = new Profile();
syspropActivated.setId("syspropActivated");
syspropActivated.setId( "syspropActivated" );
Activation syspropActivation = new Activation();
ActivationProperty syspropProperty = new ActivationProperty();
syspropProperty.setName("!java.version");
syspropProperty.setName( "!java.version" );
syspropActivation.setProperty(syspropProperty);
syspropActivation.setProperty( syspropProperty );
syspropActivated.setActivation( syspropActivation );
@ -134,7 +137,7 @@ public class DefaultProfileManagerTest
ProfileManager profileManager = new DefaultProfileManager( getContainer(), ctx );
profileManager.addProfile(syspropActivated);
profileManager.addProfile( syspropActivated );
List active = profileManager.getActiveProfiles();
@ -142,17 +145,18 @@ public class DefaultProfileManagerTest
assertEquals( 0, active.size() );
}
public void testShouldOverrideAndActivateInactiveProfile() throws ProfileActivationException
public void testShouldOverrideAndActivateInactiveProfile()
throws Exception
{
Profile syspropActivated = new Profile();
syspropActivated.setId("syspropActivated");
syspropActivated.setId( "syspropActivated" );
Activation syspropActivation = new Activation();
ActivationProperty syspropProperty = new ActivationProperty();
syspropProperty.setName("!java.version");
syspropProperty.setName( "!java.version" );
syspropActivation.setProperty(syspropProperty);
syspropActivation.setProperty( syspropProperty );
syspropActivated.setActivation( syspropActivation );
@ -161,28 +165,29 @@ public class DefaultProfileManagerTest
ProfileManager profileManager = new DefaultProfileManager( getContainer(), ctx );
profileManager.addProfile(syspropActivated);
profileManager.addProfile( syspropActivated );
profileManager.explicitlyActivate("syspropActivated");
profileManager.explicitlyActivate( "syspropActivated" );
List active = profileManager.getActiveProfiles();
assertNotNull( active );
assertEquals( 1, active.size() );
assertEquals( "syspropActivated", ((Profile)active.get(0)).getId());
assertEquals( "syspropActivated", ( (Profile) active.get( 0 ) ).getId() );
}
public void testShouldOverrideAndDeactivateActiveProfile() throws ProfileActivationException
public void testShouldOverrideAndDeactivateActiveProfile()
throws Exception
{
Profile syspropActivated = new Profile();
syspropActivated.setId("syspropActivated");
syspropActivated.setId( "syspropActivated" );
Activation syspropActivation = new Activation();
ActivationProperty syspropProperty = new ActivationProperty();
syspropProperty.setName("java.version");
syspropProperty.setName( "java.version" );
syspropActivation.setProperty(syspropProperty);
syspropActivation.setProperty( syspropProperty );
syspropActivated.setActivation( syspropActivation );
@ -191,9 +196,9 @@ public class DefaultProfileManagerTest
ProfileManager profileManager = new DefaultProfileManager( getContainer(), ctx );
profileManager.addProfile(syspropActivated);
profileManager.addProfile( syspropActivated );
profileManager.explicitlyDeactivate("syspropActivated");
profileManager.explicitlyDeactivate( "syspropActivated" );
List active = profileManager.getActiveProfiles();
@ -201,27 +206,28 @@ public class DefaultProfileManagerTest
assertEquals( 0, active.size() );
}
public void testOsActivationProfile() throws ProfileActivationException
public void testOsActivationProfile()
throws Exception
{
Profile osActivated = new Profile();
osActivated.setId("os-profile");
osActivated.setId( "os-profile" );
Activation osActivation = new Activation();
ActivationOS activationOS = new ActivationOS();
activationOS.setName("!dddd");
activationOS.setName( "!dddd" );
osActivation.setOs(activationOS);
osActivation.setOs( activationOS );
osActivated.setActivation(osActivation);
osActivated.setActivation( osActivation );
Properties props = System.getProperties();
ProfileActivationContext ctx = new DefaultProfileActivationContext( props, false );
ProfileManager profileManager = new DefaultProfileManager( getContainer(), ctx );
profileManager.addProfile(osActivated);
profileManager.addProfile( osActivated );
List active = profileManager.getActiveProfiles();

View File

@ -42,7 +42,7 @@ public class SuperPomProjectBuilderTest
}
public void testStandaloneSuperPomContainsInjectedExternalProfileRepositories()
throws ProjectBuildingException
throws Exception
{
Profile profile = new Profile();
profile.setId( "test-profile" );

View File

@ -388,7 +388,7 @@ public class DefaultModelLineageBuilderTest
}
public void testReadPOMWithParentInRepoBroughtInViaSettingsProfile()
throws IOException, ProjectBuildingException
throws Exception
{
// 1. create project-root directory.
File projectRootDirectory = createTempDir( "projectRootDir" );