You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by an...@apache.org on 2019/08/13 22:50:29 UTC
[sling-org-apache-sling-feature-cpconverter] 01/01: SLING-8626 -
Added Maven Model Version to generated POM,
replace any spaces in Group and Artifact IIds
This is an automated email from the ASF dual-hosted git repository.
andysch pushed a commit to branch issues/SLING-8626
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature-cpconverter.git
commit 620b42f193cfa9ef0672f20dba51e08631258536
Author: Andreas Schaefer <sc...@iMac.local>
AuthorDate: Tue Aug 13 15:50:11 2019 -0700
SLING-8626 - Added Maven Model Version to generated POM, replace any spaces in Group and Artifact IIds
---
.../ContentPackage2FeatureModelConverter.java | 21 ++++++++++++---------
.../artifacts/MavenPomSupplierWriter.java | 2 ++
.../cpconverter/handlers/BundleEntryHandler.java | 4 ++++
3 files changed, 18 insertions(+), 9 deletions(-)
diff --git a/src/main/java/org/apache/sling/feature/cpconverter/ContentPackage2FeatureModelConverter.java b/src/main/java/org/apache/sling/feature/cpconverter/ContentPackage2FeatureModelConverter.java
index f9194e1..43a372a 100644
--- a/src/main/java/org/apache/sling/feature/cpconverter/ContentPackage2FeatureModelConverter.java
+++ b/src/main/java/org/apache/sling/feature/cpconverter/ContentPackage2FeatureModelConverter.java
@@ -143,7 +143,6 @@ public class ContentPackage2FeatureModelConverter extends BaseVaultPackageScanne
return this;
}
-
public void convert(File...contentPackages) throws Exception {
requireNonNull(contentPackages , "Null content-package(s) can not be converted.");
secondPass(firstPass(contentPackages));
@@ -325,16 +324,20 @@ public class ContentPackage2FeatureModelConverter extends BaseVaultPackageScanne
private static ArtifactId toArtifactId(VaultPackage vaultPackage) {
PackageId packageId = vaultPackage.getId();
String groupId = requireNonNull(packageId.getGroup(),
- PackageProperties.NAME_GROUP
- + " property not found in content-package "
- + vaultPackage
- + ", please check META-INF/vault/properties.xml").replace('/', '.');
+ PackageProperties.NAME_GROUP
+ + " property not found in content-package "
+ + vaultPackage
+ + ", please check META-INF/vault/properties.xml").replace('/', '.');
+ // Replace any space with an underscore to adhere to Maven Group Id specification
+ groupId = groupId.replaceAll(" ", "_");
String artifactid = requireNonNull(packageId.getName(),
- PackageProperties.NAME_NAME
- + " property not found in content-package "
- + vaultPackage
- + ", please check META-INF/vault/properties.xml");
+ PackageProperties.NAME_NAME
+ + " property not found in content-package "
+ + vaultPackage
+ + ", please check META-INF/vault/properties.xml");
+ // Replace any space with an underscore to adhere to Maven Artifact Id specification
+ artifactid = artifactid.replaceAll(" ", "_");
String version = packageId.getVersionString();
if (version == null || version.isEmpty()) {
diff --git a/src/main/java/org/apache/sling/feature/cpconverter/artifacts/MavenPomSupplierWriter.java b/src/main/java/org/apache/sling/feature/cpconverter/artifacts/MavenPomSupplierWriter.java
index 1d09166..f1f03f4 100644
--- a/src/main/java/org/apache/sling/feature/cpconverter/artifacts/MavenPomSupplierWriter.java
+++ b/src/main/java/org/apache/sling/feature/cpconverter/artifacts/MavenPomSupplierWriter.java
@@ -34,6 +34,8 @@ public final class MavenPomSupplierWriter implements ArtifactWriter {
@Override
public void write(OutputStream outputStream) throws IOException {
Model model = new Model();
+ // Maven complains if Model Version is not set
+ model.setModelVersion("4.0.0");
model.setGroupId(id.getGroupId());
model.setArtifactId(id.getArtifactId());
model.setVersion(id.getVersion());
diff --git a/src/main/java/org/apache/sling/feature/cpconverter/handlers/BundleEntryHandler.java b/src/main/java/org/apache/sling/feature/cpconverter/handlers/BundleEntryHandler.java
index c5eee53..ee933b0 100644
--- a/src/main/java/org/apache/sling/feature/cpconverter/handlers/BundleEntryHandler.java
+++ b/src/main/java/org/apache/sling/feature/cpconverter/handlers/BundleEntryHandler.java
@@ -81,7 +81,11 @@ public final class BundleEntryHandler extends AbstractRegexEntryHandler {
classifier = properties.getProperty(NAME_CLASSIFIER);
} else { // maybe the included jar is just an OSGi bundle but not a valid Maven artifact
groupId = getCheckedProperty(manifest, BUNDLE_SYMBOLIC_NAME);
+ // Make sure there are not spaces in the name to adhere to the Maven Group Id specification
+ groupId = groupId.replaceAll(" ", "_");
artifactId = getCheckedProperty(manifest, BUNDLE_NAME);
+ // Make sure there are not spaces in the name to adhere to the Maven Artifact Id specification
+ artifactId = artifactId.replaceAll(" ", "_");
version = getCheckedProperty(manifest, BUNDLE_VERSION);
}
}