Example usage for org.apache.maven.project MavenProject getFile

List of usage examples for org.apache.maven.project MavenProject getFile

Introduction

In this page you can find the example usage for org.apache.maven.project MavenProject getFile.

Prototype

public File getFile() 

Source Link

Usage

From source file:org.sourcepit.maven.bootstrap.internal.core.ReactorReader.java

License:Apache License

private File find(MavenProject project, Artifact artifact) {
    if ("pom".equals(artifact.getExtension())) {
        return project.getFile();
    }/*from   w  w w.j  a  v  a 2s  . c o m*/

    org.apache.maven.artifact.Artifact projectArtifact = findMatchingArtifact(project, artifact);

    if (hasArtifactFileFromPackagePhase(projectArtifact)) {
        return projectArtifact.getFile();
    } else if (!hasBeenPackaged(project)) {
        // fallback to loose class files only if artifacts haven't been packaged yet

        if (isTestArtifact(artifact)) {
            if (project.hasLifecyclePhase("test-compile")) {
                return new File(project.getBuild().getTestOutputDirectory());
            }
        } else {
            if (project.hasLifecyclePhase("compile")) {
                return new File(project.getBuild().getOutputDirectory());
            }
        }
    }

    // The fall-through indicates that the artifact cannot be found;
    // for instance if package produced nothing or classifier problems.
    return null;
}

From source file:org.sourcepit.tpmp.change.b2.B2TargetPlatformConfigurationFilesDiscoverer.java

License:Apache License

@Override
public List<File> getTargetPlatformConfigurationFiles(MavenSession session, MavenProject project) {
    final List<File> files = new ArrayList<File>();

    final File moduleXML = B2Utils.findModuleXML(session, project);
    if (moduleXML != null) {
        final File modulePom = new File(moduleXML.getParentFile(), ".b2/module-pom-template.xml");
        if (modulePom.exists()) {
            files.add(modulePom);// w  ww.  ja v  a2  s . c o m

            if (!B2Utils.isDerivedProject(project)) {
                final File b2ExtFile = new File(project.getBasedir(), "b2-extension.xml");
                if (b2ExtFile.exists()) {
                    files.add(b2ExtFile);
                }

                files.addAll(super.getTargetPlatformConfigurationFiles(session, project));
                files.remove(project.getFile());
            }
            return files;
        }
    }

    throw new IllegalStateException();
}

From source file:org.sourcepit.tpmp.change.tycho.TychoTargetPlatformConfigurationFilesDiscoverer.java

License:Apache License

@Override
public List<File> getTargetPlatformConfigurationFiles(MavenSession session, MavenProject project) {
    final List<File> files = new ArrayList<File>();
    files.add(project.getFile());

    final TychoProject tychoProject = projectTypes.get(project.getPackaging());
    if (tychoProject != null) {
        if (tychoProject instanceof OsgiBundleProject) {
            files.add(new File(project.getBasedir(), "META-INF/MANIFEST.MF"));
        } else if (tychoProject instanceof EclipseApplicationProject) {
            files.add(new File(project.getBasedir(), project.getArtifactId() + ".product"));
        } else if (tychoProject instanceof EclipseFeatureProject) {
            files.add(new File(project.getBasedir(), Feature.FEATURE_XML));
        } else if (tychoProject instanceof EclipseRepositoryProject) {
            files.addAll(/* ((EclipseRepositoryProject) tychoProject). */getCategoryFiles(project));
            files.addAll(((EclipseRepositoryProject) tychoProject).getProductFiles(project));
        } else if (tychoProject instanceof UpdateSiteProject) {
            files.add(new File(project.getBasedir(), UpdateSite.SITE_XML));
        }//  w  w w  . j  a v  a2 s.c o  m
    }

    return files;
}

From source file:org.sourcepit.tpmp.resolver.tycho.TychoSessionTargetPlatformResolver.java

License:Apache License

private MavenProject setupAggregatedProject(MavenSession session,
        TargetPlatformConfiguration aggregatedConfiguration) {
    PropertiesMap mvnProperties = new LinkedPropertiesMap();
    mvnProperties.load(getClass().getClassLoader(), "META-INF/tpmp/maven.properties");

    String groupId = mvnProperties.get("groupId");
    String artifactId = mvnProperties.get("artifactId");
    String version = mvnProperties.get("version");

    final String tpmpKey = Plugin.constructKey(groupId, artifactId);

    MavenProject origin = session.getCurrentProject();

    Model model = origin.getModel().clone();
    Build build = model.getBuild();//from   www  .  ja v  a  2s . c o  m
    if (build.getPluginsAsMap().get(tpmpKey) == null) {
        Plugin tpmp = new Plugin();
        tpmp.setGroupId(groupId);
        tpmp.setArtifactId(artifactId);
        tpmp.setVersion(version);

        build.getPlugins().add(tpmp);
        build.flushPluginMap();
    }

    MavenProject fake = new MavenProject(model);
    fake.setClassRealm(origin.getClassRealm());
    fake.setFile(origin.getFile());

    final Map<String, ArtifactRepository> artifactRepositories = new LinkedHashMap<String, ArtifactRepository>();
    final Map<String, ArtifactRepository> pluginRepositories = new LinkedHashMap<String, ArtifactRepository>();
    for (MavenProject project : session.getProjects()) {
        for (ArtifactRepository repository : project.getRemoteArtifactRepositories()) {
            if (!artifactRepositories.containsKey(repository.getId())) {
                artifactRepositories.put(repository.getId(), repository);
            }
        }
        for (ArtifactRepository repository : project.getPluginArtifactRepositories()) {
            if (!pluginRepositories.containsKey(repository.getId())) {
                pluginRepositories.put(repository.getId(), repository);
            }
        }
    }

    fake.setRemoteArtifactRepositories(new ArrayList<ArtifactRepository>(artifactRepositories.values()));
    fake.setPluginArtifactRepositories(new ArrayList<ArtifactRepository>(pluginRepositories.values()));
    fake.setManagedVersionMap(origin.getManagedVersionMap());

    if (getTychoProject(fake) == null) {
        fake.setPackaging("eclipse-repository");
    }

    fake.getBuildPlugins();

    AbstractTychoProject tychoProject = (AbstractTychoProject) getTychoProject(fake);
    tychoProject.setupProject(session, fake);

    Properties properties = new Properties();
    properties.putAll(fake.getProperties());
    properties.putAll(session.getSystemProperties()); // session wins
    properties.putAll(session.getUserProperties());
    fake.setContextValue(TychoConstants.CTX_MERGED_PROPERTIES, properties);

    fake.setContextValue(TychoConstants.CTX_TARGET_PLATFORM_CONFIGURATION, aggregatedConfiguration);

    ExecutionEnvironmentConfiguration eeConfiguration = new ExecutionEnvironmentConfigurationImpl(logger,
            aggregatedConfiguration.isResolveWithEEConstraints());
    tychoProject.readExecutionEnvironmentConfiguration(fake, eeConfiguration);
    fake.setContextValue(TychoConstants.CTX_EXECUTION_ENVIRONMENT_CONFIGURATION, eeConfiguration);

    final DependencyMetadata dm = new DependencyMetadata();
    for (ReactorProject reactorProject : DefaultReactorProject.adapt(session)) {
        mergeMetadata(dm, reactorProject, true);
        mergeMetadata(dm, reactorProject, false);
    }

    int i = 0;
    for (Object object : dm.getMetadata(true)) {
        InstallableUnitDAO dao = new TychoSourceIUResolver.InstallableUnitDAO(
                object.getClass().getClassLoader());
        dao.setProperty(object, RepositoryLayoutHelper.PROP_CLASSIFIER, "fake_" + i);
        i++;
    }

    for (Object object : dm.getMetadata(false)) {
        InstallableUnitDAO dao = new TychoSourceIUResolver.InstallableUnitDAO(
                object.getClass().getClassLoader());
        dao.setProperty(object, RepositoryLayoutHelper.PROP_CLASSIFIER, "fake_" + i);
        i++;
    }

    Map<String, DependencyMetadata> metadata = new LinkedHashMap<String, DependencyMetadata>();
    metadata.put(null, dm);

    fake.setContextValue("tpmp.aggregatedMetadata", metadata);

    return fake;
}

From source file:org.springframework.ide.eclipse.maven.legacy.internal.core.GoogleProjectConfigurator.java

License:Open Source License

/**
 * {@inheritDoc}//ww  w  .ja  va2s.  c  o  m
 */
@Override
protected void doConfigure(final MavenProject mavenProject, IProject project,
        ProjectConfigurationRequest request, final IProgressMonitor monitor) throws CoreException {

    final IMaven maven = MavenPlugin.getDefault().getMaven();

    configureNature(project, mavenProject, GAE_NATURE_ID, true, new NatureCallbackAdapter() {

        @Override
        public void beforeAddingNature() {
            try {
                DefaultMavenExecutionRequest executionRequest = new DefaultMavenExecutionRequest();
                executionRequest.setBaseDirectory(mavenProject.getBasedir());
                executionRequest.setLocalRepository(maven.getLocalRepository());
                executionRequest.setRemoteRepositories(mavenProject.getRemoteArtifactRepositories());
                executionRequest.setPluginArtifactRepositories(mavenProject.getPluginArtifactRepositories());
                executionRequest.setPom(mavenProject.getFile());
                executionRequest.setGoals(GAE_UNPACK_GOAL);

                MavenExecutionResult result = maven.execute(executionRequest, monitor);
                if (result.hasExceptions()) {
                    MavenCorePlugin.getDefault().getLog()
                            .log(new Status(IStatus.ERROR, MavenCorePlugin.NON_LEGACY_PLUGIN_ID,
                                    "Error configuring project", result.getExceptions().get(0)));
                }
            } catch (CoreException e) {
                MavenCorePlugin.getDefault().getLog().log(new Status(IStatus.ERROR,
                        MavenCorePlugin.NON_LEGACY_PLUGIN_ID, "Error configuring project", e));
            }
        }
    }, monitor);

    if (configureNature(project, mavenProject, GWT_NATURE_ID, true, new NatureCallbackAdapter() {

        @Override
        public void beforeAddingNature() {

            // Get the GWT version from the project pom
            String gwtVersion = null;
            List<Dependency> dependencies = mavenProject.getDependencies();
            for (Dependency dependency : dependencies) {
                if (GWT_GROUP_ID.equals(dependency.getGroupId())
                        && ("gwt-user".equals(dependency.getArtifactId())
                                || "gwt-servlet".equals(dependency.getArtifactId()))) {
                    gwtVersion = dependency.getVersion();
                    break;
                }
            }

            // Check that the pom.xml has GWT dependencies
            if (StringUtils.hasLength(gwtVersion)) {
                try {
                    // Download and install the gwt-dev.jar into the local repository
                    maven.resolve(GWT_GROUP_ID, "gwt-dev", gwtVersion, "jar", null,
                            mavenProject.getRemoteArtifactRepositories(), monitor);
                } catch (CoreException e) {
                    MavenCorePlugin.getDefault().getLog().log(new Status(IStatus.ERROR,
                            MavenCorePlugin.NON_LEGACY_PLUGIN_ID, "Error configuring project", e));
                }
            }
        }
    }, monitor)) {

        try {
            // Add GWT Web Application configuration parameters
            IEclipsePreferences prefs = SpringCorePreferences
                    .getProjectPreferences(project, "com.google.gdt.eclipse.core").getProjectPreferences();
            prefs.put("warSrcDir", "src/main/webapp");
            prefs.putBoolean("warSrcDirIsOutput", false);

            String artifactId = mavenProject.getArtifactId();
            String version = mavenProject.getVersion();
            IPath location = SpringCoreUtils.getProjectLocation(project);
            if (location != null && artifactId != null && version != null) {
                prefs.put("lastWarOutDir", location.append("target").append(artifactId + "-" + version).toFile()
                        .getAbsolutePath());
            }

            prefs.flush();
        } catch (BackingStoreException e) {
            MavenCorePlugin.getDefault().getLog().log(new Status(IStatus.ERROR,
                    MavenCorePlugin.NON_LEGACY_PLUGIN_ID, "Error configuring project", e));
        }
    }
}

From source file:org.springframework.ide.vscode.commons.maven.MavenBridge.java

License:Open Source License

MavenProject resolveParentProject(RepositorySystemSession repositorySession, MavenProject child,
        ProjectBuildingRequest configuration) throws MavenException {
    configuration.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL);
    configuration.setRepositorySession(repositorySession);

    try {/*  w ww .  ja v  a 2s  .  c o  m*/
        configuration.setRemoteRepositories(child.getRemoteArtifactRepositories());

        File parentFile = child.getParentFile();
        if (parentFile != null) {
            return lookup(ProjectBuilder.class).build(parentFile, configuration).getProject();
        }

        Artifact parentArtifact = child.getParentArtifact();
        if (parentArtifact != null) {
            MavenProject parent = lookup(ProjectBuilder.class).build(parentArtifact, configuration)
                    .getProject();
            parentFile = parentArtifact.getFile(); // file is resolved as
            // side-effect of the
            // prior call
            // compensate for apparent bug in maven 3.0.4 which does not set
            // parent.file and parent.artifact.file
            if (parent.getFile() == null) {
                parent.setFile(parentFile);
            }
            if (parent.getArtifact().getFile() == null) {
                parent.getArtifact().setFile(parentFile);
            }
            return parent;
        }
    } catch (ProjectBuildingException ex) {
        log.error("Could not read parent project", ex);
    }

    return null;
}

From source file:org.universAAL.support.directives.util.PomWriter.java

License:Apache License

public static Model readPOMFile(MavenProject pom)
        throws FileNotFoundException, IOException, XmlPullParserException {
    MavenXpp3Reader reader = new MavenXpp3Reader();
    FileInputStream fis = new FileInputStream(new File(pom.getFile().getAbsolutePath()));
    Model model = reader.read(fis);/*from  ww w . j av a2  s . co  m*/
    fis.close();
    return model;
}

From source file:org.vaadin.directory.maven.PomUtils.java

License:Apache License

/**
 * Load pom.xml form this project.//from   ww  w . j  ava2 s. co m
 *
 * @param project
 * @return
 */
public static Model getProjectPom(MavenProject project) {
    try {
        MavenXpp3Reader reader = new MavenXpp3Reader();
        return reader.read(new FileReader(project.getFile()));
    } catch (FileNotFoundException ex) {
        Logger.getLogger(PomUtils.class.getName()).log(Level.SEVERE, null, ex);
    } catch (IOException | XmlPullParserException ex) {
        Logger.getLogger(PomUtils.class.getName()).log(Level.SEVERE, null, ex);
    }

    return null;

}

From source file:org.vaadin.directory.maven.PomUtils.java

License:Apache License

/**
 * Save/replace this projects pom.xml.//from   w w  w .  j  a  va2s.c o  m
 *
 * @param project
 * @param pomModel
 */
public static void saveToProject(MavenProject project, Model pomModel) {
    try {
        MavenXpp3Writer w = new MavenXpp3Writer();
        w.write(new FileOutputStream(project.getFile()), pomModel);
    } catch (FileNotFoundException ex) {
        Logger.getLogger(PomUtils.class.getName()).log(Level.SEVERE, null, ex);
    } catch (IOException ex) {
        Logger.getLogger(PomUtils.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:org.vaadin.netbeans.impl.VaadinSupportImpl.java

License:Apache License

@Override
public String getVaadinVersion() {
    NbMavenProject mvnProject = getProject().getLookup().lookup(NbMavenProject.class);
    MavenProject mavenProject = mvnProject.getMavenProject();
    FileObject pom = FileUtil.toFileObject(FileUtil.normalizeFile(mavenProject.getFile()));
    String version = getVaadinVersion(pom);
    if (version == null) {
        version = getVaadinVersion(FileUtil.toFileObject(FileUtil.normalizeFile(mavenProject.getParentFile())));
    }//from w w  w .  j  av  a  2s. com
    if (version == null) {
        LOG.severe(
                "Unknown project structure: cannot get version " + "neither from the project nor from parents");
    }
    return version;
}