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()); }
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 ); } }
private void writeActivationProperty(ActivationProperty activationProperty, String tagName, XmlSerializer serializer) throws java.io.IOException { serializer.startTag(NAMESPACE, tagName); flush(serializer); StringBuffer b = b(serializer); int start = b.length(); if (activationProperty.getName() != null) { writeValue(serializer, "name", activationProperty.getName(), activationProperty); } if (activationProperty.getValue() != null) { writeValue(serializer, "value", activationProperty.getValue(), activationProperty); } serializer.endTag(NAMESPACE, tagName).flush(); logLocation(activationProperty, "", start, b.length()); }
/** * Method updateActivationProperty * * @param value * @param element * @param counter * @param xmlTag */ protected void updateActivationProperty( ActivationProperty value, String xmlTag, Counter counter, Element element ) { boolean shouldExist = value != null; Element root = updateElement( counter, element, xmlTag, shouldExist ); if ( shouldExist ) { Counter innerCount = new Counter( counter.getDepth() + 1 ); findAndReplaceSimpleElement( innerCount, root, "name", value.getName(), null ); findAndReplaceSimpleElement( innerCount, root, "value", value.getValue(), null ); } }
private org.apache.maven.model.Activation createModelActivation( Activation activation) { org.apache.maven.model.Activation modelActivation = new org.apache.maven.model.Activation(); modelActivation.setActiveByDefault(activation.isActiveByDefault()); if (activation.getFile() != null) { ActivationFile activationFile = new ActivationFile(); activationFile.setExists(activation.getFile().getExists()); activationFile.setMissing(activation.getFile().getMissing()); modelActivation.setFile(activationFile); } modelActivation.setJdk(activation.getJdk()); if (activation.getOs() != null) { ActivationOS os = new ActivationOS(); os.setArch(activation.getOs().getArch()); os.setFamily(activation.getOs().getFamily()); os.setName(activation.getOs().getName()); os.setVersion(activation.getOs().getVersion()); modelActivation.setOs(os); } if (activation.getProperty() != null) { ActivationProperty property = new ActivationProperty(); property.setName(activation.getProperty().getName()); property.setValue(activation.getProperty().getValue()); modelActivation.setProperty(property); } return modelActivation; }
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; }
private static ActivationProperty convertToMavenActivationProperty( MavenActivationProperty property) { if (property != null) { ActivationProperty result = new ActivationProperty(); result.setName(property.getName()); result.setValue(property.getValue()); return result; } return null; }
/** * 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 ); }
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; }
@Override public ActivationProperty replaceProfileActivationProperty( ActivationProperty property ) { return property; }
@Override public void visitProfileActivationProperty( ActivationProperty property ) { }
private static MavenActivationProperty convertPropertyActivation(ActivationProperty property) { if (property == null) { return null; } return new MavenActivationProperty(property.getName(), property.getValue()); }
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() ); }
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() ); }
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() ); }
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() ); }
ActivationProperty replaceProfileActivationProperty( ActivationProperty property );
void visitProfileActivationProperty( ActivationProperty property );