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

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

Introduction

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

Prototype

public String getPackaging() 

Source Link

Usage

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

License:Open Source License

@Override
protected synchronized String getQualifier(final MavenProject project) throws MojoExecutionException {
    String providerType = this.nameProviderMap.get(project.getPackaging());
    if (providerType == null) {
        providerType = this.defaultNameProvider;
    }/*from   w w  w  . j av  a2  s. c  om*/

    getLog().debug(String.format("Using provider '%s' for project: %s", providerType, project.getId()));

    final QualifierNameProvider nameProvider = this.nameProviders.get(providerType);
    if (nameProvider == null) {
        throw new MojoExecutionException(
                String.format("Unable to find name provider with hint '%s'", providerType));
    }

    return nameProvider
            .createName(new Configuration(this.session, this.execution, project, this.nameProviderProperties));
}

From source file:org.eclipse.scada.build.helper.target.UpdateMojo.java

License:Open Source License

protected String findVersion(final String id) {
    getLog().debug(String.format("Looking for '%s'", id));
    for (final MavenProject p : getReactorProjects()) {
        final String artifactId = p.getArtifactId();
        final String packaging = p.getPackaging();

        getLog().debug(String.format("Found %s:%s:%s:%s", p.getGroupId(), p.getArtifactId(), p.getVersion(),
                p.getPackaging()));/*from   w w w .  j  ava 2  s .c  o  m*/

        if ("eclipse-plugin".equals(packaging) && artifactId.equals(id)) {
            return getVersion(p);
        }
        if ("eclipse-feature".equals(packaging) && (artifactId + ".feature.group").equals(id)) {
            return getVersion(p);
        }
    }

    throw new IllegalStateException(String.format("Unable to find installable unit: %s", id));
}

From source file:org.eclipse.tycho.core.osgitools.targetplatform.LocalDependencyResolver.java

License:Open Source License

private void addProjects(MavenSession session, DefaultDependencyArtifacts platform) {
    File parentDir = null;/*from ww  w .  j a  v  a 2 s  .c  om*/

    for (MavenProject project : session.getProjects()) {
        ReactorProject projectProxy = DefaultReactorProject.adapt(project);
        TychoProject dr = projectTypes.get(project.getPackaging());
        if (dr != null) {
            ArtifactKey key = dr.getArtifactKey(projectProxy);

            platform.removeAll(key.getType(), key.getId());

            platform.addReactorArtifact(key, projectProxy, null, null);

            if (parentDir == null || isSubdir(project.getBasedir(), parentDir)) {
                parentDir = project.getBasedir();
            }
        }
    }
}

From source file:org.eclipse.tycho.core.osgitools.targetplatform.LocalTargetPlatformResolver.java

License:Open Source License

private void addProjects(MavenSession session, DefaultTargetPlatform platform) {
    File parentDir = null;//from  w w w .ja v  a2s  .c  om

    for (MavenProject project : session.getProjects()) {
        ReactorProject projectProxy = DefaultReactorProject.adapt(project);
        TychoProject dr = projectTypes.get(project.getPackaging());
        if (dr != null) {
            ArtifactKey key = dr.getArtifactKey(projectProxy);

            platform.removeAll(key.getType(), key.getId());

            platform.addReactorArtifact(key, projectProxy, null, null);

            if (parentDir == null || isSubdir(project.getBasedir(), parentDir)) {
                parentDir = project.getBasedir();
            }
        }
    }
}

From source file:org.eclipse.tycho.core.resolver.DefaultTargetPlatformConfigurationReader.java

License:Open Source License

public TargetPlatformConfiguration getTargetPlatformConfiguration(MavenSession session, MavenProject project) {
    TargetPlatformConfiguration result = new TargetPlatformConfiguration();

    // Use org.eclipse.tycho:target-platform-configuration/configuration/environment, if provided
    Plugin plugin = project.getPlugin("org.eclipse.tycho:target-platform-configuration");

    if (plugin != null) {
        Xpp3Dom configuration = (Xpp3Dom) plugin.getConfiguration();
        if (configuration != null) {
            if (logger.isDebugEnabled()) {
                logger.debug("target-platform-configuration for " + project.toString() + ":\n"
                        + configuration.toString());
            }/*from   w ww.jav a  2  s  . c  o  m*/

            addTargetEnvironments(result, project, configuration);

            setTargetPlatformResolver(result, configuration);

            setTarget(result, session, project, configuration);

            setPomDependencies(result, configuration);

            setAllowConflictingDependencies(result, configuration);

            setDisableP2Mirrors(result, configuration);

            setExecutionEnvironment(result, configuration);

            readFilters(result, configuration);

            readExtraRequirements(result, configuration);

            setOptionalDependencies(result, configuration);
        }
    }

    if (result.getEnvironments().isEmpty()) {
        TychoProject projectType = projectTypes.get(project.getPackaging());
        if (projectType != null) {
            TargetEnvironment env = projectType.getImplicitTargetEnvironment(project);
            if (env != null) {
                if (logger.isDebugEnabled()) {
                    logger.debug(
                            "Implicit target environment for " + project.toString() + ": " + env.toString());
                }

                result.addEnvironment(env);
            }
        }
    }

    if (result.getEnvironments().isEmpty()) {
        // applying defaults
        logger.warn("No explicit target runtime environment configuration. Build is platform dependent.");

        // Otherwise, use project or execution properties, if provided
        Properties properties = (Properties) project.getContextValue(TychoConstants.CTX_MERGED_PROPERTIES);

        // Otherwise, use current system os/ws/nl/arch
        String os = PlatformPropertiesUtils.getOS(properties);
        String ws = PlatformPropertiesUtils.getWS(properties);
        String arch = PlatformPropertiesUtils.getArch(properties);

        result.addEnvironment(new TargetEnvironment(os, ws, arch, null /* nl */));

        result.setImplicitTargetEnvironment(true);
    } else {
        result.setImplicitTargetEnvironment(false);
    }

    return result;
}

From source file:org.eclipse.tycho.core.resolver.DefaultTychoDependencyResolver.java

License:Open Source License

public void setupProject(MavenSession session, MavenProject project, ReactorProject reactorProject) {
    AbstractTychoProject dr = (AbstractTychoProject) projectTypes.get(project.getPackaging());
    if (dr == null) {
        return;//from www  .java  2 s.co m
    }

    // generic Eclipse/OSGi metadata

    dr.setupProject(session, project);

    // p2 metadata

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

    TargetPlatformConfiguration configuration = configurationReader.getTargetPlatformConfiguration(session,
            project);
    project.setContextValue(TychoConstants.CTX_TARGET_PLATFORM_CONFIGURATION, configuration);

    TargetPlatformResolver resolver = targetPlatformResolverLocator.lookupPlatformResolver(project);

    resolver.setupProjects(session, project, reactorProject);
}

From source file:org.eclipse.tycho.core.resolver.DefaultTychoDependencyResolver.java

License:Open Source License

public void resolveProject(MavenSession session, MavenProject project, List<ReactorProject> reactorProjects) {
    AbstractTychoProject dr = (AbstractTychoProject) projectTypes.get(project.getPackaging());
    if (dr == null) {
        return;/*from   w ww  . j a v  a 2  s .c  om*/
    }

    TargetPlatformResolver resolver = targetPlatformResolverLocator.lookupPlatformResolver(project);

    // TODO 364134 cache target platform (e.g. by checking if there is already an attached target platform)
    logger.info("Computing target platform for " + project);
    TargetPlatform targetPlatform = resolver.computeTargetPlatform(session, project, reactorProjects);

    dr.setTargetPlatform(project, targetPlatform);

    TargetPlatformConfiguration configuration = TychoProjectUtils.getTargetPlatformConfiguration(project);

    DependencyResolverConfiguration resolverConfiguration = configuration.getDependencyResolverConfiguration();

    logger.info("Resolving dependencies of " + project);
    DependencyArtifacts dependencyArtifacts = resolver.resolveDependencies(session, project, targetPlatform,
            reactorProjects, resolverConfiguration);

    if (logger.isDebugEnabled() && DebugUtils.isDebugEnabled(session, project)) {
        StringBuilder sb = new StringBuilder();
        sb.append("Resolved target platform for ").append(project).append("\n");
        dependencyArtifacts.toDebugString(sb, "  ");
        logger.debug(sb.toString());
    }

    dr.setDependencyArtifacts(session, project, dependencyArtifacts);

    logger.info("Resolving class path of " + project);
    dr.resolveClassPath(session, project);

    resolver.injectDependenciesIntoMavenModel(project, dr, dependencyArtifacts, logger);

    if (logger.isDebugEnabled() && DebugUtils.isDebugEnabled(session, project)) {
        StringBuilder sb = new StringBuilder();
        sb.append("Injected dependencies for ").append(project.toString()).append("\n");
        for (Dependency dependency : project.getDependencies()) {
            sb.append("  ").append(dependency.toString());
        }
        logger.debug(sb.toString());
    }
}

From source file:org.eclipse.tycho.core.resolver.DefaultTychoDependencyResolver.java

License:Open Source License

public void traverse(MavenProject project, final DependencyVisitor visitor) {
    TychoProject tychoProject = projectTypes.get(project.getPackaging());
    if (tychoProject != null) {
        tychoProject.getDependencyWalker(project).walk(new ArtifactDependencyVisitor() {
            public void visitPlugin(org.eclipse.tycho.core.PluginDescription plugin) {
                visitor.visit(plugin);//from   w  w w . j a v  a 2  s  .com
            };

            public boolean visitFeature(org.eclipse.tycho.core.FeatureDescription feature) {
                return visitor.visit(feature);
            };
        });
    } else {
        // TODO do something!
    }
}

From source file:org.eclipse.tycho.core.resolver.DefaultTychoResolver.java

License:Open Source License

@Override
public void setupProject(MavenSession session, MavenProject project, ReactorProject reactorProject) {
    AbstractTychoProject dr = (AbstractTychoProject) projectTypes.get(project.getPackaging());
    if (dr == null) {
        return;//w w w .j  a  v a  2  s .c  o m
    }

    // skip if setup was already done
    if (project.getContextValue(TychoConstants.CTX_MERGED_PROPERTIES) != null) {
        return;
    }

    // generic Eclipse/OSGi metadata

    dr.setupProject(session, project);

    // p2 metadata

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

    setTychoEnvironmentProperties(properties, project);

    TargetPlatformConfiguration configuration = configurationReader.getTargetPlatformConfiguration(session,
            project);
    project.setContextValue(TychoConstants.CTX_TARGET_PLATFORM_CONFIGURATION, configuration);

    ExecutionEnvironmentConfiguration eeConfiguration = new ExecutionEnvironmentConfigurationImpl(logger,
            !configuration.isResolveWithEEConstraints());
    dr.readExecutionEnvironmentConfiguration(project, eeConfiguration);
    project.setContextValue(TychoConstants.CTX_EXECUTION_ENVIRONMENT_CONFIGURATION, eeConfiguration);

    DependencyResolver resolver = dependencyResolverLocator.lookupDependencyResolver(project);
    resolver.setupProjects(session, project, reactorProject);
}

From source file:org.eclipse.tycho.core.resolver.DefaultTychoResolver.java

License:Open Source License

@Override
public void resolveProject(MavenSession session, MavenProject project, List<ReactorProject> reactorProjects) {
    AbstractTychoProject dr = (AbstractTychoProject) projectTypes.get(project.getPackaging());
    if (dr == null) {
        return;// ww  w.  j  a v  a  2s .  com
    }

    DependencyResolver resolver = dependencyResolverLocator.lookupDependencyResolver(project);

    logger.info("Computing target platform for " + project);
    TargetPlatform preliminaryTargetPlatform = resolver.computePreliminaryTargetPlatform(session, project,
            reactorProjects);

    TargetPlatformConfiguration configuration = TychoProjectUtils.getTargetPlatformConfiguration(project);

    DependencyResolverConfiguration resolverConfiguration = configuration.getDependencyResolverConfiguration();

    logger.info("Resolving dependencies of " + project);
    DependencyArtifacts dependencyArtifacts = resolver.resolveDependencies(session, project,
            preliminaryTargetPlatform, reactorProjects, resolverConfiguration);

    if (logger.isDebugEnabled() && DebugUtils.isDebugEnabled(session, project)) {
        StringBuilder sb = new StringBuilder();
        sb.append("Resolved target platform for ").append(project).append("\n");
        dependencyArtifacts.toDebugString(sb, "  ");
        logger.debug(sb.toString());
    }

    dr.setDependencyArtifacts(session, project, dependencyArtifacts);

    logger.info("Resolving class path of " + project);
    dr.resolveClassPath(session, project);

    resolver.injectDependenciesIntoMavenModel(project, dr, dependencyArtifacts, logger);

    if (logger.isDebugEnabled() && DebugUtils.isDebugEnabled(session, project)) {
        StringBuilder sb = new StringBuilder();
        sb.append("Injected dependencies for ").append(project.toString()).append("\n");
        for (Dependency dependency : project.getDependencies()) {
            sb.append("  ").append(dependency.toString());
        }
        logger.debug(sb.toString());
    }
}