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

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

Introduction

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

Prototype

MavenExecutionRequest setLoggingLevel(int loggingLevel);

Source Link

Usage

From source file:ead.exporter.ApkExporter.java

License:Open Source License

@Override
public void export(String gameBaseDir, String outputfolder) {

    if (packageName == null) {
        logger.error("app name is not set or is invalid. Apk exportation failed.");
        return;/*from  w w  w.jav  a  2 s .  c  o m*/
    }

    // Create a temp folder to generate de apk
    File gameFolder = new File(gameBaseDir);
    String tempFolder = System.getProperty("java.io.tmpdir");
    File apkTemp = new File(
            tempFolder + File.separator + "eAdventureApkTemp" + Math.round(Math.random() * 1000));
    apkTemp.mkdirs();

    File manifestFile = createManifest(apkTemp);
    File apkAssets = createAssetsFolder(apkTemp, gameFolder);
    File apkResources = createResourcesFolder(apkTemp);

    // Copy native libs folder
    try {
        FileUtils.copyDirectoryStructure(new File("../../resources/nativelibs"), apkTemp);
    } catch (IOException e) {

    }

    // Copy and load pom file
    File pomFile = createPomFile(apkTemp);
    MavenExecutionRequest request = new DefaultMavenExecutionRequest();

    // Goals
    File f = new File(apkTemp, "/target/classes");
    f.mkdirs();
    ArrayList<String> goals = new ArrayList<String>();
    goals.add("clean");
    goals.add("install");
    if (runInDevice) {
        goals.add("android:deploy");
        goals.add("android:run");
    }
    request.setGoals(goals);

    // Properties
    Properties userProperties = new Properties();
    userProperties.setProperty("game.basedir", gameBaseDir);
    userProperties.setProperty("game.outputfolder", outputfolder);
    userProperties.setProperty("game.name", appName);
    userProperties.setProperty("ead.packagename", packageName);
    userProperties.setProperty("eadmanifestdir", manifestFile.getAbsolutePath());
    userProperties.setProperty("ead.tempfile", apkTemp.getAbsolutePath());
    userProperties.setProperty("ead.assets", apkAssets.getAbsolutePath());
    userProperties.setProperty("ead.resources", apkResources.getAbsolutePath());

    request.setUserProperties(userProperties);

    // Set files
    request.setBaseDirectory(apkTemp);
    request.setPom(pomFile);

    // Execute maven
    request.setLoggingLevel(org.codehaus.plexus.logging.Logger.LEVEL_ERROR);

    MavenExecutionResult result = maven.execute(request);
    for (Throwable e : result.getExceptions()) {
        logger.warn("{}", e);
    }

    // Copy apk to destination
    File apk = new File(apkTemp, "target/" + packageName + ".apk");
    File apkDst = new File(outputfolder, packageName + ".apk");

    try {
        FileUtils.copyFile(apk, apkDst);
    } catch (IOException e1) {

    }

    // Delete temp folder
    try {
        FileUtils.deleteDirectory(apkTemp);
    } catch (IOException e) {
        logger.warn("Apk assets temp folder was not deleted {}", e);
    }

}

From source file:hudson.maven.MavenEmbedder.java

License:Apache License

protected MavenExecutionRequest buildMavenExecutionRequest(MavenRequest mavenRequest)
        throws MavenEmbedderException, ComponentLookupException {
    MavenExecutionRequest mavenExecutionRequest = new DefaultMavenExecutionRequest();

    if (mavenRequest.getGlobalSettingsFile() != null) {
        mavenExecutionRequest.setGlobalSettingsFile(new File(mavenRequest.getGlobalSettingsFile()));
    }/*from  ww  w . j  a  v a 2s .c  o  m*/

    if (mavenExecutionRequest.getUserSettingsFile() != null) {
        mavenExecutionRequest.setUserSettingsFile(new File(mavenRequest.getUserSettingsFile()));
    }

    try {
        lookup(MavenExecutionRequestPopulator.class).populateFromSettings(mavenExecutionRequest, getSettings());

        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 (this.mavenHome != null) {
        mavenExecutionRequest.getSystemProperties().put("maven.home", this.mavenHome.getAbsolutePath());
    }

    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);
        }
    }

    mavenExecutionRequest.setLoggingLevel(mavenRequest.getLoggingLevel());

    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());
    }

    // FIXME inactive profiles 

    //this.mavenExecutionRequest.set

    return mavenExecutionRequest;

}

From source file:org.appformer.maven.integration.embedder.MavenEmbedder.java

License:Apache License

protected MavenExecutionRequest buildMavenExecutionRequest(MavenRequest mavenRequest)
        throws MavenEmbedderException, ComponentLookupException {
    MavenExecutionRequest mavenExecutionRequest = new DefaultMavenExecutionRequest();

    if (mavenRequest.getGlobalSettingsFile() != null) {
        mavenExecutionRequest.setGlobalSettingsFile(new File(mavenRequest.getGlobalSettingsFile()));
    }/*from  w w  w . j a  va 2 s.c o m*/

    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());
    }

    return mavenExecutionRequest;
}

From source file:org.jvnet.hudson.plugins.mavendepsupdate.MavenUpdateChecker.java

License:Apache License

ProjectBuildingRequest getProjectBuildingRequest(Properties userProperties, PlexusContainer plexusContainer)
        throws ComponentLookupException, SettingsBuildingException, MavenExecutionRequestPopulationException,
        InvalidRepositoryException {/*from ww  w .  j  a v a2s  . co  m*/

    MavenExecutionRequest request = new DefaultMavenExecutionRequest();

    request.setLoggingLevel(MavenExecutionRequest.LOGGING_LEVEL_DEBUG);

    request.setWorkspaceReader(new ReactorReader(new HashMap<String, MavenProject>(0)));

    SettingsBuilder settingsBuilder = plexusContainer.lookup(SettingsBuilder.class);

    RepositorySystem repositorySystem = plexusContainer.lookup(RepositorySystem.class);

    org.sonatype.aether.RepositorySystem repoSystem = plexusContainer
            .lookup(org.sonatype.aether.RepositorySystem.class);

    SettingsBuildingRequest settingsRequest = new DefaultSettingsBuildingRequest();

    if (globalSettings != null) {
        mavenUpdateCheckerResult.addDebugLine("globalSettings " + globalSettings.getRemote());
        settingsRequest.setGlobalSettingsFile(new File(globalSettings.getRemote()));
    } else {
        File globalSettings = new File(mavenHome, "conf/settings.xml");
        if (globalSettings.exists()) {
            settingsRequest.setGlobalSettingsFile(globalSettings);
        }
    }
    if (alternateSettings != null) {
        mavenUpdateCheckerResult.addDebugLine("alternateSettings " + alternateSettings.getRemote());
        settingsRequest.setUserSettingsFile(new File(alternateSettings.getRemote()));
        request.setUserSettingsFile(new File(alternateSettings.getRemote()));
    } else {
        File defaultUserSettings = new File(new File(System.getProperty("user.home"), ".m2"), "settings.xml");
        settingsRequest.setUserSettingsFile(defaultUserSettings);
        request.setUserSettingsFile(defaultUserSettings);
    }
    settingsRequest.setSystemProperties(System.getProperties());
    settingsRequest.setUserProperties(userProperties);

    SettingsBuildingResult settingsBuildingResult = settingsBuilder.build(settingsRequest);

    MavenExecutionRequestPopulator executionRequestPopulator = plexusContainer
            .lookup(MavenExecutionRequestPopulator.class);

    executionRequestPopulator.populateFromSettings(request, settingsBuildingResult.getEffectiveSettings());

    executionRequestPopulator.populateDefaults(request);

    MavenRepositorySystemSession session = new MavenRepositorySystemSession();

    session.setUpdatePolicy(RepositoryPolicy.UPDATE_POLICY_ALWAYS);

    SnapshotTransfertListener snapshotTransfertListener = new SnapshotTransfertListener(this.lastBuildTime);
    session.setTransferListener(snapshotTransfertListener);

    LocalRepository localRepo = getLocalRepo(settingsBuildingResult);

    session.setLocalRepositoryManager(repoSystem.newLocalRepositoryManager(localRepo));

    ArtifactRepository localArtifactRepository = getLocalArtifactRepo(settingsBuildingResult, repositorySystem);

    request.setLocalRepository(localArtifactRepository);

    if (this.activeProfiles != null && !this.activeProfiles.isEmpty()) {
        for (String id : this.activeProfiles) {
            Profile p = new Profile();
            p.setId(id);
            p.setSource("cli");
            request.addProfile(p);
            request.addActiveProfile(id);
        }
    }

    ProjectBuildingRequest projectBuildingRequest = request.getProjectBuildingRequest();
    return projectBuildingRequest.setRepositorySession(session);
}

From source file:org.kie.scanner.embedder.MavenEmbedder.java

License:Apache License

protected MavenExecutionRequest buildMavenExecutionRequest(MavenRequest mavenRequest)
        throws MavenEmbedderException, ComponentLookupException {
    MavenExecutionRequest mavenExecutionRequest = new DefaultMavenExecutionRequest();

    if (mavenRequest.getGlobalSettingsFile() != null) {
        mavenExecutionRequest.setGlobalSettingsFile(new File(mavenRequest.getGlobalSettingsFile()));
    }//from  w  w w. java2s .c o m

    if (mavenExecutionRequest.getUserSettingsFile() != null) {
        mavenExecutionRequest.setUserSettingsFile(new File(mavenRequest.getUserSettingsFile()));
    }

    try {
        lookup(MavenExecutionRequestPopulator.class).populateFromSettings(mavenExecutionRequest, getSettings());

        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 (this.mavenHome != null) {
        mavenExecutionRequest.getSystemProperties().put("maven.home", this.mavenHome.getAbsolutePath());
    }

    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);
        }
    }

    mavenExecutionRequest.setLoggingLevel(mavenRequest.getLoggingLevel());

    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());
    }

    return mavenExecutionRequest;
}

From source file:org.universaal.tools.packaging.tool.gui.GUI.java

License:Apache License

public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
    monitor.beginTask("Generating Effective POM", IProgressMonitor.UNKNOWN);
    monitor.subTask("part: " + partName);
    if (EclipsePreferencesConfigurator.local.runMavenEmbedded()) {

        IMavenProjectRegistry projectManager = MavenPlugin.getMavenProjectRegistry();
        IFile pomResource = part.getFile(IMavenConstants.POM_FILE_NAME);
        IMavenProjectFacade projectFacade = projectManager.create(pomResource, true, null);

        IMaven maven = MavenPlugin.getMaven();

        if (pomResource != null && projectFacade != null) {

            MavenExecutionRequest request;

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

                List<String> goals = new ArrayList<String>();
                Properties props = new Properties();
                props.setProperty("output", mavenTempDir + "/" + partName + ".epom.xml");

                goals.add("help:effective-pom");

                request.setGoals(goals);
                request.setUserProperties(props);
                MavenExecutionResult execution_result = maven.execute(request, null);
                if (execution_result.getExceptions() == null || execution_result.getExceptions().isEmpty()) {
                    GUI.getInstance().exitLevel = 0;
                }/*w  ww.j a  v a  2 s  . com*/
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

    } else {
        GUI.getInstance().exitLevel = ProcessExecutor.runMavenCommand(
                "\"-Doutput=" + mavenTempDir + "/" + partName + ".epom.xml" + "\" help:effective-pom", path);
    }
    monitor.done();
}

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

License:Apache License

private boolean generateKarafFeatures(String projectName) {

    try {/*from ww w .ja  v a 2  s .com*/
        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;
}

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

License:Apache License

private void generateKarFile(IProject part) {

    try {// w ww.j  a va  2s .  c  om
        DefaultLogger.getInstance().log("Generate kar for " + part.getName());
        String path = part.getLocation().toString(); //ResourcesPlugin.getWorkspace().getRoot().getLocation().makeAbsolute()+"/"+part.getDescription().getName();
        DefaultLogger.getInstance().log("location:" + path);
        File target, feature;
        target = new File(path + "/target");
        feature = new File(path + "/target/feature");
        if (!target.exists())
            target.mkdir();
        if (!feature.exists())
            feature.mkdir();

        copyFile(new File(path + "/target/classes/feature.xml"),
                new File(path + "/target/feature/feature.xml"));

        IMavenProjectRegistry projectManager = MavenPlugin.getMavenProjectRegistry();
        IFile pomResource = g.getPart(part.getName()).getFile(IMavenConstants.POM_FILE_NAME);
        IMavenProjectFacade projectFacade = projectManager.create(pomResource, true, null);

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

            if (EclipsePreferencesConfigurator.local.runMavenEmbedded()) {

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

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

                goals.add(GROUP_ID + ":" + ARTIFACT_ID + ":" + VERSION + ":" + GOAL_KARFILE);

                request.setGoals(goals);
                request.setUserProperties(props);
                request.setOffline(true);
                maven.execute(request, null);

            } else {

                int exitLevel = ProcessExecutor.runMavenCommand(
                        GROUP_ID + ":" + ARTIFACT_ID + ":" + VERSION + ":" + GOAL_KARFILE, path);
                if (exitLevel == 0) {
                    DefaultLogger.getInstance().log("[Application Packager] - Kar file generated successfully.",
                            1);
                } else {
                    DefaultLogger.getInstance().log(
                            "[Application Packager] - FATAL ERROR!!! Kar file not generated because of errors.",
                            4);
                }

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

From source file:org.universaal.tools.packaging.tool.zip.CreateJar.java

License:Apache License

public boolean create(IProject part, int partNumber) {

    GUI g = GUI.getInstance();/*from   www. j a va  2s .  c  o  m*/
    String destination_path = g.getTempDir() + "/bin/part" + partNumber + "/";
    POMParser p = new POMParser(new File(part.getFile("pom.xml").getLocation() + ""));

    String sourcePath = part.getLocation().toString();

    EffectivePOMContainer.setDocument(part.getName());

    try {
        String fileName = EffectivePOMContainer.getArtifactId() + "-" + EffectivePOMContainer.getVersion()
                + ".jar";
        IMavenProjectRegistry projectManager = MavenPlugin.getMavenProjectRegistry();
        IFile pomResource = g.getPart(part.getName()).getFile(IMavenConstants.POM_FILE_NAME);
        IMavenProjectFacade projectFacade = projectManager.create(pomResource, true, null);
        String ProjectPath = g.getPart(part.getName()).getLocation().toString();

        IMaven maven = MavenPlugin.getMaven();
        if (pomResource != null && projectFacade != null) {
            DefaultLogger.getInstance().log(
                    "[Application Packager] - Preparing for packaging " + part.getName() + " project...", 1);
            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());

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

                if (!description.isAutoBuilding()) {
                    goals.add("compiler:compile"); // compile it if autobuilding is off
                }
                DefaultLogger.getInstance()
                        .log("[Application Packager] - Packaging " + part.getName() + " project...", 1);
                goals.add("package");

                request.setGoals(goals);
                request.setUserProperties(props);
                MavenExecutionResult execution_result = maven.execute(request, null);
                if (execution_result.getExceptions() != null && !execution_result.getExceptions().isEmpty()) {
                    for (int i = 0; i < execution_result.getExceptions().size(); i++) {
                        DefaultLogger.getInstance()
                                .log("[Application Packager] - Packaging ended with errors:.", 1);
                        DefaultLogger.getInstance().log("[Application Packager] - ERROR: "
                                + execution_result.getExceptions().get(i).getMessage(), 3);
                    }
                    return false;
                } else
                    DefaultLogger.getInstance().log("[Application Packager] - Packaging ended successfully.",
                            1);
            } else {
                int exitLevel = 0;
                if (!description.isAutoBuilding()) {
                    DefaultLogger.getInstance().log("[Application Packager] - " + part.getName()
                            + " 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.", 2);
                        return false;
                    }
                }

                DefaultLogger.getInstance()
                        .log("[Application Packager] - Packaging " + part.getName() + " project...", 1);

                exitLevel = ProcessExecutor.runMavenCommand("package", ProjectPath);
                if (exitLevel == 0) {
                    DefaultLogger.getInstance().log("[Application Packager] - Packaging ended successfully.",
                            1);
                } else {
                    DefaultLogger.getInstance().log("[Application Packager] - Packaging ended with errors.", 1);
                    return false;
                }
            }
            DefaultLogger.getInstance().log("[Application Packager] - Copying: " + sourcePath + "/target/"
                    + fileName + " -> " + destination_path + fileName, 1);
            copyFile(new File(sourcePath + "/target/" + fileName), new File(destination_path + fileName));
        }
    } catch (Exception ex) {
        ex.printStackTrace();
        return false;
    }

    try {
        //if file KAR is present, add it to partX folder

        String fileName = EffectivePOMContainer.getArtifactId() + "-" + EffectivePOMContainer.getVersion()
                + ".kar";
        File kar = new File(sourcePath + "/target/" + fileName);
        if (kar.exists()) {
            DefaultLogger.getInstance().log("[Application Packager] - Copying: " + sourcePath + "/target/"
                    + fileName + " -> " + destination_path + fileName, 1);
            copyFile(kar, new File(destination_path + fileName));
        }
    } catch (Exception ex) {
        ex.printStackTrace();
        return false;
    }

    return true;
}