Java源码示例:org.apache.maven.settings.building.SettingsBuildingResult
示例1
public static Settings loadMavenSettings()
throws SettingsBuildingException {
// http://stackoverflow.com/questions/27818659/loading-mavens-settings-xml-for-jcabi-aether-to-use
SettingsBuildingRequest settingsBuildingRequest =
new DefaultSettingsBuildingRequest();
settingsBuildingRequest.setSystemProperties(System.getProperties());
settingsBuildingRequest.setUserSettingsFile(new File(settingsXml));
settingsBuildingRequest.setGlobalSettingsFile(DEFAULT_GLOBAL_SETTINGS_FILE);
SettingsBuildingResult settingsBuildingResult;
DefaultSettingsBuilderFactory mvnSettingBuilderFactory =
new DefaultSettingsBuilderFactory();
DefaultSettingsBuilder settingsBuilder =
mvnSettingBuilderFactory.newInstance();
settingsBuildingResult = settingsBuilder.build(settingsBuildingRequest);
Settings effectiveSettings = settingsBuildingResult.getEffectiveSettings();
return effectiveSettings;
}
示例2
private Settings loadDefaultUserSettings() {
String userHome = System.getProperty("user.home");
File userMavenConfigurationHome = new File(userHome, ".m2");
String envM2Home = System.getenv("M2_HOME");
File DEFAULT_USER_SETTINGS_FILE = new File(userMavenConfigurationHome, "settings.xml");
File DEFAULT_GLOBAL_SETTINGS_FILE = new File(System.getProperty("maven.home", envM2Home != null ? envM2Home : ""), "conf/settings.xml");
SettingsBuildingRequest settingsBuildingRequest = new DefaultSettingsBuildingRequest();
settingsBuildingRequest.setSystemProperties(System.getProperties());
settingsBuildingRequest.setUserSettingsFile(DEFAULT_USER_SETTINGS_FILE);
settingsBuildingRequest.setGlobalSettingsFile(DEFAULT_GLOBAL_SETTINGS_FILE);
DefaultSettingsBuilderFactory mvnSettingBuilderFactory = new DefaultSettingsBuilderFactory();
DefaultSettingsBuilder settingsBuilder = mvnSettingBuilderFactory.newInstance();
try {
SettingsBuildingResult settingsBuildingResult = settingsBuilder.build(settingsBuildingRequest);
Settings settings = settingsBuildingResult.getEffectiveSettings();
return settings;
} catch (SettingsBuildingException e) {
e.printStackTrace();
}
return null;
}
示例3
/**
* Creates a settings instance for testing.
* @return a settings instance
* @throws SettingsBuildingException
*/
private Settings createSettings() throws SettingsBuildingException {
DefaultSettingsBuilderFactory settingsBuilderFactory = new DefaultSettingsBuilderFactory();
SettingsBuilder settingsBuilder = settingsBuilderFactory.newInstance();
DefaultSettingsBuildingRequest request = new DefaultSettingsBuildingRequest();
final File userSettingsFile = new File("src/test/resources/ConfigurationHelperTest/settings.xml");
request.setUserSettingsFile(userSettingsFile);
SettingsBuildingResult settingsBuildingResult = settingsBuilder.build(request);
return settingsBuildingResult.getEffectiveSettings();
}
示例4
private static Settings buildMavenSettings(Path settingsPath) throws ArtifactException {
SettingsBuildingRequest settingsBuildingRequest = new DefaultSettingsBuildingRequest();
settingsBuildingRequest.setSystemProperties(System.getProperties());
settingsBuildingRequest.setUserSettingsFile(settingsPath.toFile());
SettingsBuildingResult settingsBuildingResult;
DefaultSettingsBuilderFactory mvnSettingBuilderFactory = new DefaultSettingsBuilderFactory();
DefaultSettingsBuilder settingsBuilder = mvnSettingBuilderFactory.newInstance();
try {
settingsBuildingResult = settingsBuilder.build(settingsBuildingRequest);
} catch (SettingsBuildingException ex) {
throw new ArtifactException(ex.getLocalizedMessage());
}
return settingsBuildingResult.getEffectiveSettings();
}
示例5
/**
* maven仓库处理
*
* @return
* @throws Exception
*/
private static ArtifactRepository localRepository() throws Exception {
if (mavenHome == null) {
getMavenHome();
}
SettingsBuildingRequest request = new DefaultSettingsBuildingRequest();
request.setGlobalSettingsFile(new File(mavenHome, "/conf/settings.xml"));
DefaultSettingsBuilder builder = new DefaultSettingsBuilderFactory().newInstance();
SettingsBuildingResult ret = builder.build(request);
String path = ret.getEffectiveSettings().getLocalRepository();
path = path == null ? String.format("%s%s", System.getProperty("user.home"), "\\.m2\\repository") : path;
return FACTORY.createArtifactRepository("local", "file://" + path, (ArtifactRepositoryLayout) new DefaultRepositoryLayout(), null, null);
}
示例6
public Settings getEffectiveSettings() throws BootstrapMavenException {
if (settings != null) {
return settings;
}
final Settings effectiveSettings;
try {
final SettingsBuildingResult result = new DefaultSettingsBuilderFactory()
.newInstance().build(new DefaultSettingsBuildingRequest()
.setSystemProperties(System.getProperties())
.setUserSettingsFile(getUserSettings())
.setGlobalSettingsFile(getGlobalSettings()));
final List<SettingsProblem> problems = result.getProblems();
if (!problems.isEmpty()) {
for (SettingsProblem problem : problems) {
switch (problem.getSeverity()) {
case ERROR:
case FATAL:
throw new BootstrapMavenException("Settings problem encountered at " + problem.getLocation(),
problem.getException());
default:
log.warn("Settings problem encountered at " + problem.getLocation(), problem.getException());
}
}
}
effectiveSettings = result.getEffectiveSettings();
} catch (SettingsBuildingException e) {
throw new BootstrapMavenException("Failed to initialize Maven repository settings", e);
}
return settings = effectiveSettings;
}
示例7
public Settings getSettings()
{
try
{
SettingsBuilder settingsBuilder = new DefaultSettingsBuilderFactory().newInstance();
SettingsBuildingRequest settingsRequest = new DefaultSettingsBuildingRequest();
String userSettingsLocation = System.getProperty(ALT_USER_SETTINGS_XML_LOCATION);
// TeamCity sets the settings.xml in a different system property
String teamCitySettingsLocation = System.getProperty("teamcity.maven.userSettings.path");
if (userSettingsLocation != null)
{
settingsRequest.setUserSettingsFile(new File(userSettingsLocation));
}
else if (teamCitySettingsLocation != null)
{
settingsRequest.setUserSettingsFile(new File(teamCitySettingsLocation));
}
else
{
settingsRequest.setUserSettingsFile(new File(getUserHomeDir(), "/.m2/settings.xml"));
}
String globalSettingsLocation = System.getProperty(ALT_GLOBAL_SETTINGS_XML_LOCATION);
if (globalSettingsLocation != null)
{
settingsRequest.setGlobalSettingsFile(new File(globalSettingsLocation));
}
else
{
if (M2_HOME != null)
{
settingsRequest.setGlobalSettingsFile(new File(M2_HOME, "/conf/settings.xml"));
}
}
SettingsBuildingResult settingsBuildingResult = settingsBuilder.build(settingsRequest);
Settings effectiveSettings = settingsBuildingResult.getEffectiveSettings();
if (effectiveSettings.getLocalRepository() == null)
{
String userRepositoryLocation = System.getProperty(ALT_LOCAL_REPOSITORY_LOCATION);
if (userRepositoryLocation != null)
{
effectiveSettings.setLocalRepository(userRepositoryLocation);
}
else
{
effectiveSettings.setLocalRepository(getUserHomePath() + "/.m2/repository");
}
}
return effectiveSettings;
}
catch (SettingsBuildingException e)
{
throw new RuntimeException(e);
}
}