Example usage for org.apache.maven.execution MavenSession getSystemProperties

List of usage examples for org.apache.maven.execution MavenSession getSystemProperties

Introduction

In this page you can find the example usage for org.apache.maven.execution MavenSession getSystemProperties.

Prototype

public Properties getSystemProperties() 

Source Link

Document

Gets the system properties to use for interpolation and profile activation.

Usage

From source file:io.takari.maven.workspace.GenerationsWorkspaceReader.java

License:Apache License

@Inject
public GenerationsWorkspaceReader(MavenSession session) {

    String forceArtifactResolutionFromReactor = session.getSystemProperties()
            .getProperty("maven.forceArtifactResolutionFromReactor");
    if (forceArtifactResolutionFromReactor != null && forceArtifactResolutionFromReactor.equals("true")) {
        allowArtifactsWithoutAFileToBeResolvedInTheReactor = Boolean
                .parseBoolean(forceArtifactResolutionFromReactor);
    }/*from   www . ja va  2 s.  c om*/

    //
    // Right now this is only enabled for the maven-eclipse-plugin
    //
    String resolveFromWorkspaceProperty = session.getSystemProperties()
            .getProperty("maven.workspaceResolutionEnabled");
    if (resolveFromWorkspaceProperty != null && resolveFromWorkspaceProperty.equals("true")) {
        workspaceResolutionEnabled = Boolean.parseBoolean(resolveFromWorkspaceProperty);
    }

    //
    // Buildspace
    //
    buildProjects = session.getProjectMap();
    buildProjectsByGA = new HashMap<String, List<MavenProject>>();

    for (MavenProject project : buildProjects.values()) {
        String key = ArtifactUtils.versionlessKey(project.getGroupId(), project.getArtifactId());
        List<MavenProject> projects = buildProjectsByGA.get(key);
        if (projects == null) {
            projects = new ArrayList<MavenProject>(1);
            buildProjectsByGA.put(key, projects);
        }
        projects.add(project);
    }

    //
    // Workspace
    //
    workspaceProjects = getProjectMap(session.getAllProjects());
    workspaceProjectsByGA = new HashMap<String, List<MavenProject>>();

    for (MavenProject project : workspaceProjects.values()) {
        String key = ArtifactUtils.versionlessKey(project.getGroupId(), project.getArtifactId());
        List<MavenProject> projects = workspaceProjectsByGA.get(key);
        if (projects == null) {
            projects = new ArrayList<MavenProject>(1);
            workspaceProjectsByGA.put(key, projects);
        }
        projects.add(project);
    }

    repository = new WorkspaceRepository("reactor", new HashSet<String>(buildProjects.keySet()));
}

From source file:kr.motd.maven.os.DetectExtension.java

License:Apache License

@Override
public void afterProjectsRead(MavenSession session) throws MavenExecutionException {
    Properties sessionProps = session.getSystemProperties();

    // Detect the OS and CPU architecture.
    try {/*from   www . j  av  a 2 s  . c om*/
        detector.detect(sessionProps);
    } catch (DetectionException e) {
        throw new MavenExecutionException(e.getMessage(), session.getCurrentProject().getFile());
    }

    // Generate the dictionary.
    Map<String, String> dict = new LinkedHashMap<String, String>();
    dict.put(Detector.DETECTED_NAME, sessionProps.getProperty(Detector.DETECTED_NAME));
    dict.put(Detector.DETECTED_ARCH, sessionProps.getProperty(Detector.DETECTED_ARCH));
    dict.put(Detector.DETECTED_CLASSIFIER, sessionProps.getProperty(Detector.DETECTED_CLASSIFIER));

    // Inject the current session.
    injectSession(session, dict);

    /// Perform the interpolation for the properties of all dependencies.
    for (MavenProject p : session.getProjects()) {
        interpolate(dict, p);
    }
}

From source file:ms.dew.devops.maven.mojo.BasicMojo.java

License:Apache License

/**
 * ?Maven./*from   w w w .j  av  a  2  s.c om*/
 *
 * @param session maven mavenSession
 * @return properties maven properties
 */
private static Map<String, String> getMavenProperties(MavenSession session) {
    Map<String, String> props = new HashMap<>();
    props.putAll(session.getSystemProperties().entrySet().stream().collect(Collectors.toMap(
            prop -> prop.getKey().toString().toLowerCase().trim(), prop -> prop.getValue().toString().trim())));
    props.putAll(session.getUserProperties().entrySet().stream().collect(Collectors.toMap(
            prop -> prop.getKey().toString().toLowerCase().trim(), prop -> prop.getValue().toString().trim())));
    // Support gitlab ci runner by chart.
    props.putAll(props.entrySet().stream().filter(prop -> prop.getKey().startsWith("env."))
            .collect(Collectors.toMap(prop -> prop.getKey().substring("env.".length()), Map.Entry::getValue)));
    return props;
}

From source file:org.apache.sling.maven.projectsupport.BundleListUtils.java

License:Apache License

public static Interpolator createInterpolator(MavenProject project, MavenSession mavenSession) {
    StringSearchInterpolator interpolator = new StringSearchInterpolator();

    final Properties props = new Properties();
    props.putAll(project.getProperties());
    props.putAll(mavenSession.getSystemProperties());
    props.putAll(mavenSession.getUserProperties());

    interpolator.addValueSource(new PropertiesBasedValueSource(props));

    // add ${project.foo}
    interpolator.addValueSource(new PrefixedObjectValueSource(Arrays.asList("project", "pom"), project, true));

    // add ${session.foo}
    interpolator.addValueSource(new PrefixedObjectValueSource("session", mavenSession));

    // add ${settings.foo}
    final Settings settings = mavenSession.getSettings();
    if (settings != null) {
        interpolator.addValueSource(new PrefixedObjectValueSource("settings", settings));
    }/*from w  ww.  ja  v  a2 s. c o m*/

    return interpolator;
}

From source file:org.codehaus.mojo.unix.maven.plugin.MavenProjectWrapper.java

License:Open Source License

public static MavenProjectWrapper mavenProjectWrapper(final MavenProject project, MavenSession session) {
    SortedMap<String, String> properties = new TreeMap<String, String>();

    // This is perhaps not ideal. Maven uses reflection to dynamically extract properties from the project
    // when interpolating each file. This uses a static list that doesn't contain the project.* properties, except
    // the new we hard-code support for.
    ///*from w w  w  .  jav  a  2  s  .co  m*/
    // The user can work around this like this:
    // <properties>
    //   <project.build.directory>${project.build.directory}</project.build.directory>
    // </properties>
    //
    // If this has to change, the properties has to be a F<String, String> and interpolation tokens ("${" and "}")
    // has to be defined. Doable but too painful for now.
    properties.putAll(toMap(session.getSystemProperties()));
    properties.putAll(toMap(session.getUserProperties()));
    properties.putAll(toMap(project.getProperties()));
    properties.put("project.groupId", project.getGroupId());
    properties.put("project.artifactId", project.getArtifactId());
    properties.put("project.version", project.getVersion());

    return new MavenProjectWrapper(project.getGroupId(), project.getArtifactId(), project.getVersion(),
            project.getArtifact(), project.getName(), project.getDescription(), project.getBasedir(),
            new File(project.getBuild().getDirectory()), new LocalDateTime(), project.getArtifacts(),
            project.getLicenses(), new ArtifactMap(project.getArtifacts()), unmodifiableSortedMap(properties));
}

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/*from  w  w w. j a v a  2s.  c o 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.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;//www  .j a  v  a 2 s .  c  o 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.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;/*  ww w .j av 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.plugins.p2.publisher.PublishProductMojo.java

License:Open Source License

protected Interpolator newInterpolator() {
    final MavenProject mavenProject = getProject();
    final MavenSession mavenSession = getSession();
    final Properties baseProps = new Properties();
    baseProps.putAll(mavenProject.getProperties());
    baseProps.putAll(mavenSession.getSystemProperties());
    baseProps.putAll(mavenSession.getUserProperties());

    final Settings settings = mavenSession.getSettings();

    // roughly match resources plugin behaviour

    final StringSearchInterpolator interpolator = new StringSearchInterpolator();
    interpolator.addValueSource(new PrefixedObjectValueSource("project", mavenProject));
    interpolator.addValueSource(new PrefixedObjectValueSource("settings", settings));
    interpolator//  w  w w.  jav a  2s .c  o m
            .addValueSource(new SingleResponseValueSource("localRepository", settings.getLocalRepository()));
    interpolator.addValueSource(new ValueSource() {
        public Object getValue(String expression) {
            return baseProps.getProperty(expression);
        }

        public void clearFeedback() {
        }

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

From source file:org.jfrog.build.extractor.maven.BuildInfoRecorderLifecycleParticipant.java

License:Apache License

private ArtifactoryClientConfiguration getConfiguration(MavenSession session) {
    if (internalConfiguration != null) {
        return internalConfiguration;
    }//from ww w.j  a  v  a2 s .  c o  m
    Properties allMavenProps = new Properties();
    allMavenProps.putAll(session.getSystemProperties());
    allMavenProps.putAll(session.getUserProperties());

    Maven3BuildInfoLogger log = new Maven3BuildInfoLogger(logger);
    Properties allProps = BuildInfoExtractorUtils.mergePropertiesWithSystemAndPropertyFile(allMavenProps, log);
    internalConfiguration = new ArtifactoryClientConfiguration(log);
    internalConfiguration.fillFromProperties(allProps);
    return internalConfiguration;
}