Uploaded image for project: 'Aries'
  1. Aries
  2. ARIES-1772

Add an option to blueprint-maven-plugin to exclude dependencies.

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Resolved
    • Major
    • Resolution: Won't Do
    • blueprint-maven-plugin-1.9.0
    • None
    • Blueprint
    • None

    Description

      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:

       

      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

       

      • 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:

       

      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]
      

       

      I suggest to add an option, to exclude dependencies from the list of scanned classes, like maven-bundle-plugin's excludeDependencies for example, and give this option per default such value as to exclude all dependencies.

       

      Attachments

        1. test.png
          25 kB
          Daniel Estermann
        2. test.png
          17 kB
          Daniel Estermann

        Issue Links

          Activity

            People

              alien11689 Dominik Przybysz
              soundcracker@gmail.com Daniel Estermann
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: