Example usage for org.apache.maven.execution MavenExecutionRequest isOffline

List of usage examples for org.apache.maven.execution MavenExecutionRequest isOffline

Introduction

In this page you can find the example usage for org.apache.maven.execution MavenExecutionRequest isOffline.

Prototype

boolean isOffline();

Source Link

Usage

From source file:org.echocat.jomon.maven.boot.ArtifactFactory.java

License:Mozilla Public License

@Nonnull
protected ArtifactResolutionRequest createRequestFor(@Nonnull MavenProject project,
        @Nonnull Artifact artifact) {//from   ww w  .j  av a2 s .c  o m
    final MavenExecutionRequest request = _containerAndRequest.getRequest();
    final ArtifactResolutionRequest result = new ArtifactResolutionRequest();
    result.setArtifact(artifact);
    result.setLocalRepository(getLocalRepository());
    result.setRemoteRepositories(project.getRemoteArtifactRepositories());
    result.setServers(request.getServers());
    result.setOffline(request.isOffline());
    result.setMirrors(request.getMirrors());
    result.setProxies(request.getProxies());
    return result;
}

From source file:org.universaal.tools.packaging.tool.util.KarafFeaturesGenerator.java

License:Apache License

private boolean generateKarafFeatures(String projectName) {

    try {/*from   ww w.  j  a va2s .co m*/
        IMavenProjectRegistry projectManager = MavenPlugin.getMavenProjectRegistry();
        IFile pomResource = g.getPart(projectName).getFile(IMavenConstants.POM_FILE_NAME);
        IMavenProjectFacade projectFacade = projectManager.create(pomResource, true, null);
        String ProjectPath = g.getPart(projectName).getLocation().toString();

        IMaven maven = MavenPlugin.getMaven();
        if (pomResource != null && projectFacade != null) {

            IWorkspace workspace = ResourcesPlugin.getWorkspace();
            IWorkspaceDescription description = workspace.getDescription();

            if (EclipsePreferencesConfigurator.local.runMavenEmbedded()) {

                MavenExecutionRequest request = projectManager.createExecutionRequest(pomResource,
                        projectFacade.getResolverConfiguration(), null);
                request.setLoggingLevel(EclipsePreferencesConfigurator.local.getLogLevel());

                DefaultLogger.getInstance()
                        .log("Preparing to run maven, the log level was:" + request.getLoggingLevel()
                                + " but we increased to " + MavenExecutionRequest.LOGGING_LEVEL_DEBUG);

                request.setLoggingLevel(LOG_LEVEL);
                if (request.isOffline() && OFFLINE_MODE) {
                    DefaultLogger.getInstance().log("Maven was configured to work OFFLINE, that is fine");
                } else if (OFFLINE_MODE) {
                    DefaultLogger.getInstance().log("Maven was configured to work ONLINE, "
                            + "but we are using it OFFLINE for speed it up");
                    request.setOffline(true);
                }

                ExecutionListener listener = request.getExecutionListener();
                if (listener != null) {
                    DefaultLogger.getInstance().log("The following ExecutionListener was set " + listener
                            + " but is going to be replaced");
                } else {
                    DefaultLogger.getInstance().log("NO ExecutionListener was set, creating one");
                }

                ConsoleLogger logger = new ConsoleLogger(Logger.LEVEL_DEBUG, "MavenLogger");
                ExecutionEventLogger execLogger = new ExecutionEventLogger(logger);
                request.setExecutionListener(execLogger);

                List<String> goals = new ArrayList<String>();
                Properties props = new Properties();

                DefaultLogger.getInstance()
                        .log("[Application Packager] - Preparing for Karaf features file generation...", 1);
                if (!description.isAutoBuilding()) {
                    DefaultLogger.getInstance().log("[Application Packager] - " + projectName
                            + " will be compiled now because autobuilding is off.", 1);
                    goals.add("compiler:compile"); // compile it if autobuilding is off
                    request.setGoals(goals);
                    request.setUserProperties(props);
                    execution_result = maven.execute(request, null);
                    DefaultLogger.getInstance().log("[Application Packager] - Compiling operation ended.", 1);
                }

                DefaultLogger.getInstance().log("[Application Packager] - Generating Karaf features file...",
                        1);
                goals.clear();
                props = new Properties();

                goals.add(GROUP_ID + ":" + ARTIFACT_ID + ":" + VERSION + ":" + GOAL_FEATURE);
                request.setGoals(goals);
                request.setUserProperties(props);
                execution_result = maven.execute(request, null);

                if (execution_result.getExceptions() == null || execution_result.getExceptions().isEmpty()) {
                    DefaultLogger.getInstance()
                            .log("[Application Packager] - Karaf features file generated successfully.", 1);
                    return true;
                } else {
                    DefaultLogger.getInstance().log(
                            "[Application Packager] - Karaf features file not generated because of errors:", 3);
                    for (int i = 0; i < execution_result.getExceptions().size(); i++)
                        DefaultLogger.getInstance().log("[Application Packager] - "
                                + execution_result.getExceptions().get(i).getMessage(), 1);
                }

            } else {

                int exitLevel = 0;

                DefaultLogger.getInstance()
                        .log("[Application Packager] - Preparing for Karaf features file generation...", 1);
                if (!description.isAutoBuilding()) {
                    DefaultLogger.getInstance().log("[Application Packager] - " + projectName
                            + " will be compiled now because autobuilding is off.", 1);
                    exitLevel = ProcessExecutor.runMavenCommand("compiler:compile", ProjectPath);
                    DefaultLogger.getInstance().log("[Application Packager] - Compiling operation ended.", 1);
                    if (exitLevel != 0) {
                        DefaultLogger.getInstance()
                                .log("[WARNING] - Error occurred during compiling operation.", 3);
                    }
                }

                DefaultLogger.getInstance().log("[Application Packager] - Generating Karaf features file...",
                        1);
                exitLevel = ProcessExecutor.runMavenCommand(
                        GROUP_ID + ":" + ARTIFACT_ID + ":" + VERSION + ":" + GOAL_FEATURE, ProjectPath);
                if (exitLevel == 0) {
                    DefaultLogger.getInstance()
                            .log("[Application Packager] - Karaf features file generated successfully.", 1);
                    return true;
                } else {
                    DefaultLogger.getInstance().log(
                            "[Application Packager] - FATAL ERROR!!! Karaf features file not generated because of errors",
                            4);
                }

            }
        }
    } catch (Exception ex) {
        ex.printStackTrace();
    }

    return false;
}