This is an automated email from the ASF dual-hosted git repository. davidb pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/sling-feature-converter-maven-plugin.git
commit cb5aaf6e887287c93133bd8782a38c3afa57d8d1 Author: David Bosschaert <[email protected]> AuthorDate: Thu Oct 15 09:45:05 2020 +0100 SLING-9827 Specify the API Region to export packages into Make this configuration available to the Maven Plugin --- pom.xml | 2 +- .../cpconverter/maven/mojos/ConvertCPMojo.java | 42 +++++++++++++++++----- 2 files changed, 34 insertions(+), 10 deletions(-) diff --git a/pom.xml b/pom.xml index 992d3db..45f3647 100644 --- a/pom.xml +++ b/pom.xml @@ -160,7 +160,7 @@ <dependency> <groupId>org.apache.sling</groupId> <artifactId>org.apache.sling.feature.cpconverter</artifactId> - <version>1.0.14</version> + <version>1.0.15-SNAPSHOT</version> </dependency> <dependency> <groupId>org.apache.sling</groupId> diff --git a/src/main/java/org/apache/sling/cpconverter/maven/mojos/ConvertCPMojo.java b/src/main/java/org/apache/sling/cpconverter/maven/mojos/ConvertCPMojo.java index 2c0fddd..93a35a7 100644 --- a/src/main/java/org/apache/sling/cpconverter/maven/mojos/ConvertCPMojo.java +++ b/src/main/java/org/apache/sling/cpconverter/maven/mojos/ConvertCPMojo.java @@ -84,6 +84,10 @@ public class ConvertCPMojo public static final String CFG_IS_CONTENT_PACKAGE = "isContentPackage"; + public static final String CFG_API_REGIONS = "apiRegions"; + + public static final String CFP_EXPORT_TO_API_REGION = "exportToApiRegion"; + public static final boolean DEFAULT_STRING_VALIDATION = false; public static final boolean DEFAULT_MERGE_CONFIGURATIONS = false; @@ -165,6 +169,19 @@ public class ConvertCPMojo @Parameter(property = CFG_IS_CONTENT_PACKAGE, defaultValue = DEFAULT_IS_CONTENT_PACKAGE + "") private boolean isContentPackage; + /** + * Specify the API Regions that the generated feature is made part of + */ + @Parameter(property = CFG_API_REGIONS) + private List<String> apiRegions; + + /** + * Specify the API Region to export all exported packages to, if not specified + * packages will not be added to the api-regions extension. + */ + @Parameter(property = CFP_EXPORT_TO_API_REGION) + private String exportToApiRegion; + @Parameter(defaultValue="${repositorySystemSession}") private RepositorySystemSession repoSession; @@ -195,16 +212,23 @@ public class ConvertCPMojo } } try { + DefaultFeaturesManager featuresManager = new DefaultFeaturesManager( + mergeConfigurations, + bundleStartOrder, + fmOutput, + artifactIdOverride, + fmPrefix, + properties + ); + if (!apiRegions.isEmpty()) + featuresManager.setAPIRegions(apiRegions); + + if (exportToApiRegion != null) + featuresManager.setExportToAPIRegion(exportToApiRegion); + ContentPackage2FeatureModelConverter converter = new ContentPackage2FeatureModelConverter(strictValidation) .setFeaturesManager( - new DefaultFeaturesManager( - mergeConfigurations, - bundleStartOrder, - fmOutput, - artifactIdOverride, - fmPrefix, - properties - ) + featuresManager ) .setBundlesDeployer( new DefaultArtifactsDeployer( @@ -232,9 +256,9 @@ public class ConvertCPMojo } } else { for(ContentPackage contentPackage: contentPackages) { - getLog().info("Content Package Artifact File: " + contentPackage.toString() + ", is module CP: " + isContentPackage); contentPackage.setExcludeTransitive(true); contentPackage.setModuleIsContentPackage(isContentPackage); + getLog().info("Content Package Artifact File: " + contentPackage.toString() + ", is module CP: " + isContentPackage); final Collection<Artifact> artifacts = contentPackage.getMatchingArtifacts(project, repoSystem, repoSession); if (artifacts.isEmpty()) { getLog().warn("No matching artifacts for " + contentPackage);
