Skip to content

Commit

Permalink
[FIXED JENKINS-13926]
Browse files Browse the repository at this point in the history
Change for skip saving job maven opts, when this is the same as the global maven opts.
Now the global maven opts can't be saved accidentaly as job maven opts.
  • Loading branch information
mrebasti authored and olivergondza committed Dec 31, 2013
1 parent 773c247 commit 1390c4c
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 5 deletions.
21 changes: 16 additions & 5 deletions src/main/java/hudson/maven/MavenModuleSet.java
Expand Up @@ -1041,24 +1041,35 @@ public boolean isNonRecursive() {
*/
public String getMavenOpts() {
if ((mavenOpts!=null) && (mavenOpts.trim().length()>0)) {
return mavenOpts.replaceAll("[\t\r\n]+"," ");
return getFormattedMavenOpts(mavenOpts);
}
else {
String globalOpts = getDescriptor().getGlobalMavenOpts();
if (globalOpts!=null) {
return globalOpts.replaceAll("[\t\r\n]+"," ");
return getFormattedMavenOpts(globalOpts);
}
else {
return globalOpts;
}
}
}

private String getFormattedMavenOpts(String mavenOpts) {
return mavenOpts == null? null: mavenOpts.replaceAll("[\t\r\n]+"," ");
}

/**
* Set mavenOpts.
* Set mavenOpts. If the new mavenOpts are equals to the global mavenOpts,
* job mavenOpts are set to null.
*/
public void setMavenOpts(String mavenOpts) {
this.mavenOpts = mavenOpts;
String globalMavenOpts = getFormattedMavenOpts(getDescriptor().getGlobalMavenOpts());

if (mavenOpts != null && !getFormattedMavenOpts(mavenOpts).equals(globalMavenOpts)) {
this.mavenOpts = mavenOpts;
} else {
this.mavenOpts = null;
}
}

/**
Expand Down Expand Up @@ -1144,7 +1155,7 @@ protected void submit(StaplerRequest req, StaplerResponse rsp) throws IOExceptio
if(rootPOM!=null && rootPOM.equals("pom.xml")) rootPOM=null; // normalization

goals = Util.fixEmpty(req.getParameter("goals").trim());
mavenOpts = Util.fixEmpty(req.getParameter("mavenOpts").trim());
setMavenOpts(Util.fixEmpty(req.getParameter("mavenOpts").trim()));
settings = SettingsProvider.parseSettingsProvider(req);
globalSettings = GlobalSettingsProvider.parseSettingsProvider(req);

Expand Down
31 changes: 31 additions & 0 deletions src/test/java/hudson/maven/MavenOptsTest.java
Expand Up @@ -122,6 +122,37 @@ public void testEnvironmentVariableExpansion() throws Exception {

assertLogContains("[hudson.mavenOpt.test=foo]", m.getLastBuild());
}

@Bug(13926)
public void testMustnt_store_global_maven_opts_in_job_maven_opts() throws Exception {
final String firstGlobalMavenOpts = "first maven opts";
final String secondGlobalMavenOpts = "second maven opts";
final String jobMavenOpts = "job maven opts";

configureDefaultMaven();
MavenModuleSet m = createMavenProject();

assertNull(m.getMavenOpts());

d.setGlobalMavenOpts(firstGlobalMavenOpts);
assertEquals(firstGlobalMavenOpts, m.getMavenOpts());

m.setMavenOpts(firstGlobalMavenOpts);
assertEquals(firstGlobalMavenOpts, m.getMavenOpts());

d.setGlobalMavenOpts(secondGlobalMavenOpts);
assertEquals(secondGlobalMavenOpts, m.getMavenOpts());

m.setMavenOpts(jobMavenOpts);
assertEquals(jobMavenOpts, m.getMavenOpts());

d.setGlobalMavenOpts(firstGlobalMavenOpts);
m.setMavenOpts(firstGlobalMavenOpts);
assertEquals(firstGlobalMavenOpts, m.getMavenOpts());

d.setGlobalMavenOpts(secondGlobalMavenOpts);
assertEquals(secondGlobalMavenOpts, m.getMavenOpts());
}

}

0 comments on commit 1390c4c

Please sign in to comment.