mirror of https://github.com/apache/maven.git
o Fixed regressions regarding profile de-/activation
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@745642 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
4e1fc45f7e
commit
c53466f406
|
@ -30,7 +30,6 @@ import java.util.List;
|
||||||
import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
|
import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
|
||||||
import org.apache.maven.project.builder.ArtifactModelContainerFactory;
|
import org.apache.maven.project.builder.ArtifactModelContainerFactory;
|
||||||
import org.apache.maven.project.builder.ExclusionModelContainerFactory;
|
import org.apache.maven.project.builder.ExclusionModelContainerFactory;
|
||||||
import org.apache.maven.project.builder.IdModelContainerFactory;
|
|
||||||
import org.apache.maven.project.builder.PomTransformer;
|
import org.apache.maven.project.builder.PomTransformer;
|
||||||
import org.apache.maven.project.builder.ProjectUri;
|
import org.apache.maven.project.builder.ProjectUri;
|
||||||
import org.apache.maven.project.builder.profile.ProfileContext;
|
import org.apache.maven.project.builder.profile.ProfileContext;
|
||||||
|
@ -125,7 +124,7 @@ public final class MavenDomainModel
|
||||||
{
|
{
|
||||||
ModelDataSource dataSource = new DefaultModelDataSource( modelProperties, PomTransformer.MODEL_CONTAINER_FACTORIES );
|
ModelDataSource dataSource = new DefaultModelDataSource( modelProperties, PomTransformer.MODEL_CONTAINER_FACTORIES );
|
||||||
|
|
||||||
return new ProfileContext( dataSource, null, properties ).getActiveProfiles();
|
return new ProfileContext( dataSource, null, null, properties ).getActiveProfiles();
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArtifactBasicMetadata getParentMetadata()
|
public ArtifactBasicMetadata getParentMetadata()
|
||||||
|
|
|
@ -14,37 +14,64 @@ public class ProfileContext {
|
||||||
|
|
||||||
private Collection<String> activeProfileIds;
|
private Collection<String> activeProfileIds;
|
||||||
|
|
||||||
List<ActiveProfileMatcher> matchers = Collections.unmodifiableList( Arrays.asList(new ByDefaultMatcher(),
|
private Collection<String> inactiveProfileIds;
|
||||||
|
|
||||||
|
private ActiveProfileMatcher defaultMatcher = new ByDefaultMatcher();
|
||||||
|
|
||||||
|
private List<ActiveProfileMatcher> matchers = Collections.unmodifiableList( Arrays.asList(
|
||||||
new FileMatcher(), new JdkMatcher(), new OperatingSystemMatcher(), new PropertyMatcher()
|
new FileMatcher(), new JdkMatcher(), new OperatingSystemMatcher(), new PropertyMatcher()
|
||||||
) );
|
) );
|
||||||
|
|
||||||
public ProfileContext(ModelDataSource modelDataSource, Collection<String> activeProfileIds,
|
public ProfileContext( ModelDataSource modelDataSource, Collection<String> activeProfileIds,
|
||||||
List<InterpolatorProperty> properties) {
|
Collection<String> inactiveProfileIds, List<InterpolatorProperty> properties )
|
||||||
|
{
|
||||||
this.modelDataSource = modelDataSource;
|
this.modelDataSource = modelDataSource;
|
||||||
this.properties = new ArrayList<InterpolatorProperty>(properties);
|
this.properties = new ArrayList<InterpolatorProperty>( properties );
|
||||||
this.activeProfileIds = (activeProfileIds != null) ? activeProfileIds : new ArrayList<String>();
|
this.activeProfileIds = ( activeProfileIds != null ) ? activeProfileIds : new ArrayList<String>();
|
||||||
|
this.inactiveProfileIds = ( inactiveProfileIds != null ) ? inactiveProfileIds : new ArrayList<String>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Collection<ModelContainer> getActiveProfiles() throws DataSourceException {
|
public Collection<ModelContainer> getActiveProfiles()
|
||||||
|
throws DataSourceException
|
||||||
|
{
|
||||||
List<ModelContainer> matchedContainers = new ArrayList<ModelContainer>();
|
List<ModelContainer> matchedContainers = new ArrayList<ModelContainer>();
|
||||||
|
List<ModelContainer> defaultContainers = new ArrayList<ModelContainer>();
|
||||||
|
|
||||||
List<ModelContainer> modelContainers = modelDataSource.queryFor(ProjectUri.Profiles.Profile.xUri);
|
List<ModelContainer> modelContainers = modelDataSource.queryFor( ProjectUri.Profiles.Profile.xUri );
|
||||||
for(ModelContainer mc : modelContainers) {
|
for ( ModelContainer mc : modelContainers )
|
||||||
for(ActiveProfileMatcher matcher : matchers) {
|
{
|
||||||
if(matcher.isMatch(mc, properties)) {
|
String profileId = getProfileId( mc.getProperties() );
|
||||||
matchedContainers.add(mc);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
String profileId = getProfileId(mc.getProperties());
|
if ( !inactiveProfileIds.contains( profileId ) )
|
||||||
if(profileId != null && activeProfileIds.contains(profileId))
|
|
||||||
{
|
{
|
||||||
matchedContainers.add(mc);
|
if ( activeProfileIds.contains( profileId ) )
|
||||||
|
{
|
||||||
|
matchedContainers.add( mc );
|
||||||
|
}
|
||||||
|
else if ( defaultMatcher.isMatch( mc, properties ) )
|
||||||
|
{
|
||||||
|
defaultContainers.add( mc );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for ( ActiveProfileMatcher matcher : matchers )
|
||||||
|
{
|
||||||
|
if ( matcher.isMatch( mc, properties ) )
|
||||||
|
{
|
||||||
|
matchedContainers.add( mc );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return matchedContainers;
|
if ( matchedContainers.isEmpty() )
|
||||||
|
{
|
||||||
|
matchedContainers = defaultContainers;
|
||||||
|
}
|
||||||
|
|
||||||
|
return matchedContainers;
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getProfileId(List<ModelProperty> modelProperties)
|
private String getProfileId(List<ModelProperty> modelProperties)
|
||||||
|
|
|
@ -3,14 +3,14 @@ package org.apache.maven.project.builder.profile;
|
||||||
import org.apache.maven.project.builder.profile.ProfileContext;
|
import org.apache.maven.project.builder.profile.ProfileContext;
|
||||||
import org.apache.maven.project.builder.PomTransformer;
|
import org.apache.maven.project.builder.PomTransformer;
|
||||||
import org.apache.maven.project.builder.ProjectUri;
|
import org.apache.maven.project.builder.ProjectUri;
|
||||||
import org.apache.maven.project.builder.ArtifactModelContainerFactory;
|
|
||||||
import org.apache.maven.project.builder.IdModelContainerFactory;
|
|
||||||
import org.apache.maven.shared.model.DataSourceException;
|
import org.apache.maven.shared.model.DataSourceException;
|
||||||
import org.apache.maven.shared.model.InterpolatorProperty;
|
import org.apache.maven.shared.model.InterpolatorProperty;
|
||||||
import org.apache.maven.shared.model.ModelContainer;
|
import org.apache.maven.shared.model.ModelContainer;
|
||||||
import org.apache.maven.shared.model.ModelProperty;
|
import org.apache.maven.shared.model.ModelProperty;
|
||||||
import org.apache.maven.shared.model.impl.DefaultModelDataSource;
|
import org.apache.maven.shared.model.impl.DefaultModelDataSource;
|
||||||
import static org.junit.Assert.assertTrue;
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
@ -19,7 +19,7 @@ import java.util.List;
|
||||||
|
|
||||||
public class ProfileContextTest {
|
public class ProfileContextTest {
|
||||||
|
|
||||||
@org.junit.Test
|
@Test
|
||||||
public void getActiveProfiles() throws DataSourceException {
|
public void getActiveProfiles() throws DataSourceException {
|
||||||
List<ModelProperty> modelProperties = new ArrayList<ModelProperty>();
|
List<ModelProperty> modelProperties = new ArrayList<ModelProperty>();
|
||||||
modelProperties.add(new ModelProperty(ProjectUri.xUri, null));
|
modelProperties.add(new ModelProperty(ProjectUri.xUri, null));
|
||||||
|
@ -35,7 +35,7 @@ public class ProfileContextTest {
|
||||||
List<InterpolatorProperty> interpolatorProperties = new ArrayList<InterpolatorProperty>();
|
List<InterpolatorProperty> interpolatorProperties = new ArrayList<InterpolatorProperty>();
|
||||||
interpolatorProperties.add(new InterpolatorProperty( "${foo}", "bar"));
|
interpolatorProperties.add(new InterpolatorProperty( "${foo}", "bar"));
|
||||||
|
|
||||||
ProfileContext ctx = new ProfileContext(dataSource, null, interpolatorProperties);
|
ProfileContext ctx = new ProfileContext(dataSource, null, null, interpolatorProperties);
|
||||||
|
|
||||||
Collection<ModelContainer> profiles = ctx.getActiveProfiles();
|
Collection<ModelContainer> profiles = ctx.getActiveProfiles();
|
||||||
|
|
||||||
|
@ -43,7 +43,7 @@ public class ProfileContextTest {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@org.junit.Test
|
@Test
|
||||||
public void getActiveProfilesById() throws DataSourceException {
|
public void getActiveProfilesById() throws DataSourceException {
|
||||||
List<ModelProperty> modelProperties = new ArrayList<ModelProperty>();
|
List<ModelProperty> modelProperties = new ArrayList<ModelProperty>();
|
||||||
modelProperties.add(new ModelProperty(ProjectUri.xUri, null));
|
modelProperties.add(new ModelProperty(ProjectUri.xUri, null));
|
||||||
|
@ -55,11 +55,75 @@ public class ProfileContextTest {
|
||||||
|
|
||||||
List<InterpolatorProperty> interpolatorProperties = new ArrayList<InterpolatorProperty>();
|
List<InterpolatorProperty> interpolatorProperties = new ArrayList<InterpolatorProperty>();
|
||||||
|
|
||||||
ProfileContext ctx = new ProfileContext(dataSource, Arrays.asList("test"), interpolatorProperties);
|
ProfileContext ctx = new ProfileContext(dataSource, Arrays.asList("test"), null, interpolatorProperties);
|
||||||
|
|
||||||
Collection<ModelContainer> profiles = ctx.getActiveProfiles();
|
Collection<ModelContainer> profiles = ctx.getActiveProfiles();
|
||||||
|
|
||||||
assertTrue(profiles.size() == 1);
|
assertTrue(profiles.size() == 1);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getActiveByDefaultProfilesOnlyActivatedIfNoOtherPomProfilesAreActive()
|
||||||
|
throws DataSourceException
|
||||||
|
{
|
||||||
|
List<ModelProperty> modelProperties = new ArrayList<ModelProperty>();
|
||||||
|
modelProperties.add( new ModelProperty( ProjectUri.xUri, null ) );
|
||||||
|
modelProperties.add( new ModelProperty( ProjectUri.Profiles.xUri, null ) );
|
||||||
|
modelProperties.add( new ModelProperty( ProjectUri.Profiles.Profile.xUri, null ) );
|
||||||
|
modelProperties.add( new ModelProperty( ProjectUri.Profiles.Profile.id, "default" ) );
|
||||||
|
modelProperties.add( new ModelProperty( ProjectUri.Profiles.Profile.Activation.xUri, null ) );
|
||||||
|
modelProperties.add( new ModelProperty( ProjectUri.Profiles.Profile.Activation.activeByDefault, "true" ) );
|
||||||
|
modelProperties.add( new ModelProperty( ProjectUri.Profiles.Profile.xUri, null ) );
|
||||||
|
modelProperties.add( new ModelProperty( ProjectUri.Profiles.Profile.id, "explicit" ) );
|
||||||
|
|
||||||
|
DefaultModelDataSource dataSource =
|
||||||
|
new DefaultModelDataSource( modelProperties, PomTransformer.MODEL_CONTAINER_FACTORIES );
|
||||||
|
|
||||||
|
List<InterpolatorProperty> interpolatorProperties = new ArrayList<InterpolatorProperty>();
|
||||||
|
|
||||||
|
ProfileContext ctx = new ProfileContext( dataSource, Arrays.asList( "explicit" ), null, interpolatorProperties );
|
||||||
|
|
||||||
|
Collection<ModelContainer> profiles = ctx.getActiveProfiles();
|
||||||
|
|
||||||
|
assertEquals( 1, profiles.size() );
|
||||||
|
assertProperty( profiles.iterator().next().getProperties(), ProjectUri.Profiles.Profile.id, "explicit" );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getDeactivateProfiles()
|
||||||
|
throws DataSourceException
|
||||||
|
{
|
||||||
|
List<ModelProperty> modelProperties = new ArrayList<ModelProperty>();
|
||||||
|
modelProperties.add( new ModelProperty( ProjectUri.xUri, null ) );
|
||||||
|
modelProperties.add( new ModelProperty( ProjectUri.Profiles.xUri, null ) );
|
||||||
|
modelProperties.add( new ModelProperty( ProjectUri.Profiles.Profile.xUri, null ) );
|
||||||
|
modelProperties.add( new ModelProperty( ProjectUri.Profiles.Profile.id, "default" ) );
|
||||||
|
modelProperties.add( new ModelProperty( ProjectUri.Profiles.Profile.Activation.xUri, null ) );
|
||||||
|
modelProperties.add( new ModelProperty( ProjectUri.Profiles.Profile.Activation.activeByDefault, "true" ) );
|
||||||
|
|
||||||
|
DefaultModelDataSource dataSource =
|
||||||
|
new DefaultModelDataSource( modelProperties, PomTransformer.MODEL_CONTAINER_FACTORIES );
|
||||||
|
|
||||||
|
List<InterpolatorProperty> interpolatorProperties = new ArrayList<InterpolatorProperty>();
|
||||||
|
|
||||||
|
ProfileContext ctx = new ProfileContext( dataSource, null, Arrays.asList( "default" ), interpolatorProperties );
|
||||||
|
|
||||||
|
Collection<ModelContainer> profiles = ctx.getActiveProfiles();
|
||||||
|
|
||||||
|
assertEquals( 0, profiles.size() );
|
||||||
|
}
|
||||||
|
|
||||||
|
private void assertProperty( Collection<ModelProperty> properties, String uri, String value )
|
||||||
|
{
|
||||||
|
for ( ModelProperty property : properties )
|
||||||
|
{
|
||||||
|
if ( uri.equals( property.getUri() ) && value.equals( property.getValue() ) )
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fail( "missing model property " + uri + " = " + value );
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -181,6 +181,7 @@ public class DefaultProfileManager
|
||||||
return getActiveProfiles( null );
|
return getActiveProfiles( null );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: Portions of this logic are duplicated in o.a.m.p.b.p.ProfileContext, something is wrong here
|
||||||
public List getActiveProfiles( Model model )
|
public List getActiveProfiles( Model model )
|
||||||
throws ProfileActivationException
|
throws ProfileActivationException
|
||||||
{
|
{
|
||||||
|
|
|
@ -26,14 +26,12 @@ import java.io.StringReader;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
import org.apache.maven.MavenTools;
|
import org.apache.maven.MavenTools;
|
||||||
import org.apache.maven.profiles.activation.ProfileActivationContext;
|
|
||||||
import org.apache.maven.mercury.PomProcessor;
|
import org.apache.maven.mercury.PomProcessor;
|
||||||
import org.apache.maven.mercury.PomProcessorException;
|
import org.apache.maven.mercury.PomProcessorException;
|
||||||
import org.apache.maven.mercury.MavenDomainModel;
|
import org.apache.maven.mercury.MavenDomainModel;
|
||||||
import org.apache.maven.mercury.MavenDomainModelFactory;
|
import org.apache.maven.mercury.MavenDomainModelFactory;
|
||||||
import org.apache.maven.mercury.builder.api.MetadataReader;
|
import org.apache.maven.mercury.builder.api.MetadataReader;
|
||||||
import org.apache.maven.mercury.builder.api.MetadataReaderException;
|
import org.apache.maven.mercury.builder.api.MetadataReaderException;
|
||||||
import org.apache.maven.mercury.builder.api.DependencyProcessorException;
|
|
||||||
import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
|
import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
|
||||||
import org.apache.maven.artifact.Artifact;
|
import org.apache.maven.artifact.Artifact;
|
||||||
import org.apache.maven.artifact.InvalidRepositoryException;
|
import org.apache.maven.artifact.InvalidRepositoryException;
|
||||||
|
@ -48,7 +46,6 @@ import org.apache.maven.project.MavenProjectBuilder;
|
||||||
import org.apache.maven.project.builder.*;
|
import org.apache.maven.project.builder.*;
|
||||||
import org.apache.maven.project.builder.ProjectUri;
|
import org.apache.maven.project.builder.ProjectUri;
|
||||||
import org.apache.maven.project.builder.profile.ProfileContext;
|
import org.apache.maven.project.builder.profile.ProfileContext;
|
||||||
import org.apache.maven.project.builder.profile.ProfileUri;
|
|
||||||
import org.apache.maven.shared.model.*;
|
import org.apache.maven.shared.model.*;
|
||||||
import org.apache.maven.shared.model.impl.DefaultModelDataSource;
|
import org.apache.maven.shared.model.impl.DefaultModelDataSource;
|
||||||
import org.codehaus.plexus.component.annotations.Component;
|
import org.codehaus.plexus.component.annotations.Component;
|
||||||
|
@ -166,13 +163,13 @@ public class DefaultProjectBuilder
|
||||||
PomArtifactResolver resolver )
|
PomArtifactResolver resolver )
|
||||||
throws IOException
|
throws IOException
|
||||||
{
|
{
|
||||||
return buildModel( pom, null, interpolatorProperties, null, resolver );
|
return buildModel( pom, null, interpolatorProperties, null, null, resolver );
|
||||||
}
|
}
|
||||||
|
|
||||||
private PomClassicDomainModel buildModel( File pom,
|
private PomClassicDomainModel buildModel( File pom,
|
||||||
List<Model> mixins,
|
List<Model> mixins,
|
||||||
Collection<InterpolatorProperty> interpolatorProperties,
|
Collection<InterpolatorProperty> interpolatorProperties,
|
||||||
Collection<String> activeProfileIds,
|
Collection<String> activeProfileIds, Collection<String> inactiveProfileIds,
|
||||||
PomArtifactResolver resolver )
|
PomArtifactResolver resolver )
|
||||||
throws IOException
|
throws IOException
|
||||||
{
|
{
|
||||||
|
@ -201,6 +198,10 @@ public class DefaultProjectBuilder
|
||||||
{
|
{
|
||||||
activeProfileIds = new ArrayList<String>();
|
activeProfileIds = new ArrayList<String>();
|
||||||
}
|
}
|
||||||
|
if ( inactiveProfileIds == null )
|
||||||
|
{
|
||||||
|
inactiveProfileIds = new ArrayList<String>();
|
||||||
|
}
|
||||||
|
|
||||||
List<InterpolatorProperty> properties;
|
List<InterpolatorProperty> properties;
|
||||||
if ( interpolatorProperties == null )
|
if ( interpolatorProperties == null )
|
||||||
|
@ -219,7 +220,7 @@ public class DefaultProjectBuilder
|
||||||
|
|
||||||
//Process Profile on most specialized child model
|
//Process Profile on most specialized child model
|
||||||
ProfileContext profileContext = new ProfileContext(new DefaultModelDataSource(domainModel.getModelProperties(),
|
ProfileContext profileContext = new ProfileContext(new DefaultModelDataSource(domainModel.getModelProperties(),
|
||||||
PomTransformer.MODEL_CONTAINER_FACTORIES), activeProfileIds, properties);
|
PomTransformer.MODEL_CONTAINER_FACTORIES), activeProfileIds, inactiveProfileIds, properties);
|
||||||
|
|
||||||
Collection<ModelContainer> profileContainers = profileContext.getActiveProfiles();
|
Collection<ModelContainer> profileContainers = profileContext.getActiveProfiles();
|
||||||
|
|
||||||
|
@ -246,11 +247,15 @@ public class DefaultProjectBuilder
|
||||||
List<DomainModel> mavenParents;
|
List<DomainModel> mavenParents;
|
||||||
if ( isParentLocal( domainModel.getModel().getParent(), pom.getParentFile() ) )
|
if ( isParentLocal( domainModel.getModel().getParent(), pom.getParentFile() ) )
|
||||||
{
|
{
|
||||||
mavenParents = getDomainModelParentsFromLocalPath( domainModel, resolver, pom.getParentFile(), properties, activeProfileIds );
|
mavenParents =
|
||||||
|
getDomainModelParentsFromLocalPath( domainModel, resolver, pom.getParentFile(), properties,
|
||||||
|
activeProfileIds, inactiveProfileIds );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
mavenParents = getDomainModelParentsFromRepository( domainModel, resolver, properties, activeProfileIds );
|
mavenParents =
|
||||||
|
getDomainModelParentsFromRepository( domainModel, resolver, properties, activeProfileIds,
|
||||||
|
inactiveProfileIds );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( mavenParents.size() > 0 )
|
if ( mavenParents.size() > 0 )
|
||||||
|
@ -295,16 +300,20 @@ public class DefaultProjectBuilder
|
||||||
throws IOException
|
throws IOException
|
||||||
{
|
{
|
||||||
|
|
||||||
List<String> profileIds = (projectBuilderConfiguration != null &&
|
List<String> activeProfileIds = (projectBuilderConfiguration != null &&
|
||||||
projectBuilderConfiguration.getGlobalProfileManager() != null &&
|
projectBuilderConfiguration.getGlobalProfileManager() != null &&
|
||||||
projectBuilderConfiguration.getGlobalProfileManager().getProfileActivationContext() != null) ?
|
projectBuilderConfiguration.getGlobalProfileManager().getProfileActivationContext() != null) ?
|
||||||
projectBuilderConfiguration.getGlobalProfileManager().getProfileActivationContext().getExplicitlyActiveProfileIds() : new ArrayList<String>();
|
projectBuilderConfiguration.getGlobalProfileManager().getProfileActivationContext().getExplicitlyActiveProfileIds() : new ArrayList<String>();
|
||||||
|
|
||||||
|
List<String> inactiveProfileIds =
|
||||||
|
( projectBuilderConfiguration != null && projectBuilderConfiguration.getGlobalProfileManager() != null &&
|
||||||
|
projectBuilderConfiguration.getGlobalProfileManager().getProfileActivationContext() != null ) ?
|
||||||
|
projectBuilderConfiguration.getGlobalProfileManager().getProfileActivationContext().getExplicitlyInactiveProfileIds() : new ArrayList<String>();
|
||||||
|
|
||||||
PomClassicDomainModel domainModel = buildModel( pom,
|
PomClassicDomainModel domainModel = buildModel( pom,
|
||||||
mixins,
|
mixins,
|
||||||
interpolatorProperties,
|
interpolatorProperties,
|
||||||
profileIds,
|
activeProfileIds, inactiveProfileIds,
|
||||||
resolver );
|
resolver );
|
||||||
|
|
||||||
try
|
try
|
||||||
|
@ -354,7 +363,8 @@ public class DefaultProjectBuilder
|
||||||
private List<DomainModel> getDomainModelParentsFromRepository( PomClassicDomainModel domainModel,
|
private List<DomainModel> getDomainModelParentsFromRepository( PomClassicDomainModel domainModel,
|
||||||
PomArtifactResolver artifactResolver,
|
PomArtifactResolver artifactResolver,
|
||||||
List<InterpolatorProperty> properties,
|
List<InterpolatorProperty> properties,
|
||||||
Collection<String> activeProfileIds)
|
Collection<String> activeProfileIds,
|
||||||
|
Collection<String> inactiveProfileIds )
|
||||||
throws IOException
|
throws IOException
|
||||||
{
|
{
|
||||||
List<DomainModel> domainModels = new ArrayList<DomainModel>();
|
List<DomainModel> domainModels = new ArrayList<DomainModel>();
|
||||||
|
@ -383,7 +393,7 @@ public class DefaultProjectBuilder
|
||||||
|
|
||||||
//Process Profiles
|
//Process Profiles
|
||||||
ProfileContext profileContext = new ProfileContext(new DefaultModelDataSource(parentDomainModel.getModelProperties(),
|
ProfileContext profileContext = new ProfileContext(new DefaultModelDataSource(parentDomainModel.getModelProperties(),
|
||||||
PomTransformer.MODEL_CONTAINER_FACTORIES), activeProfileIds, properties);
|
PomTransformer.MODEL_CONTAINER_FACTORIES), activeProfileIds, inactiveProfileIds, properties);
|
||||||
Collection<ModelContainer> profileContainers = profileContext.getActiveProfiles();
|
Collection<ModelContainer> profileContainers = profileContext.getActiveProfiles();
|
||||||
|
|
||||||
for(ModelContainer mc : profileContainers)
|
for(ModelContainer mc : profileContainers)
|
||||||
|
@ -403,7 +413,8 @@ public class DefaultProjectBuilder
|
||||||
domainModels.add(new PomClassicDomainModel(transformed));
|
domainModels.add(new PomClassicDomainModel(transformed));
|
||||||
}
|
}
|
||||||
|
|
||||||
domainModels.addAll( getDomainModelParentsFromRepository( parentDomainModel, artifactResolver, properties, activeProfileIds ) );
|
domainModels.addAll( getDomainModelParentsFromRepository( parentDomainModel, artifactResolver, properties,
|
||||||
|
activeProfileIds, inactiveProfileIds ) );
|
||||||
return domainModels;
|
return domainModels;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -420,7 +431,8 @@ public class DefaultProjectBuilder
|
||||||
PomArtifactResolver artifactResolver,
|
PomArtifactResolver artifactResolver,
|
||||||
File projectDirectory,
|
File projectDirectory,
|
||||||
List<InterpolatorProperty> properties,
|
List<InterpolatorProperty> properties,
|
||||||
Collection<String> activeProfileIds)
|
Collection<String> activeProfileIds,
|
||||||
|
Collection<String> inactiveProfileIds )
|
||||||
throws IOException
|
throws IOException
|
||||||
{
|
{
|
||||||
List<DomainModel> domainModels = new ArrayList<DomainModel>();
|
List<DomainModel> domainModels = new ArrayList<DomainModel>();
|
||||||
|
@ -450,7 +462,7 @@ public class DefaultProjectBuilder
|
||||||
|
|
||||||
//Process Profiles
|
//Process Profiles
|
||||||
ProfileContext profileContext = new ProfileContext(new DefaultModelDataSource(parentDomainModel.getModelProperties(),
|
ProfileContext profileContext = new ProfileContext(new DefaultModelDataSource(parentDomainModel.getModelProperties(),
|
||||||
PomTransformer.MODEL_CONTAINER_FACTORIES), activeProfileIds, properties);
|
PomTransformer.MODEL_CONTAINER_FACTORIES), activeProfileIds, inactiveProfileIds, properties);
|
||||||
Collection<ModelContainer> profileContainers = profileContext.getActiveProfiles();
|
Collection<ModelContainer> profileContainers = profileContext.getActiveProfiles();
|
||||||
|
|
||||||
for(ModelContainer mc : profileContainers)
|
for(ModelContainer mc : profileContainers)
|
||||||
|
@ -475,7 +487,9 @@ public class DefaultProjectBuilder
|
||||||
+ parentDomainModel.getId() + ", Child ID = " + domainModel.getId() + ", Expected Parent ID = "
|
+ parentDomainModel.getId() + ", Child ID = " + domainModel.getId() + ", Expected Parent ID = "
|
||||||
+ domainModel.getModel().getParent().getId() );
|
+ domainModel.getModel().getParent().getId() );
|
||||||
|
|
||||||
List<DomainModel> parentDomainModels = getDomainModelParentsFromRepository( domainModel, artifactResolver, properties, activeProfileIds );
|
List<DomainModel> parentDomainModels =
|
||||||
|
getDomainModelParentsFromRepository( domainModel, artifactResolver, properties, activeProfileIds,
|
||||||
|
inactiveProfileIds );
|
||||||
|
|
||||||
if(parentDomainModels.size() == 0)
|
if(parentDomainModels.size() == 0)
|
||||||
{
|
{
|
||||||
|
@ -493,11 +507,14 @@ public class DefaultProjectBuilder
|
||||||
if ( isParentLocal( parentDomainModel.getModel().getParent(), parentFile.getParentFile() ) )
|
if ( isParentLocal( parentDomainModel.getModel().getParent(), parentFile.getParentFile() ) )
|
||||||
{
|
{
|
||||||
domainModels.addAll( getDomainModelParentsFromLocalPath( parentDomainModel, artifactResolver,
|
domainModels.addAll( getDomainModelParentsFromLocalPath( parentDomainModel, artifactResolver,
|
||||||
parentFile.getParentFile(), properties, activeProfileIds ) );
|
parentFile.getParentFile(), properties,
|
||||||
|
activeProfileIds, inactiveProfileIds ) );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
domainModels.addAll( getDomainModelParentsFromRepository( parentDomainModel, artifactResolver, properties, activeProfileIds ) );
|
domainModels.addAll( getDomainModelParentsFromRepository( parentDomainModel, artifactResolver,
|
||||||
|
properties, activeProfileIds,
|
||||||
|
inactiveProfileIds ) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue