public MavenProject getProject() { return session.getCurrentProject(); }
public DependencyContext newDependencyContext( MavenSession session, List<MojoExecution> mojoExecutions ) { Set<String> scopesToCollect = new TreeSet<>(); Set<String> scopesToResolve = new TreeSet<>(); collectDependencyRequirements( scopesToResolve, scopesToCollect, mojoExecutions ); return new DependencyContext( session.getCurrentProject(), scopesToCollect, scopesToResolve ); }
this.mojoExecution = mojoExecution; this.properties = new Properties(); this.project = session.getCurrentProject();
public void execute( MavenSession session, List<MojoExecution> mojoExecutions, ProjectIndex projectIndex ) throws LifecycleExecutionException { DependencyContext dependencyContext = newDependencyContext( session, mojoExecutions ); PhaseRecorder phaseRecorder = new PhaseRecorder( session.getCurrentProject() ); for ( MojoExecution mojoExecution : mojoExecutions ) { execute( session, mojoExecution, projectIndex, dependencyContext, phaseRecorder ); } }
public Object getPluginComponent( Plugin plugin, String role, String roleHint ) throws PluginManagerException, ComponentLookupException { MavenSession session = legacySupport.getSession(); PluginDescriptor pluginDescriptor; try { pluginDescriptor = pluginManager.getPluginDescriptor( plugin, session.getCurrentProject().getRemotePluginRepositories(), session.getRepositorySession() ); pluginManager.setupPluginRealm( pluginDescriptor, session, null, null, null ); } catch ( Exception e ) { throw new PluginManagerException( plugin, e.getMessage(), e ); } ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader(); try { Thread.currentThread().setContextClassLoader( pluginDescriptor.getClassRealm() ); return container.lookup( role, roleHint ); } finally { Thread.currentThread().setContextClassLoader( oldClassLoader ); } }
public Map<String, Object> getPluginComponents( Plugin plugin, String role ) throws ComponentLookupException, PluginManagerException { MavenSession session = legacySupport.getSession(); PluginDescriptor pluginDescriptor; try { pluginDescriptor = pluginManager.getPluginDescriptor( plugin, session.getCurrentProject().getRemotePluginRepositories(), session.getRepositorySession() ); pluginManager.setupPluginRealm( pluginDescriptor, session, null, null, null ); } catch ( Exception e ) { throw new PluginManagerException( plugin, e.getMessage(), e ); } ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader(); try { Thread.currentThread().setContextClassLoader( pluginDescriptor.getClassRealm() ); return container.lookupMap( role ); } finally { Thread.currentThread().setContextClassLoader( oldClassLoader ); } }
@SuppressWarnings( { "UnusedDeclaration" } ) public MavenExecutionPlan calculateExecutionPlan( MavenSession session, boolean setup, String... tasks ) throws PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException, MojoNotFoundException, NoPluginFoundForPrefixException, InvalidPluginDescriptorException, PluginManagerException, LifecyclePhaseNotFoundException, LifecycleNotFoundException, PluginVersionResolutionException { List<TaskSegment> taskSegments = lifecycleTaskSegmentCalculator.calculateTaskSegments( session, Arrays.asList( tasks ) ); TaskSegment mergedSegment = new TaskSegment( false ); for ( TaskSegment taskSegment : taskSegments ) { mergedSegment.getTasks().addAll( taskSegment.getTasks() ); } return lifecycleExecutionPlanCalculator.calculateExecutionPlan( session, session.getCurrentProject(), mergedSegment.getTasks(), setup ); }
protected void initializePublisher( @NonNull String packageName ) throws MojoExecutionException { getLog().debug( "Initializing publisher" ); if ( projectName == null || projectName.equals( "" ) ) { projectName = this.session.getCurrentProject().getName(); } try { AndroidPublisher publisher = AndroidPublisherHelper.init( projectName, publisherEmail, p12File ); edits = publisher.edits(); AndroidPublisher.Edits.Insert editRequest = edits.insert( packageName, null ); AppEdit edit = editRequest.execute(); editId = edit.getId(); } catch ( Exception e ) { throw new MojoExecutionException( e.getMessage(), e ); } }
Map<String, Object> retrieveContext( MavenSession session ) { Map<String, Object> context = null; if ( session != null ) { PluginDescriptor desc = new PluginDescriptor(); desc.setGroupId( PluginDescriptor.getDefaultPluginGroupId() ); desc.setArtifactId( PluginDescriptor.getDefaultPluginArtifactId( "toolchains" ) ); MavenProject current = session.getCurrentProject(); if ( current != null ) { //TODO why is this using the context context = session.getPluginContext( desc, current ); } } return ( context != null ) ? context : new HashMap<String, Object>(); }
MavenProject project = session.getCurrentProject();
public Plugin findPluginForPrefix( String prefix, MavenSession session ) throws NoPluginFoundForPrefixException { // [prefix]:[goal] if ( session.getCurrentProject() != null ) { try { lifecyclePluginResolver.resolveMissingPluginVersions( session.getCurrentProject(), session ); } catch ( PluginVersionResolutionException e ) { // not critical here logger.debug( e.getMessage(), e ); } } PluginPrefixRequest prefixRequest = new DefaultPluginPrefixRequest( prefix, session ); PluginPrefixResult prefixResult = pluginPrefixResolver.resolve( prefixRequest ); Plugin plugin = new Plugin(); plugin.setGroupId( prefixResult.getGroupId() ); plugin.setArtifactId( prefixResult.getArtifactId() ); return plugin; }
private void calculateForkedExecutions( MojoExecution mojoExecution, MavenSession session, MavenProject project, Collection<MojoDescriptor> alreadyForkedExecutions ) throws MojoNotFoundException, PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException, NoPluginFoundForPrefixException, InvalidPluginDescriptorException, LifecyclePhaseNotFoundException, LifecycleNotFoundException, PluginVersionResolutionException { MojoDescriptor mojoDescriptor = mojoExecution.getMojoDescriptor(); if ( !mojoDescriptor.isForking() ) { return; } if ( !alreadyForkedExecutions.add( mojoDescriptor ) ) { return; } List<MavenProject> forkedProjects = LifecycleDependencyResolver.getProjects( project, session, mojoDescriptor.isAggregator() ); for ( MavenProject forkedProject : forkedProjects ) { if ( forkedProject != project ) { lifecyclePluginResolver.resolveMissingPluginVersions( forkedProject, session ); } List<MojoExecution> forkedExecutions;
/** * Creates a request for the specified plugin by copying settings from the specified build session. If the session * has a current project, its plugin repositories will be used as well. * * @param plugin The plugin for which to resolve a version, must not be {@code null}. * @param session The Maven session to use, must not be {@code null}. */ public DefaultPluginVersionRequest( Plugin plugin, MavenSession session ) { setGroupId( plugin.getGroupId() ); setArtifactId( plugin.getArtifactId() ); setRepositorySession( session.getRepositorySession() ); MavenProject project = session.getCurrentProject(); if ( project != null ) { setRepositories( project.getRemotePluginRepositories() ); } }
public PluginDescriptor getPluginDescriptorForPrefix( String prefix ) { MavenSession session = legacySupport.getSession(); PluginPrefixRequest request = new DefaultPluginPrefixRequest( prefix, session ); try { PluginPrefixResult result = pluginPrefixResolver.resolve( request ); Plugin plugin = new Plugin(); plugin.setGroupId( result.getGroupId() ); plugin.setArtifactId( result.getArtifactId() ); return loadPluginDescriptor( plugin, session.getCurrentProject(), session ); } catch ( Exception e ) { return null; } }
/** * Creates a request for the specified plugin prefix and build session. The provided build session will be used to * configure repository settings. If the session has a current project, its plugin repositories and model will be * used as well. * * @param prefix The plugin prefix to resolve, must not be {@code null}. * @param session The build session from which to derive further settings, must not be {@code null}. */ public DefaultPluginPrefixRequest( String prefix, MavenSession session ) { setPrefix( prefix ); setRepositorySession( session.getRepositorySession() ); MavenProject project = session.getCurrentProject(); if ( project != null ) { setRepositories( project.getRemotePluginRepositories() ); setPom( project.getModel() ); } setPluginGroups( session.getPluginGroups() ); }
private void createPluginRealm( PluginDescriptor pluginDescriptor, MavenSession session, ClassLoader parent, Map<String, ClassLoader> foreignImports, DependencyFilter filter ) throws PluginResolutionException, PluginContainerException { Plugin plugin = Objects.requireNonNull( pluginDescriptor.getPlugin(), "pluginDescriptor.plugin cannot be null" ); Artifact pluginArtifact = Objects.requireNonNull( pluginDescriptor.getPluginArtifact(), "pluginDescriptor.pluginArtifact cannot be null" ); MavenProject project = session.getCurrentProject(); final ClassRealm pluginRealm; final List<Artifact> pluginArtifacts; RepositorySystemSession repositorySession = session.getRepositorySession(); DependencyFilter dependencyFilter = project.getExtensionDependencyFilter(); dependencyFilter = AndDependencyFilter.newInstance( dependencyFilter, filter ); DependencyNode root = pluginDependenciesResolver.resolve( plugin, RepositoryUtils.toArtifact( pluginArtifact ), dependencyFilter, project.getRemotePluginRepositories(), repositorySession ); PreorderNodeListGenerator nlg = new PreorderNodeListGenerator(); root.accept( nlg ); pluginArtifacts = toMavenArtifacts( root, nlg ); pluginRealm = classRealmManager.createPluginRealm( plugin, parent, null, foreignImports, toAetherArtifacts( pluginArtifacts ) ); discoverPluginComponents( pluginRealm, plugin, pluginDescriptor ); pluginDescriptor.setClassRealm( pluginRealm ); pluginDescriptor.setArtifacts( pluginArtifacts ); }
LifecycleDependencyResolver.getProjects( session.getCurrentProject(), session, mojoDescriptor.isAggregator() ); for ( MavenProject projectToResolve : projectsToResolve )
request.setProxies( session.getRequest().getProxies() ); request.setLocalRepository( session.getLocalRepository() ); request.setRemoteRepositories( session.getCurrentProject().getRemoteArtifactRepositories() );
MavenProject project = session.getCurrentProject();
request.setTrace( RequestTrace.newChild( null, legacySupport.getSession().getCurrentProject() ) );