/** * Gets the user properties to use for interpolation and profile activation. The user properties have been * configured directly by the user on his discretion, e.g. via the {@code -Dkey=value} parameter on the command * line. * * @return The user properties, never {@code null}. */ public Properties getUserProperties() { return request.getUserProperties(); }
/** * @deprecated Use either {@link #getUserProperties()} or {@link #getSystemProperties()}. */ @Deprecated public Properties getExecutionProperties() { if ( executionProperties == null ) { executionProperties = new Properties(); executionProperties.putAll( request.getSystemProperties() ); executionProperties.putAll( request.getUserProperties() ); } return executionProperties; }
String localRepoProperty = request.getUserProperties().getProperty( MavenCli.LOCAL_REPO_PROPERTY );
/** @since 2.1 */ public Settings buildSettings( MavenExecutionRequest request ) throws IOException, XmlPullParserException { SettingsBuildingRequest settingsRequest = new DefaultSettingsBuildingRequest(); settingsRequest.setUserSettingsFile( request.getUserSettingsFile() ); settingsRequest.setGlobalSettingsFile( request.getGlobalSettingsFile() ); settingsRequest.setUserProperties( request.getUserProperties() ); settingsRequest.setSystemProperties( request.getSystemProperties() ); return build( settingsRequest ); }
configProps.put( ConfigurationProperties.INTERACTIVE, request.isInteractiveMode() ); configProps.putAll( request.getSystemProperties() ); configProps.putAll( request.getUserProperties() ); session.setUserProperties( request.getUserProperties() ); session.setSystemProperties( request.getSystemProperties() ); session.setConfigProperties( configProps );
private void setup( String gav, ClassRealm realm ) throws MalformedURLException { // looking into another JRUBY_HOME is for jruby itself only to allow // jruby build to use itself for bootstraping // see if we have shall use jruby from somewhere else String jrubyHome = System.getenv( "POLYGLOT_JRUBY_HOME" ); if ( jrubyHome == null ){ jrubyHome = System.getProperty( JRUBY_HOME ); } if ( jrubyHome == null ){ jrubyHome = legacySupport.getSession().getRequest().getUserProperties().getProperty( JRUBY_HOME ); } if ( jrubyHome == null ){ jrubyHome = legacySupport.getSession().getRequest().getSystemProperties().getProperty( JRUBY_HOME ); } if ( jrubyHome == null && legacySupport.getSession().getCurrentProject() != null ){ jrubyHome = legacySupport.getSession().getCurrentProject().getProperties().getProperty( JRUBY_HOME ); } if (jrubyHome != null ){ setupFromJrubyHome( jrubyHome, realm ); } else { // use jruby from an artifact doSetupArtifact( gav, realm ); } }
copy.setPom( original.getPom() ); copy.setSystemProperties( original.getSystemProperties() ); copy.setUserProperties( original.getUserProperties() ); copy.setShowErrors( original.isShowErrors() ); copy.setActiveProfiles( original.getActiveProfiles() );
private String getPropertyValueInCommandLine(String propertyName, MavenSession session) { if (session == null) { return null; } return session.getRequest().getUserProperties().getProperty(propertyName); }
private void customizeGoalsExecutions(MavenSession session) { if (session.getRequest().getGoals().contains("bw6:p2maven-install")) { session.getRequest().getUserProperties().put("bw6MavenSkip", "true"); p2ResolveEnabled = false; } if (session.getRequest().getGoals().contains("bw6:studio-proxy-install")) { // session.getRequest().getUserProperties().put("bw6MavenSkip", "true"); p2ResolveEnabled = false; } if (session.getRequest().getGoals().contains("bw6:studio") || session.getRequest().getGoals().contains("bw6:workspace")) { p2ResolveEnabled = false; } }
public boolean propertyExists(MavenProject mavenProject, String propertyName) { return mavenProject.getOriginalModel().getProperties().containsKey(propertyName) || mavenProject.getModel().getProperties().containsKey(propertyName) || session.getRequest().getUserProperties().containsKey(propertyName) || propertyExistsInSettings(propertyName, session.getSettings()); }
protected List<MavenProject> getSortedProjects(File basedir, Properties userProperties, File platform) throws Exception { File pom = new File(basedir, "pom.xml"); MavenExecutionRequest request = newMavenExecutionRequest(pom); request.getProjectBuildingRequest().setProcessPlugins(false); request.setLocalRepository(getLocalRepository()); if (platform != null) { request.getUserProperties().put("tycho.targetPlatform", platform.getAbsolutePath()); } if (userProperties != null) { request.getUserProperties().putAll(userProperties); } MavenExecutionResult result = maven.execute(request); if (result.hasExceptions()) { throw new CompoundRuntimeException(result.getExceptions()); } return result.getTopologicallySortedProjects(); }
/** * Gets the maven session. * * @return the maven session */ public static MavenSession getMavenSession() { PlexusContainer mock = mock( PlexusContainer.class ); MavenExecutionRequest mer = mock( MavenExecutionRequest.class ); Properties systemProperties = new Properties(); systemProperties.put( "maven.version", "3.0" ); when( mer.getUserProperties() ).thenReturn( new Properties() ); when( mer.getSystemProperties() ).thenReturn( systemProperties ); MavenExecutionResult meresult = mock( MavenExecutionResult.class ); return new MavenSession( mock, (RepositorySystemSession) null, mer, meresult ); }
@Override public void afterSessionStart( MavenSession session ) throws MavenExecutionException { if ( session.getRequest().getUserProperties().containsKey( "flexmojos.ignore.dependency.order" ) ) { return; } List<MavenProject> projects = session.getProjects(); for ( MavenProject project : projects ) { fixPlugin( project.getPlugin( FLEXMOJOS ) ); fixPlugin( project.getPluginManagement().getPluginsAsMap().get( FLEXMOJOS ) ); } }
protected List<MavenProject> getSortedProjects(File basedir, File platform) throws Exception { File pom = new File(basedir, "pom.xml"); MavenExecutionRequest request = newMavenExecutionRequest(pom); request.getProjectBuildingRequest().setProcessPlugins(false); request.setLocalRepository(getLocalRepository()); if (platform != null) { request.getUserProperties().put("tycho.targetPlatform", platform.getCanonicalPath()); } MavenExecutionResult result = maven.execute( request ); if (result.hasExceptions()) { throw new CompoundRuntimeException(result.getExceptions()); } return result.getTopologicallySortedProjects(); }
private void setup( String gav, ClassRealm realm ) throws MalformedURLException { // looking into another JRUBY_HOME is for jruby itself only to allow // jruby build to use itself for bootstraping // see if we have shall use jruby from somewhere else String jrubyHome = System.getenv( "POLYGLOT_JRUBY_HOME" ); if ( jrubyHome == null ){ jrubyHome = System.getProperty( JRUBY_HOME ); } if ( jrubyHome == null ){ jrubyHome = legacySupport.getSession().getRequest().getUserProperties().getProperty( JRUBY_HOME ); } if ( jrubyHome == null ){ jrubyHome = legacySupport.getSession().getRequest().getSystemProperties().getProperty( JRUBY_HOME ); } if ( jrubyHome == null && legacySupport.getSession().getCurrentProject() != null ){ jrubyHome = legacySupport.getSession().getCurrentProject().getProperties().getProperty( JRUBY_HOME ); } if (jrubyHome != null ){ setupFromJrubyHome( jrubyHome, realm ); } else { // use jruby from an artifact doSetupArtifact( gav, realm ); } }
private void setup( String gav, ClassRealm realm ) throws MalformedURLException { // see if we have a jruby-home set somewhere String jrubyHome = System.getenv( "JRUBY_HOME" ); if ( jrubyHome == null ){ jrubyHome = System.getProperty( JRUBY_HOME ); } if ( jrubyHome == null ){ jrubyHome = legacySupport.getSession().getRequest().getUserProperties().getProperty( JRUBY_HOME ); } if ( jrubyHome == null ){ jrubyHome = legacySupport.getSession().getRequest().getSystemProperties().getProperty( JRUBY_HOME ); } if ( jrubyHome == null && legacySupport.getSession().getCurrentProject() != null ){ jrubyHome = legacySupport.getSession().getCurrentProject().getProperties().getProperty( JRUBY_HOME ); } if (jrubyHome != null ){ setupFromJrubyHome( jrubyHome ); } else { // use jruby from an artifact super.setupArtifact( gav, realm ); } }
@Override public void afterProjectsRead( MavenSession session ) throws MavenExecutionException { if ( session.getRequest().getUserProperties().containsKey( "flexmojos.ignore.broken.artifacts" ) ) { return; } session.getRequest().setRemoteRepositories( fixRepos( session.getRequest().getRemoteRepositories() ) ); for ( MavenProject p : session.getProjects() ) { p.setRemoteArtifactRepositories( fixRepos( p.getRemoteArtifactRepositories() ) ); } }
public MavenExecutionResult compileAndGenerateJavadoc(File pom) throws MavenException { try { MavenExecutionRequest request = createExecutionRequest(); lookup(MavenExecutionRequestPopulator.class).populateDefaults(request); request.setPom(pom); ProjectBuildingRequest configuration = request.getProjectBuildingRequest(); configuration.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL); configuration.setRepositorySession(createRepositorySession(request)); configuration.setResolveDependencies(true); configuration.setResolveVersionRanges(true); request.setGoals(Arrays.asList(new String[] { "compile", "javadoc:javadoc" })); Properties userProperties = (Properties) request.getUserProperties().clone(); userProperties.put("show", "private"); request.setUserProperties(userProperties); return lookup(Maven.class).execute(request); } catch (MavenExecutionRequestPopulationException e) { throw new MavenException(e); } }
@SuppressWarnings("deprecation") protected MavenExecutionRequest newExecutionRequest() throws Exception { // system properties Properties buildProperties = getMavenBuildProperties(); String mavenVersion = buildProperties.getProperty("version"); Properties systemProperties = new Properties(); systemProperties.putAll(System.getProperties()); // TODO not thread safe systemProperties.setProperty("maven.version", mavenVersion); systemProperties.setProperty("maven.build.version", mavenVersion); // request with initial configuration MavenExecutionRequest request = new DefaultMavenExecutionRequest(); request.setLocalRepositoryPath(properties.getLocalRepository()); request.setUserSettingsFile(properties.getUserSettings()); request.setGlobalSettingsFile(properties.getGlobalSettings()); request.setOffline(properties.getOffline()); request.setUpdateSnapshots(properties.getUpdateSnapshots()); request.setSystemProperties(systemProperties); // read settings SettingsBuildingRequest settingsRequest = new DefaultSettingsBuildingRequest(); settingsRequest.setGlobalSettingsFile(request.getGlobalSettingsFile()); settingsRequest.setUserSettingsFile(request.getUserSettingsFile()); settingsRequest.setSystemProperties(request.getSystemProperties()); settingsRequest.setUserProperties(request.getUserProperties()); Settings settings = lookup(SettingsBuilder.class).build(settingsRequest).getEffectiveSettings(); MavenExecutionRequestPopulator populator = container.lookup(MavenExecutionRequestPopulator.class); request = populator.populateFromSettings(request, settings); return populator.populateDefaults(request); }
void backGroundBuild(MavenProject project) throws MojoExecutionException { MavenExecutionRequest executionRequest = session.getRequest(); InvocationRequest request = new DefaultInvocationRequest(); request.setBaseDirectory(project.getBasedir()); request.setPomFile(project.getFile()); request.setGoals(executionRequest.getGoals()); request.setRecursive(false); request.setInteractive(false); request.setProfiles(executionRequest.getActiveProfiles()); request.setProperties(executionRequest.getUserProperties()); Invoker invoker = new DefaultInvoker(); try { InvocationResult result = invoker.execute(request); if (result.getExitCode() != 0) { throw new IllegalStateException("Error invoking Maven goals:[" + StringUtils.join(executionRequest.getGoals(), ", ") + "]", result.getExecutionException()); } } catch (MavenInvocationException e) { throw new IllegalStateException("Error invoking Maven goals:[" + StringUtils.join(executionRequest.getGoals(), ", ") + "]", e); } } }