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; }
public GemSpecification createSpecification(final MavenArtifact artifact) { final GemSpecification result = new GemSpecification(); // this is fix result.setPlatform(this.PLATFORM_JAVA); // the must ones result.setName( createGemName( artifact.getCoordinates().getGroupId(), artifact.getCoordinates().getArtifactId(), artifact.getCoordinates().getVersion())); result.setVersion(new GemVersion(createGemVersion(artifact.getCoordinates().getVersion()))); // dependencies if (artifact.getPom().getDependencies().size() > 0) { for (final Dependency dependency : artifact.getPom().getDependencies()) { if (!dependency.isOptional()) { result.getDependencies().add(convertDependency(artifact, dependency)); } } } // and other stuff "nice to have" result.setDate(new Date()); // now result.setDescription( sanitizeStringValue( artifact.getPom().getDescription() != null ? artifact.getPom().getDescription() : artifact.getPom().getName())); result.setSummary(sanitizeStringValue(artifact.getPom().getName())); result.setHomepage(sanitizeStringValue(artifact.getPom().getUrl())); if (artifact.getPom().getLicenses().size() > 0) { for (final License license : artifact.getPom().getLicenses()) { result .getLicenses() .add(sanitizeStringValue(license.getName() + " (" + license.getUrl() + ")")); } } if (artifact.getPom().getDevelopers().size() > 0) { for (final Developer developer : artifact.getPom().getDevelopers()) { result .getAuthors() .add(sanitizeStringValue(developer.getName() + " (" + developer.getEmail() + ")")); } } // by default, we pack into lib/ inside gem (where is the jar and the // stub ruby) result.getRequire_paths().add("lib"); return result; }
/** * 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; }