aries-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Estermann (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (ARIES-1772) Add an option to blueprint-maven-plugin to exclude dependencies.
Date Tue, 20 Feb 2018 16:35:00 GMT

     [ https://issues.apache.org/jira/browse/ARIES-1772?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Daniel Estermann updated ARIES-1772:
------------------------------------
    Attachment: test.png

> 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
>            Assignee: Dominik Przybysz
>            Priority: Major
>         Attachments: test.png
>
>
> 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, and give this option per default such value as to exclude all dependencies.
>  



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

Mime
View raw message