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/06/27 02:11:30 UTC

[sling-whiteboard] branch feature/sling-cpconverter-maven-plugin updated (f0b3e0b -> 21be47c)

This is an automated email from the ASF dual-hosted git repository.

andysch pushed a change to branch feature/sling-cpconverter-maven-plugin
in repository https://gitbox.apache.org/repos/asf/sling-whiteboard.git.


    from f0b3e0b  Initial Import of the Maven Content Package Converter Plugin
     add afda1b1  [feature-diff] re-designing the whole Diff APIs in order to produce a new Feature, which prototypes from the input previous Feature, in order to obtain the current one
     add a3fe287  Merge branch 'master' of github.com:apache/sling-whiteboard
     add 25bfb6d  [feature-diff] diff method args moved to data object in order to simplify readability and backward compatibility as suggested by @bosschaert
     add 8333342  [feature-diff] diff method args moved to data object in order to simplify readability and backward compatibility as suggested by @bosschaert
     add 6ec82fb  [r2f] initial checkin
     add ede2b7e  [feature-diff] configuration comparator has to add the Configuration delta only
     add a278741  [feature-diff] restored FrameworkPropertiesComparatorTest
     add 6b60acf  [feature-diff] comparators moved in a proper package, META-INF informations automatically generated, added comparators service loader test
     add c4a9722  [r2f] RuntimeEnvironment2FeatureModel made as a typical OSGi service
     add 5a4feef  [r2f] added runtime feature generatror InventoryPrinter implementation, DS replaced by a simple bundle activator
     add 114c751  [r2f] added initial prototype (not working) implementation of the InventoryPrinter which serializes the basic & runtime
     add 6e9daa0  [r2f] accessing to the base Feature Model via 'sling.feature' framework-property
     add 518881b  [r2f] correctly retrieved the sling.feature framework property
     add ce4c32a  [r2f] assemble right ArtifactId for runtime and diff Feature
     add 1967a95  [feature-diff][r2f] artifacts correctly made bundles
     add 67715fb  Expose runtime information through JMX
     add d4c66f0  Add a support class for JMX
     add c871005  Simplify child classes by passing a CtClass instance instead of a class name
     add 323339b  Include OK HTTP in the README
     add 1053783  Update artifactId
     add a6b8d69  Remove Agent-Class from manifest
     add 34da23e  Tweak comments in pom.xml
     add 0e5508c  Merge branch 'master' of github.com:apache/sling-whiteboard
     add 09c16aa  [feature-diff][r2f] fixing OSGi headers
     add c63a136  [r2f] moving InventoryPrinter implementations to org.apache.sling.feature.inventoryprinter
     add 3b5d4e1  [feature-diff] fixed dependencies management to make the diff bundle being installable in the Feature context
     add 7cc0a3e  [r2f] fixed 'pom.properties' resource loading
     add 7a07d7d  [feature-diff] fixed OSGi imports
     add 0916edb  Minor test cleanups
     add 1fc6c66  Add support for setting timeouts using the client API in HttpClientLauncher
     add 80a1681  Add tests for client-api enforced timeouts
     add 1708431  Improve logging in HttpClientLauncher
     add a7f5d7f  Move classes and methods out of AgentIT to make it simpler to understand
     add 753c11f  Add a set of positive tests
     add a20fd43  Increase execution timeout to make Jenkins failures less likely
     add c82ad0e  Merge branch 'master' of github.com:apache/sling-whiteboard
     add a08fdaf  [feature-diff] renamed the bundles section, according to the Feature model nomenclature, README updated
     add b28153e  [feature-diff] renamed the bundles section, according to the Feature model nomenclature
     add 9f00fba  [r2f] added readme
     add 10d50bd  [r2f] added a method to retrieve the (assembled) Feature used to launch the platform
     add 5b95988  [feature-diff] comparators are implementations, a good style is to name the package "impl" or "internal" They don't need a package-info file
     add 8e4934b  [feature-diff] diff request API simplification
     add b49b3e2  [featire-diff] updated documentation
     add 9869c6d  [feature-diff] added package OSGi metadata Version
     add 6a2a99a  [r2f] refactored implementation according to OSGi best practice
     add 4bcce72  url-connection-agent moved to https://github.com/apache/sling-org-apache-sling-connection-timeout-agent
     add a76ce1c  Merge branch 'master' of github.com:apache/sling-whiteboard
     add 77675eb  [feature-diff] experimental JSON diff via javax.json APIs
     add 25f2ace  [r2f] always make sure ConfigurationAdmin instance is not null, before enlisting all the configurations
     add 7d3981b  [feature-diff] the FeatureElementComparator is not intended to be part of public OSGi APIs
     add 08b7736  [feature-diff] added ExtensionsComparatorTest
     add b4dfe3e  [feature-diff] added ExtensionsComparatorTest
     add ab286a3  [r2f] expanded the APIs set, documentation updated
     add c45f5a4  [r2f] minor format and added inline comments
     add 209889a  [feature-diff][r2f] simplifying the Feature Diff ArtifactId by letting the diff compute it and avoid to users the task of building it
     add d806d8c  [r2f] added API which return the runtime feature assembling the prototype and the launch2running feature
     add 15a6eb4  [feature-diff] better classifier management
     add 78657a2  [feature-diff] in order to replace an extension, it has to be removed from the prototype and added in the new, they will be merged otherwise
     add e79df11  [feature-diff] in order to replace an extension, it has to be removed from the prototype and added in the new, they will be merged otherwise
     add 39a0ced  [feature-diff] dropped commons-lang dependency
     add 03d3ced  Remove already promoted content-package-2-feature-model module
     add 47bbca6  Removed feature-api-regions already promoted to sling-org-apache-sling-feature-apiregions-model repository
     add 7e8182c  [feature-diff][r2f] added README syntax highlight
     new 1f67335  Merge branch 'master' into feature/sling-cpconverter-maven-plugin
     new 21be47c  SLING-8490 - Added a target mode allowing a POM to convert packages added as dependencies

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 content-package-2-feature-model/LICENSE            | 201 ----------
 content-package-2-feature-model/README.md          | 396 -------------------
 content-package-2-feature-model/pom.xml            | 322 ---------------
 .../src/main/assembly/README.md                    | 149 -------
 .../src/main/assembly/bin.xml                      |  71 ----
 .../ContentPackage2FeatureModelConverter.java      | 431 ---------------------
 .../cpconverter/DefaultBundlesDeployer.java        |  99 -----
 .../cpconverter/RegexBasedResourceFilter.java      |  54 ---
 ...ntentPackage2FeatureModelConverterLauncher.java | 186 ---------
 .../feature/cpconverter/cli/ShutDownHook.java      |  81 ----
 .../AbstractConfigurationEntryHandler.java         |  68 ----
 .../handlers/AbstractRegexEntryHandler.java        |  44 ---
 .../cpconverter/handlers/BundleEntryHandler.java   | 136 -------
 .../handlers/ConfigurationEntryHandler.java        |  36 --
 .../handlers/ContentPackageEntryHandler.java       |  49 ---
 .../handlers/JsonConfigurationEntryHandler.java    |  75 ----
 .../PropertiesConfigurationEntryHandler.java       |  60 ---
 .../handlers/XmlConfigurationEntryHandler.java     |  92 -----
 .../feature/cpconverter/handlers/package-info.java |  23 --
 .../sling/feature/cpconverter/package-info.java    |  21 -
 .../feature/cpconverter/spi/ArtifactWriter.java    |  26 --
 .../feature/cpconverter/spi/package-info.java      |  21 -
 .../cpconverter/vltpkg/VaultPackageAssembler.java  | 172 --------
 .../feature/cpconverter/vltpkg/package-info.java   |  21 -
 .../cpconverter/writers/FileArtifactWriter.java    |  42 --
 .../writers/InputStreamArtifactWriter.java         |  39 --
 .../writers/MavenPomSupplierWriter.java            |  54 ---
 .../feature/cpconverter/writers/package-info.java  |  21 -
 .../src/main/legal/LICENSE-with-deps               | 233 -----------
 .../src/main/legal/NOTICE-with-deps                |   5 -
 .../src/main/legal/license-header                  |  14 -
 ...ache.sling.feature.cpconverter.spi.EntryHandler |   6 -
 .../sling/feature/cpconverter/vltpkg/config.xml    |  95 -----
 .../cpconverter/vltpkg/definition/.content.xml     |  19 -
 .../sling/feature/cpconverter/vltpkg/settings.xml  |  22 --
 .../ContentPackage2FeatureModelConverterTest.java  | 235 -----------
 .../cpconverter/DefaultBundlesDeployerTest.java    |  80 ----
 .../cpconverter/RegexBasedResourceFilterTest.java  |  69 ----
 .../handlers/BundleEntryHandlerTest.java           | 118 ------
 .../handlers/ConfigurationEntryHandlerTest.java    | 127 ------
 .../JsonConfigurationEntryHandlerTest.java         |  46 ---
 .../vltpkg/VaultPackageAssemblerTest.java          |  89 -----
 .../cpconverter/handlers/jcr_root/.content.xml     |  22 --
 ...ceusermapping.impl.ServiceUserMapperImpl.config |  17 -
 ...ceusermapping.impl.ServiceUserMapperImpl.config |  17 -
 ...ing.impl.ServiceUserMapperImpl.INVALID.cfg.json |   1 -
 ...rviceusermapping.impl.ServiceUserMapperImpl.cfg |  17 -
 ...usermapping.impl.ServiceUserMapperImpl.cfg.json |   7 -
 ...ceusermapping.impl.ServiceUserMapperImpl.config |  17 -
 ...sermapping.impl.ServiceUserMapperImpl.empty.cfg |  14 -
 ...pping.impl.ServiceUserMapperImpl.empty.cfg.json |   3 -
 ...mapping.impl.ServiceUserMapperImpl.empty.config |  14 -
 ...sermapping.impl.ServiceUserMapperImpl.empty.xml |  19 -
 ...apping.impl.ServiceUserMapperImpl.empty.xml.cfg |  19 -
 ...rviceusermapping.impl.ServiceUserMapperImpl.xml |  21 -
 ...eusermapping.impl.ServiceUserMapperImpl.xml.cfg |  22 --
 .../apps/asd/install.author/test-framework.jar     | Bin 13288 -> 0 bytes
 .../apps/asd/install.publish/test-framework.jar    | Bin 13288 -> 0 bytes
 .../apps/asd/install/test-framework-no-pom.jar     | Bin 10769 -> 0 bytes
 .../jcr_root/apps/asd/install/test-framework.jar   | Bin 13288 -> 0 bytes
 .../cpconverter/handlers/jcr_root/asd/.content.xml |  20 -
 .../handlers/jcr_root/asd/public/.content.xml      |  19 -
 .../handlers/jcr_root/asd/public/_rep_policy.xml   |  24 --
 .../handlers/jcr_root/asd/public/license.txt       |  14 -
 .../test-content-package-unacceptable.zip          | Bin 15017 -> 0 bytes
 .../feature/cpconverter/test-content-package.zip   | Bin 46393 -> 0 bytes
 feature-api-regions/README.md                      | 164 --------
 .../sling/feature/apiregions/model/ApiRegion.java  | 280 -------------
 .../sling/feature/apiregions/model/ApiRegions.java |  85 ----
 .../feature/apiregions/model/JoinedIterator.java   |  54 ---
 .../model/io/json/ApiRegionsJSONParser.java        | 160 --------
 .../model/io/json/ApiRegionsJSONSerializer.java    | 115 ------
 .../apiregions/model/io/json/package-info.java     |  21 -
 .../feature/apiregions/model/ApiRegionTest.java    | 158 --------
 .../feature/apiregions/model/ApiRegionsTest.java   | 113 ------
 .../model/io/json/ApiRegionsJSONParserTest.java    | 100 -----
 .../io/json/ApiRegionsJSONSerializerTest.java      | 125 ------
 feature-diff/README.md                             | 149 ++-----
 feature-diff/pom.xml                               |  44 ++-
 .../diff/AbstractFeatureElementComparator.java     |  61 ---
 .../sling/feature/diff/ArtifactsComparator.java    |  57 ---
 .../feature/diff/ComplexElementComparator.java     |  24 --
 .../feature/diff/ConfigurationsComparator.java     |  77 ----
 .../org/apache/sling/feature/diff/DiffRequest.java |  72 ++++
 .../org/apache/sling/feature/diff/DiffSection.java | 106 -----
 .../sling/feature/diff/ElementComparator.java      |  23 --
 .../sling/feature/diff/ExtensionsComparator.java   | 142 -------
 .../org/apache/sling/feature/diff/FeatureDiff.java |  83 ++--
 .../sling/feature/diff/GenericMapComparator.java   |  62 ---
 .../sling/feature/diff/RequirementsComparator.java |  54 ---
 .../org/apache/sling/feature/diff/UpdatedItem.java |  74 ----
 .../impl/AbstractFeatureElementComparator.java     |  26 +-
 .../sling/feature/diff/impl/BundlesComparator.java |  61 +++
 .../diff/impl/ConfigurationsComparator.java        | 195 ++++++++++
 .../feature/diff/impl/ExtensionsComparator.java    | 145 +++++++
 .../diff/impl/FeatureElementComparator.java        |  26 +-
 .../diff/impl/FrameworkPropertiesComparator.java   |  63 +++
 .../diff/io/json/FeatureDiffJSONSerializer.java    | 142 -------
 .../sling/feature/diff/io/json/package-info.java   |  21 -
 .../apache/sling/feature/diff/package-info.java    |   3 +-
 .../feature/diff/ApiRegionsComparatorTest.java     | 112 ------
 .../apache/sling/feature/diff/DiffSectionTest.java |  98 -----
 .../apache/sling/feature/diff/FeatureDiffTest.java |  87 ++---
 .../apache/sling/feature/diff/UpdatedItemTest.java |  42 --
 .../feature/diff/impl/AbstractComparatorTest.java  |  33 +-
 .../BundlesComparatorTest.java}                    |  58 +--
 .../{ => impl}/ConfigurationsComparatorTest.java   |  55 ++-
 .../diff/impl/ExtensionsComparatorTest.java        | 133 +++++++
 .../FrameworkPropertiesComparatorTest.java}        |  51 +--
 .../io/json/FeatureDiffJSONSerializerTest.java     | 126 ------
 .../sling/feature/diff/io/json/expectedDiff.json   |  81 ----
 pom.xml                                            |   1 -
 .../CODE_OF_CONDUCT.md                             |   0
 .../CONTRIBUTING.md                                |   0
 {feature-api-regions => runtime2feature}/LICENSE   |   0
 runtime2feature/README.md                          |  66 ++++
 {feature-api-regions => runtime2feature}/pom.xml   |  72 +++-
 .../r2f/RuntimeEnvironment2FeatureModel.java       |  14 +-
 .../r2f/impl/AbstractFeatureElementConsumer.java   |  20 +-
 .../feature/r2f/impl/Bundle2ArtifactMapper.java    | 127 ++++++
 ...GiConfiguration2FeatureConfigurationMapper.java |  55 +++
 .../RuntimeEnvironment2FeatureModelService.java    | 181 +++++++++
 .../apache/sling/feature/r2f}/package-info.java    |   6 +-
 .../core/pom.xml                                   |   4 +-
 .../pom.xml                                        |   4 +-
 .../ui.apps/pom.xml                                |   8 +-
 .../verify.bsh                                     |   8 +-
 .../core/pom.xml                                   |   4 +-
 .../test/cqconverter/SampleRequestModel.java       |   0
 .../cpconverter/test/servlet/ByPathServlet.java    |   0
 .../test/servlet/ByResourceTypeServlet.java        |   0
 .../test/servlet/ByPathServletTest.java            |   0
 .../fm.launcher}/pom.xml                           |  53 +--
 .../invoker.properties                             |   0
 .../pom.xml                                        |   5 +-
 .../ui.apps/pom.xml                                |  24 +-
 .../src/main/content/META-INF/vault/filter.xml     |   0
 .../src/main/content/META-INF/vault/settings.xml   |   0
 .../content/jcr_root/apps/cqconverter/.content.xml |   0
 .../jcr_root/apps/cqconverter/home/.content.xml    |   0
 .../jcr_root/apps/cqconverter/home/body.html       |   0
 .../jcr_root/apps/cqconverter/home/head.html       |   0
 .../jcr_root/apps/cqconverter/install/.content.xml |   0
 .../jcr_root/apps/cqconverter/page/.content.xml    |   0
 .../jcr_root/apps/cqconverter/page/body.html       |   0
 .../jcr_root/apps/cqconverter/page/footer.html     |   0
 .../jcr_root/apps/cqconverter/page/head.html       |   0
 .../jcr_root/apps/cqconverter/page/page.html       |   0
 .../jcr_root/content/cpconverter/.content.xml      |   0
 .../jcr_root/content/cpconverter/home/.content.xml |   0
 .../content/cpconverter/home/welcome/.content.xml  |   0
 .../verify.bsh                                     |  13 +-
 .../core/pom.xml                                   |   4 +-
 .../pom.xml                                        |   4 +-
 .../ui.apps/pom.xml                                |   8 +-
 .../verify.bsh                                     |   8 +-
 .../cpconverter/maven/mojos/ContentPackage.java    | 114 ++++++
 .../cpconverter/maven/mojos/ConvertCPMojo.java     |  84 ++--
 url-connection-agent/README.md                     |  49 ---
 url-connection-agent/pom.xml                       | 143 -------
 .../main/java/org/apache/sling/uca/impl/Agent.java |  54 ---
 .../uca/impl/HttpClient3TimeoutTransformer.java    |  74 ----
 .../uca/impl/HttpClient4TimeoutTransformer.java    |  37 --
 .../sling/uca/impl/JavaNetTimeoutTransformer.java  |  90 -----
 .../main/java/org/apache/sling/uca/impl/Log.java   | 113 ------
 .../sling/uca/impl/OkHttpTimeoutTransformer.java   |  36 --
 ...pdateFieldsInConstructorTimeoutTransformer.java |  76 ----
 .../java/org/apache/sling/uca/impl/AgentIT.java    | 245 ------------
 .../apache/sling/uca/impl/HttpClientLauncher.java  | 171 --------
 .../uca/impl/JaveNetTimeoutTransformerTest.java    |  51 ---
 .../sling/uca/impl/MisbehavingServerControl.java   |  31 --
 .../sling/uca/impl/MisbehavingServerExtension.java | 116 ------
 .../src/test/resources/simplelogger.properties     |  20 -
 173 files changed, 1664 insertions(+), 8925 deletions(-)
 delete mode 100644 content-package-2-feature-model/LICENSE
 delete mode 100644 content-package-2-feature-model/README.md
 delete mode 100644 content-package-2-feature-model/pom.xml
 delete mode 100644 content-package-2-feature-model/src/main/assembly/README.md
 delete mode 100644 content-package-2-feature-model/src/main/assembly/bin.xml
 delete mode 100644 content-package-2-feature-model/src/main/java/org/apache/sling/feature/cpconverter/ContentPackage2FeatureModelConverter.java
 delete mode 100644 content-package-2-feature-model/src/main/java/org/apache/sling/feature/cpconverter/DefaultBundlesDeployer.java
 delete mode 100644 content-package-2-feature-model/src/main/java/org/apache/sling/feature/cpconverter/RegexBasedResourceFilter.java
 delete mode 100644 content-package-2-feature-model/src/main/java/org/apache/sling/feature/cpconverter/cli/ContentPackage2FeatureModelConverterLauncher.java
 delete mode 100644 content-package-2-feature-model/src/main/java/org/apache/sling/feature/cpconverter/cli/ShutDownHook.java
 delete mode 100644 content-package-2-feature-model/src/main/java/org/apache/sling/feature/cpconverter/handlers/AbstractConfigurationEntryHandler.java
 delete mode 100644 content-package-2-feature-model/src/main/java/org/apache/sling/feature/cpconverter/handlers/AbstractRegexEntryHandler.java
 delete mode 100644 content-package-2-feature-model/src/main/java/org/apache/sling/feature/cpconverter/handlers/BundleEntryHandler.java
 delete mode 100644 content-package-2-feature-model/src/main/java/org/apache/sling/feature/cpconverter/handlers/ConfigurationEntryHandler.java
 delete mode 100644 content-package-2-feature-model/src/main/java/org/apache/sling/feature/cpconverter/handlers/ContentPackageEntryHandler.java
 delete mode 100644 content-package-2-feature-model/src/main/java/org/apache/sling/feature/cpconverter/handlers/JsonConfigurationEntryHandler.java
 delete mode 100644 content-package-2-feature-model/src/main/java/org/apache/sling/feature/cpconverter/handlers/PropertiesConfigurationEntryHandler.java
 delete mode 100644 content-package-2-feature-model/src/main/java/org/apache/sling/feature/cpconverter/handlers/XmlConfigurationEntryHandler.java
 delete mode 100644 content-package-2-feature-model/src/main/java/org/apache/sling/feature/cpconverter/handlers/package-info.java
 delete mode 100644 content-package-2-feature-model/src/main/java/org/apache/sling/feature/cpconverter/package-info.java
 delete mode 100644 content-package-2-feature-model/src/main/java/org/apache/sling/feature/cpconverter/spi/ArtifactWriter.java
 delete mode 100644 content-package-2-feature-model/src/main/java/org/apache/sling/feature/cpconverter/spi/package-info.java
 delete mode 100644 content-package-2-feature-model/src/main/java/org/apache/sling/feature/cpconverter/vltpkg/VaultPackageAssembler.java
 delete mode 100644 content-package-2-feature-model/src/main/java/org/apache/sling/feature/cpconverter/vltpkg/package-info.java
 delete mode 100644 content-package-2-feature-model/src/main/java/org/apache/sling/feature/cpconverter/writers/FileArtifactWriter.java
 delete mode 100644 content-package-2-feature-model/src/main/java/org/apache/sling/feature/cpconverter/writers/InputStreamArtifactWriter.java
 delete mode 100644 content-package-2-feature-model/src/main/java/org/apache/sling/feature/cpconverter/writers/MavenPomSupplierWriter.java
 delete mode 100644 content-package-2-feature-model/src/main/java/org/apache/sling/feature/cpconverter/writers/package-info.java
 delete mode 100644 content-package-2-feature-model/src/main/legal/LICENSE-with-deps
 delete mode 100644 content-package-2-feature-model/src/main/legal/NOTICE-with-deps
 delete mode 100644 content-package-2-feature-model/src/main/legal/license-header
 delete mode 100644 content-package-2-feature-model/src/main/resources/META-INF/services/org.apache.sling.feature.cpconverter.spi.EntryHandler
 delete mode 100644 content-package-2-feature-model/src/main/resources/org/apache/sling/feature/cpconverter/vltpkg/config.xml
 delete mode 100644 content-package-2-feature-model/src/main/resources/org/apache/sling/feature/cpconverter/vltpkg/definition/.content.xml
 delete mode 100644 content-package-2-feature-model/src/main/resources/org/apache/sling/feature/cpconverter/vltpkg/settings.xml
 delete mode 100644 content-package-2-feature-model/src/test/java/org/apache/sling/feature/cpconverter/ContentPackage2FeatureModelConverterTest.java
 delete mode 100644 content-package-2-feature-model/src/test/java/org/apache/sling/feature/cpconverter/DefaultBundlesDeployerTest.java
 delete mode 100644 content-package-2-feature-model/src/test/java/org/apache/sling/feature/cpconverter/RegexBasedResourceFilterTest.java
 delete mode 100644 content-package-2-feature-model/src/test/java/org/apache/sling/feature/cpconverter/handlers/BundleEntryHandlerTest.java
 delete mode 100644 content-package-2-feature-model/src/test/java/org/apache/sling/feature/cpconverter/handlers/ConfigurationEntryHandlerTest.java
 delete mode 100644 content-package-2-feature-model/src/test/java/org/apache/sling/feature/cpconverter/handlers/JsonConfigurationEntryHandlerTest.java
 delete mode 100644 content-package-2-feature-model/src/test/java/org/apache/sling/feature/cpconverter/vltpkg/VaultPackageAssemblerTest.java
 delete mode 100644 content-package-2-feature-model/src/test/resources/org/apache/sling/feature/cpconverter/handlers/jcr_root/.content.xml
 delete mode 100644 content-package-2-feature-model/src/test/resources/org/apache/sling/feature/cpconverter/handlers/jcr_root/apps/asd/config.author/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.config
 delete mode 100644 content-package-2-feature-model/src/test/resources/org/apache/sling/feature/cpconverter/handlers/jcr_root/apps/asd/config.publish/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.config
 delete mode 100644 content-package-2-feature-model/src/test/resources/org/apache/sling/feature/cpconverter/handlers/jcr_root/apps/asd/config/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.INVALID.cfg.json
 delete mode 100644 content-package-2-feature-model/src/test/resources/org/apache/sling/feature/cpconverter/handlers/jcr_root/apps/asd/config/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.cfg
 delete mode 100644 content-package-2-feature-model/src/test/resources/org/apache/sling/feature/cpconverter/handlers/jcr_root/apps/asd/config/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.cfg.json
 delete mode 100644 content-package-2-feature-model/src/test/resources/org/apache/sling/feature/cpconverter/handlers/jcr_root/apps/asd/config/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.config
 delete mode 100644 content-package-2-feature-model/src/test/resources/org/apache/sling/feature/cpconverter/handlers/jcr_root/apps/asd/config/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.empty.cfg
 delete mode 100644 content-package-2-feature-model/src/test/resources/org/apache/sling/feature/cpconverter/handlers/jcr_root/apps/asd/config/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.empty.cfg.json
 delete mode 100644 content-package-2-feature-model/src/test/resources/org/apache/sling/feature/cpconverter/handlers/jcr_root/apps/asd/config/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.empty.config
 delete mode 100644 content-package-2-feature-model/src/test/resources/org/apache/sling/feature/cpconverter/handlers/jcr_root/apps/asd/config/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.empty.xml
 delete mode 100644 content-package-2-feature-model/src/test/resources/org/apache/sling/feature/cpconverter/handlers/jcr_root/apps/asd/config/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.empty.xml.cfg
 delete mode 100644 content-package-2-feature-model/src/test/resources/org/apache/sling/feature/cpconverter/handlers/jcr_root/apps/asd/config/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.xml
 delete mode 100644 content-package-2-feature-model/src/test/resources/org/apache/sling/feature/cpconverter/handlers/jcr_root/apps/asd/config/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.xml.cfg
 delete mode 100644 content-package-2-feature-model/src/test/resources/org/apache/sling/feature/cpconverter/handlers/jcr_root/apps/asd/install.author/test-framework.jar
 delete mode 100644 content-package-2-feature-model/src/test/resources/org/apache/sling/feature/cpconverter/handlers/jcr_root/apps/asd/install.publish/test-framework.jar
 delete mode 100644 content-package-2-feature-model/src/test/resources/org/apache/sling/feature/cpconverter/handlers/jcr_root/apps/asd/install/test-framework-no-pom.jar
 delete mode 100644 content-package-2-feature-model/src/test/resources/org/apache/sling/feature/cpconverter/handlers/jcr_root/apps/asd/install/test-framework.jar
 delete mode 100644 content-package-2-feature-model/src/test/resources/org/apache/sling/feature/cpconverter/handlers/jcr_root/asd/.content.xml
 delete mode 100644 content-package-2-feature-model/src/test/resources/org/apache/sling/feature/cpconverter/handlers/jcr_root/asd/public/.content.xml
 delete mode 100644 content-package-2-feature-model/src/test/resources/org/apache/sling/feature/cpconverter/handlers/jcr_root/asd/public/_rep_policy.xml
 delete mode 100644 content-package-2-feature-model/src/test/resources/org/apache/sling/feature/cpconverter/handlers/jcr_root/asd/public/license.txt
 delete mode 100644 content-package-2-feature-model/src/test/resources/org/apache/sling/feature/cpconverter/test-content-package-unacceptable.zip
 delete mode 100644 content-package-2-feature-model/src/test/resources/org/apache/sling/feature/cpconverter/test-content-package.zip
 delete mode 100644 feature-api-regions/README.md
 delete mode 100644 feature-api-regions/src/main/java/org/apache/sling/feature/apiregions/model/ApiRegion.java
 delete mode 100644 feature-api-regions/src/main/java/org/apache/sling/feature/apiregions/model/ApiRegions.java
 delete mode 100644 feature-api-regions/src/main/java/org/apache/sling/feature/apiregions/model/JoinedIterator.java
 delete mode 100644 feature-api-regions/src/main/java/org/apache/sling/feature/apiregions/model/io/json/ApiRegionsJSONParser.java
 delete mode 100644 feature-api-regions/src/main/java/org/apache/sling/feature/apiregions/model/io/json/ApiRegionsJSONSerializer.java
 delete mode 100644 feature-api-regions/src/main/java/org/apache/sling/feature/apiregions/model/io/json/package-info.java
 delete mode 100644 feature-api-regions/src/test/java/org/apache/sling/feature/apiregions/model/ApiRegionTest.java
 delete mode 100644 feature-api-regions/src/test/java/org/apache/sling/feature/apiregions/model/ApiRegionsTest.java
 delete mode 100644 feature-api-regions/src/test/java/org/apache/sling/feature/apiregions/model/io/json/ApiRegionsJSONParserTest.java
 delete mode 100644 feature-api-regions/src/test/java/org/apache/sling/feature/apiregions/model/io/json/ApiRegionsJSONSerializerTest.java
 delete mode 100644 feature-diff/src/main/java/org/apache/sling/feature/diff/AbstractFeatureElementComparator.java
 delete mode 100644 feature-diff/src/main/java/org/apache/sling/feature/diff/ArtifactsComparator.java
 delete mode 100644 feature-diff/src/main/java/org/apache/sling/feature/diff/ComplexElementComparator.java
 delete mode 100644 feature-diff/src/main/java/org/apache/sling/feature/diff/ConfigurationsComparator.java
 create mode 100644 feature-diff/src/main/java/org/apache/sling/feature/diff/DiffRequest.java
 delete mode 100644 feature-diff/src/main/java/org/apache/sling/feature/diff/DiffSection.java
 delete mode 100644 feature-diff/src/main/java/org/apache/sling/feature/diff/ElementComparator.java
 delete mode 100644 feature-diff/src/main/java/org/apache/sling/feature/diff/ExtensionsComparator.java
 delete mode 100644 feature-diff/src/main/java/org/apache/sling/feature/diff/GenericMapComparator.java
 delete mode 100644 feature-diff/src/main/java/org/apache/sling/feature/diff/RequirementsComparator.java
 delete mode 100644 feature-diff/src/main/java/org/apache/sling/feature/diff/UpdatedItem.java
 rename content-package-2-feature-model/src/main/java/org/apache/sling/feature/cpconverter/spi/BundlesDeployer.java => feature-diff/src/main/java/org/apache/sling/feature/diff/impl/AbstractFeatureElementComparator.java (65%)
 create mode 100644 feature-diff/src/main/java/org/apache/sling/feature/diff/impl/BundlesComparator.java
 create mode 100644 feature-diff/src/main/java/org/apache/sling/feature/diff/impl/ConfigurationsComparator.java
 create mode 100644 feature-diff/src/main/java/org/apache/sling/feature/diff/impl/ExtensionsComparator.java
 rename content-package-2-feature-model/src/main/java/org/apache/sling/feature/cpconverter/cli/package-info.java => feature-diff/src/main/java/org/apache/sling/feature/diff/impl/FeatureElementComparator.java (51%)
 create mode 100644 feature-diff/src/main/java/org/apache/sling/feature/diff/impl/FrameworkPropertiesComparator.java
 delete mode 100644 feature-diff/src/main/java/org/apache/sling/feature/diff/io/json/FeatureDiffJSONSerializer.java
 delete mode 100644 feature-diff/src/main/java/org/apache/sling/feature/diff/io/json/package-info.java
 delete mode 100644 feature-diff/src/test/java/org/apache/sling/feature/diff/ApiRegionsComparatorTest.java
 delete mode 100644 feature-diff/src/test/java/org/apache/sling/feature/diff/DiffSectionTest.java
 delete mode 100644 feature-diff/src/test/java/org/apache/sling/feature/diff/UpdatedItemTest.java
 rename content-package-2-feature-model/src/test/java/org/apache/sling/feature/cpconverter/handlers/ContentPackageEntryHandlerTest.java => feature-diff/src/test/java/org/apache/sling/feature/diff/impl/AbstractComparatorTest.java (55%)
 rename feature-diff/src/test/java/org/apache/sling/feature/diff/{ArtifactsComparatorTest.java => impl/BundlesComparatorTest.java} (55%)
 rename feature-diff/src/test/java/org/apache/sling/feature/diff/{ => impl}/ConfigurationsComparatorTest.java (59%)
 create mode 100644 feature-diff/src/test/java/org/apache/sling/feature/diff/impl/ExtensionsComparatorTest.java
 rename feature-diff/src/test/java/org/apache/sling/feature/diff/{GenericMapComparatorTest.java => impl/FrameworkPropertiesComparatorTest.java} (54%)
 delete mode 100644 feature-diff/src/test/java/org/apache/sling/feature/diff/io/json/FeatureDiffJSONSerializerTest.java
 delete mode 100644 feature-diff/src/test/resources/org/apache/sling/feature/diff/io/json/expectedDiff.json
 rename {feature-api-regions => runtime2feature}/CODE_OF_CONDUCT.md (100%)
 rename {feature-api-regions => runtime2feature}/CONTRIBUTING.md (100%)
 rename {feature-api-regions => runtime2feature}/LICENSE (100%)
 create mode 100644 runtime2feature/README.md
 rename {feature-api-regions => runtime2feature}/pom.xml (52%)
 rename feature-api-regions/src/main/java/org/apache/sling/feature/apiregions/model/io/json/JSONConstants.java => runtime2feature/src/main/java/org/apache/sling/feature/r2f/RuntimeEnvironment2FeatureModel.java (74%)
 rename content-package-2-feature-model/src/main/java/org/apache/sling/feature/cpconverter/spi/EntryHandler.java => runtime2feature/src/main/java/org/apache/sling/feature/r2f/impl/AbstractFeatureElementConsumer.java (64%)
 create mode 100644 runtime2feature/src/main/java/org/apache/sling/feature/r2f/impl/Bundle2ArtifactMapper.java
 create mode 100644 runtime2feature/src/main/java/org/apache/sling/feature/r2f/impl/OSGiConfiguration2FeatureConfigurationMapper.java
 create mode 100644 runtime2feature/src/main/java/org/apache/sling/feature/r2f/impl/RuntimeEnvironment2FeatureModelService.java
 rename {feature-api-regions/src/main/java/org/apache/sling/feature/apiregions/model => runtime2feature/src/main/java/org/apache/sling/feature/r2f}/package-info.java (88%)
 copy sling-cpconverter-maven-plugin/src/it/{package-with-single-bundle-no-parameters => package-with-single-bundle-target-mode}/core/pom.xml (97%)
 copy sling-cpconverter-maven-plugin/src/it/{package-with-single-bundle-with-parameters => package-with-single-bundle-target-mode}/core/src/main/java/org/apache/sling/cpconverter/test/cqconverter/SampleRequestModel.java (100%)
 copy sling-cpconverter-maven-plugin/src/it/{package-with-single-bundle-with-parameters => package-with-single-bundle-target-mode}/core/src/main/java/org/apache/sling/cpconverter/test/servlet/ByPathServlet.java (100%)
 copy sling-cpconverter-maven-plugin/src/it/{package-with-single-bundle-with-parameters => package-with-single-bundle-target-mode}/core/src/main/java/org/apache/sling/cpconverter/test/servlet/ByResourceTypeServlet.java (100%)
 copy sling-cpconverter-maven-plugin/src/it/{package-with-single-bundle-with-parameters => package-with-single-bundle-target-mode}/core/src/test/java/org/apache/sling/cpconverter/test/org/apache/sling/cpconverter/test/servlet/ByPathServletTest.java (100%)
 copy sling-cpconverter-maven-plugin/src/it/{package-with-single-bundle-with-parameters/ui.apps => package-with-single-bundle-target-mode/fm.launcher}/pom.xml (64%)
 copy sling-cpconverter-maven-plugin/src/it/{package-with-single-bundle-with-parameters => package-with-single-bundle-target-mode}/invoker.properties (100%)
 copy sling-cpconverter-maven-plugin/src/it/{package-with-single-bundle-no-parameters => package-with-single-bundle-target-mode}/pom.xml (99%)
 copy sling-cpconverter-maven-plugin/src/it/{package-with-single-bundle-no-parameters => package-with-single-bundle-target-mode}/ui.apps/pom.xml (83%)
 copy sling-cpconverter-maven-plugin/src/it/{package-with-single-bundle-with-parameters => package-with-single-bundle-target-mode}/ui.apps/src/main/content/META-INF/vault/filter.xml (100%)
 copy sling-cpconverter-maven-plugin/src/it/{package-with-single-bundle-with-parameters => package-with-single-bundle-target-mode}/ui.apps/src/main/content/META-INF/vault/settings.xml (100%)
 copy sling-cpconverter-maven-plugin/src/it/{package-with-single-bundle-with-parameters => package-with-single-bundle-target-mode}/ui.apps/src/main/content/jcr_root/apps/cqconverter/.content.xml (100%)
 copy sling-cpconverter-maven-plugin/src/it/{package-with-single-bundle-with-parameters => package-with-single-bundle-target-mode}/ui.apps/src/main/content/jcr_root/apps/cqconverter/home/.content.xml (100%)
 copy sling-cpconverter-maven-plugin/src/it/{package-with-single-bundle-with-parameters => package-with-single-bundle-target-mode}/ui.apps/src/main/content/jcr_root/apps/cqconverter/home/body.html (100%)
 copy sling-cpconverter-maven-plugin/src/it/{package-with-single-bundle-with-parameters => package-with-single-bundle-target-mode}/ui.apps/src/main/content/jcr_root/apps/cqconverter/home/head.html (100%)
 copy sling-cpconverter-maven-plugin/src/it/{package-with-single-bundle-with-parameters => package-with-single-bundle-target-mode}/ui.apps/src/main/content/jcr_root/apps/cqconverter/install/.content.xml (100%)
 copy sling-cpconverter-maven-plugin/src/it/{package-with-single-bundle-with-parameters => package-with-single-bundle-target-mode}/ui.apps/src/main/content/jcr_root/apps/cqconverter/page/.content.xml (100%)
 copy sling-cpconverter-maven-plugin/src/it/{package-with-single-bundle-with-parameters => package-with-single-bundle-target-mode}/ui.apps/src/main/content/jcr_root/apps/cqconverter/page/body.html (100%)
 copy sling-cpconverter-maven-plugin/src/it/{package-with-single-bundle-with-parameters => package-with-single-bundle-target-mode}/ui.apps/src/main/content/jcr_root/apps/cqconverter/page/footer.html (100%)
 copy sling-cpconverter-maven-plugin/src/it/{package-with-single-bundle-with-parameters => package-with-single-bundle-target-mode}/ui.apps/src/main/content/jcr_root/apps/cqconverter/page/head.html (100%)
 copy sling-cpconverter-maven-plugin/src/it/{package-with-single-bundle-with-parameters => package-with-single-bundle-target-mode}/ui.apps/src/main/content/jcr_root/apps/cqconverter/page/page.html (100%)
 copy sling-cpconverter-maven-plugin/src/it/{package-with-single-bundle-with-parameters => package-with-single-bundle-target-mode}/ui.apps/src/main/content/jcr_root/content/cpconverter/.content.xml (100%)
 copy sling-cpconverter-maven-plugin/src/it/{package-with-single-bundle-with-parameters => package-with-single-bundle-target-mode}/ui.apps/src/main/content/jcr_root/content/cpconverter/home/.content.xml (100%)
 copy sling-cpconverter-maven-plugin/src/it/{package-with-single-bundle-with-parameters => package-with-single-bundle-target-mode}/ui.apps/src/main/content/jcr_root/content/cpconverter/home/welcome/.content.xml (100%)
 copy sling-cpconverter-maven-plugin/src/it/{package-with-single-bundle-with-parameters => package-with-single-bundle-target-mode}/verify.bsh (91%)
 create mode 100644 sling-cpconverter-maven-plugin/src/main/java/org/apache/sling/cpconverter/maven/mojos/ContentPackage.java
 delete mode 100644 url-connection-agent/README.md
 delete mode 100644 url-connection-agent/pom.xml
 delete mode 100644 url-connection-agent/src/main/java/org/apache/sling/uca/impl/Agent.java
 delete mode 100644 url-connection-agent/src/main/java/org/apache/sling/uca/impl/HttpClient3TimeoutTransformer.java
 delete mode 100644 url-connection-agent/src/main/java/org/apache/sling/uca/impl/HttpClient4TimeoutTransformer.java
 delete mode 100644 url-connection-agent/src/main/java/org/apache/sling/uca/impl/JavaNetTimeoutTransformer.java
 delete mode 100644 url-connection-agent/src/main/java/org/apache/sling/uca/impl/Log.java
 delete mode 100644 url-connection-agent/src/main/java/org/apache/sling/uca/impl/OkHttpTimeoutTransformer.java
 delete mode 100644 url-connection-agent/src/main/java/org/apache/sling/uca/impl/UpdateFieldsInConstructorTimeoutTransformer.java
 delete mode 100644 url-connection-agent/src/test/java/org/apache/sling/uca/impl/AgentIT.java
 delete mode 100644 url-connection-agent/src/test/java/org/apache/sling/uca/impl/HttpClientLauncher.java
 delete mode 100644 url-connection-agent/src/test/java/org/apache/sling/uca/impl/JaveNetTimeoutTransformerTest.java
 delete mode 100644 url-connection-agent/src/test/java/org/apache/sling/uca/impl/MisbehavingServerControl.java
 delete mode 100644 url-connection-agent/src/test/java/org/apache/sling/uca/impl/MisbehavingServerExtension.java
 delete mode 100644 url-connection-agent/src/test/resources/simplelogger.properties


[sling-whiteboard] 01/02: Merge branch 'master' into feature/sling-cpconverter-maven-plugin

Posted by an...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

andysch pushed a commit to branch feature/sling-cpconverter-maven-plugin
in repository https://gitbox.apache.org/repos/asf/sling-whiteboard.git

commit 1f67335417d73477e49bceb440376b8cb98de22c
Merge: f0b3e0b 7e8182c
Author: Andreas Schaefer <sc...@iMac.local>
AuthorDate: Tue Jun 25 14:25:13 2019 -0700

    Merge branch 'master' into feature/sling-cpconverter-maven-plugin

 content-package-2-feature-model/LICENSE            | 201 ----------
 content-package-2-feature-model/README.md          | 396 -------------------
 content-package-2-feature-model/pom.xml            | 322 ---------------
 .../src/main/assembly/README.md                    | 149 -------
 .../src/main/assembly/bin.xml                      |  71 ----
 .../ContentPackage2FeatureModelConverter.java      | 431 ---------------------
 .../cpconverter/DefaultBundlesDeployer.java        |  99 -----
 .../cpconverter/RegexBasedResourceFilter.java      |  54 ---
 ...ntentPackage2FeatureModelConverterLauncher.java | 186 ---------
 .../feature/cpconverter/cli/ShutDownHook.java      |  81 ----
 .../AbstractConfigurationEntryHandler.java         |  68 ----
 .../handlers/AbstractRegexEntryHandler.java        |  44 ---
 .../cpconverter/handlers/BundleEntryHandler.java   | 136 -------
 .../handlers/ConfigurationEntryHandler.java        |  36 --
 .../handlers/ContentPackageEntryHandler.java       |  49 ---
 .../handlers/JsonConfigurationEntryHandler.java    |  75 ----
 .../PropertiesConfigurationEntryHandler.java       |  60 ---
 .../handlers/XmlConfigurationEntryHandler.java     |  92 -----
 .../feature/cpconverter/handlers/package-info.java |  23 --
 .../feature/cpconverter/spi/ArtifactWriter.java    |  26 --
 .../feature/cpconverter/spi/package-info.java      |  21 -
 .../cpconverter/vltpkg/VaultPackageAssembler.java  | 172 --------
 .../feature/cpconverter/vltpkg/package-info.java   |  21 -
 .../cpconverter/writers/FileArtifactWriter.java    |  42 --
 .../writers/InputStreamArtifactWriter.java         |  39 --
 .../writers/MavenPomSupplierWriter.java            |  54 ---
 .../feature/cpconverter/writers/package-info.java  |  21 -
 .../src/main/legal/LICENSE-with-deps               | 233 -----------
 .../src/main/legal/NOTICE-with-deps                |   5 -
 .../src/main/legal/license-header                  |  14 -
 ...ache.sling.feature.cpconverter.spi.EntryHandler |   6 -
 .../sling/feature/cpconverter/vltpkg/config.xml    |  95 -----
 .../cpconverter/vltpkg/definition/.content.xml     |  19 -
 .../sling/feature/cpconverter/vltpkg/settings.xml  |  22 --
 .../ContentPackage2FeatureModelConverterTest.java  | 235 -----------
 .../cpconverter/DefaultBundlesDeployerTest.java    |  80 ----
 .../cpconverter/RegexBasedResourceFilterTest.java  |  69 ----
 .../handlers/BundleEntryHandlerTest.java           | 118 ------
 .../handlers/ConfigurationEntryHandlerTest.java    | 127 ------
 .../JsonConfigurationEntryHandlerTest.java         |  46 ---
 .../vltpkg/VaultPackageAssemblerTest.java          |  89 -----
 .../cpconverter/handlers/jcr_root/.content.xml     |  22 --
 ...ceusermapping.impl.ServiceUserMapperImpl.config |  17 -
 ...ceusermapping.impl.ServiceUserMapperImpl.config |  17 -
 ...ing.impl.ServiceUserMapperImpl.INVALID.cfg.json |   1 -
 ...rviceusermapping.impl.ServiceUserMapperImpl.cfg |  17 -
 ...usermapping.impl.ServiceUserMapperImpl.cfg.json |   7 -
 ...ceusermapping.impl.ServiceUserMapperImpl.config |  17 -
 ...sermapping.impl.ServiceUserMapperImpl.empty.cfg |  14 -
 ...pping.impl.ServiceUserMapperImpl.empty.cfg.json |   3 -
 ...mapping.impl.ServiceUserMapperImpl.empty.config |  14 -
 ...sermapping.impl.ServiceUserMapperImpl.empty.xml |  19 -
 ...apping.impl.ServiceUserMapperImpl.empty.xml.cfg |  19 -
 ...rviceusermapping.impl.ServiceUserMapperImpl.xml |  21 -
 ...eusermapping.impl.ServiceUserMapperImpl.xml.cfg |  22 --
 .../apps/asd/install.author/test-framework.jar     | Bin 13288 -> 0 bytes
 .../apps/asd/install.publish/test-framework.jar    | Bin 13288 -> 0 bytes
 .../apps/asd/install/test-framework-no-pom.jar     | Bin 10769 -> 0 bytes
 .../jcr_root/apps/asd/install/test-framework.jar   | Bin 13288 -> 0 bytes
 .../cpconverter/handlers/jcr_root/asd/.content.xml |  20 -
 .../handlers/jcr_root/asd/public/.content.xml      |  19 -
 .../handlers/jcr_root/asd/public/_rep_policy.xml   |  24 --
 .../handlers/jcr_root/asd/public/license.txt       |  14 -
 .../test-content-package-unacceptable.zip          | Bin 15017 -> 0 bytes
 .../feature/cpconverter/test-content-package.zip   | Bin 46393 -> 0 bytes
 feature-api-regions/README.md                      | 164 --------
 .../sling/feature/apiregions/model/ApiRegion.java  | 280 -------------
 .../sling/feature/apiregions/model/ApiRegions.java |  85 ----
 .../feature/apiregions/model/JoinedIterator.java   |  54 ---
 .../model/io/json/ApiRegionsJSONParser.java        | 160 --------
 .../model/io/json/ApiRegionsJSONSerializer.java    | 115 ------
 .../apiregions/model/io/json/package-info.java     |  21 -
 .../feature/apiregions/model/package-info.java     |  21 -
 .../feature/apiregions/model/ApiRegionTest.java    | 158 --------
 .../feature/apiregions/model/ApiRegionsTest.java   | 113 ------
 .../model/io/json/ApiRegionsJSONParserTest.java    | 100 -----
 .../io/json/ApiRegionsJSONSerializerTest.java      | 125 ------
 feature-diff/README.md                             | 149 ++-----
 feature-diff/pom.xml                               |  44 ++-
 .../diff/AbstractFeatureElementComparator.java     |  61 ---
 .../sling/feature/diff/ArtifactsComparator.java    |  57 ---
 .../feature/diff/ComplexElementComparator.java     |  24 --
 .../feature/diff/ConfigurationsComparator.java     |  77 ----
 .../org/apache/sling/feature/diff/DiffRequest.java |  72 ++++
 .../org/apache/sling/feature/diff/DiffSection.java | 106 -----
 .../sling/feature/diff/ElementComparator.java      |  23 --
 .../sling/feature/diff/ExtensionsComparator.java   | 142 -------
 .../org/apache/sling/feature/diff/FeatureDiff.java |  83 ++--
 .../sling/feature/diff/GenericMapComparator.java   |  62 ---
 .../sling/feature/diff/RequirementsComparator.java |  54 ---
 .../org/apache/sling/feature/diff/UpdatedItem.java |  74 ----
 .../impl/AbstractFeatureElementComparator.java     |  26 +-
 .../sling/feature/diff/impl/BundlesComparator.java |  61 +++
 .../diff/impl/ConfigurationsComparator.java        | 195 ++++++++++
 .../feature/diff/impl/ExtensionsComparator.java    | 145 +++++++
 .../diff/impl/FeatureElementComparator.java        |  26 +-
 .../diff/impl/FrameworkPropertiesComparator.java   |  63 +++
 .../diff/io/json/FeatureDiffJSONSerializer.java    | 142 -------
 .../sling/feature/diff/io/json/package-info.java   |  21 -
 .../apache/sling/feature/diff/package-info.java    |   3 +-
 .../feature/diff/ApiRegionsComparatorTest.java     | 112 ------
 .../apache/sling/feature/diff/DiffSectionTest.java |  98 -----
 .../apache/sling/feature/diff/FeatureDiffTest.java |  87 ++---
 .../apache/sling/feature/diff/UpdatedItemTest.java |  42 --
 .../feature/diff/impl/AbstractComparatorTest.java  |  33 +-
 .../BundlesComparatorTest.java}                    |  58 +--
 .../{ => impl}/ConfigurationsComparatorTest.java   |  55 ++-
 .../diff/impl/ExtensionsComparatorTest.java        | 133 +++++++
 .../FrameworkPropertiesComparatorTest.java}        |  51 +--
 .../io/json/FeatureDiffJSONSerializerTest.java     | 126 ------
 .../sling/feature/diff/io/json/expectedDiff.json   |  81 ----
 pom.xml                                            |   1 -
 .../CODE_OF_CONDUCT.md                             |   0
 .../CONTRIBUTING.md                                |   0
 {feature-api-regions => runtime2feature}/LICENSE   |   0
 runtime2feature/README.md                          |  66 ++++
 {feature-api-regions => runtime2feature}/pom.xml   |  72 +++-
 .../r2f/RuntimeEnvironment2FeatureModel.java       |  14 +-
 .../r2f/impl/AbstractFeatureElementConsumer.java   |  20 +-
 .../feature/r2f/impl/Bundle2ArtifactMapper.java    | 127 ++++++
 ...GiConfiguration2FeatureConfigurationMapper.java |  55 +++
 .../RuntimeEnvironment2FeatureModelService.java    | 181 +++++++++
 .../apache/sling/feature/r2f}/package-info.java    |   6 +-
 url-connection-agent/README.md                     |  49 ---
 url-connection-agent/pom.xml                       | 143 -------
 .../main/java/org/apache/sling/uca/impl/Agent.java |  54 ---
 .../uca/impl/HttpClient3TimeoutTransformer.java    |  74 ----
 .../uca/impl/HttpClient4TimeoutTransformer.java    |  37 --
 .../sling/uca/impl/JavaNetTimeoutTransformer.java  |  90 -----
 .../main/java/org/apache/sling/uca/impl/Log.java   | 113 ------
 .../sling/uca/impl/OkHttpTimeoutTransformer.java   |  36 --
 ...pdateFieldsInConstructorTimeoutTransformer.java |  76 ----
 .../java/org/apache/sling/uca/impl/AgentIT.java    | 245 ------------
 .../apache/sling/uca/impl/HttpClientLauncher.java  | 171 --------
 .../uca/impl/JaveNetTimeoutTransformerTest.java    |  51 ---
 .../sling/uca/impl/MisbehavingServerControl.java   |  31 --
 .../sling/uca/impl/MisbehavingServerExtension.java | 116 ------
 .../src/test/resources/simplelogger.properties     |  20 -
 138 files changed, 1438 insertions(+), 8806 deletions(-)


[sling-whiteboard] 02/02: SLING-8490 - Added a target mode allowing a POM to convert packages added as dependencies

Posted by an...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

andysch pushed a commit to branch feature/sling-cpconverter-maven-plugin
in repository https://gitbox.apache.org/repos/asf/sling-whiteboard.git

commit 21be47c73df4ccd22651cc5e3d040fbc5469bde1
Author: Andreas Schaefer <sc...@iMac.local>
AuthorDate: Wed Jun 26 19:11:13 2019 -0700

    SLING-8490 - Added a target mode allowing a POM to convert packages added as dependencies
    
    This way all the necessary CP can be converted and used in the location it is used
---
 .../core/pom.xml                                   |   4 +-
 .../pom.xml                                        |   4 +-
 .../ui.apps/pom.xml                                |   8 +-
 .../verify.bsh                                     |   8 +-
 .../core/pom.xml                                   |   4 +-
 .../test/cqconverter/SampleRequestModel.java       |  53 ++++++++++
 .../cpconverter/test/servlet/ByPathServlet.java    |  71 +++++++++++++
 .../test/servlet/ByResourceTypeServlet.java        |  77 ++++++++++++++
 .../test/servlet/ByPathServletTest.java            |  33 ++++++
 .../fm.launcher}/pom.xml                           |  53 ++--------
 .../invoker.properties                             |  17 +++
 .../pom.xml                                        |   5 +-
 .../ui.apps/pom.xml                                |  24 +----
 .../src/main/content/META-INF/vault/filter.xml     |  40 ++++++++
 .../src/main/content/META-INF/vault/settings.xml   |  17 +++
 .../content/jcr_root/apps/cqconverter/.content.xml |  24 +++++
 .../jcr_root/apps/cqconverter/home/.content.xml    |  20 ++++
 .../jcr_root/apps/cqconverter/home/body.html       |  24 +++++
 .../jcr_root/apps/cqconverter/home/head.html       |  23 +++++
 .../jcr_root/apps/cqconverter/install/.content.xml |  23 +++++
 .../jcr_root/apps/cqconverter/page/.content.xml    |  19 ++++
 .../jcr_root/apps/cqconverter/page/body.html       |  21 ++++
 .../jcr_root/apps/cqconverter/page/footer.html     |  19 ++++
 .../jcr_root/apps/cqconverter/page/head.html       |  23 +++++
 .../jcr_root/apps/cqconverter/page/page.html       |  35 +++++++
 .../jcr_root/content/cpconverter/.content.xml      |  18 ++++
 .../jcr_root/content/cpconverter/home/.content.xml |  20 ++++
 .../content/cpconverter/home/welcome/.content.xml  |  25 +++++
 .../verify.bsh                                     |  13 +--
 .../core/pom.xml                                   |   4 +-
 .../pom.xml                                        |   4 +-
 .../ui.apps/pom.xml                                |   8 +-
 .../verify.bsh                                     |   8 +-
 .../cpconverter/maven/mojos/ContentPackage.java    | 114 +++++++++++++++++++++
 .../cpconverter/maven/mojos/ConvertCPMojo.java     |  84 ++++++++++-----
 35 files changed, 828 insertions(+), 119 deletions(-)

diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-no-parameters/core/pom.xml b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-no-parameters/core/pom.xml
index a48b83a..cc7f813 100644
--- a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-no-parameters/core/pom.xml
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-no-parameters/core/pom.xml
@@ -22,13 +22,13 @@
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <artifactId>sling-cpconverter-maven-plugin-test</artifactId>
+        <artifactId>sling-cpconverter-maven-plugin-test-no-param</artifactId>
         <groupId>org.apache.sling</groupId>
         <version>1.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
-    <artifactId>sling-cpconverter-maven-plugin-test.core</artifactId>
+    <artifactId>sling-cpconverter-maven-plugin-test-no-param.core</artifactId>
     <packaging>bundle</packaging>
 
     <name>CQ Converter Test - Core</name>
diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-no-parameters/pom.xml b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-no-parameters/pom.xml
index a0a969f..5ddd115 100644
--- a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-no-parameters/pom.xml
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-no-parameters/pom.xml
@@ -14,10 +14,10 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.sling</groupId>
-    <artifactId>sling-cpconverter-maven-plugin-test</artifactId>
+    <artifactId>sling-cpconverter-maven-plugin-test-no-param</artifactId>
     <packaging>pom</packaging>
     <version>1.0.0-SNAPSHOT</version>
-    <name>Apache Sling Features Maven plugin test</name>
+    <name>Apache Sling Features Maven plugin test - no parameter</name>
     <description>This is just an Apache Sling Content Package Maven plugin test to convert a package with a single
         bundle
     </description>
diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-no-parameters/ui.apps/pom.xml b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-no-parameters/ui.apps/pom.xml
index 3f43e36..4ec8713 100644
--- a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-no-parameters/ui.apps/pom.xml
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-no-parameters/ui.apps/pom.xml
@@ -23,13 +23,13 @@
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <artifactId>sling-cpconverter-maven-plugin-test</artifactId>
+        <artifactId>sling-cpconverter-maven-plugin-test-no-param</artifactId>
         <groupId>org.apache.sling</groupId>
         <version>1.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
-    <artifactId>sling-cpconverter-maven-plugin-test.ui.apps</artifactId>
+    <artifactId>sling-cpconverter-maven-plugin-test-no-param.ui.apps</artifactId>
     <packaging>content-package</packaging>
 
     <name>CQ Converter Test - UI Apps</name>
@@ -54,7 +54,7 @@
     <dependencies>
         <dependency>
             <groupId>${project.groupId}</groupId>
-            <artifactId>sling-cpconverter-maven-plugin-test.core</artifactId>
+            <artifactId>sling-cpconverter-maven-plugin-test-no-param.core</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
@@ -75,7 +75,7 @@
                     <embeddeds>
                         <embedded>
                             <groupId>${project.groupId}</groupId>
-                            <artifactId>sling-cpconverter-maven-plugin-test.core</artifactId>
+                            <artifactId>sling-cpconverter-maven-plugin-test-no-param.core</artifactId>
                             <filter>true</filter>
                         </embedded>
                     </embeddeds>
diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-no-parameters/verify.bsh b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-no-parameters/verify.bsh
index 9c29fda..88da15c 100644
--- a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-no-parameters/verify.bsh
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-no-parameters/verify.bsh
@@ -19,8 +19,8 @@ import java.util.*;
 import org.codehaus.plexus.util.*;
 
     boolean check() {
-        String projectName = "sling-cpconverter-maven-plugin-test.ui.apps";
-        String projectCoreName = "sling-cpconverter-maven-plugin-test.core";
+        String projectName = "sling-cpconverter-maven-plugin-test-no-param.ui.apps";
+        String projectCoreName = "sling-cpconverter-maven-plugin-test-no-param.core";
         String projectVersion = "1.0.0-SNAPSHOT";
         String projectGroup = "org.apache.sling";
         String projectGroupPath = projectGroup.replaceAll("\\.", "/");
@@ -31,8 +31,8 @@ import org.codehaus.plexus.util.*;
             System.out.println("Content Package was not created: " + packageFile);
             return false;
         }
-        File outputFolder = new File(targetFolder, "classes");
-        File featureModelFolder = new File(outputFolder, "cp-conversion");
+        File outputFolder = new File(targetFolder, "cp-conversion");
+        File featureModelFolder = new File(outputFolder, "fm.out");
         if(!featureModelFolder.exists()) {
             System.out.println("Feature Model Folder was not created" + featureModelFolder);
             return false;
diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-no-parameters/core/pom.xml b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/core/pom.xml
similarity index 97%
copy from sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-no-parameters/core/pom.xml
copy to sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/core/pom.xml
index a48b83a..e9a550d 100644
--- a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-no-parameters/core/pom.xml
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/core/pom.xml
@@ -22,13 +22,13 @@
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <artifactId>sling-cpconverter-maven-plugin-test</artifactId>
+        <artifactId>sling-cpconverter-maven-plugin-test-target-mode</artifactId>
         <groupId>org.apache.sling</groupId>
         <version>1.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
-    <artifactId>sling-cpconverter-maven-plugin-test.core</artifactId>
+    <artifactId>sling-cpconverter-maven-plugin-test-target-mode.core</artifactId>
     <packaging>bundle</packaging>
 
     <name>CQ Converter Test - Core</name>
diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/core/src/main/java/org/apache/sling/cpconverter/test/cqconverter/SampleRequestModel.java b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/core/src/main/java/org/apache/sling/cpconverter/test/cqconverter/SampleRequestModel.java
new file mode 100644
index 0000000..a015bb8
--- /dev/null
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/core/src/main/java/org/apache/sling/cpconverter/test/cqconverter/SampleRequestModel.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sling.cpconverter.test.cqconverter;
+
+import org.apache.sling.api.SlingHttpServletRequest;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.models.annotations.Model;
+import org.apache.sling.models.annotations.injectorspecific.SlingObject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.jcr.Session;
+
+@Model(adaptables = {Resource.class, SlingHttpServletRequest.class})
+public class SampleRequestModel {
+
+    private static final Logger LOGGER = LoggerFactory.getLogger(SampleRequestModel.class);
+
+    @SlingObject
+    private ResourceResolver resourceResolver;
+
+    public SampleRequestModel() {
+        LOGGER.trace("Model Instance created");
+    }
+
+    /** @return User Name of the Current User **/
+    public String getCurrentUser() {
+        String answer = "No User";
+
+        // Adapt to a session and get the current User ID.
+        Session session = resourceResolver.adaptTo(Session.class);
+        LOGGER.trace("Found Session from Resolver: '{}'", session);
+        if(session != null) {
+            answer = session.getUserID();
+        }
+        return answer;
+    }
+}
\ No newline at end of file
diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/core/src/main/java/org/apache/sling/cpconverter/test/servlet/ByPathServlet.java b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/core/src/main/java/org/apache/sling/cpconverter/test/servlet/ByPathServlet.java
new file mode 100644
index 0000000..27db4f4
--- /dev/null
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/core/src/main/java/org/apache/sling/cpconverter/test/servlet/ByPathServlet.java
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sling.cpconverter.test.servlet;
+
+import java.io.IOException;
+import java.io.Writer;
+
+import javax.servlet.Servlet;
+import javax.servlet.ServletException;
+
+import org.osgi.framework.Constants;
+import org.osgi.service.component.annotations.Component;
+
+import org.apache.sling.api.SlingHttpServletRequest;
+import org.apache.sling.api.SlingHttpServletResponse;
+import org.apache.sling.api.servlets.SlingSafeMethodsServlet;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Hello World Servlet registered by path
+ */
+@Component(
+    service = Servlet.class,
+    property = {
+        Constants.SERVICE_DESCRIPTION + "=Hello World Path Servlet",
+        Constants.SERVICE_VENDOR + "=The Apache Software Foundation",
+        "sling.servlet.paths=/hello-world-servlet"
+    }
+)
+@SuppressWarnings("serial")
+public class ByPathServlet extends SlingSafeMethodsServlet {
+    
+    private final Logger log = LoggerFactory.getLogger(ByPathServlet.class);
+
+    @Override
+    protected void doGet(SlingHttpServletRequest request,
+            SlingHttpServletResponse response) throws ServletException,
+            IOException {
+        
+        Writer w = response.getWriter();
+        w.write("<!DOCTYPE html PUBLIC \"-//IETF//DTD HTML 2.0//EN\">");
+        w.write("<html>");
+        w.write("<head>");
+        w.write("<title>Hello World Servlet</title>");
+        w.write("</head>");
+        w.write("<body>");
+        w.write("<h1>Hello World!</h1>");
+        w.write("</body>");
+        w.write("</html>");
+        
+        log.info("Hello World Servlet");
+        
+    }
+
+}
+
diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/core/src/main/java/org/apache/sling/cpconverter/test/servlet/ByResourceTypeServlet.java b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/core/src/main/java/org/apache/sling/cpconverter/test/servlet/ByResourceTypeServlet.java
new file mode 100644
index 0000000..da24407
--- /dev/null
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/core/src/main/java/org/apache/sling/cpconverter/test/servlet/ByResourceTypeServlet.java
@@ -0,0 +1,77 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sling.cpconverter.test.servlet;
+
+import java.io.IOException;
+import java.io.Writer;
+
+import javax.servlet.Servlet;
+import javax.servlet.ServletException;
+
+import org.osgi.framework.Constants;
+import org.osgi.service.component.annotations.Component;
+
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.SlingHttpServletRequest;
+import org.apache.sling.api.SlingHttpServletResponse;
+import org.apache.sling.api.servlets.SlingSafeMethodsServlet;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Hello World Servlet registered by resource type
+ */
+@Component(
+    service = Servlet.class,
+    property = {
+        Constants.SERVICE_DESCRIPTION + "=Hello World Path Servlet",
+        Constants.SERVICE_VENDOR + "=The Apache Software Foundation",
+        "sling.servlet.resourceTypes=sling/servlet/default",
+        "sling.servlet.selectors=hello",
+        "sling.servlet.extensions=html",
+    }
+)
+@SuppressWarnings("serial")
+public class ByResourceTypeServlet extends SlingSafeMethodsServlet {
+    
+    private final Logger log = LoggerFactory.getLogger(ByResourceTypeServlet.class);
+
+    @Override
+    protected void doGet(SlingHttpServletRequest request,
+            SlingHttpServletResponse response) throws ServletException,
+            IOException {
+        Resource resource = request.getResource();
+
+        Writer w = response.getWriter();
+        w.write("<!DOCTYPE html PUBLIC \"-//IETF//DTD HTML 2.0//EN\">");
+        w.write("<html>");
+        w.write("<head>");
+        w.write("<title>Hello World Servlet</title>");
+        w.write("</head>");
+        w.write("<body>");
+        w.write("<h1>Hello ");
+        w.write(resource.getPath());
+        w.write("</h1>");
+        w.write("</body>");
+        w.write("</html>");
+        
+        log.info("Hello World Servlet");
+        
+    }
+
+}
+
diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/core/src/test/java/org/apache/sling/cpconverter/test/org/apache/sling/cpconverter/test/servlet/ByPathServletTest.java b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/core/src/test/java/org/apache/sling/cpconverter/test/org/apache/sling/cpconverter/test/servlet/ByPathServletTest.java
new file mode 100644
index 0000000..f2f5286
--- /dev/null
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/core/src/test/java/org/apache/sling/cpconverter/test/org/apache/sling/cpconverter/test/servlet/ByPathServletTest.java
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with this
+ * work for additional information regarding copyright ownership. The ASF
+ * licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.sling.cpconverter.test.servlet;
+
+import junit.framework.TestCase;
+
+/**
+ * Unit test for By Path Servlet.
+ */
+public class ByPathServletTest extends TestCase {
+
+    /**
+     * Rigourous Test :-)
+     */
+    public void testByPathServlet() {
+        assertTrue(true);
+    }
+    
+}
diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-with-parameters/ui.apps/pom.xml b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/fm.launcher/pom.xml
similarity index 64%
copy from sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-with-parameters/ui.apps/pom.xml
copy to sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/fm.launcher/pom.xml
index cd31d67..ee2a9c9 100644
--- a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-with-parameters/ui.apps/pom.xml
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/fm.launcher/pom.xml
@@ -23,14 +23,14 @@
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <artifactId>sling-cpconverter-maven-plugin-test</artifactId>
+        <artifactId>sling-cpconverter-maven-plugin-test-target-mode</artifactId>
         <groupId>org.apache.sling</groupId>
         <version>1.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
-    <artifactId>sling-cpconverter-maven-plugin-test.ui.apps</artifactId>
-    <packaging>content-package</packaging>
+    <artifactId>sling-cpconverter-maven-plugin-test-target-mode.fm.launcher</artifactId>
+    <packaging>jar</packaging>
 
     <name>CQ Converter Test - UI Apps</name>
     <description>
@@ -54,8 +54,9 @@
     <dependencies>
         <dependency>
             <groupId>${project.groupId}</groupId>
-            <artifactId>sling-cpconverter-maven-plugin-test.core</artifactId>
+            <artifactId>sling-cpconverter-maven-plugin-test-target-mode.ui.apps</artifactId>
             <version>${project.version}</version>
+            <type>zip</type>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
@@ -67,22 +68,6 @@
     <build>
         <plugins>
             <plugin>
-                <groupId>org.apache.jackrabbit</groupId>
-                <artifactId>filevault-package-maven-plugin</artifactId>
-                <configuration>
-                    <filterSource>${basedir}/src/main/content/META-INF/vault/filter.xml</filterSource>
-                    <embeddedTarget>/apps/cqconverter/install</embeddedTarget>
-                    <embeddeds>
-                        <embedded>
-                            <groupId>${project.groupId}</groupId>
-                            <artifactId>sling-cpconverter-maven-plugin-test.core</artifactId>
-                            <filter>true</filter>
-                        </embedded>
-                    </embeddeds>
-                </configuration>
-            </plugin>
-
-            <plugin>
                 <groupId>@project.groupId@</groupId>
                 <artifactId>@project.artifactId@</artifactId>
                 <version>@project.version@</version>
@@ -98,32 +83,16 @@
                             <!-- NOTE: ${} is replaced no matter what so this trick seems to work by adding a zero-width-whitespace character (&#8203;)-->
                             <artifactIdOverride>$&#8203;{project.groupId}:$&#8203;{project.artifactId}:slingosgifeature:@project.artifactId@:$&#8203;{project.version}</artifactIdOverride>
                             <installConvertedPackage>true</installConvertedPackage>
+                            <contentPackages>
+                                <contentPackage>
+                                    <groupId>${project.groupId}</groupId>
+                                    <artifactId>sling-cpconverter-maven-plugin-test-target-mode.ui.apps</artifactId>
+                                </contentPackage>
+                            </contentPackages>
                         </configuration>
                     </execution>
                 </executions>
             </plugin>
         </plugins>
     </build>
-    <profiles>
-        <!-- ATTENTION: It is highly recomended not to deploy this with this Profile if this Package was or will be deployed with the All package -->
-        <profile>
-            <id>autoInstallPackage</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>io.wcm.maven.plugins</groupId>
-                        <artifactId>wcmio-content-package-maven-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>install-package</id>
-                                <goals>
-                                    <goal>install</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
 </project>
diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/invoker.properties b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/invoker.properties
new file mode 100644
index 0000000..209b6ef
--- /dev/null
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/invoker.properties
@@ -0,0 +1,17 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+invoker.goals = clean install
+invoker.debug = true
diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-with-parameters/pom.xml b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/pom.xml
similarity index 99%
copy from sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-with-parameters/pom.xml
copy to sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/pom.xml
index a0a969f..c671441 100644
--- a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-with-parameters/pom.xml
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/pom.xml
@@ -14,10 +14,10 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.sling</groupId>
-    <artifactId>sling-cpconverter-maven-plugin-test</artifactId>
+    <artifactId>sling-cpconverter-maven-plugin-test-target-mode</artifactId>
     <packaging>pom</packaging>
     <version>1.0.0-SNAPSHOT</version>
-    <name>Apache Sling Features Maven plugin test</name>
+    <name>Apache Sling Features Maven plugin test - target mode</name>
     <description>This is just an Apache Sling Content Package Maven plugin test to convert a package with a single
         bundle
     </description>
@@ -413,6 +413,7 @@
     <modules>
         <module>core</module>
         <module>ui.apps</module>
+        <module>fm.launcher</module>
     </modules>
 </project>
  
diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-no-parameters/ui.apps/pom.xml b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/pom.xml
similarity index 83%
copy from sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-no-parameters/ui.apps/pom.xml
copy to sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/pom.xml
index 3f43e36..393a432 100644
--- a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-no-parameters/ui.apps/pom.xml
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/pom.xml
@@ -23,13 +23,13 @@
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <artifactId>sling-cpconverter-maven-plugin-test</artifactId>
+        <artifactId>sling-cpconverter-maven-plugin-test-target-mode</artifactId>
         <groupId>org.apache.sling</groupId>
         <version>1.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
-    <artifactId>sling-cpconverter-maven-plugin-test.ui.apps</artifactId>
+    <artifactId>sling-cpconverter-maven-plugin-test-target-mode.ui.apps</artifactId>
     <packaging>content-package</packaging>
 
     <name>CQ Converter Test - UI Apps</name>
@@ -54,7 +54,7 @@
     <dependencies>
         <dependency>
             <groupId>${project.groupId}</groupId>
-            <artifactId>sling-cpconverter-maven-plugin-test.core</artifactId>
+            <artifactId>sling-cpconverter-maven-plugin-test-target-mode.core</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
@@ -75,28 +75,12 @@
                     <embeddeds>
                         <embedded>
                             <groupId>${project.groupId}</groupId>
-                            <artifactId>sling-cpconverter-maven-plugin-test.core</artifactId>
+                            <artifactId>sling-cpconverter-maven-plugin-test-target-mode.core</artifactId>
                             <filter>true</filter>
                         </embedded>
                     </embeddeds>
                 </configuration>
             </plugin>
-
-            <plugin>
-                <groupId>@project.groupId@</groupId>
-                <artifactId>@project.artifactId@</artifactId>
-                <version>@project.version@</version>
-                <extensions>true</extensions>
-                <executions>
-                    <execution>
-                        <id>convert-cp</id>
-                        <phase>verify</phase>
-                        <goals>
-                            <goal>convert-cp</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
         </plugins>
     </build>
     <profiles>
diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/META-INF/vault/filter.xml b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/META-INF/vault/filter.xml
new file mode 100644
index 0000000..e022dcc
--- /dev/null
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/META-INF/vault/filter.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+    agreements. See the NOTICE file distributed with this work for additional information
+    regarding copyright ownership. The ASF licenses this file to you under the Apache License,
+    Version 2.0 (the "License"); you may not use this file except in compliance with the
+    License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software distributed under the
+    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+    either express or implied. See the License for the specific language governing permissions
+    and limitations under the License.
+-->
+
+<workspaceFilter version="1.0">
+    <!--
+        Any node that will contain customer data needs to be excluded
+        otherwise a Pacakge Installation will wipe them.
+
+        If there is a mix then all provided nodes must be included and
+        all custom nodes excluded.
+
+        If unsure what to do then go to the Composum Package Manager
+        (/bin/packages.html) and create a test package. To to the package
+        filter list and add filter entries until all of the app provides
+        nodes are included but none of the customer generatedd nodes.
+
+        Also any sub pckage of this module needs to exclude /apps/cqconverter/install
+        folder otherwise they wipe all installed bundles.
+    -->
+    <filter root="/content/cpconverter"/>
+    <!--
+        Need to exclude the Install folder otherwise the Bundle will be undeployed
+        as it is in the '/apps/cqconverter/install' folder (see the 'all'
+        package).
+    -->
+    <filter root="/apps/cqconverter">
+        <exclude pattern="/apps/cqconverter/install/.*"/>
+    </filter>
+</workspaceFilter>
diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/META-INF/vault/settings.xml b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/META-INF/vault/settings.xml
new file mode 100644
index 0000000..b70c9b9
--- /dev/null
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/META-INF/vault/settings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+    agreements. See the NOTICE file distributed with this work for additional information
+    regarding copyright ownership. The ASF licenses this file to you under the Apache License,
+    Version 2.0 (the "License"); you may not use this file except in compliance with the
+    License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software distributed under the
+    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+    either express or implied. See the License for the specific language governing permissions
+    and limitations under the License.
+-->
+<vault version="1.0">
+  <ignore name=".svn"/>
+  <ignore name=".git"/>
+</vault>
diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/apps/cqconverter/.content.xml b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/apps/cqconverter/.content.xml
new file mode 100644
index 0000000..1a8424c
--- /dev/null
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/apps/cqconverter/.content.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
+          jcr:primaryType="sling:Folder"
+          jcr:title="CQ Converter Test Root"
+          jcr:description="CQ Converter Test Apps Root folder"
+/>
diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/apps/cqconverter/home/.content.xml b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/apps/cqconverter/home/.content.xml
new file mode 100644
index 0000000..99124e4
--- /dev/null
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/apps/cqconverter/home/.content.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+    agreements. See the NOTICE file distributed with this work for additional information
+    regarding copyright ownership. The ASF licenses this file to you under the Apache License,
+    Version 2.0 (the "License"); you may not use this file except in compliance with the
+    License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software distributed under the
+    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+    either express or implied. See the License for the specific language governing permissions
+    and limitations under the License.
+-->
+<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
+          jcr:primaryType="sling:Folder"
+          jcr:title="CQ Converter Test Home Page Component"
+          jcr:description="CQ Converter Test Home Page Component with HTL"
+          sling:resourceSuperType="cqconverter/page"
+>
+</jcr:root>
diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/apps/cqconverter/home/body.html b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/apps/cqconverter/home/body.html
new file mode 100644
index 0000000..dd8f148
--- /dev/null
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/apps/cqconverter/home/body.html
@@ -0,0 +1,24 @@
+<!-- /*
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+*/ -->
+<h2>${properties.jcr:title}</h2>
+<p>CQ Converter Test Home Page from Sling Project Archetype</p>
+<p><b><i>Description: </i></b>${properties.jcr:description}</p>
+<div data-sly-use.sampleRequest="org.apache.sling.cpconverter.test.cqconverter.SampleRequestModel">
+	<p>Current User: ${sampleRequest.currentUser}</p>
+</div>
diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/apps/cqconverter/home/head.html b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/apps/cqconverter/home/head.html
new file mode 100644
index 0000000..67576c8
--- /dev/null
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/apps/cqconverter/home/head.html
@@ -0,0 +1,23 @@
+<!-- /*
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+*/ -->
+<meta charset="utf-8">
+<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<title>CQ Converter Test Home Page</title>
+<!-- ${properties.jcr:title} -->
\ No newline at end of file
diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/apps/cqconverter/install/.content.xml b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/apps/cqconverter/install/.content.xml
new file mode 100644
index 0000000..42debc9
--- /dev/null
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/apps/cqconverter/install/.content.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
+          jcr:primaryType="sling:Folder"
+          jcr:title="Install Folder"
+/>
diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/apps/cqconverter/page/.content.xml b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/apps/cqconverter/page/.content.xml
new file mode 100644
index 0000000..b822f2a
--- /dev/null
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/apps/cqconverter/page/.content.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+    agreements. See the NOTICE file distributed with this work for additional information
+    regarding copyright ownership. The ASF licenses this file to you under the Apache License,
+    Version 2.0 (the "License"); you may not use this file except in compliance with the
+    License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software distributed under the
+    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+    either express or implied. See the License for the specific language governing permissions
+    and limitations under the License.
+-->
+<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
+          jcr:primaryType="sling:Folder"
+          jcr:title="CQ Converter Test Page Component"
+          jcr:description="CQ Converter Test Page Component with HTL"
+>
+</jcr:root>
diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/apps/cqconverter/page/body.html b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/apps/cqconverter/page/body.html
new file mode 100644
index 0000000..35078a3
--- /dev/null
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/apps/cqconverter/page/body.html
@@ -0,0 +1,21 @@
+<!-- /*
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+*/ -->
+<h2>${properties.jcr:title}</h2>
+<p>CQ Converter Test Page from Sling Project Archetype</p>
+<p><b>Description: </b>${properties.jcr:description}</p>
\ No newline at end of file
diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/apps/cqconverter/page/footer.html b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/apps/cqconverter/page/footer.html
new file mode 100644
index 0000000..33f7cba
--- /dev/null
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/apps/cqconverter/page/footer.html
@@ -0,0 +1,19 @@
+<!-- /*
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+*/ -->
+CQ Converter Test Footer
diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/apps/cqconverter/page/head.html b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/apps/cqconverter/page/head.html
new file mode 100644
index 0000000..1e72971
--- /dev/null
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/apps/cqconverter/page/head.html
@@ -0,0 +1,23 @@
+<!-- /*
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+*/ -->
+<meta charset="utf-8">
+<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<title>CQ Converter Test Page</title>
+<!-- ${properties.jcr:title} -->
\ No newline at end of file
diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/apps/cqconverter/page/page.html b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/apps/cqconverter/page/page.html
new file mode 100644
index 0000000..5dad451
--- /dev/null
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/apps/cqconverter/page/page.html
@@ -0,0 +1,35 @@
+<!-- /*
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+*/ -->
+<!DOCTYPE html>
+<html>
+<head>
+    <sly data-sly-include="${'head.html'}"/>
+</head>
+    <body>
+        <h3>Navigation</h3>
+        <div data-sly-list.child="${resource.listChildren}">
+            <a href="${child.path}.html">${child.name}</a>
+        </div>
+        <br/>
+        <sly data-sly-include="${'body.html'}"/>
+        <footer>
+            <sly data-sly-include="${'footer.html'}"/>
+        </footer>
+    </body>
+</html>
diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/content/cpconverter/.content.xml b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/content/cpconverter/.content.xml
new file mode 100644
index 0000000..61ba9d7
--- /dev/null
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/content/cpconverter/.content.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+    agreements. See the NOTICE file distributed with this work for additional information
+    regarding copyright ownership. The ASF licenses this file to you under the Apache License,
+    Version 2.0 (the "License"); you may not use this file except in compliance with the
+    License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software distributed under the
+    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+    either express or implied. See the License for the specific language governing permissions
+    and limitations under the License.
+-->
+<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
+          jcr:primaryType="sling:Folder"
+          jcr:title="CQ Converter Test Content Root"
+          jcr:description="CQ Converter Test Content Root Page"
+/>
diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/content/cpconverter/home/.content.xml b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/content/cpconverter/home/.content.xml
new file mode 100644
index 0000000..821a340
--- /dev/null
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/content/cpconverter/home/.content.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+    agreements. See the NOTICE file distributed with this work for additional information
+    regarding copyright ownership. The ASF licenses this file to you under the Apache License,
+    Version 2.0 (the "License"); you may not use this file except in compliance with the
+    License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software distributed under the
+    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+    either express or implied. See the License for the specific language governing permissions
+    and limitations under the License.
+-->
+<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
+          jcr:primaryType="sling:Folder"
+          jcr:title="CQ Converter Test Home"
+          jcr:description="CQ Converter Test Home Page"
+          sling:resourceType="cqconverter/home"
+>
+</jcr:root>
diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/content/cpconverter/home/welcome/.content.xml b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/content/cpconverter/home/welcome/.content.xml
new file mode 100644
index 0000000..48e6832
--- /dev/null
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/ui.apps/src/main/content/jcr_root/content/cpconverter/home/welcome/.content.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+--><jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
+          jcr:primaryType="sling:Folder"
+          jcr:title="CQ Converter Test Welcome"
+          jcr:description="CQ Converter Test Welcome Page"
+          sling:resourceType="cqconverter/page"
+>
+</jcr:root>
diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-with-parameters/verify.bsh b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/verify.bsh
similarity index 91%
copy from sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-with-parameters/verify.bsh
copy to sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/verify.bsh
index 77e6e17..0200786 100644
--- a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-with-parameters/verify.bsh
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-target-mode/verify.bsh
@@ -19,20 +19,21 @@ import java.util.*;
 import org.codehaus.plexus.util.*;
 
     boolean check() {
-        String projectName = "sling-cpconverter-maven-plugin-test.ui.apps";
-        String projectCoreName = "sling-cpconverter-maven-plugin-test.core";
+        String projectName = "sling-cpconverter-maven-plugin-test-target-mode.ui.apps";
+        String projectCoreName = "sling-cpconverter-maven-plugin-test-target-mode.core";
         String projectVersion = "1.0.0-SNAPSHOT";
         String projectGroup = "org.apache.sling";
         String projectGroupPath = projectGroup.replaceAll("\\.", "/");
 
-        File targetFolder = new File(basedir, "ui.apps/target");
-        File packageFile = new File(targetFolder, projectName + "-" + projectVersion + ".zip");
+        File cpTargetFolder = new File(basedir, "ui.apps/target");
+        File packageFile = new File(cpTargetFolder, projectName + "-" + projectVersion + ".zip");
         if(!packageFile.exists()) {
             System.out.println("Content Package was not created: " + packageFile);
             return false;
         }
-        File outputFolder = new File(targetFolder, "classes");
-        File featureModelFolder = new File(outputFolder, "cp-conversion");
+        File targetFolder = new File(basedir, "fm.launcher/target");
+        File outputFolder = new File(targetFolder, "cp-conversion");
+        File featureModelFolder = new File(outputFolder, "fm.out");
         if(!featureModelFolder.exists()) {
             System.out.println("Feature Model Folder was not created" + featureModelFolder);
             return false;
diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-with-parameters/core/pom.xml b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-with-parameters/core/pom.xml
index a48b83a..1fc3757 100644
--- a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-with-parameters/core/pom.xml
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-with-parameters/core/pom.xml
@@ -22,13 +22,13 @@
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <artifactId>sling-cpconverter-maven-plugin-test</artifactId>
+        <artifactId>sling-cpconverter-maven-plugin-test-with-param</artifactId>
         <groupId>org.apache.sling</groupId>
         <version>1.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
-    <artifactId>sling-cpconverter-maven-plugin-test.core</artifactId>
+    <artifactId>sling-cpconverter-maven-plugin-test-with-param.core</artifactId>
     <packaging>bundle</packaging>
 
     <name>CQ Converter Test - Core</name>
diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-with-parameters/pom.xml b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-with-parameters/pom.xml
index a0a969f..5df12ef 100644
--- a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-with-parameters/pom.xml
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-with-parameters/pom.xml
@@ -14,10 +14,10 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.sling</groupId>
-    <artifactId>sling-cpconverter-maven-plugin-test</artifactId>
+    <artifactId>sling-cpconverter-maven-plugin-test-with-param</artifactId>
     <packaging>pom</packaging>
     <version>1.0.0-SNAPSHOT</version>
-    <name>Apache Sling Features Maven plugin test</name>
+    <name>Apache Sling Features Maven plugin test - with parameter</name>
     <description>This is just an Apache Sling Content Package Maven plugin test to convert a package with a single
         bundle
     </description>
diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-with-parameters/ui.apps/pom.xml b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-with-parameters/ui.apps/pom.xml
index cd31d67..a3d1a68 100644
--- a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-with-parameters/ui.apps/pom.xml
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-with-parameters/ui.apps/pom.xml
@@ -23,13 +23,13 @@
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <artifactId>sling-cpconverter-maven-plugin-test</artifactId>
+        <artifactId>sling-cpconverter-maven-plugin-test-with-param</artifactId>
         <groupId>org.apache.sling</groupId>
         <version>1.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
-    <artifactId>sling-cpconverter-maven-plugin-test.ui.apps</artifactId>
+    <artifactId>sling-cpconverter-maven-plugin-test-with-param.ui.apps</artifactId>
     <packaging>content-package</packaging>
 
     <name>CQ Converter Test - UI Apps</name>
@@ -54,7 +54,7 @@
     <dependencies>
         <dependency>
             <groupId>${project.groupId}</groupId>
-            <artifactId>sling-cpconverter-maven-plugin-test.core</artifactId>
+            <artifactId>sling-cpconverter-maven-plugin-test-with-param.core</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
@@ -75,7 +75,7 @@
                     <embeddeds>
                         <embedded>
                             <groupId>${project.groupId}</groupId>
-                            <artifactId>sling-cpconverter-maven-plugin-test.core</artifactId>
+                            <artifactId>sling-cpconverter-maven-plugin-test-with-param.core</artifactId>
                             <filter>true</filter>
                         </embedded>
                     </embeddeds>
diff --git a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-with-parameters/verify.bsh b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-with-parameters/verify.bsh
index 77e6e17..d512198 100644
--- a/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-with-parameters/verify.bsh
+++ b/sling-cpconverter-maven-plugin/src/it/package-with-single-bundle-with-parameters/verify.bsh
@@ -19,8 +19,8 @@ import java.util.*;
 import org.codehaus.plexus.util.*;
 
     boolean check() {
-        String projectName = "sling-cpconverter-maven-plugin-test.ui.apps";
-        String projectCoreName = "sling-cpconverter-maven-plugin-test.core";
+        String projectName = "sling-cpconverter-maven-plugin-test-with-param.ui.apps";
+        String projectCoreName = "sling-cpconverter-maven-plugin-test-with-param.core";
         String projectVersion = "1.0.0-SNAPSHOT";
         String projectGroup = "org.apache.sling";
         String projectGroupPath = projectGroup.replaceAll("\\.", "/");
@@ -31,8 +31,8 @@ import org.codehaus.plexus.util.*;
             System.out.println("Content Package was not created: " + packageFile);
             return false;
         }
-        File outputFolder = new File(targetFolder, "classes");
-        File featureModelFolder = new File(outputFolder, "cp-conversion");
+        File outputFolder = new File(targetFolder, "cp-conversion");
+        File featureModelFolder = new File(outputFolder, "fm.out");
         if(!featureModelFolder.exists()) {
             System.out.println("Feature Model Folder was not created" + featureModelFolder);
             return false;
diff --git a/sling-cpconverter-maven-plugin/src/main/java/org/apache/sling/cpconverter/maven/mojos/ContentPackage.java b/sling-cpconverter-maven-plugin/src/main/java/org/apache/sling/cpconverter/maven/mojos/ContentPackage.java
new file mode 100644
index 0000000..0b2b36c
--- /dev/null
+++ b/sling-cpconverter-maven-plugin/src/main/java/org/apache/sling/cpconverter/maven/mojos/ContentPackage.java
@@ -0,0 +1,114 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sling.cpconverter.maven.mojos;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.project.MavenProject;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Set;
+
+public class ContentPackage {
+
+    /**
+     * The content package Group Id
+     */
+    private String groupId = "";
+
+    /**
+     * The content package Artifact Id
+     */
+    private String artifactId = "";
+
+    private String type = "zip";
+
+    // TODO: Classifier should not be set as we have the one from the converter
+    private String classifier = "";
+
+    private boolean excludeTransitive;
+    
+    public void setGroupId(String groupId) {
+        this.groupId = groupId == null ? "" : groupId;
+    }
+
+    public void setArtifactId(String artifactId) {
+        this.artifactId = artifactId == null ? "" : artifactId;
+    }
+
+    public void setExcludeTransitive(boolean excludeTransitive) {
+        this.excludeTransitive = excludeTransitive;
+    }
+
+    public boolean isExcludeTransitive() {
+        return excludeTransitive;
+    }
+    
+    public Collection<Artifact> getMatchingArtifacts(final MavenProject project) {
+        // get artifacts depending on whether we exclude transitives or not
+        final Set<Artifact> artifacts;
+        // TODO: when I ran the tests the artifacts where only available in the Dependency Artifacts and
+        //       getArtifacts() returned an empty set
+        if (excludeTransitive) {
+            // only direct dependencies, transitives excluded
+            artifacts = project.getDependencyArtifacts();
+        } else {
+            // all dependencies, transitives included
+            artifacts = project.getArtifacts();
+        }
+        return getMatchingArtifacts(artifacts);
+    }
+
+    public Collection<Artifact> getMatchingArtifacts(final Collection<Artifact> artifacts) {
+        final List<Artifact> matches = new ArrayList<Artifact>();
+        for (Artifact artifact : artifacts) {
+            if(groupId.equals(artifact.getGroupId())
+                && artifactId.equals(artifact.getArtifactId())
+                && type.equals(artifact.getType())
+                && (classifier.equals(artifact.getClassifier()) || (classifier.equals("") && artifact.getClassifier() == null))
+            ) {
+                matches.add(artifact);
+            }
+        }
+        return matches;
+    }
+
+    @Nonnull
+    public StringBuilder toString(@Nullable StringBuilder builder) {
+        if (builder == null) {
+            builder = new StringBuilder();
+        }
+        builder.append("groupId=").append(groupId).append(",");
+        builder.append("artifactId=").append(artifactId).append(",");
+
+        if (type != null) {
+            builder.append("type=").append(type).append(",");
+        }
+        if (classifier != null) {
+            builder.append("classifier=").append(classifier).append(",");
+        }
+        builder.append(",excludeTransitive=").append(excludeTransitive);
+        return builder;
+    }
+
+    public String toString() {
+        return toString(null).toString();
+    }
+}
diff --git a/sling-cpconverter-maven-plugin/src/main/java/org/apache/sling/cpconverter/maven/mojos/ConvertCPMojo.java b/sling-cpconverter-maven-plugin/src/main/java/org/apache/sling/cpconverter/maven/mojos/ConvertCPMojo.java
index de13b9a..ad3dc60 100644
--- a/sling-cpconverter-maven-plugin/src/main/java/org/apache/sling/cpconverter/maven/mojos/ConvertCPMojo.java
+++ b/sling-cpconverter-maven-plugin/src/main/java/org/apache/sling/cpconverter/maven/mojos/ConvertCPMojo.java
@@ -20,6 +20,7 @@ import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.DefaultArtifact;
 import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
 import org.apache.maven.execution.MavenSession;
+import org.apache.maven.model.Dependency;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
@@ -36,6 +37,7 @@ import org.apache.sling.feature.cpconverter.acl.DefaultAclManager;
 import org.apache.sling.feature.cpconverter.artifacts.DefaultArtifactsDeployer;
 import org.apache.sling.feature.cpconverter.features.DefaultFeaturesManager;
 import org.apache.sling.feature.cpconverter.handlers.DefaultEntryHandlersManager;
+import org.codehaus.plexus.util.FileUtils;
 
 import java.io.File;
 import java.util.ArrayList;
@@ -68,7 +70,9 @@ public final class ConvertCPMojo extends AbstractMojo {
 
     public static final String CFG_CONVERTED_CP_OUTPUT_DIRECTORY = "convertedContentPackageOutputDirectory";
 
-    public static final String CFG_SYSTEM_PROPERTIES = "cp.system.properties";
+    public static final String CFG_SYSTEM_PROPERTIES = "cpSystemProperties";
+
+    public static final String CFG_CONTENT_PACKAGES = "packages";
 
     public static final boolean DEFAULT_STRING_VALIDATION = false;
 
@@ -78,9 +82,9 @@ public final class ConvertCPMojo extends AbstractMojo {
 
     public static final boolean DEFAULT_INSTALL_CONVERTED_PACKAGE = true;
 
-    public static final String DEFAULT_FM_OUTPUT_DIRECTORY = "${project.build.outputDirectory}/cp-conversion";
+    public static final String DEFAULT_CONVERTED_CP_OUTPUT_DIRECTORY = "${project.build.directory}/cp-conversion";
 
-    public static final String DEFAULT_CONVERTED_CP_OUTPUT_DIRECTORY = "${project.build.outputDirectory}";
+    public static final String DEFAULT_FM_OUTPUT_DIRECTORY = DEFAULT_CONVERTED_CP_OUTPUT_DIRECTORY + "/fm.out";
 
     /**
      * If set to {@code true} the Content Package is strictly validated.
@@ -132,6 +136,11 @@ public final class ConvertCPMojo extends AbstractMojo {
     private List<String> systemProperties;
 
     /**
+     * List of Content Packages to be converted
+     */
+    @Parameter(property = CFG_CONTENT_PACKAGES)
+    private List<ContentPackage> contentPackages;
+    /**
      * The Maven project.
      */
     @Parameter( defaultValue = "${project}", readonly = true )
@@ -188,39 +197,68 @@ public final class ConvertCPMojo extends AbstractMojo {
                     new DefaultAclManager()
                 );
 
-            getLog().info("Artifact File: " + project.getArtifact());
-            getLog().info("Final Name: " + project.getModel().getBuild().getFinalName());
-            String targetPath = project.getModel().getBuild().getDirectory() + "/"
-                + project.getModel().getBuild().getFinalName()
-                + "." + ZIP_TYPE;
-            File targetFile = new File(targetPath);
-            if(targetFile.exists() && targetFile.isFile() && targetFile.canRead()) {
-                converter.convert(project.getArtifact().getFile());
+            if(contentPackages == null || contentPackages.isEmpty()) {
+                getLog().info("Project Artifact File: " + project.getArtifact());
+                String targetPath = project.getModel().getBuild().getDirectory() + "/"
+                    + project.getModel().getBuild().getFinalName()
+                    + "." + ZIP_TYPE;
+                File targetFile = new File(targetPath);
+                if (targetFile.exists() && targetFile.isFile() && targetFile.canRead()) {
+                    converter.convert(project.getArtifact().getFile());
+                    Artifact convertedPackage = new DefaultArtifact(
+                        project.getGroupId(), project.getArtifactId(), project.getVersion(),
+                        "compile", ZIP_TYPE, PACKAGE_CLASSIFIER, artifactHandlerManager.getArtifactHandler(ZIP_TYPE)
+                    );
+                    installConvertedCP(convertedPackage);
+                } else {
+                    getLog().error("Artifact is not found: " + targetPath);
+                }
             } else {
-                getLog().error("Artifact is not found: " + targetPath);
+                for(ContentPackage contentPackage: contentPackages) {
+                    getLog().info("Content Package Artifact File: " + contentPackage.toString());
+                    contentPackage.setExcludeTransitive(true);
+                    final Collection<Artifact> artifacts = contentPackage.getMatchingArtifacts(project);
+                    if (artifacts.isEmpty()) {
+                        getLog().warn("No matching artifacts for " + contentPackage);
+                        continue;
+                    }
+                    getLog().info("Target Convert CP of --- " + contentPackage + " ---");
+                    for (final Artifact artifact : artifacts) {
+                        final File source = artifact.getFile();
+                        if (source.exists() && source.isFile() && source.canRead()) {
+                            converter.convert(source);
+                            Artifact convertedPackage = new DefaultArtifact(
+                                artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(),
+                                "compile", ZIP_TYPE, PACKAGE_CLASSIFIER, artifactHandlerManager.getArtifactHandler(ZIP_TYPE)
+                            );
+                            installConvertedCP(convertedPackage);
+                        } else {
+                            getLog().error("Artifact is not found: " + artifact);
+                        }
+                    }
+                }
             }
         } catch (Throwable t) {
             throw new MojoExecutionException("Content Package Converter Exception", t);
         }
 
+    }
+
+    private void installConvertedCP(Artifact artifact) throws MojoFailureException, MojoExecutionException {
         if(installConvertedCP) {
             Collection<Artifact> artifacts = Collections.synchronizedCollection(new ArrayList<>());
-            Artifact convertedPackage = new DefaultArtifact(
-                project.getGroupId(), project.getArtifactId(), project.getVersion(),
-                "compile", ZIP_TYPE, PACKAGE_CLASSIFIER, artifactHandlerManager.getArtifactHandler(ZIP_TYPE)
-            );
             // Rebuild the converted package path
-            String convertedPackagePath = project.getGroupId().replaceAll("\\.", "/")
-                + "/" + project.getArtifactId()
-                + "/" + project.getVersion()
-                + "/" + project.getArtifactId()
-                + "-" + project.getVersion()
+            String convertedPackagePath = artifact.getGroupId().replaceAll("\\.", "/")
+                + "/" + artifact.getArtifactId()
+                + "/" + artifact.getVersion()
+                + "/" + artifact.getArtifactId()
+                + "-" + artifact.getVersion()
                 + "-" + PACKAGE_CLASSIFIER
                 + "." + ZIP_TYPE;
             File convertedPackageFile = new File(convertedCPOutput, convertedPackagePath);
             if(convertedPackageFile.exists() && convertedPackageFile.canRead()) {
-                convertedPackage.setFile(convertedPackageFile);
-                artifacts.add(convertedPackage);
+                artifact.setFile(convertedPackageFile);
+                artifacts.add(artifact);
                 installArtifact(mavenSession.getProjectBuildingRequest(), artifacts);
             } else {
                 getLog().error("Could not find Converted Package: " + convertedPackageFile);