artifact.getCoordinates().getVersion(),
this.PLATFORM_JAVA);
}
public GemSpecification createSpecification(final MavenArtifact artifact) {
final GemSpecification result = new GemSpecification();
if( relocateIfNeeded(artifact)){
Dependency dep = artifact.getPom().getDependencies().get(0);
result.setPost_install_message("this gem has a new name: "
+ createGemName(dep.getGroupId(),
dep.getArtifactId(),
dep.getVersion()) + " version: " + dep.getVersion());
}
// 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;
}