use of org.apache.maven.settings.building.FileSettingsSource in project drools by kiegroup.
the class MavenEmbedder method buildMavenExecutionRequest.
protected MavenExecutionRequest buildMavenExecutionRequest(MavenRequest mavenRequest) throws MavenEmbedderException, ComponentLookupException {
MavenExecutionRequest mavenExecutionRequest = new DefaultMavenExecutionRequest();
if (mavenRequest.getGlobalSettingsFile() != null) {
mavenExecutionRequest.setGlobalSettingsFile(new File(mavenRequest.getGlobalSettingsFile()));
}
SettingsSource userSettings = mavenRequest.getUserSettingsSource();
if (userSettings != null) {
if (userSettings instanceof FileSettingsSource) {
mavenExecutionRequest.setUserSettingsFile(((FileSettingsSource) userSettings).getSettingsFile());
} else {
try {
mavenExecutionRequest.setUserSettingsFile(copyInTempFile(userSettings.getInputStream(), "xml"));
} catch (IOException ioe) {
log.warn("Unable to use maven settings defined in " + userSettings, ioe);
}
}
}
try {
componentProvider.lookup(MavenExecutionRequestPopulator.class).populateFromSettings(mavenExecutionRequest, getSettings());
componentProvider.lookup(MavenExecutionRequestPopulator.class).populateDefaults(mavenExecutionRequest);
} catch (MavenExecutionRequestPopulationException e) {
throw new MavenEmbedderException(e.getMessage(), e);
}
ArtifactRepository localRepository = getLocalRepository();
mavenExecutionRequest.setLocalRepository(localRepository);
mavenExecutionRequest.setLocalRepositoryPath(localRepository.getBasedir());
mavenExecutionRequest.setOffline(mavenRequest.isOffline());
mavenExecutionRequest.setUpdateSnapshots(mavenRequest.isUpdateSnapshots());
// TODO check null and create a console one ?
mavenExecutionRequest.setTransferListener(mavenRequest.getTransferListener());
mavenExecutionRequest.setCacheNotFound(mavenRequest.isCacheNotFound());
mavenExecutionRequest.setCacheTransferError(true);
mavenExecutionRequest.setUserProperties(mavenRequest.getUserProperties());
mavenExecutionRequest.getSystemProperties().putAll(System.getProperties());
if (mavenRequest.getSystemProperties() != null) {
mavenExecutionRequest.getSystemProperties().putAll(mavenRequest.getSystemProperties());
}
mavenExecutionRequest.getSystemProperties().putAll(getEnvVars());
if (mavenRequest.getProfiles() != null && !mavenRequest.getProfiles().isEmpty()) {
for (String id : mavenRequest.getProfiles()) {
Profile p = new Profile();
p.setId(id);
p.setSource("cli");
mavenExecutionRequest.addProfile(p);
mavenExecutionRequest.addActiveProfile(id);
}
}
MavenRepositoryConfiguration mavenRepoConf = getMavenRepositoryConfiguration();
// DROOLS-899: Copy repositories defined in settings to execution request
for (ArtifactRepository artifactRepository : mavenRepoConf.getArtifactRepositoriesForRequest()) {
mavenExecutionRequest.addRemoteRepository(artifactRepository);
}
mavenExecutionRequest.setProxies(mavenRepoConf.getProxies());
mavenExecutionRequest.setLoggingLevel(mavenRequest.getLoggingLevel());
componentProvider.lookup(Logger.class).setThreshold(mavenRequest.getLoggingLevel());
mavenExecutionRequest.setExecutionListener(mavenRequest.getExecutionListener()).setInteractiveMode(mavenRequest.isInteractive()).setGlobalChecksumPolicy(mavenRequest.getGlobalChecksumPolicy()).setGoals(mavenRequest.getGoals());
if (mavenRequest.getPom() != null) {
mavenExecutionRequest.setPom(new File(mavenRequest.getPom()));
}
if (mavenRequest.getWorkspaceReader() != null) {
mavenExecutionRequest.setWorkspaceReader(mavenRequest.getWorkspaceReader());
}
if (mavenRequest.getBaseDirectory() != null) {
mavenExecutionRequest.setBaseDirectory(new File(mavenRequest.getBaseDirectory()));
}
return mavenExecutionRequest;
}
use of org.apache.maven.settings.building.FileSettingsSource in project drools by kiegroup.
the class MavenSettings method initUserSettingsSource.
private static SettingsSource initUserSettingsSource() {
String customSettings = System.getProperty(CUSTOM_SETTINGS_PROPERTY);
if (customSettings != null) {
File customSettingsFile = new File(customSettings);
if (customSettingsFile.exists()) {
return new FileSettingsSource(customSettingsFile);
} else {
try {
return new UrlSettingsSource(new URL(customSettings));
} catch (MalformedURLException e) {
// Ignore
}
log.warn("Cannot find custom maven settings: " + customSettings);
}
}
String userHome = System.getProperty("user.home");
if (userHome != null) {
File userSettingsFile = new File(userHome + "/.m2/settings.xml");
if (userSettingsFile.exists()) {
return new FileSettingsSource(userSettingsFile);
}
} else {
log.warn("User home is not set");
}
return null;
}
Aggregations