Daniel Estermann created ARIES-1772:
---------------------------------------

             Summary: Add an option to blueprint-maven-plugin to exclude 
dependencies.
                 Key: ARIES-1772
                 URL: https://issues.apache.org/jira/browse/ARIES-1772
             Project: Aries
          Issue Type: New Feature
          Components: Blueprint
    Affects Versions: blueprint-maven-plugin-1.9.0
            Reporter: Daniel Estermann


Currently the list of scanned classes by blueprint-maven-plugin can be 
restricted using scanPath parameter, so the list can also contain the classes 
of the project dependencies. With my projects I experience two kind of issues 
with it:
 * If the the scan path is chosen too widely it may lead to a build failure. 
For example: Assume project A has a dependency to project B an both have the 
same base package, which is chosen as the scan path. Project B has a blueprint 
bean, which implements an interface from some +provided+ dependency of it. The 
build of project A will fail then, because it will try to scan a blueprint bean 
of project B but it will miss its provided dependency. An example error message:

 
{code:java}
Failed to execute goal 
org.apache.aries.blueprint:blueprint-maven-plugin:1.9.0:blueprint-generate 
(default) on project email-template-editor-core: Execution default of goal 
org.apache.aries.blueprint:blueprint-maven-plugin:1.9.0:blueprint-generate 
failed: A required class was missing while executing 
org.apache.aries.blueprint:blueprint-maven-plugin:1.9.0:blueprint-generate: 
com/mycorporation/scheduler/api/ScheduledService{code}
 
 * If a bean of project B appears in the autowire.xml of project A, but the 
package of that bean is not imported in the manifest of project A, a 
ClassNotFoundException will be thrown during runtime:

 
{code:java}
java.lang.ClassNotFoundException: 
com.mycorporation.project-a.commons.notification.IncomingNotificationService 
from [Module 
"deployment.com.mycorporation.project-b.commons.core:0.0.1.SNAPSHOT" from 
Service Module Loader]
{code}
I suggest to add an option, to exclude dependencies from the list of scanned 
classes, like [maven-bundle-plugin's 
excludeDependencies|http://felix.apache.org/components/bundle-plugin/bundle-mojo.html#excludeDependencies]
 for example.

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to