Renamed Pom.profile() into Pom.getOrCreateProfile() and added a new method Pom.profile() to just get a profile.
diff --git a/src/main/groovy/m4e/Pom.groovy b/src/main/groovy/m4e/Pom.groovy
index 699b5b1..0b0bae0 100644
--- a/src/main/groovy/m4e/Pom.groovy
+++ b/src/main/groovy/m4e/Pom.groovy
@@ -208,18 +208,29 @@
}
Profile profile( String name ) {
- def profiles = PomUtils.getOrCreate( xml, 'profiles' )
+ def profiles = xml.getChild( 'profiles' )
+ if( ! profiles ) {
+ return null
+ }
+
def profile = profiles.getChildren( 'profile' ).find {
def id = it.getChild( 'id' )
return id.text == name
}
// println "name=${name} profile=${profile}"
+ return profile == null ? null : new Profile( xml: profile, pom: this )
+ }
+
+ Profile getOrCreateProfile( String name ) {
+ def profile = profile( name )
+
if( profile ) {
return new Profile( xml: profile, pom: this )
}
- return createNewProfile( profiles, name )
+ def profiles = PomUtils.getOrCreate( xml, 'profiles' )
+ return profile == null ? createNewProfile( profiles, name ) : profile
}
private Profile createNewProfile( Element profiles, String name ) {
diff --git a/src/main/groovy/m4e/patch/ProfileTool.groovy b/src/main/groovy/m4e/patch/ProfileTool.groovy
index b266081..b63be7c 100644
--- a/src/main/groovy/m4e/patch/ProfileTool.groovy
+++ b/src/main/groovy/m4e/patch/ProfileTool.groovy
@@ -38,10 +38,10 @@
}
void createProfiles() {
- defaultProfile = pom.profile( defaultProfileName )
+ defaultProfile = pom.getOrCreateProfile( defaultProfileName )
defaultProfile.activeByDefault( true )
- profile = pom.profile( profileName )
+ profile = pom.getOrCreateProfile( profileName )
}
Dependency createDependency( PatchDependency replacement ) {