Java Code Examples for org.apache.maven.shared.invoker.InvocationRequest#setProperties()

The following examples show how to use org.apache.maven.shared.invoker.InvocationRequest#setProperties() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: CreateProjectMojoIT.java    From quarkus with Apache License 2.0 6 votes vote down vote up
private InvocationResult setup(Properties params)
        throws MavenInvocationException, FileNotFoundException, UnsupportedEncodingException {

    params.setProperty("platformGroupId", ToolsConstants.IO_QUARKUS);
    params.setProperty("platformArtifactId", "quarkus-bom");
    params.setProperty("platformVersion", getPluginVersion());

    InvocationRequest request = new DefaultInvocationRequest();
    request.setBatchMode(true);
    request.setGoals(Collections.singletonList(
            getPluginGroupId() + ":" + getPluginArtifactId() + ":" + getPluginVersion() + ":create"));
    request.setDebug(false);
    request.setShowErrors(false);
    request.setProperties(params);
    getEnv().forEach(request::addShellEnvironment);
    File log = new File(testDir, "build-create-" + testDir.getName() + ".log");
    PrintStreamLogger logger = new PrintStreamLogger(new PrintStream(new FileOutputStream(log), false, "UTF-8"),
            InvokerLogger.DEBUG);
    invoker.setLogger(logger);
    return invoker.execute(request);
}
 
Example 2
Source File: GenerateConfigIT.java    From quarkus with Apache License 2.0 6 votes vote down vote up
private void generateConfig(String filename)
        throws MavenInvocationException, FileNotFoundException, UnsupportedEncodingException {
    InvocationRequest request = new DefaultInvocationRequest();
    request.setBatchMode(true);
    request.setGoals(Collections
            .singletonList(getPluginGroupId() + ":" + getPluginArtifactId() + ":"
                    + getPluginVersion() + ":generate-config"));
    Properties properties = new Properties();
    properties.setProperty("file", filename);
    request.setProperties(properties);
    getEnv().forEach(request::addShellEnvironment);
    File log = new File(testDir, "build-generate-config-" + testDir.getName() + ".log");
    PrintStreamLogger logger = new PrintStreamLogger(new PrintStream(new FileOutputStream(log), false, "UTF-8"),
            InvokerLogger.DEBUG);
    invoker.setLogger(logger);
    invoker.execute(request);
}
 
Example 3
Source File: AddExtensionIT.java    From quarkus with Apache License 2.0 6 votes vote down vote up
private void addExtension(boolean plural, String ext)
        throws MavenInvocationException, FileNotFoundException, UnsupportedEncodingException {
    InvocationRequest request = new DefaultInvocationRequest();
    request.setBatchMode(true);
    request.setGoals(Collections.singletonList(
            getPluginGroupId() + ":" + getPluginArtifactId() + ":" + getPluginVersion() + ":add-extension"));
    Properties properties = new Properties();
    properties.setProperty("platformGroupId", "io.quarkus");
    properties.setProperty("platformArtifactId", "quarkus-bom");
    properties.setProperty("platformVersion", getPluginVersion());
    if (plural) {
        properties.setProperty("extensions", ext);
    } else {
        properties.setProperty("extension", ext);
    }
    request.setProperties(properties);
    getEnv().forEach(request::addShellEnvironment);
    File log = new File(testDir, "build-add-extension-" + testDir.getName() + ".log");
    PrintStreamLogger logger = new PrintStreamLogger(new PrintStream(new FileOutputStream(log), false, "UTF-8"),
            InvokerLogger.DEBUG);
    invoker.setLogger(logger);
    invoker.execute(request);
}
 
Example 4
Source File: ProjectGenerator.java    From fabric8-forge with Apache License 2.0 6 votes vote down vote up
public File getArtifactJar(String groupId, String artifactId, String version) {
    Properties properties = new Properties();
    properties.put("groupId", groupId);
    properties.put("artifactId", artifactId);
    properties.put("version", version);

    InvocationRequest request = new DefaultInvocationRequest();
    request.setLocalRepositoryDirectory(localMavenRepo);
    request.setInteractive(false);
    List<String> goalList = Arrays.asList("org.apache.maven.plugins:maven-dependency-plugin:2.10:get");
    request.setGoals(goalList);
    request.setProperties(properties);

    try {
        Invoker invoker = new DefaultInvoker();
        InvocationResult result = invoker.execute(request);
        int exitCode = result.getExitCode();
        LOG.info("maven result " + exitCode + " exception: " + result.getExecutionException());
        assertEquals("Failed to invoke maven goals: " + goalList + " with properties: " + properties + ". Exit Code: ", 0, exitCode);
    } catch (MavenInvocationException e) {
        fail("Failed to invoke maven goals: " + goalList + " with properties: " + properties + ". Exception " + e, e);
    }
    String path = groupId.replace('.', '/') + "/" + artifactId + "/" + version + "/" + artifactId + "-" + version + ".jar";
    return new File(localMavenRepo, path);
}
 
Example 5
Source File: AbstractSundrioMojo.java    From sundrio with Apache License 2.0 6 votes vote down vote up
void backGroundBuild(MavenProject project) throws MojoExecutionException {
    MavenExecutionRequest executionRequest = session.getRequest();

    InvocationRequest request = new DefaultInvocationRequest();
    request.setBaseDirectory(project.getBasedir());
    request.setPomFile(project.getFile());
    request.setGoals(executionRequest.getGoals());
    request.setRecursive(false);
    request.setInteractive(false);

    request.setProfiles(executionRequest.getActiveProfiles());
    request.setProperties(executionRequest.getUserProperties());
    Invoker invoker = new DefaultInvoker();
    try {
        InvocationResult result = invoker.execute(request);
        if (result.getExitCode() != 0) {
            throw new IllegalStateException("Error invoking Maven goals:[" + StringUtils.join(executionRequest.getGoals(), ", ") + "]", result.getExecutionException());
        }
    } catch (MavenInvocationException e) {
        throw new IllegalStateException("Error invoking Maven goals:[" + StringUtils.join(executionRequest.getGoals(), ", ") + "]", e);
    }
}
 
Example 6
Source File: MavenRun.java    From edx-app-android with Apache License 2.0 6 votes vote down vote up
public static void main(String[] args) throws IOException {
	InvocationRequest request = new DefaultInvocationRequest();
	request.setPomFile(new File("pom.xml"));
	if (args.length > 0) {
		if (args[0] != null && args[1] != null) {
			Properties projectProperties = new Properties();
			projectProperties.setProperty("deviceOS", args[0]);
			projectProperties.setProperty("appPath", args[1]);
			projectProperties.setProperty("osVersion", args[2]);
			projectProperties.setProperty("deviceName", args[3]);
			projectProperties.setProperty("udid", args[4]);
			request.setProperties(projectProperties);
		}
	}

	request.setGoals(Collections.singletonList("test"));
	Invoker invoker = new DefaultInvoker();
	invoker.setMavenHome(new File(System.getenv("M2_HOME")));
	try {
		invoker.execute(request);
	} catch (MavenInvocationException e) {
		e.printStackTrace();
	}
}
 
Example 7
Source File: CreateMojo.java    From opoopress with Apache License 2.0 6 votes vote down vote up
private void invokePostArchetypeGenerationGoals(String goals, String artifactId, Properties properties)
        throws MojoExecutionException, MojoFailureException {
    getLog().info("Invoking post-archetype-generation goals: " + goals);

    File projectBasedir = new File(basedir, artifactId);

    if (projectBasedir.exists()) {
        InvocationRequest request = new DefaultInvocationRequest()
                .setBaseDirectory(projectBasedir)
                .setGoals(Arrays.asList(StringUtils.split(goals, ",")));

        if(properties != null){
            request.setProperties(properties);
        }

        try {
            invoker.execute(request);
        } catch (MavenInvocationException e) {
            throw new MojoExecutionException("Cannot run additions goals.", e);
        }
    } else {
        getLog().info("Additional goals aborted: unavailable basedir " + projectBasedir);
    }
}
 
Example 8
Source File: RunnableMavenInvoker.java    From repairnator with MIT License 5 votes vote down vote up
@Override
public void run() {
    InvocationRequest request = new DefaultInvocationRequest();
    request.setPomFile(new File(this.mavenHelper.getPomFile()));
    request.setGoals(Arrays.asList(this.mavenHelper.getGoal()));
    Properties props = this.mavenHelper.getProperties();
    if (System.getenv("M2_HOME") == null) {
        // sensible value
        // https://stackoverflow.com/questions/14793015/programmatically-launch-m2e-maven-command
        String mavenHome = RepairnatorConfig.getInstance().getMavenHome();
        System.out.println("M2_HOME not found, using provided input value instead - " + mavenHome);
        System.setProperty("maven.home", mavenHome);
    } else if ( System.getProperty("maven.home") == null ) {
        System.setProperty("maven.home", System.getenv("M2_HOME"));
    }
    request.setProperties(props);
    request.setBatchMode(true);
    request.setShowErrors(true);

    Invoker invoker = new DefaultInvoker();

    if (this.mavenHelper.getErrorHandler() != null) {
        invoker.setErrorHandler(this.mavenHelper.getErrorHandler());
    }
    invoker.setOutputHandler(this.mavenHelper.getOutputHandler());

    try {
        InvocationResult result = invoker.execute(request);
        this.exitCode = result.getExitCode();
    } catch (MavenInvocationException e) {
        this.logger.error("Error while executing goal " + this.mavenHelper.getGoal()
                + " on the following pom file: " + this.mavenHelper.getPomFile()
                + ". Properties: " + this.mavenHelper.getProperties());
        this.logger.error(e.getMessage());
        this.mavenHelper.getInspector().getJobStatus().addStepError(this.mavenHelper.getName(), e.getMessage());
        this.exitCode = MavenHelper.MAVEN_ERROR;
    }
}
 
Example 9
Source File: MavenDependencyScanner.java    From sonarqube-licensecheck with Apache License 2.0 5 votes vote down vote up
private static Stream<Dependency> readDependencyList(File moduleDir, MavenSettings settings)
{
    Path tempFile = createTempFile();
    if (tempFile == null)
    {
        return Stream.empty();
    }

    InvocationRequest request = new DefaultInvocationRequest();
    request.setRecursive(false);
    request.setPomFile(new File(moduleDir, "pom.xml"));
    request.setGoals(Collections.singletonList("dependency:list"));
    if (settings.userSettings != null)
    {
        request.setUserSettingsFile(new File(settings.userSettings));
        LOGGER.info("Using user settings {}", settings.userSettings);
    }
    if (settings.globalSettings != null)
    {
        request.setGlobalSettingsFile(new File(settings.globalSettings));
        LOGGER.info("Using global settings {}", settings.globalSettings);
    }
    Properties properties = new Properties();
    properties.setProperty("outputFile", tempFile.toAbsolutePath().toString());
    properties.setProperty("outputAbsoluteArtifactFilename", "true");
    properties.setProperty("includeScope", "runtime"); // only runtime (scope compile + runtime)
    if (System.getProperty(MAVEN_REPO_LOCAL) != null)
    {
        properties.setProperty(MAVEN_REPO_LOCAL, System.getProperty(MAVEN_REPO_LOCAL));
    }
    request.setProperties(properties);

    return invokeMaven(request, tempFile);
}
 
Example 10
Source File: AbstractSchemaGeneratorMojoTest.java    From jpa-schema-maven-plugin with Apache License 2.0 5 votes vote down vote up
protected void compileJpaModelSources(File pomfile) throws MavenInvocationException {
    Properties properties = new Properties();
    properties.setProperty("plugin.version", System.getProperty("plugin.version"));

    InvocationRequest request = new DefaultInvocationRequest();
    request.setPomFile(pomfile);
    request.setGoals(Collections.singletonList("compile"));
    request.setProperties(properties);

    Invoker invoker = new DefaultInvoker();
    invoker.execute(request);
}
 
Example 11
Source File: IntegrationTestMojo.java    From helidon-build-tools with Apache License 2.0 4 votes vote down vote up
private void invokePostArchetypeGenerationGoals(List<String> goals, File basedir)
        throws IOException, MojoExecutionException {

    FileLogger logger = setupLogger(basedir);

    if (!goals.isEmpty()) {
        getLog().info("Invoking post-archetype-generation goals: " + goals);
        InvocationRequest request = new DefaultInvocationRequest()
                .setBaseDirectory(basedir)
                .setGoals(goals)
                .setBatchMode(true)
                .setShowErrors(true)
                .setDebug(debug)
                .setShowVersion(showVersion);

        if (logger != null) {
            request.setErrorHandler(logger);
            request.setOutputHandler(logger);
        }

        if (!properties.isEmpty()) {
            Properties props = new Properties();
            for (Map.Entry<String, String> entry : properties.entrySet()) {
                if (entry.getValue() != null) {
                    props.setProperty(entry.getKey(), entry.getValue());
                }
            }
            request.setProperties(props);
        }

        try {
            InvocationResult result = invoker.execute(request);
            getLog().info("Post-archetype-generation invoker exit code: " + result.getExitCode());
            if (result.getExitCode() != 0) {
                throw new MojoExecutionException("Execution failure: exit code = " + result.getExitCode(),
                        result.getExecutionException());
            }
        } catch (MavenInvocationException ex) {
            throw new MojoExecutionException(ex.getMessage(), ex);
        }
    } else {
        getLog().info("No post-archetype-generation goals to invoke.");
    }
}
 
Example 12
Source File: BuildProject.java    From unleash-maven-plugin with Eclipse Public License 1.0 4 votes vote down vote up
private InvocationRequest setupInvocationRequest() throws MojoExecutionException {
  InvocationRequest request = new DefaultInvocationRequest();
  request.setPomFile(this.project.getFile());
  // installation and deployment are performed in a later step. We first need to ensure that there are no changes in
  // the scm, ...
  request.setGoals(this.goals);

  if (this.releaseArgs.containsKey("-X") || this.releaseArgs.containsKey("--debug")) {
    this.releaseArgs.remove("-X");
    this.releaseArgs.remove("--debug");
    request.setDebug(true);
  }

  if (this.releaseArgs.containsKey("-e") || this.releaseArgs.containsKey("--errors")) {
    this.releaseArgs.remove("-e");
    this.releaseArgs.remove("--errors");
    request.setShowErrors(true);
  }

  request.setProperties(this.releaseArgs);
  request.setProfiles(this.profiles);
  request.setShellEnvironmentInherited(true);
  for (String key : this.releaseEnvironmentVariables.keySet()) {
    request.addShellEnvironment(key, this.releaseEnvironmentVariables.get(key));
  }
  request.addShellEnvironment("isUnleashBuild", "true");
  request.setOffline(this.settings.isOffline());
  request.setInteractive(this.settings.isInteractiveMode());

  MavenExecutionRequest originalRequest = this.session.getRequest();
  File globalSettingsFile = originalRequest.getGlobalSettingsFile();
  if (globalSettingsFile != null && globalSettingsFile.exists() && globalSettingsFile.isFile()) {
    request.setGlobalSettingsFile(globalSettingsFile);
  }
  File userSettingsFile = originalRequest.getUserSettingsFile();
  if (userSettingsFile != null && userSettingsFile.exists() && userSettingsFile.isFile()) {
    request.setUserSettingsFile(userSettingsFile);
  }
  File toolchainsFile = originalRequest.getUserToolchainsFile();
  if (toolchainsFile.exists() && toolchainsFile.isFile()) {
    request.setToolchainsFile(toolchainsFile);
  }
  return request;
}
 
Example 13
Source File: AbstractInvokerMojo.java    From iterator-maven-plugin with Apache License 2.0 4 votes vote down vote up
protected InvocationRequest createAndConfigureAnInvocationRequest( ItemWithProperties currentValue )
    {
        InvocationRequest request = new DefaultInvocationRequest();

        request.setAlsoMake( isAlsoMake() );
        request.setAlsoMakeDependents( isAlsoMakeDependents() );
        request.setDebug( isDebug() );
        request.setFailureBehavior( getFailureBehaviour() );
        request.setGlobalChecksumPolicy( getGlobalChecksumPolicy() );
        request.setGlobalSettingsFile( getGlobalSettingsFile() );
        request.setInteractive( isInteractive() );

        request.setLocalRepositoryDirectory( getLocalRepositoryDirectory() );
        request.setMavenOpts( getMavenOpts() );
        request.setNonPluginUpdates( isNonPluginUpdates() );
        request.setOffline( isOffline() );

//        request.setProperties( properties )
//        ;
        // @TODO: Think about it.
        // request.setPomFile(pomFile);
        // @TODO: Think about it.
        // request.setPomFileName(pomFilename);

        // The following parameter do make sense to use a placeholder
        // base directory
        // cd @item@
        // mvn clean package
        request.setBaseDirectory( getBaseDirectoryAfterPlaceHolderIsReplaced( currentValue.getName() ) );
        // goals:
        // mvn plugin-name:@item@
        //
        request.setGoals( getGoalsAfterPlaceHolderIsReplaced( currentValue.getName() ) );
        // Profiles:
        // mvn -Pxyz-@item@ clean package
        // mvn -P@item@
        request.setProfiles( getProfilesAfterPlaceHolderIsReplaced( currentValue.getName() ) );
        // Projects:
        // mvn -pl xyz-@item@ clean package
        request.setProjects( getProjectsAfterPlaceHolderIsReplaced( currentValue.getName() ) );

        Properties props = getMergedProperties(currentValue );
        request.setProperties( props );

        request.setRecursive( isRecursive() );
        request.setResumeFrom( getResumeFrom() );
        request.setShellEnvironmentInherited( isShellEnvironmentInherited() );
        request.setShowErrors( isShowErrors() );
        request.setShowVersion( isShowVersion() );
        request.setThreads( getThreads() );
        request.setToolchainsFile( getToolchains() );
        request.setUpdateSnapshots( isUpdateSnapshots() );
        request.setUserSettingsFile( getUserSettings() );
        
        return request;
    }