private boolean isSingleVersionedReactor( MavenSession session ) { boolean result = true; MavenProject topProject = session.getTopLevelProject(); List<MavenProject> sortedProjects = session.getProjectDependencyGraph().getSortedProjects(); for ( MavenProject mavenProject : sortedProjects ) { if ( !topProject.getVersion().equals( mavenProject.getVersion() ) ) { result = false; break; } } return result; }
public List<TaskSegment> calculateTaskSegments( MavenSession session ) throws PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException, MojoNotFoundException, NoPluginFoundForPrefixException, InvalidPluginDescriptorException, PluginVersionResolutionException, LifecyclePhaseNotFoundException, LifecycleNotFoundException { MavenProject rootProject = session.getTopLevelProject(); List<String> tasks = session.getGoals(); if ( ( tasks == null || tasks.isEmpty() ) && !StringUtils.isEmpty( rootProject.getDefaultGoal() ) ) { tasks = Arrays.asList( StringUtils.split( rootProject.getDefaultGoal() ) ); } return calculateTaskSegments( session, tasks ); }
summary.append( session.getTopLevelProject().getName() ); summary.append( " " ); summary.append( session.getTopLevelProject().getVersion() );
public ProjectBuildList calculateProjectBuilds( MavenSession session, List<TaskSegment> taskSegments ) { List<ProjectSegment> projectBuilds = new ArrayList<>(); MavenProject rootProject = session.getTopLevelProject(); for ( TaskSegment taskSegment : taskSegments ) { List<MavenProject> projects; if ( taskSegment.isAggregating() ) { projects = Collections.singletonList( rootProject ); } else { projects = session.getProjects(); } for ( MavenProject project : projects ) { BuilderCommon.attachToThread( project ); // Not totally sure if this is needed for anything MavenSession copiedSession = session.clone(); copiedSession.setCurrentProject( project ); projectBuilds.add( new ProjectSegment( project, taskSegment, copiedSession ) ); } } return new ProjectBuildList( projectBuilds ); } }
lifecyclePluginResolver.resolveMissingPluginVersions( session.getTopLevelProject(), session ); mojoDescriptorCreator.getMojoDescriptor( task, session, session.getTopLevelProject() );
result.setProject( session.getTopLevelProject() );
@Override public File getReportOutputDirectory() { return new File(mavenSession.getTopLevelProject().getBasedir(), "target/site"); }
/** * Returns the value for {@link Property#enabled} without initializing all the other configuration fields to abort quickly without any additional overhead. * * @param session the current session * @return whether or not GIB is enabled or not */ public static boolean isEnabled(MavenSession session) { return Boolean.valueOf(Property.enabled.getValue(session.getTopLevelProject().getProperties())); }
public static String getExecutionProperty(final ExecutionEvent event, final String property, final String def) { MavenSession mavenSession = event.getSession(); Properties systemProperties = mavenSession.getSystemProperties(); Properties userProperties = mavenSession.getUserProperties(); Properties projectProperties = mavenSession.getTopLevelProject() == null ? null : mavenSession.getTopLevelProject().getProperties(); String output = userProperties.getProperty(property); output = output == null ? projectProperties != null ? projectProperties.getProperty(property) : null : output; output = output == null ? systemProperties.getProperty(property) : output; return output == null ? def : output; } }
private boolean isSingleVersionedReactor( MavenSession session ) { boolean result = true; MavenProject topProject = session.getTopLevelProject(); List<MavenProject> sortedProjects = session.getProjectDependencyGraph().getSortedProjects(); for ( MavenProject mavenProject : sortedProjects ) { if ( !topProject.getVersion().equals( mavenProject.getVersion() ) ) { result = false; break; } } return result; }
private boolean havingScmDeveloperConnection( MavenSession session ) { if ( session.getTopLevelProject().getScm() == null ) { LOGGER.error( "The incremental module builder needs a correct scm configuration." ); return false; } if ( StringUtils.isEmpty( session.getTopLevelProject().getScm().getDeveloperConnection() ) ) { LOGGER.error( "The incremental module builder needs the scm developerConnection to work properly." ); return false; } return true; }
/** * Main plugin execution */ public void execute() { if ( runOnlyAtExecutionRoot && !getProject().isExecutionRoot() ) { getLog().info( "Skip getting the rootlocation in this project because it's not the Execution Root" ); } else { defineProperty( rootLocationProperty, session.getTopLevelProject().getBasedir().getAbsolutePath() ); } }
/** * Main plugin execution */ public void execute() { if ( runOnlyAtExecutionRoot && !getProject().isExecutionRoot() ) { getLog().info( "Skip getting the rootlocation in this project because it's not the Execution Root" ); } else { defineProperty( rootLocationProperty, session.getTopLevelProject().getBasedir().getAbsolutePath() ); } }
private Set<File> filterUnchangedFiles(Set<File> originalFiles) throws MojoExecutionException { MavenProject topLevelProject = session.getTopLevelProject(); try { String connectionUrl = MoreObjects.firstNonNull( topLevelProject.getScm().getConnection(), topLevelProject.getScm().getDeveloperConnection()); ScmRepository repository = scmManager.makeScmRepository(connectionUrl); ScmFileSet scmFileSet = new ScmFileSet(topLevelProject.getBasedir()); String basePath = topLevelProject.getBasedir().getAbsoluteFile().getPath(); List<String> changedFiles = scmManager.status(repository, scmFileSet).getChangedFiles().stream() .map(f -> String.format("%s/%s", basePath, f.getPath())) .collect(Collectors.toList()); return originalFiles.stream() .filter(f -> changedFiles.contains(f.getPath())) .collect(Collectors.toSet()); } catch (ScmException e) { throw new MojoExecutionException(e.getMessage(), e); } }
private void trySaveTopProject(ExecutionEvent event) { if (event.getType() == SessionStarted) { statistics.setTopProject(event.getSession().getTopLevelProject()); } }
protected void merge(String childId) { if (mergeAfterCreate == false) { return ; } try { if (mavenSession.getTopLevelProject().getId().equals(mavenSession.getCurrentProject().getId())){ return ; } String parentProjectId = (String) mavenSession.getTopLevelProject().getContextValue("veye_project_id"); getLog().debug("parentProjectId: " + parentProjectId); String url = fetchBaseUrl() + apiPath + "/projects/" + parentProjectId + "/merge/" + childId + "?api_key=" + fetchApiKey(); String response = HttpUtils.get(url); getLog().debug("merge response: " + response); } catch (Exception ex) { getLog().error(ex); } }
/** * Invoked after all MavenProject instances have been created. * <p/> * This callback is intended to allow extensions to manipulate MavenProjects * before they are sorted and actual build execution starts. */ public void afterProjectsRead(MavenSession mavenSession) throws MavenExecutionException { final MavenProject topLevelProject = mavenSession.getTopLevelProject(); List<String> subModules = topLevelProject.getModules(); if (subModules != null && subModules.size() > 0) { //We're in a multi-module build, we need to trigger model merging on all sub-modules for (MavenProject subModule : mavenSession.getProjects()) { if (subModule != topLevelProject) { mergeTiles(subModule, mavenSession); } } } else { mergeTiles(topLevelProject, mavenSession); } }
protected ProjectJsonResponse uploadDependencies(ByteArrayOutputStream outStream) throws Exception { try { String projectId = fetchProjectId(); if (mavenSession.getTopLevelProject().getId().equals(mavenSession.getCurrentProject().getId())){ mavenSession.getTopLevelProject().setContextValue("veye_project_id", projectId); } return updateExistingProject(resource, projectId, outStream); } catch (Exception ex) { getLog().error("Error in UpdateMojo.uploadDependencies " + ex.getMessage()); ProjectJsonResponse response = createNewProject("/projects?api_key=", outStream); if (updatePropertiesAfterCreate) { writeProperties( response ); } merge( response.getId() ); return response; } }
protected void prettyPrint(ProjectJsonResponse response) throws Exception { getLog().info("."); getLog().info("Project id: " + response.getId()); getLog().info("Project name: " + response.getName()); getLog().info("Project groupId: " + response.getGroup_id()); getLog().info("Project artifactId: " + response.getArtifact_id()); getLog().info("Dependencies: " + response.getDep_number()); getLog().info("Outdated: " + response.getOut_number()); for (ProjectDependency dependency : response.getDependencies() ){ if (dependency.getOutdated() == false){ continue; } getLog().info(" - " + dependency.getProd_key() + ":" + dependency.getVersion_requested() + " -> " + dependency.getVersion_current()); } getLog().info(""); String projectID = (String) mavenSession.getTopLevelProject().getContextValue("veye_project_id"); getLog().info("You can find your updated project here: " + fetchBaseUrl() + "/user/projects/" + projectID); getLog().info(""); }
private static <T> void enforceGlobalProperties(MavenSession session, BuildPluginManager pluginManager, Logger logger, Class<T> fromClass, String pluginKey) throws MavenExecutionException { EnforcerPluginBuilder pluginBuilder = new EnforcerPluginBuilder(); try { List<File> pluginsConfiguration = PluginConfigurator.getPluginsConfigurationFromClasspath(session, logger, fromClass, pluginKey); if (pluginBuilder.addConfigurationFromClasspath()) { for (File file : pluginsConfiguration) { if (file.getAbsolutePath().endsWith("maven-enforcer-plugin.xml")) { pluginBuilder.addConfigurationFromClasspath(file.getPath()); } } Plugin enforcerPlugin = pluginBuilder.getPlugin(); Xpp3Dom configuration = (Xpp3Dom) enforcerPlugin.getConfiguration(); checkForSkippedRules(session, configuration); if (configuration != null) { executeMojo( enforcerPlugin, "enforce", configuration, executionEnvironment(session.getTopLevelProject(), session, pluginManager) ); } } } catch (MojoExecutionException e) { enforceFailure(e, logger); } }