List of usage examples for org.apache.maven.project MavenProject getLicenses
public List<License> getLicenses()
From source file:aQute.bnd.maven.reporter.plugin.entries.mavenproject.CommonInfoPlugin.java
private List<LicenseDTO> extractLicenses(MavenProject project) { List<LicenseDTO> licenses = new LinkedList<>(); if (project.getLicenses() != null) { project.getLicenses().forEach(l -> { LicenseDTO license = new LicenseDTO(); license.description = l.getComments(); license.name = l.getName();/*from w w w .j a v a2 s .co m*/ license.link = l.getUrl(); licenses.add(license); }); } return !licenses.isEmpty() ? licenses : null; }
From source file:com.ardoq.mavenImport.MavenUtil.java
public void addLicense(MavenProject project, Map<String, Object> fields) { List<License> licenses = project.getLicenses(); if (!licenses.isEmpty()) { String licenseString = ""; for (License license : licenses) { licenseString += license.getName() + ", "; }//w w w .j a v a 2 s .c om licenseString = licenseString.substring(0, licenseString.length() - 2); fields.put("license", licenseString); } }
From source file:com.ardoq.mavenImport.ProjectSync.java
private String buildProjectDescription(MavenProject project) { // TODO: add url, organization, developers, contributors, mailing lists, etc.. String description = ""; if (project.getDescription() != null && project.getDescription().trim().length() > 0) { description += "#Description\n\n" + project.getDescription(); }/* www.j av a2 s . c o m*/ if (!project.getLicenses().isEmpty()) { description += "\nLicenses\n----\n\n"; for (License license : project.getLicenses()) { description += " * " + license.getName() + "\n"; } } if (!project.getDevelopers().isEmpty()) { description += "\nDevelopers\n----\n\n"; for (Developer developer : project.getDevelopers()) { description += " * " + developer.getName() + " (" + developer.getEmail() + ")\n"; } } return description; }
From source file:com.cloudbees.maven.license.ProcessMojo.java
License:Apache License
public void execute() throws MojoExecutionException { if (disableCheck) return;//from w w w .j a v a2 s. co m GroovyShell shell = createShell(LicenseScript.class); List<LicenseScript> comp = parseScripts(script, shell); if (generateLicenseHtml != null && generateLicenseXml == null) {// we need XML to be able to generate HTML try { generateLicenseXml = File.createTempFile("license", "xml"); generateLicenseXml.deleteOnExit(); } catch (IOException e) { throw new MojoExecutionException("Failed to generate a temporary file", e); } } if (generateLicenseXml != null) comp.add((LicenseScript) shell.parse(getClass().getResourceAsStream("xmlgen.groovy"), "xmlgen.groovy")); if (generateLicenseHtml != null) comp.add((LicenseScript) shell.parse(getClass().getResourceAsStream("htmlgen.groovy"), "htmlgen.groovy")); if (inlineScript != null) comp.add((LicenseScript) shell.parse(inlineScript, "inlineScript")); for (LicenseScript s : comp) { s.project = project; s.mojo = this; s.run(); // setup } List<MavenProject> dependencies = new ArrayList<MavenProject>(); // run against the project itself for (LicenseScript s : comp) { s.runCompleter(new CompleterDelegate(project, project)); } dependencies.add(project); try { Map<Artifact, MavenProject> models = new HashMap<Artifact, MavenProject>(); for (Artifact a : (Set<Artifact>) project.getArtifacts()) { Artifact pom = artifactFactory.createProjectArtifact(a.getGroupId(), a.getArtifactId(), a.getVersion()); MavenProject model = projectBuilder.buildFromRepository(pom, project.getRemoteArtifactRepositories(), localRepository); models.put(a, model); } // filter them out for (LicenseScript s : comp) { s.runFilter(new FilterDelegate(models)); } // filter out optional components for (Iterator<Entry<Artifact, MavenProject>> itr = models.entrySet().iterator(); itr.hasNext();) { Entry<Artifact, MavenProject> e = itr.next(); if (e.getKey().isOptional()) itr.remove(); } for (MavenProject e : models.values()) { // let the completion script intercept and process the licenses for (LicenseScript s : comp) { s.runCompleter(new CompleterDelegate(e, project)); } } dependencies.addAll(models.values()); } catch (ProjectBuildingException e) { throw new MojoExecutionException("Failed to parse into dependencies", e); } if (requireCompleteLicenseInfo) { List<MavenProject> missing = new ArrayList<MavenProject>(); for (MavenProject d : dependencies) { if (d.getLicenses().isEmpty()) missing.add(d); } if (!missing.isEmpty()) { StringBuilder buf = new StringBuilder( "The following dependencies are missing license information:\n"); for (MavenProject p : missing) { buf.append(" " + p.getGroupId() + ':' + p.getArtifactId() + ':' + p.getVersion()); for (p = p.getParent(); p != null; p = p.getParent()) buf.append(" -> " + p.getGroupId() + ':' + p.getArtifactId() + ':' + p.getVersion()); buf.append('\n'); } buf.append( "\nAdd/update your completion script to fill them, or run with -Dlicense.disableCheck to bypass the check."); throw new MojoExecutionException(buf.toString()); } } for (LicenseScript s : comp) { s.runGenerator(new GeneratorDelegate(dependencies)); } if (attach) { if (generateLicenseXml != null) projectHelper.attachArtifact(project, "license.xml", null, generateLicenseXml); if (generateLicenseHtml != null) projectHelper.attachArtifact(project, "license.html", null, generateLicenseHtml); } }
From source file:com.github.signed.sandboxes.maven.MyMojo.java
private void findLicenseInformation(Artifact artifact, File file) throws net.lingala.zip4j.exception.ZipException, IOException { getLog().info(artifact.getId());/*w w w .ja v a2 s .c om*/ MavenProject mavenProjectForArtifact = buildProjectFrom(artifact); List<License> licenses = mavenProjectForArtifact.getLicenses(); boolean isCDDL = false; for (License license : licenses) { isCDDL = isCDDL || StringUtils.containsIgnoreCase(license.getName(), "cddl"); } if (!isCDDL) { return; } String sub = artifact.getGroupId().replaceAll("\\.", "/") + "/" + artifact.getArtifactId() + "/" + artifact.getVersion(); final File artifactDirectory = new File(outputDirectory, sub); FileUtils.forceMkdir(artifactDirectory); final SingleFileUnzip unzip = new SingleFileUnzip(artifact.getFile()); zipDumper.dumpZipContent(file, new LegalRelevantFiles() { @Override public void licenseFile(FileHeader license) { getLog().info(license.getFileName()); unzip.unzip(license, artifactDirectory); } @Override public void noticeFile(FileHeader notice) { getLog().info(notice.getFileName()); unzip.unzip(notice, artifactDirectory); } }); }
From source file:com.googlecode.maven.licensevalidator.LicenseValidateMojo.java
License:Apache License
@Override public void execute() throws MojoExecutionException { if (verbose) { getLog().info("Validating licenses"); }//w w w . j av a2 s . c om final Set<Artifact> depArtifacts; if (includeTransitiveDependencies) { depArtifacts = project.getArtifacts(); } else { depArtifacts = project.getDependencyArtifacts(); } boolean someFailed = false; for (Artifact depArtifact : depArtifacts) { MavenProject depProject = null; try { depProject = projectBuilder.buildFromRepository(depArtifact, remoteRepositories, localRepository); } catch (ProjectBuildingException e) { throw new MojoExecutionException( "Unable to build project: " + depArtifact.getDependencyConflictId(), e); } List<License> licenses = depProject.getLicenses(); boolean failed = areLicensesBanned(depProject.getId(), licenses); someFailed |= failed; if (someFailed && failFast) { throw new MojoExecutionException("Failed license checks for dependency " + depProject.getId()); } } if (someFailed) { throw new MojoExecutionException("Failed license checks for some dependencies"); } }
From source file:com.lewisd.maven.lint.rules.opensource.MissingLicenseRule.java
@Override public void invoke(MavenProject mavenProject, Map<String, Object> models, ResultCollector resultCollector) { final List<License> licenses = mavenProject.getLicenses(); if (licenses.isEmpty()) { InputLocation location = mavenProject.getOriginalModel().getLocation("licences"); resultCollector.addViolation(mavenProject, this, "missing <licenses/> information", location == null ? getEmptyLocation(mavenProject) : location); } else {//from w w w . j a v a 2 s. c o m for (License license : licenses) { if (StringUtils.isEmpty(license.getName())) { resultCollector.addViolation(mavenProject, this, "missing <name> in <license/> information", license.getLocation("")); } if (StringUtils.isEmpty(license.getUrl())) { resultCollector.addViolation(mavenProject, this, "missing <url> in <license/> information", license.getLocation("")); } } } }
From source file:com.microfocus.plugins.attribution.datamodel.services.impl.DependenciesServiceImpl.java
@Override public List<ProjectDependency> getProjectDependencies(MavenProject project, Settings settings, ArtifactRepository localRepository, DependencyOverride[] dependencyOverrides) { List<ProjectDependency> projectDependencies = new ArrayList<ProjectDependency>(); Map<String, DependencyOverride> projectDependencyOverrides = new HashMap<String, DependencyOverride>(); if (dependencyOverrides != null) { for (DependencyOverride dependencyOverride : dependencyOverrides) { projectDependencyOverrides.put(dependencyOverride.getForDependency(), dependencyOverride); }/* w w w. j a va 2 s. c om*/ } RepositoryUtils repoUtils = new RepositoryUtils(log, wagonManager, settings, mavenProjectBuilder, factory, resolver, project.getRemoteArtifactRepositories(), project.getPluginArtifactRepositories(), localRepository, repositoryMetadataManager); DependencyNode dependencyNode = resolveProject(project); Dependencies dependencies = new Dependencies(project, dependencyNode, classesAnalyzer); try { List<Artifact> alldeps = dependencies.getAllDependencies(); if (log.isInfoEnabled()) { System.out.print("[INFO] Reading dependency information from available repositories."); } for (Artifact artifact : alldeps) { MavenProject pluginProject = mavenProjectBuilder.buildFromRepository(artifact, project.getRemoteArtifactRepositories(), localRepository); MavenProject artifactProject = repoUtils.getMavenProjectFromRepository(artifact); String projectUrl = pluginProject.getUrl(); List<ProjectDependencyLicense> licenses = DependencyUtils .toProjectLicenses(artifactProject.getLicenses()); List<String> downloadUrls = new ArrayList<String>(); for (ArtifactRepository artifactRepository : artifactProject.getRemoteArtifactRepositories()) { String downloadUrl = repoUtils.getDependencyUrlFromRepository(artifact, artifactRepository); if (dependencyExistsInRepo(repoUtils, artifactRepository, artifact)) { downloadUrls.add(downloadUrl); } if (log.isInfoEnabled()) { System.out.print('.'); } } DependencyOverride dependencyOverride = projectDependencyOverrides .get(artifact.getGroupId() + ":" + artifact.getArtifactId()); if (dependencyOverride != null) { if (StringUtils.isNotBlank(dependencyOverride.getProjectUrl())) { projectUrl = dependencyOverride.getProjectUrl(); } if (StringUtils.isNotBlank(dependencyOverride.getDownloadUrl())) { downloadUrls = Arrays.asList(dependencyOverride.getDownloadUrl()); } if (dependencyOverride.getLicense() != null) { licenses = Arrays.asList(dependencyOverride.getLicense()); } } String name = StringUtils.defaultIfBlank(artifactProject.getName(), artifact.getArtifactId()); ProjectDependency dependency = new ProjectDependency(); dependency.setGroupId(artifact.getGroupId()); dependency.setArtifactId(artifact.getArtifactId()); dependency.setVersion(artifact.getVersion()); dependency.setProjectUrl(projectUrl); dependency.setType(artifact.getType()); dependency.setLicenses(licenses); dependency.setName(name); dependency.setDownloadUrls(downloadUrls); projectDependencies.add(dependency); } System.out.println(); // End with a carriage return, so normal logging can continue } catch (ProjectBuildingException e) { throw new DataModelException("An error occurred building the list of project dependencies.", e); } Collections.sort(projectDependencies, byName()); return projectDependencies; }
From source file:com.puresoltechnologies.maven.plugins.license.AbstractValidationMojo.java
/** * Loads the artifact recursively./*from ww w . ja v a2 s.c o m*/ * * @param artifact * @param recursive * specified whether all dependencies should be loaded * recursively. * @param skipTestScope * specified whether to skip test scoped artifacts or not. * @return A {@link DependencyTree} object is returned. * @throws MojoExecutionException * is thrown if anything unexpected goes wrong. */ private DependencyTree loadArtifacts(int depth, DependencyTree parentDependencyTree, Artifact artifact, boolean recursive, boolean skipTestScope, boolean skipProvidedScope, boolean skipOptionals) throws MojoExecutionException { Log log = getLog(); MavenProject parentArtifactProject; try { parentArtifactProject = mavenProjectBuilder.buildFromRepository(artifact, remoteArtifactRepositories, localRepository); } catch (ProjectBuildingException e) { log.warn("Could not load artifacts recursively. For artifact '" + ArtifactUtilities.toString(artifact) + "' the project creation failed.", e); return null; } @SuppressWarnings("unchecked") List<Dependency> dependencies = parentArtifactProject.getDependencies(); @SuppressWarnings("unchecked") List<License> licenses = parentArtifactProject.getLicenses(); DependencyTree dependencyTree = new DependencyTree(artifact, licenses); if (parentDependencyTree != null) { parentDependencyTree.addDependency(dependencyTree); } if ((dependencies != null) && ((recursive) || (artifact == mavenProject.getArtifact()))) { for (Dependency dependency : dependencies) { StringBuffer buffer = new StringBuffer(); if (log.isDebugEnabled()) { for (int i = 0; i < depth; i++) { buffer.append(" "); } buffer.append("\\-> "); log.debug(buffer.toString() + ArtifactUtilities.toString(dependency)); } if (skipTestScope && Artifact.SCOPE_TEST.equals(dependency.getScope())) { if (log.isDebugEnabled()) { log.debug(buffer.toString() + " >> test scope is skipped"); } continue; } if (skipProvidedScope && Artifact.SCOPE_PROVIDED.equals(dependency.getScope())) { if (log.isDebugEnabled()) { log.debug(buffer.toString() + " >> provided scope is skipped"); } continue; } if (skipOptionals && dependency.isOptional()) { if (log.isDebugEnabled()) { log.debug(buffer.toString() + " >> optional is skipped"); } continue; } if (hasCycle(dependencyTree, dependency)) { if (log.isDebugEnabled()) { log.debug(buffer.toString() + " >> cylce found and needs to be skipped"); } continue; } Artifact dependencyArtifact = DependencyUtilities.buildArtifact(artifact, dependency); loadArtifacts(depth + 1, dependencyTree, dependencyArtifact, recursive, skipTestScope, skipProvidedScope, skipOptionals); } } return dependencyTree; }
From source file:com.soebes.maven.plugins.licenseverifier.AbstractLicenseVerifierPlugIn.java
License:Apache License
/** * Get all their dependencies and put the information * into the intermediate list of licenses. * * @param depArtifacts/*from w ww .j av a 2s. com*/ * @throws MojoExecutionException */ protected List<LicenseInformation> getDependArtifacts(Set<?> depArtifacts) throws MojoExecutionException { List<LicenseInformation> licenseInformations = new ArrayList<LicenseInformation>(); for (Iterator<?> depArtIter = depArtifacts.iterator(); depArtIter.hasNext();) { Artifact depArt = (Artifact) depArtIter.next(); LicenseInformation li = new LicenseInformation(); //store the artifact about which the following license information //will be extracted. li.setArtifact(depArt); MavenProject depProject = null; try { depProject = projectBuilder.buildFromRepository(depArt, remoteRepositories, localRepository, true); } catch (ProjectBuildingException e) { throw new MojoExecutionException("Unable to build project: " + depArt.getDependencyConflictId(), e); } //Set the project of the current license information li.setProject(depProject); //Add all licenses of the particular artifact to it's other informations. List<?> licenses = depProject.getLicenses(); Iterator<?> licenseIter = licenses.iterator(); while (licenseIter.hasNext()) { License license = (License) licenseIter.next(); li.addLicense(license); } licenseInformations.add(li); } return licenseInformations; }