Merge pull request #772 from imod/default-maven-settings

FIXES JENKINS-17723 - Default maven settings
Good change !
This commit is contained in:
Olivier Lamy committed 2013-05-05 18:29:21 -07:00
commit 70f457d90e
7 files changed
+155 -16

No files matched your search

+27 -9
View File
@@ -38,8 +38,7 @@ import hudson.model.Computer;
import hudson.model.EnvironmentSpecific;
import hudson.model.Node;
import jenkins.model.Jenkins;
import jenkins.mvn.DefaultGlobalSettingsProvider;
import jenkins.mvn.DefaultSettingsProvider;
import jenkins.mvn.GlobalMavenConfig;
import jenkins.mvn.GlobalSettingsProvider;
import jenkins.mvn.SettingsProvider;
import hudson.model.TaskListener;
@@ -129,13 +128,13 @@ public class Maven extends Builder {
* Provides access to the settings.xml to be used for a build.
* @since 1.491
*/
private SettingsProvider settings = new DefaultSettingsProvider();
private SettingsProvider settings;
/**
* Provides access to the global settings.xml to be used for a build.
* @since 1.491
*/
private GlobalSettingsProvider globalSettings = new DefaultGlobalSettingsProvider();
private GlobalSettingsProvider globalSettings;
private final static String MAVEN_1_INSTALLATION_COMMON_FILE = "bin/maven";
private final static String MAVEN_2_INSTALLATION_COMMON_FILE = "bin/mvn";
@@ -163,8 +162,8 @@ public class Maven extends Builder {
this.properties = Util.fixEmptyAndTrim(properties);
this.jvmOptions = Util.fixEmptyAndTrim(jvmOptions);
this.usePrivateRepository = usePrivateRepository;
this.settings = settings != null ? settings : new DefaultSettingsProvider();
this.globalSettings = globalSettings != null ? globalSettings : new DefaultGlobalSettingsProvider();
this.settings = settings != null ? settings : GlobalMavenConfig.get().getSettingsProvider();
this.globalSettings = globalSettings != null ? globalSettings : GlobalMavenConfig.get().getGlobalSettingsProvider();
}
public String getTargets() {
@@ -175,14 +174,22 @@ public class Maven extends Builder {
* @since 1.491
*/
public SettingsProvider getSettings() {
return settings != null ? settings : new DefaultSettingsProvider();
return settings != null ? settings : GlobalMavenConfig.get().getSettingsProvider();
}
protected void setSettings(SettingsProvider settings) {
this.settings = settings;
}
/**
* @since 1.491
*/
public GlobalSettingsProvider getGlobalSettings() {
return globalSettings != null ? globalSettings : new DefaultGlobalSettingsProvider();
return globalSettings != null ? globalSettings : GlobalMavenConfig.get().getGlobalSettingsProvider();
}
protected void setGlobalSettings(GlobalSettingsProvider globalSettings) {
this.globalSettings = globalSettings;
}
public void setUsePrivateRepository(boolean usePrivateRepository) {
@@ -398,6 +405,14 @@ public class Maven extends Builder {
public String getDisplayName() {
return Messages.Maven_DisplayName();
}
public GlobalSettingsProvider getDefaultGlobalSettingsProvider() {
return GlobalMavenConfig.get().getGlobalSettingsProvider();
}
public SettingsProvider getDefaultSettingsProvider() {
return GlobalMavenConfig.get().getSettingsProvider();
}
public MavenInstallation[] getInstallations() {
return installations;
@@ -420,7 +435,10 @@ public class Maven extends Builder {
@Override
public Builder newInstance(StaplerRequest req, JSONObject formData) throws FormException {
return req.bindJSON(Maven.class,formData);
Maven m = req.bindJSON(Maven.class,formData);
m.setSettings(GlobalMavenConfig.get().getSettingsProvider());
m.setGlobalSettings(GlobalMavenConfig.get().getGlobalSettingsProvider());
return m;
}
}
@@ -0,0 +1,47 @@
package jenkins.mvn;
import hudson.Extension;
import jenkins.model.GlobalConfiguration;
import net.sf.json.JSONObject;
import org.kohsuke.stapler.StaplerRequest;
//as close as it gets to the global Maven Project configuration
@Extension(ordinal = 50)
public class GlobalMavenConfig extends GlobalConfiguration {
private SettingsProvider settingsProvider;
private GlobalSettingsProvider globalSettingsProvider;
public GlobalMavenConfig() {
load();
}
@Override
public boolean configure(StaplerRequest req, JSONObject json) throws FormException {
req.bindJSON(this, json);
return true;
}
public void setGlobalSettingsProvider(GlobalSettingsProvider globalSettingsProvider) {
this.globalSettingsProvider = globalSettingsProvider;
save();
}
public void setSettingsProvider(SettingsProvider settingsProvider) {
this.settingsProvider = settingsProvider;
save();
}
public GlobalSettingsProvider getGlobalSettingsProvider() {
return globalSettingsProvider != null ? globalSettingsProvider : new DefaultGlobalSettingsProvider();
}
public SettingsProvider getSettingsProvider() {
return settingsProvider != null ? settingsProvider : new DefaultSettingsProvider();
}
public static GlobalMavenConfig get() {
return GlobalConfiguration.all().get(GlobalMavenConfig.class);
}
}