private String createDefaultLicenseHeader() { String organization = ""; Organization org = project.getOrganization(); if (org != null) { organization = org.getName(); } if (organization == null) { List devs = project.getDevelopers(); if (devs.size() > 0) { Iterator dvs = devs.iterator(); String devsString = ""; while (dvs.hasNext()) { Developer d = (Developer) dvs.next(); devsString = devsString + "," + d.getName() != null ? d.getName() : d.getId(); } organization = devsString.substring(1); } } if (organization == null) { organization = ""; // what's a good default value? } String date = ""; if (project.getInceptionYear() != null) { date = project.getInceptionYear(); } String year = Integer.toString(Calendar.getInstance().get(Calendar.YEAR)); if (!year.equals(date)) { date = date.length() == 0 ? year : date + "-" + year; } return "Copyright " + organization + " " + date; }
/** * Returns the identify of the mail sender according to the plugin's configuration: * * <ul> * <li>if the <tt>mailSender</tt> parameter is set, it is returned * <li>if no <tt>fromDeveloperId</tt> is set, the first developer in the list is returned * <li>if a <tt>fromDeveloperId</tt> is set, the developer with that id is returned * <li>if the developers list is empty or if the specified id does not exist, an exception is * thrown * </ul> * * @return the mail sender to use * @throws MojoExecutionException if the mail sender could not be retrieved */ protected MailSender getActualMailSender() throws MojoExecutionException { if (senderString != null) { try { InternetAddress ia = new InternetAddress(senderString, true); return new MailSender(ia.getPersonal(), ia.getAddress()); } catch (AddressException e) { throw new MojoExecutionException("Invalid value for change.sender: ", e); } } if (mailSender != null && mailSender.getEmail() != null) { return mailSender; } else if (from == null || from.isEmpty()) { throw new MojoExecutionException( "The <developers> section in your pom should not be empty. Add a <developer> entry or set the " + "mailSender parameter."); } else if (fromDeveloperId == null) { final Developer dev = (Developer) from.get(0); return new MailSender(dev.getName(), dev.getEmail()); } else { final Iterator it = from.iterator(); while (it.hasNext()) { Developer developer = (Developer) it.next(); if (fromDeveloperId.equals(developer.getId())) { return new MailSender(developer.getName(), developer.getEmail()); } } throw new MojoExecutionException( "Missing developer with id '" + fromDeveloperId + "' in the <developers> section in your pom."); } }
/** Finds and lists developers specified in POM. */ private String getDevelopersForManifest() throws IOException { StringBuilder buf = new StringBuilder(); for (Object o : project.getDevelopers()) { Developer d = (Developer) o; if (buf.length() > 0) { buf.append(','); } buf.append(d.getName() != null ? d.getName() : ""); buf.append(':'); buf.append(d.getId() != null ? d.getId() : ""); buf.append(':'); buf.append(d.getEmail() != null ? d.getEmail() : ""); } return buf.toString(); }
private DefaultCoreExtension parseMavenPom( URL descriptorUrl, DefaultCoreExtensionRepository repository) throws IOException, XmlPullParserException { DefaultCoreExtension coreExtension = null; InputStream descriptorStream = descriptorUrl.openStream(); try { MavenXpp3Reader reader = new MavenXpp3Reader(); Model mavenModel = reader.read(descriptorStream); String version = resolveVersion(mavenModel.getVersion(), mavenModel, false); String groupId = resolveGroupId(mavenModel.getGroupId(), mavenModel, false); URL extensionURL = getExtensionURL(descriptorUrl); coreExtension = new MavenCoreExtension( repository, extensionURL, new ExtensionId(groupId + ':' + mavenModel.getArtifactId(), version), packagingToType(mavenModel.getPackaging()), mavenModel); coreExtension.setName(mavenModel.getName()); coreExtension.setSummary(mavenModel.getDescription()); for (Developer developer : mavenModel.getDevelopers()) { URL authorURL = null; if (developer.getUrl() != null) { try { authorURL = new URL(developer.getUrl()); } catch (MalformedURLException e) { // TODO: log ? } } coreExtension.addAuthor(new DefaultExtensionAuthor(developer.getId(), authorURL)); } coreExtension.setWebsite(mavenModel.getUrl()); // licenses for (License license : mavenModel.getLicenses()) { coreExtension.addLicense(getExtensionLicense(license)); } // features String featuresString = mavenModel.getProperties().getProperty("xwiki.extension.features"); if (StringUtils.isNotBlank(featuresString)) { coreExtension.setFeatures( this.converter.<Collection<String>>convert(List.class, featuresString)); } // custom properties coreExtension.putProperty("maven.groupId", groupId); coreExtension.putProperty("maven.artifactId", mavenModel.getArtifactId()); // dependencies for (Dependency mavenDependency : mavenModel.getDependencies()) { if (!mavenDependency.isOptional() && (mavenDependency.getScope() == null || mavenDependency.getScope().equals("compile") || mavenDependency.getScope().equals("runtime"))) { String dependencyGroupId = resolveGroupId(mavenDependency.getGroupId(), mavenModel, true); String dependencyArtifactId = mavenDependency.getArtifactId(); String dependencyClassifier = mavenDependency.getClassifier(); String dependencyVersion = resolveVersion(mavenDependency.getVersion(), mavenModel, true); DefaultExtensionDependency extensionDependency = new MavenCoreExtensionDependency( toExtensionId(dependencyGroupId, dependencyArtifactId, dependencyClassifier), new DefaultVersionConstraint(dependencyVersion), mavenDependency); coreExtension.addDependency(extensionDependency); } } } finally { IOUtils.closeQuietly(descriptorStream); } return coreExtension; }