use of org.apache.maven.settings.building.SettingsSource 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.SettingsSource in project drools by kiegroup.
the class MavenEmbedder method getSettings.
public Settings getSettings() throws MavenEmbedderException, ComponentLookupException {
SettingsBuildingRequest settingsBuildingRequest = new DefaultSettingsBuildingRequest();
if (this.mavenRequest.getGlobalSettingsFile() != null) {
settingsBuildingRequest.setGlobalSettingsFile(new File(this.mavenRequest.getGlobalSettingsFile()));
} else {
settingsBuildingRequest.setGlobalSettingsFile(DEFAULT_GLOBAL_SETTINGS_FILE);
}
if (this.mavenRequest.getUserSettingsSource() != null) {
settingsBuildingRequest.setUserSettingsSource(this.mavenRequest.getUserSettingsSource());
} else {
SettingsSource userSettingsSource = MavenSettings.getUserSettingsSource();
if (userSettingsSource != null) {
settingsBuildingRequest.setUserSettingsSource(userSettingsSource);
}
}
settingsBuildingRequest.setUserProperties(this.mavenRequest.getUserProperties());
settingsBuildingRequest.getSystemProperties().putAll(System.getProperties());
settingsBuildingRequest.getSystemProperties().putAll(this.mavenRequest.getSystemProperties());
settingsBuildingRequest.getSystemProperties().putAll(getEnvVars());
try {
return componentProvider.lookup(SettingsBuilder.class).build(settingsBuildingRequest).getEffectiveSettings();
} catch (SettingsBuildingException e) {
throw new MavenEmbedderException(e.getMessage(), e);
}
}
Aggregations