Java 类org.apache.maven.model.Activation 实例源码
项目:incubator-netbeans
文件:LocationAwareMavenXpp3Writer.java
private void writeActivation(Activation activation, String tagName, XmlSerializer serializer)
throws java.io.IOException {
serializer.startTag(NAMESPACE, tagName);
flush(serializer);
StringBuffer b = b(serializer);
int start = b.length();
if (activation.isActiveByDefault() != false) {
writeValue(serializer, "activeByDefault", String.valueOf(activation.isActiveByDefault()), activation);
}
if (activation.getJdk() != null) {
writeValue(serializer, "jdk", activation.getJdk(), activation);
}
if (activation.getOs() != null) {
writeActivationOS((ActivationOS) activation.getOs(), "os", serializer);
}
if (activation.getProperty() != null) {
writeActivationProperty((ActivationProperty) activation.getProperty(), "property", serializer);
}
if (activation.getFile() != null) {
writeActivationFile((ActivationFile) activation.getFile(), "file", serializer);
}
serializer.endTag(NAMESPACE, tagName).flush();
logLocation(activation, "", start, b.length());
}
项目:xmvn
文件:DefaultModelProcessor.java
private void visitProfileActivation( ModelVisitor visitor, Activation activation )
{
ActivationOS os = activation.getOs();
if ( os != null )
{
visitor.visitProfileActivationO( os );
os = visitor.replaceProfileActivationO( os );
activation.setOs( os );
}
ActivationProperty property = activation.getProperty();
if ( property != null )
{
visitor.visitProfileActivationProperty( property );
property = visitor.replaceProfileActivationProperty( property );
activation.setProperty( property );
}
ActivationFile file = activation.getFile();
if ( file != null )
{
visitor.visitProfileActivationFile( file );
file = visitor.replaceProfileActivationFile( file );
activation.setFile( file );
}
}
项目:oceano
文件:OperatingSystemProfileActivator.java
public boolean isActive( Profile profile )
{
Activation activation = profile.getActivation();
ActivationOS os = activation.getOs();
boolean result = ensureAtLeastOneNonNull( os );
if ( result && os.getFamily() != null )
{
result = determineFamilyMatch( os.getFamily() );
}
if ( result && os.getName() != null )
{
result = determineNameMatch( os.getName() );
}
if ( result && os.getArch() != null )
{
result = determineArchMatch( os.getArch() );
}
if ( result && os.getVersion() != null )
{
result = determineVersionMatch( os.getVersion() );
}
return result;
}
项目:oceano
文件:DefaultProfileManager.java
public void addProfile( Profile profile )
{
String profileId = profile.getId();
Profile existing = (Profile) profilesById.get( profileId );
if ( existing != null )
{
logger.warn( "Overriding profile: \'" + profileId + "\' (source: " + existing.getSource()
+ ") with new instance from source: " + profile.getSource() );
}
profilesById.put( profile.getId(), profile );
Activation activation = profile.getActivation();
if ( activation != null && activation.isActiveByDefault() )
{
activateAsDefault( profileId );
}
}
项目:redhat-repository-validator
文件:TestDependenciesValidator.java
@Test
public void shouldResolveDependencyFromDefaultProfile() {
Model bar = pom().artifactId("bar").create(repoBarDir);
Model foo = pom().artifactId("foo").create(repoFooDir);
Activation fooProfileActivation = new Activation();
fooProfileActivation.setActiveByDefault(true);
Profile fooProfile = new Profile();
fooProfile.setId("fooProfile");
fooProfile.setActivation(fooProfileActivation);
fooProfile.addDependency(dependency().to(bar).build());
foo.addProfile(fooProfile);
createArtifact(repoFooDir, foo);
validationExecutor.execute(ctx);
assertSuccess();
assertLocalRepoContains(foo);
assertLocalRepoContains(bar);
}
项目:redhat-repository-validator
文件:TestDependenciesValidator.java
@Test
public void shouldResolveDependencyFromActiveProfile() {
Model bar = pom().artifactId("bar").create(repoBarDir);
Model foo = pom().artifactId("foo").create(repoFooDir);
Activation fooProfileActivation = new Activation();
fooProfileActivation.setJdk("!1.0");
Profile fooProfile = new Profile();
fooProfile.setId("fooProfile");
fooProfile.setActivation(fooProfileActivation);
fooProfile.addDependency(dependency().to(bar).build());
foo.addProfile(fooProfile);
createArtifact(repoFooDir, foo);
validationExecutor.execute(ctx);
assertSuccess();
assertLocalRepoContains(foo);
assertLocalRepoContains(bar);
}
项目:redhat-repository-validator
文件:TestDependenciesValidator.java
@Test
public void shouldFindMissingDependencyFromActiveProfile() {
Model bar = pom().artifactId("bar").model();
Model foo = pom().artifactId("foo").create(repoFooDir);
Activation fooProfileActivation = new Activation();
fooProfileActivation.setJdk("!1.0");
Profile fooProfile = new Profile();
fooProfile.setId("fooProfile");
fooProfile.setActivation(fooProfileActivation);
fooProfile.addDependency(dependency().to(bar).build());
foo.addProfile(fooProfile);
createArtifact(repoFooDir, foo);
validationExecutor.execute(ctx);
assertExpectedException(ArtifactNotFoundException.class, "Could not find artifact com.acme:bar:jar:1.0");
}
项目:tibco-bwmaven
文件:BWLifecycleParticipant.java
private List<String> activateProfilesWithProperties(MavenProject mavenProject, List<String> activeProfileIds) {
if (mavenProject == null) return activeProfileIds;
List<String> result = new ArrayList<String>();
if (activeProfileIds != null) {
result.addAll(activeProfileIds);
}
for (Profile profile : mavenProject.getModel().getProfiles()) {
Activation activation = profile.getActivation();
if (activation != null) {
ActivationProperty property = activation.getProperty();
if (property != null) {
String name = property.getName();
if (name != null) {
String value;
if (name.startsWith("!")) {
value = propertiesManager.getPropertyValue(name.substring(1));
} else {
value = propertiesManager.getPropertyValue(name);
}
if (value != null) {
if (!name.startsWith("!") && value.equals(property.getValue()) || name.startsWith("!") && !value.equals(property.getValue())) {
result.add(profile.getId());
}
}
}
}
}
}
return result;
}
项目:flatten-maven-plugin
文件:FlattenMojo.java
/**
* @param activation is the {@link Activation} of a {@link Profile}.
* @return <code>true</code> if the given {@link Activation} is build-time driven, <code>false</code> otherwise (if
* it is triggered by OS or JDK).
*/
protected static boolean isBuildTimeDriven( Activation activation )
{
if ( activation == null )
{
return true;
}
if ( StringUtils.isEmpty( activation.getJdk() ) && activation.getOs() == null )
{
return true;
}
return false;
}
项目:che
文件:MavenModelUtil.java
private static MavenActivation convertActivation(Activation activation) {
if (activation == null) {
return null;
}
MavenActivation result = new MavenActivation();
result.setActiveByDefault(activation.isActiveByDefault());
result.setFile(convertFileActivation(activation.getFile()));
result.setJdk(activation.getJdk());
result.setOs(convertOsActivation(activation.getOs()));
result.setProperty(convertPropertyActivation(activation.getProperty()));
return result;
}
项目:che
文件:MavenModelUtil.java
private static Activation convertToMavenActivation(MavenActivation activation) {
if (activation != null) {
Activation result = new Activation();
result.setActiveByDefault(activation.isActiveByDefault());
result.setFile(convertToMavenActivationFile(activation.getFile()));
result.setJdk(activation.getJdk());
result.setOs(convertToMavenActivationOs(activation.getOs()));
result.setProperty(convertToMavenActivationProperty(activation.getProperty()));
return result;
}
return null;
}
项目:artifactory
文件:PomTransformerTest.java
@SuppressWarnings({"unchecked"})
public void transformableWithDiscardActiveReference() throws IOException {
PomTransformer pomTransformer = new PomTransformer(transformablePomAsString,
PomCleanupPolicy.discard_active_reference);
String transformedPom = pomTransformer.transform();
Model pom = MavenModelUtils.stringToMavenModel(transformedPom);
List repositoriesList = pom.getRepositories();
List pluginsRepositoriesList = pom.getPluginRepositories();
assertEmptyList(repositoriesList, pluginsRepositoriesList);
List<Profile> pomProfiles = pom.getProfiles();
for (Profile profile : pomProfiles) {
boolean activeByDefault = false;
Activation activation = profile.getActivation();
if (activation != null) {
activeByDefault = activation.isActiveByDefault();
}
List profileRepositories = profile.getRepositories();
List profilePluginsRepositories = profile.getPluginRepositories();
if (activeByDefault) {
assertEmptyList(profileRepositories, profilePluginsRepositories);
} else {
assertNotEmptyList(profileRepositories, profilePluginsRepositories);
}
}
assertTrue(transformablePomAsString.contains("This is a comment"));
compareChecksums(transformablePomAsString, transformedPom, false);
}
项目:pom-manipulation-ext
文件:ProfileInjectionManipulator.java
/**
* Add the profile to the list of profiles. If an existing profile has the same
* id it is removed first.
*
* @param profiles Existing profiles
* @param profile Target profile to add
*/
void addProfile( final List<Profile> profiles, final Profile profile )
{
final Iterator<Profile> i = profiles.iterator();
while ( i.hasNext() )
{
final Profile p = i.next();
if ( profile.getId()
.equals( p.getId() ) )
{
logger.debug( "Removing local profile {} ", p );
i.remove();
// Don't break out of the loop so we can check for active profiles
}
// If we have injected profiles and one of the current profiles is using
// activeByDefault it will get mistakingly deactivated due to the semantics
// of activeByDefault. Therefore replace the activation.
if (p.getActivation() != null && p.getActivation().isActiveByDefault())
{
logger.warn( "Profile {} is activeByDefault", p );
final Activation replacement = new Activation();
final ActivationProperty replacementProp = new ActivationProperty();
replacementProp.setName( "!disableProfileActivation" );
replacement.setProperty( replacementProp );
p.setActivation( replacement );
}
}
logger.debug( "Adding profile {}", profile );
profiles.add( profile );
}
项目:oceano
文件:JdkPrefixProfileActivator.java
public boolean isActive( Profile profile )
throws ProfileActivationException
{
Activation activation = profile.getActivation();
String jdk = activation.getJdk();
// null case is covered by canDetermineActivation(), so we can do a straight startsWith() here.
if ( jdk.startsWith( "[" ) || jdk.startsWith( "(" ) )
{
try
{
return matchJdkVersionRange( jdk );
}
catch ( InvalidVersionSpecificationException e )
{
throw new ProfileActivationException( "Invalid JDK version in profile '" + profile.getId() + "': "
+ e.getMessage() );
}
}
boolean reverse = false;
if ( jdk.startsWith( "!" ) )
{
reverse = true;
jdk = jdk.substring( 1 );
}
if ( getJdkVersion().startsWith( jdk ) )
{
return !reverse;
}
else
{
return reverse;
}
}
项目:oceano
文件:JdkVersionProfileActivator.java
public boolean isActive( Profile profile, ProfileActivationContext context, ModelProblemCollector problems )
{
Activation activation = profile.getActivation();
if ( activation == null )
{
return false;
}
String jdk = activation.getJdk();
if ( jdk == null )
{
return false;
}
String version = context.getSystemProperties().get( "java.version" );
if ( version == null || version.length() <= 0 )
{
problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE )
.setMessage( "Failed to determine Java version for profile " + profile.getId() )
.setLocation(activation.getLocation( "jdk" ) ) );
return false;
}
if ( jdk.startsWith( "!" ) )
{
return !version.startsWith( jdk.substring( 1 ) );
}
else if ( isRange( jdk ) )
{
return isInRange( version, getRange( jdk ) );
}
else
{
return version.startsWith( jdk );
}
}
项目:oceano
文件:OperatingSystemProfileActivator.java
public boolean isActive( Profile profile, ProfileActivationContext context, ModelProblemCollector problems )
{
Activation activation = profile.getActivation();
if ( activation == null )
{
return false;
}
ActivationOS os = activation.getOs();
if ( os == null )
{
return false;
}
boolean active = ensureAtLeastOneNonNull( os );
if ( active && os.getFamily() != null )
{
active = determineFamilyMatch( os.getFamily() );
}
if ( active && os.getName() != null )
{
active = determineNameMatch( os.getName() );
}
if ( active && os.getArch() != null )
{
active = determineArchMatch( os.getArch() );
}
if ( active && os.getVersion() != null )
{
active = determineVersionMatch( os.getVersion() );
}
return active;
}
项目:oceano
文件:JdkVersionProfileActivatorTest.java
private Profile newProfile( String jdkVersion )
{
Activation a = new Activation();
a.setJdk( jdkVersion );
Profile p = new Profile();
p.setActivation( a );
return p;
}
项目:oceano
文件:JdkVersionProfileActivatorTest.java
public void testNullSafe()
throws Exception
{
Profile p = new Profile();
assertActivation( false, p, newContext( null, null ) );
p.setActivation( new Activation() );
assertActivation( false, p, newContext( null, null ) );
}
项目:oceano
文件:PropertyProfileActivatorTest.java
private Profile newProfile( String key, String value )
{
ActivationProperty ap = new ActivationProperty();
ap.setName( key );
ap.setValue( value );
Activation a = new Activation();
a.setProperty( ap );
Profile p = new Profile();
p.setActivation( a );
return p;
}
项目:oceano
文件:PropertyProfileActivatorTest.java
public void testNullSafe()
throws Exception
{
Profile p = new Profile();
assertActivation( false, p, newContext( null, null ) );
p.setActivation( new Activation() );
assertActivation( false, p, newContext( null, null ) );
}
项目:xmvn
文件:AbstractModelVisitor.java
@Override
public Activation replaceProfileActivation( Activation activation )
{
return activation;
}
项目:xmvn
文件:AbstractModelVisitor.java
@Override
public void visitProfileActivation( Activation activation )
{
}
项目:intellij-ce-playground
文件:Maven30ServerEmbedderImpl.java
public static ProfileApplicationResult applyProfiles(MavenModel model,
File basedir,
MavenExplicitProfiles explicitProfiles,
Collection<String> alwaysOnProfiles) throws RemoteException {
Model nativeModel = MavenModelConverter.toNativeModel(model);
Collection<String> enabledProfiles = explicitProfiles.getEnabledProfiles();
Collection<String> disabledProfiles = explicitProfiles.getDisabledProfiles();
List<Profile> activatedPom = new ArrayList<Profile>();
List<Profile> activatedExternal = new ArrayList<Profile>();
List<Profile> activeByDefault = new ArrayList<Profile>();
List<Profile> rawProfiles = nativeModel.getProfiles();
List<Profile> expandedProfilesCache = null;
List<Profile> deactivatedProfiles = new ArrayList<Profile>();
for (int i = 0; i < rawProfiles.size(); i++) {
Profile eachRawProfile = rawProfiles.get(i);
if (disabledProfiles.contains(eachRawProfile.getId())) {
deactivatedProfiles.add(eachRawProfile);
continue;
}
boolean shouldAdd = enabledProfiles.contains(eachRawProfile.getId()) || alwaysOnProfiles.contains(eachRawProfile.getId());
Activation activation = eachRawProfile.getActivation();
if (activation != null) {
if (activation.isActiveByDefault()) {
activeByDefault.add(eachRawProfile);
}
// expand only if necessary
if (expandedProfilesCache == null) expandedProfilesCache = doInterpolate(nativeModel, basedir).getProfiles();
Profile eachExpandedProfile = expandedProfilesCache.get(i);
for (ProfileActivator eachActivator : getProfileActivators(basedir)) {
try {
if (eachActivator.canDetermineActivation(eachExpandedProfile) && eachActivator.isActive(eachExpandedProfile)) {
shouldAdd = true;
break;
}
}
catch (ProfileActivationException e) {
Maven3ServerGlobals.getLogger().warn(e);
}
}
}
if (shouldAdd) {
if (MavenConstants.PROFILE_FROM_POM.equals(eachRawProfile.getSource())) {
activatedPom.add(eachRawProfile);
}
else {
activatedExternal.add(eachRawProfile);
}
}
}
List<Profile> activatedProfiles = new ArrayList<Profile>(activatedPom.isEmpty() ? activeByDefault : activatedPom);
activatedProfiles.addAll(activatedExternal);
for (Profile each : activatedProfiles) {
new DefaultProfileInjector().injectProfile(nativeModel, each, null, null);
}
return new ProfileApplicationResult(MavenModelConverter.convertModel(nativeModel, null),
new MavenExplicitProfiles(collectProfilesIds(activatedProfiles),
collectProfilesIds(deactivatedProfiles))
);
}
项目:intellij-ce-playground
文件:Maven2ServerEmbedderImpl.java
public static ProfileApplicationResult applyProfiles(MavenModel model,
File basedir,
MavenExplicitProfiles explicitProfiles,
Collection<String> alwaysOnProfiles) throws RemoteException {
Model nativeModel = Maven2ModelConverter.toNativeModel(model);
Collection<String> enabledProfiles = explicitProfiles.getEnabledProfiles();
Collection<String> disabledProfiles = explicitProfiles.getDisabledProfiles();
List<Profile> activatedPom = new ArrayList<Profile>();
List<Profile> activatedExternal = new ArrayList<Profile>();
List<Profile> activeByDefault = new ArrayList<Profile>();
List<Profile> rawProfiles = nativeModel.getProfiles();
List<Profile> expandedProfilesCache = null;
List<Profile> deactivatedProfiles = new ArrayList<Profile>();
for (int i = 0; i < rawProfiles.size(); i++) {
Profile eachRawProfile = rawProfiles.get(i);
if (disabledProfiles.contains(eachRawProfile.getId())) {
deactivatedProfiles.add(eachRawProfile);
continue;
}
boolean shouldAdd = enabledProfiles.contains(eachRawProfile.getId()) || alwaysOnProfiles.contains(eachRawProfile.getId());
Activation activation = eachRawProfile.getActivation();
if (activation != null) {
if (activation.isActiveByDefault()) {
activeByDefault.add(eachRawProfile);
}
// expand only if necessary
if (expandedProfilesCache == null) expandedProfilesCache = doInterpolate(nativeModel, basedir).getProfiles();
Profile eachExpandedProfile = expandedProfilesCache.get(i);
for (ProfileActivator eachActivator : getProfileActivators(basedir)) {
try {
if (eachActivator.canDetermineActivation(eachExpandedProfile) && eachActivator.isActive(eachExpandedProfile)) {
shouldAdd = true;
break;
}
}
catch (ProfileActivationException e) {
Maven2ServerGlobals.getLogger().warn(e);
}
}
}
if (shouldAdd) {
if (MavenConstants.PROFILE_FROM_POM.equals(eachRawProfile.getSource())) {
activatedPom.add(eachRawProfile);
}
else {
activatedExternal.add(eachRawProfile);
}
}
}
List<Profile> activatedProfiles = new ArrayList<Profile>(activatedPom.isEmpty() ? activeByDefault : activatedPom);
activatedProfiles.addAll(activatedExternal);
for (Profile each : activatedProfiles) {
new DefaultProfileInjector().inject(each, nativeModel);
}
return new ProfileApplicationResult(Maven2ModelConverter.convertModel(nativeModel, null),
new MavenExplicitProfiles(collectProfilesIds(activatedProfiles),
collectProfilesIds(deactivatedProfiles))
);
}
项目:intellij-ce-playground
文件:Maven32ServerEmbedderImpl.java
public static ProfileApplicationResult applyProfiles(MavenModel model,
File basedir,
MavenExplicitProfiles explicitProfiles,
Collection<String> alwaysOnProfiles) throws RemoteException {
Model nativeModel = MavenModelConverter.toNativeModel(model);
Collection<String> enabledProfiles = explicitProfiles.getEnabledProfiles();
Collection<String> disabledProfiles = explicitProfiles.getDisabledProfiles();
List<Profile> activatedPom = new ArrayList<Profile>();
List<Profile> activatedExternal = new ArrayList<Profile>();
List<Profile> activeByDefault = new ArrayList<Profile>();
List<Profile> rawProfiles = nativeModel.getProfiles();
List<Profile> expandedProfilesCache = null;
List<Profile> deactivatedProfiles = new ArrayList<Profile>();
for (int i = 0; i < rawProfiles.size(); i++) {
Profile eachRawProfile = rawProfiles.get(i);
if (disabledProfiles.contains(eachRawProfile.getId())) {
deactivatedProfiles.add(eachRawProfile);
continue;
}
boolean shouldAdd = enabledProfiles.contains(eachRawProfile.getId()) || alwaysOnProfiles.contains(eachRawProfile.getId());
Activation activation = eachRawProfile.getActivation();
if (activation != null) {
if (activation.isActiveByDefault()) {
activeByDefault.add(eachRawProfile);
}
// expand only if necessary
if (expandedProfilesCache == null) expandedProfilesCache = doInterpolate(nativeModel, basedir).getProfiles();
Profile eachExpandedProfile = expandedProfilesCache.get(i);
for (ProfileActivator eachActivator : getProfileActivators(basedir)) {
try {
if (eachActivator.canDetermineActivation(eachExpandedProfile) && eachActivator.isActive(eachExpandedProfile)) {
shouldAdd = true;
break;
}
}
catch (ProfileActivationException e) {
Maven3ServerGlobals.getLogger().warn(e);
}
}
}
if (shouldAdd) {
if (MavenConstants.PROFILE_FROM_POM.equals(eachRawProfile.getSource())) {
activatedPom.add(eachRawProfile);
}
else {
activatedExternal.add(eachRawProfile);
}
}
}
List<Profile> activatedProfiles = new ArrayList<Profile>(activatedPom.isEmpty() ? activeByDefault : activatedPom);
activatedProfiles.addAll(activatedExternal);
for (Profile each : activatedProfiles) {
new DefaultProfileInjector().injectProfile(nativeModel, each, null, null);
}
return new ProfileApplicationResult(MavenModelConverter.convertModel(nativeModel, null),
new MavenExplicitProfiles(collectProfilesIds(activatedProfiles),
collectProfilesIds(deactivatedProfiles))
);
}
项目:tools-idea
文件:Maven3ServerEmbedderImpl.java
public static ProfileApplicationResult applyProfiles(MavenModel model,
File basedir,
Collection<String> explicitProfiles,
Collection<String> alwaysOnProfiles) throws RemoteException {
Model nativeModel = MavenModelConverter.toNativeModel(model);
List<Profile> activatedPom = new ArrayList<Profile>();
List<Profile> activatedExternal = new ArrayList<Profile>();
List<Profile> activeByDefault = new ArrayList<Profile>();
List<Profile> rawProfiles = nativeModel.getProfiles();
List<Profile> expandedProfilesCache = null;
for (int i = 0; i < rawProfiles.size(); i++) {
Profile eachRawProfile = rawProfiles.get(i);
boolean shouldAdd = explicitProfiles.contains(eachRawProfile.getId()) || alwaysOnProfiles.contains(eachRawProfile.getId());
Activation activation = eachRawProfile.getActivation();
if (activation != null) {
if (activation.isActiveByDefault()) {
activeByDefault.add(eachRawProfile);
}
// expand only if necessary
if (expandedProfilesCache == null) expandedProfilesCache = doInterpolate(nativeModel, basedir).getProfiles();
Profile eachExpandedProfile = expandedProfilesCache.get(i);
for (ProfileActivator eachActivator : getProfileActivators(basedir)) {
try {
if (eachActivator.canDetermineActivation(eachExpandedProfile) && eachActivator.isActive(eachExpandedProfile)) {
shouldAdd = true;
break;
}
}
catch (ProfileActivationException e) {
Maven3ServerGlobals.getLogger().warn(e);
}
}
}
if (shouldAdd) {
if (MavenConstants.PROFILE_FROM_POM.equals(eachRawProfile.getSource())) {
activatedPom.add(eachRawProfile);
}
else {
activatedExternal.add(eachRawProfile);
}
}
}
List<Profile> activatedProfiles = new ArrayList<Profile>(activatedPom.isEmpty() ? activeByDefault : activatedPom);
activatedProfiles.addAll(activatedExternal);
for (Profile each : activatedProfiles) {
new DefaultProfileInjector().injectProfile(nativeModel, each, null, null);
}
return new ProfileApplicationResult(MavenModelConverter.convertModel(nativeModel, null),
collectProfilesIds(activatedProfiles));
}
项目:tools-idea
文件:Maven2ServerEmbedderImpl.java
public static ProfileApplicationResult applyProfiles(MavenModel model,
File basedir,
Collection<String> explicitProfiles,
Collection<String> alwaysOnProfiles) throws RemoteException {
Model nativeModel = Maven2ModelConverter.toNativeModel(model);
List<Profile> activatedPom = new ArrayList<Profile>();
List<Profile> activatedExternal = new ArrayList<Profile>();
List<Profile> activeByDefault = new ArrayList<Profile>();
List<Profile> rawProfiles = nativeModel.getProfiles();
List<Profile> expandedProfilesCache = null;
for (int i = 0; i < rawProfiles.size(); i++) {
Profile eachRawProfile = rawProfiles.get(i);
boolean shouldAdd = explicitProfiles.contains(eachRawProfile.getId()) || alwaysOnProfiles.contains(eachRawProfile.getId());
Activation activation = eachRawProfile.getActivation();
if (activation != null) {
if (activation.isActiveByDefault()) {
activeByDefault.add(eachRawProfile);
}
// expand only if necessary
if (expandedProfilesCache == null) expandedProfilesCache = doInterpolate(nativeModel, basedir).getProfiles();
Profile eachExpandedProfile = expandedProfilesCache.get(i);
for (ProfileActivator eachActivator : getProfileActivators(basedir)) {
try {
if (eachActivator.canDetermineActivation(eachExpandedProfile) && eachActivator.isActive(eachExpandedProfile)) {
shouldAdd = true;
break;
}
}
catch (ProfileActivationException e) {
Maven2ServerGlobals.getLogger().warn(e);
}
}
}
if (shouldAdd) {
if (MavenConstants.PROFILE_FROM_POM.equals(eachRawProfile.getSource())) {
activatedPom.add(eachRawProfile);
}
else {
activatedExternal.add(eachRawProfile);
}
}
}
List<Profile> activatedProfiles = new ArrayList<Profile>(activatedPom.isEmpty() ? activeByDefault : activatedPom);
activatedProfiles.addAll(activatedExternal);
for (Profile each : activatedProfiles) {
new DefaultProfileInjector().inject(each, nativeModel);
}
return new ProfileApplicationResult(Maven2ModelConverter.convertModel(nativeModel, null),
collectProfilesIds(activatedProfiles));
}
项目:oceano
文件:OperatingSystemProfileActivator.java
public boolean canDetermineActivation( Profile profile )
{
Activation activation = profile.getActivation();
return activation != null && activation.getOs() != null;
}
项目:oceano
文件:DefaultProfileManagerTest.java
public void testShouldNotActivateReversalOfPresentSystemProperty()
throws Exception
{
Profile syspropActivated = new Profile();
syspropActivated.setId( "syspropActivated" );
Activation syspropActivation = new Activation();
ActivationProperty syspropProperty = new ActivationProperty();
syspropProperty.setName( "!java.version" );
syspropActivation.setProperty( syspropProperty );
syspropActivated.setActivation( syspropActivation );
Properties props = System.getProperties();
ProfileManager profileManager = new DefaultProfileManager( getContainer(), props );
profileManager.addProfile( syspropActivated );
List active = profileManager.getActiveProfiles();
assertNotNull( active );
assertEquals( 0, active.size() );
}
项目:oceano
文件:ModelMerger.java
protected void mergeActivation( Activation target, Activation source, boolean sourceDominant,
Map<Object, Object> context )
{
// TODO
}
项目:oceano
文件:DefaultProfileSelector.java
private boolean isActiveByDefault( Profile profile )
{
Activation activation = profile.getActivation();
return activation != null && activation.isActiveByDefault();
}
项目:oceano
文件:DefaultProfileManagerTest.java
public void testShouldActivateDefaultProfile()
throws Exception
{
Profile notActivated = new Profile();
notActivated.setId( "notActivated" );
Activation nonActivation = new Activation();
nonActivation.setJdk( "19.2" );
notActivated.setActivation( nonActivation );
Profile defaultActivated = new Profile();
defaultActivated.setId( "defaultActivated" );
Activation defaultActivation = new Activation();
defaultActivation.setActiveByDefault( true );
defaultActivated.setActivation( defaultActivation );
Properties props = System.getProperties();
ProfileManager profileManager = new DefaultProfileManager( getContainer(), props );
profileManager.addProfile( notActivated );
profileManager.addProfile( defaultActivated );
List active = profileManager.getActiveProfiles();
assertNotNull( active );
assertEquals( 1, active.size() );
assertEquals( "defaultActivated", ( (Profile) active.get( 0 ) ).getId() );
}
项目:oceano
文件:DefaultProfileManagerTest.java
public void testShouldNotActivateDefaultProfile()
throws Exception
{
Profile syspropActivated = new Profile();
syspropActivated.setId( "syspropActivated" );
Activation syspropActivation = new Activation();
ActivationProperty syspropProperty = new ActivationProperty();
syspropProperty.setName( "java.version" );
syspropActivation.setProperty( syspropProperty );
syspropActivated.setActivation( syspropActivation );
Profile defaultActivated = new Profile();
defaultActivated.setId( "defaultActivated" );
Activation defaultActivation = new Activation();
defaultActivation.setActiveByDefault( true );
defaultActivated.setActivation( defaultActivation );
Properties props = System.getProperties();
ProfileManager profileManager = new DefaultProfileManager( getContainer(), props );
profileManager.addProfile( syspropActivated );
profileManager.addProfile( defaultActivated );
List active = profileManager.getActiveProfiles();
assertNotNull( active );
assertEquals( 1, active.size() );
assertEquals( "syspropActivated", ( (Profile) active.get( 0 ) ).getId() );
}
项目:oceano
文件:DefaultProfileManagerTest.java
public void testShouldOverrideAndActivateInactiveProfile()
throws Exception
{
Profile syspropActivated = new Profile();
syspropActivated.setId( "syspropActivated" );
Activation syspropActivation = new Activation();
ActivationProperty syspropProperty = new ActivationProperty();
syspropProperty.setName( "!java.version" );
syspropActivation.setProperty( syspropProperty );
syspropActivated.setActivation( syspropActivation );
Properties props = System.getProperties();
ProfileManager profileManager = new DefaultProfileManager( getContainer(), props );
profileManager.addProfile( syspropActivated );
profileManager.explicitlyActivate( "syspropActivated" );
List active = profileManager.getActiveProfiles();
assertNotNull( active );
assertEquals( 1, active.size() );
assertEquals( "syspropActivated", ( (Profile) active.get( 0 ) ).getId() );
}
项目:oceano
文件:DefaultProfileManagerTest.java
public void testShouldOverrideAndDeactivateActiveProfile()
throws Exception
{
Profile syspropActivated = new Profile();
syspropActivated.setId( "syspropActivated" );
Activation syspropActivation = new Activation();
ActivationProperty syspropProperty = new ActivationProperty();
syspropProperty.setName( "java.version" );
syspropActivation.setProperty( syspropProperty );
syspropActivated.setActivation( syspropActivation );
Properties props = System.getProperties();
ProfileManager profileManager = new DefaultProfileManager( getContainer(), props );
profileManager.addProfile( syspropActivated );
profileManager.explicitlyDeactivate( "syspropActivated" );
List active = profileManager.getActiveProfiles();
assertNotNull( active );
assertEquals( 0, active.size() );
}
项目:xmvn
文件:ModelVisitor.java
Activation replaceProfileActivation( Activation activation );
项目:xmvn
文件:ModelVisitor.java
void visitProfileActivation( Activation activation );