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

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

Introduction

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

Prototype

public File getBasedir() 

Source Link

Usage

From source file:org.eclipse.m2e.wtp.jaxrs.internal.configurators.JaxRsProjectConfigurator.java

License:Open Source License

@SuppressWarnings("restriction")
private void installJaxRsFacet(IFacetedProject fproj, IProjectFacetVersion facetVersion,
        MavenProject mavenProject, IProgressMonitor monitor) throws CoreException {

    markerManager.deleteMarkers(fproj.getProject(), MavenJaxRsConstants.JAXRS_CONFIGURATION_ERROR_MARKER_ID);

    IStatus status = facetVersion.getConstraint().check(fproj.getProjectFacets());
    if (status.isOK()) {
        // refreshing the project hierarchy to make sure that Eclipse "sees" the .settings folder and file, 
        // to be able to add the JAX-RS Facet. see https://issues.jboss.org/browse/JBIDE-10037
        ProjectUtils.refreshHierarchy(mavenProject.getBasedir(), IResource.DEPTH_INFINITE,
                new SubProgressMonitor(monitor, 1));
        IDataModel model = createJaxRsDataModel(fproj, facetVersion);
        WarPluginConfiguration warConfig = new WarPluginConfiguration(mavenProject, fproj.getProject());
        String warSourceDirectory = warConfig.getWarSourceDirectory();
        model.setProperty(IJAXRSFacetInstallDataModelProperties.WEBCONTENT_DIR, warSourceDirectory);
        model.setProperty(IJAXRSFacetInstallDataModelProperties.UPDATEDD, false);
        fproj.installProjectFacet(facetVersion, model, monitor);
    } else {//from   w  w  w  .java 2  s.  co m
        String errorMessage = status.getMessage() == null ? "<unknown error>" : status.getMessage();
        String markerMessage = NLS.bind(Messages.JaxrsProjectConfigurator_facet_cannot_be_installed,
                facetVersion, errorMessage);
        addErrorMarker(fproj.getProject(), markerMessage);
        for (IStatus st : status.getChildren()) {
            addErrorMarker(fproj.getProject(), st.getMessage());
        }
    }
}

From source file:org.eclipse.m2e.wtp.jpa.internal.configurators.JpaProjectConfigurator.java

License:Open Source License

@Override
public void configure(ProjectConfigurationRequest request, IProgressMonitor monitor) throws CoreException {

    if (!canConfigure(request.getMavenProjectFacade(), monitor)) {
        return;// w  w  w  . j av a  2 s  .com
    }
    IProject project = request.getProject();
    MavenProject mavenProject = request.getMavenProject();

    IFile persistenceXml = getPersistenceXml(request.getMavenProjectFacade());
    if (persistenceXml == null || !persistenceXml.exists()) {
        //No persistence.xml => not a JPA project
        return;
    }

    IFacetedProject facetedProject = ProjectFacetsManager.create(project, true, monitor);
    if (facetedProject != null) {
        //Refresh parent in multi-module setups, or Dali throws an exception
        ProjectUtils.refreshHierarchy(mavenProject.getBasedir(), IResource.DEPTH_INFINITE,
                new SubProgressMonitor(monitor, 1));

        //Configurators should *never* create files in the user's source folders
        ResourceCleaner cleaner = new ResourceCleaner(facetedProject.getProject());
        addFoldersToClean(cleaner, request.getMavenProjectFacade());
        try {
            configureFacets(facetedProject, request.getMavenProjectFacade(), persistenceXml, monitor);
        } finally {
            cleaner.cleanUp();
        }
    }
}

From source file:org.eclipse.m2e.wtp.jsf.internal.configurators.JSFProjectConfigurator.java

License:Open Source License

private void installJSFFacet(IFacetedProject fproj, MavenProject mavenProject,
        IProjectFacetVersion facetVersion, IProgressMonitor monitor) throws CoreException {

    markerManager.deleteMarkers(fproj.getProject(), MavenJSFConstants.JSF_CONFIGURATION_ERROR_MARKER_ID);

    if (fproj.hasProjectFacet(IJ2EEFacetConstants.DYNAMIC_WEB_FACET) && !fproj.hasProjectFacet(JSF_FACET)) {
        IProject project = fproj.getProject();
        //JBIDE-10785 : refresh parent to prevent 
        // org.osgi.service.prefs.BackingStoreException: Resource '/parent/web/.settings' does not exist.
        ProjectUtils.refreshHierarchy(mavenProject.getBasedir(), IResource.DEPTH_INFINITE,
                new SubProgressMonitor(monitor, 1));

        WarPluginConfiguration warConfig = new WarPluginConfiguration(mavenProject, project);
        IFolder warSourceDir = project.getFolder(warConfig.getWarSourceDirectory());

        //We don't want to generate any files automatically
        IPath facesConfigPath = new Path("WEB-INF/faces-config.xml");
        IFile defaultFacesConfig = warSourceDir.getFile(facesConfigPath);
        IFolder generatedWebResourcesFolder = ProjectUtils.getGeneratedWebResourcesFolder(mavenProject,
                project);/*w ww. j  av  a 2s.co  m*/
        IFile generatedFacesConfig = generatedWebResourcesFolder.getFile(facesConfigPath);

        ResourceCleaner cleaner = new ResourceCleaner(project);
        cleaner.addFolder(warSourceDir.getFolder("WEB-INF/lib"));
        cleaner.addFiles(defaultFacesConfig, generatedFacesConfig);

        IStatus status = facetVersion.getConstraint().check(fproj.getProjectFacets());
        try {
            if (status.isOK()) {
                IDataModel model = createJSFDataModel(fproj, facetVersion);
                model.setBooleanProperty(IJSFFacetInstallDataModelProperties.CONFIGURE_SERVLET, false);
                fproj.installProjectFacet(facetVersion, model, monitor);
            } else {
                addErrorMarker(fproj.getProject(),
                        facetVersion + " can not be installed : " + status.getMessage());
                for (IStatus st : status.getChildren()) {
                    addErrorMarker(fproj.getProject(), st.getMessage());
                }
            }
        } finally {
            cleaner.cleanUp();
        }
    }
}

From source file:org.eclipse.scada.build.helper.AbstractSetQualifierMojo.java

License:Open Source License

private void performHandleRepository(final MavenProject project) throws Exception, XPathExpressionException {
    final File file = new File(project.getBasedir(), "category.xml");
    if (!file.exists()) {
        return;/*from   www .  java 2 s . com*/
    }

    final Document doc = XmlHelper.parse(file);

    for (final Node node : XmlHelper.findNodes(doc, "/site/feature")) {
        final Element ele = (Element) node;

        final String featureId = ele.getAttribute("id");
        final String featureVersion = getVersion("feature", featureId);

        ele.setAttribute("version", featureVersion);
        ele.setAttribute("url", String.format("features/%s_%s.jar", featureId, featureVersion));
    }

    XmlHelper.write(doc, file);
}

From source file:org.eclipse.scada.build.helper.AbstractSetQualifierMojo.java

License:Open Source License

private void performHandleBundle(final MavenProject project, final String version)
        throws IOException, FileNotFoundException {
    final File file = new File(project.getBasedir(), "META-INF/MANIFEST.MF");

    final Manifest manifest;

    final FileInputStream in = new FileInputStream(file);
    try {//  w  w  w.  ja  v  a  2  s  .c o m
        manifest = new Manifest(in);
    } finally {
        in.close();
    }

    // process

    manifest.getMainAttributes().putValue("Bundle-Version", version);

    // write

    final FileOutputStream out = new FileOutputStream(file);
    try {
        manifest.write(out);
    } finally {
        out.close();
    }
}

From source file:org.eclipse.scada.build.helper.AbstractSetQualifierMojo.java

License:Open Source License

private void handleFeature(final MavenProject project, final String version) throws Exception {
    recordVersion("feature", project.getArtifactId(), version);

    this.changeManager.addChange(new Callable<Void>() {

        @Override/*from   www.  j  a  va2 s.  c o  m*/
        public Void call() throws Exception {
            final File file = new File(project.getBasedir(), "feature.xml");
            final Document doc = XmlHelper.parse(file);
            XmlHelper.updateValue(doc, "/feature/@version", version);
            XmlHelper.write(doc, file);
            return null;
        }
    });
}

From source file:org.eclipse.scada.build.helper.DefaultPomHelper.java

License:Open Source License

private Collection<MavenProject> loadChildren(final MavenProject project, final Log log,
        final MavenSession session) throws Exception {
    final Set<MavenProject> result = new HashSet<MavenProject>();

    log.debug("Loading children for: " + project);

    log.debug("Base dir: " + project.getBasedir());

    if (project.getBasedir() == null) {
        log.debug("Don't have a base dir");
        // if we don't have a base dir, we cannot change anything
        return result;
    }//from  ww  w. j  a  va 2s . com

    for (final String module : getModules(project)) {
        File file = new File(project.getBasedir(), module);
        if (file.isDirectory()) {
            file = new File(file, "pom.xml");
        }
        log.debug("Looking up: " + file);
        result.add(loadProject(file, session));
    }

    return result;
}

From source file:org.eclipse.tycho.core.maven.TychoInterpolator.java

License:Open Source License

public TychoInterpolator(MavenSession mavenSession, MavenProject mavenProject) {
    final Properties baseProps = new Properties();
    // The order how the properties been added is important! 
    // It defines which properties win over others 
    // (session user properties overwrite system properties overwrite project properties)
    baseProps.putAll(mavenProject.getProperties());
    baseProps.putAll(mavenSession.getSystemProperties());
    baseProps.putAll(mavenSession.getUserProperties());

    final Settings settings = mavenSession.getSettings();

    // roughly match resources plugin behaviour
    // Using the project and settings as object value source to get things replaces like
    // ${project.artifactId}...;
    // Simple string replacement for ${localRepository}, ${version}, ${basedir};
    // An and string replacement for all property values
    // (session user properties, system properties, project properties).

    interpolator = new StringSearchInterpolator();
    interpolator.addValueSource(new PrefixedObjectValueSource("project", mavenProject));
    interpolator.addValueSource(new PrefixedObjectValueSource("settings", settings));
    interpolator//  w w  w.j  a v a 2s.co m
            .addValueSource(new SingleResponseValueSource("localRepository", settings.getLocalRepository()));
    interpolator.addValueSource(new SingleResponseValueSource("version", mavenProject.getVersion()));
    interpolator.addValueSource(
            new SingleResponseValueSource("basedir", mavenProject.getBasedir().getAbsolutePath()));
    interpolator.addValueSource(new ValueSource() {
        @Override
        public Object getValue(String expression) {
            return baseProps.getProperty(expression);
        }

        @Override
        public void clearFeedback() {
        }

        @Override
        @SuppressWarnings("rawtypes")
        public List getFeedback() {
            return Collections.EMPTY_LIST;
        }
    });
}

From source file:org.eclipse.tycho.core.osgitools.EclipseFeatureProject.java

License:Open Source License

@Override
protected ArtifactDependencyWalker newDependencyWalker(MavenProject project, TargetEnvironment environment) {
    final File location = project.getBasedir();
    final Feature feature = Feature.loadFeature(location);
    return new AbstractArtifactDependencyWalker(getDependencyArtifacts(project, environment),
            getEnvironments(project, environment)) {
        public void walk(ArtifactDependencyVisitor visitor) {
            traverseFeature(location, feature, visitor);
        }/*from  w  w  w  .j a  v  a2s .  c  om*/
    };
}

From source file:org.eclipse.tycho.core.osgitools.EclipseFeatureProject.java

License:Open Source License

@Override
public void setupProject(MavenSession session, MavenProject project) {
    // validate feature.xml
    Feature.loadFeature(project.getBasedir());
}