Search in sources :

Example 1 with FileSettingsSource

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;
}
Also used : FileSettingsSource(org.apache.maven.settings.building.FileSettingsSource) SettingsSource(org.apache.maven.settings.building.SettingsSource) MavenExecutionRequestPopulationException(org.apache.maven.execution.MavenExecutionRequestPopulationException) MavenExecutionRequest(org.apache.maven.execution.MavenExecutionRequest) DefaultMavenExecutionRequest(org.apache.maven.execution.DefaultMavenExecutionRequest) DefaultMavenExecutionRequest(org.apache.maven.execution.DefaultMavenExecutionRequest) ArtifactRepository(org.apache.maven.artifact.repository.ArtifactRepository) IOException(java.io.IOException) MavenRepositoryConfiguration(org.kie.maven.integration.MavenRepositoryConfiguration) Logger(org.codehaus.plexus.logging.Logger) Profile(org.apache.maven.model.Profile) FileSettingsSource(org.apache.maven.settings.building.FileSettingsSource) File(java.io.File) IoUtils.copyInTempFile(org.kie.maven.integration.IoUtils.copyInTempFile) MavenExecutionRequestPopulator(org.apache.maven.execution.MavenExecutionRequestPopulator)

Example 2 with FileSettingsSource

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;
}
Also used : MalformedURLException(java.net.MalformedURLException) UrlSettingsSource(org.apache.maven.settings.building.UrlSettingsSource) FileSettingsSource(org.apache.maven.settings.building.FileSettingsSource) File(java.io.File) URL(java.net.URL)

Aggregations

File (java.io.File)2 FileSettingsSource (org.apache.maven.settings.building.FileSettingsSource)2 IOException (java.io.IOException)1 MalformedURLException (java.net.MalformedURLException)1 URL (java.net.URL)1 ArtifactRepository (org.apache.maven.artifact.repository.ArtifactRepository)1 DefaultMavenExecutionRequest (org.apache.maven.execution.DefaultMavenExecutionRequest)1 MavenExecutionRequest (org.apache.maven.execution.MavenExecutionRequest)1 MavenExecutionRequestPopulationException (org.apache.maven.execution.MavenExecutionRequestPopulationException)1 MavenExecutionRequestPopulator (org.apache.maven.execution.MavenExecutionRequestPopulator)1 Profile (org.apache.maven.model.Profile)1 SettingsSource (org.apache.maven.settings.building.SettingsSource)1 UrlSettingsSource (org.apache.maven.settings.building.UrlSettingsSource)1 Logger (org.codehaus.plexus.logging.Logger)1 IoUtils.copyInTempFile (org.kie.maven.integration.IoUtils.copyInTempFile)1 MavenRepositoryConfiguration (org.kie.maven.integration.MavenRepositoryConfiguration)1