[ 
https://issues.apache.org/jira/browse/SLING-8652?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16913378#comment-16913378
 ] 

Radu Cotescu commented on SLING-8652:
-------------------------------------

Here's a sample setup: 
[https://github.com/raducotescu/slingfeature-maven-plugin-multi-module-issue]

> Prototypes are not supported in multi-module builds
> ---------------------------------------------------
>
>                 Key: SLING-8652
>                 URL: https://issues.apache.org/jira/browse/SLING-8652
>             Project: Sling
>          Issue Type: Bug
>          Components: Feature Model
>    Affects Versions: slingfeature-maven-plugin 1.0.6, 
> slingfeature-maven-plugin 1.1.0
>            Reporter: Radu Cotescu
>            Priority: Major
>
> In a multi-module build, if a module A represents the prototype for a second 
> module B, the reactor build will fail with an error similar to:
> {noformat}
> [INFO] Scanning for projects...
> [ERROR] Unable to get feature A:slingosgifeature:0.0.1-SNAPSHOT : Recursive 
> feature dependency list including project MavenProject: B:0.0.1-SNAPSHOT @ 
> ~/workspace/reactor/B/pom.xml
> [ERROR] Internal error: java.lang.IllegalStateException: Unable to find 
> prototype feature A:slingosgifeature:0.0.1-SNAPSHOT -> [Help 1]
> org.apache.maven.InternalErrorException: Internal error: 
> java.lang.IllegalStateException: Unable to find prototype feature 
> A:slingosgifeature:0.0.1-SNAPSHOT
>    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:120)
>    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
>    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
>    at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
>    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
>    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke 
> (NativeMethodAccessorImpl.java:62)
>    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke 
> (DelegatingMethodAccessorImpl.java:43)
>    at java.lang.reflect.Method.invoke (Method.java:566)
>    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced 
> (Launcher.java:282)
>    at org.codehaus.plexus.classworlds.launcher.Launcher.launch 
> (Launcher.java:225)
>    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode 
> (Launcher.java:406)
>    at org.codehaus.plexus.classworlds.launcher.Launcher.main 
> (Launcher.java:347)
> Caused by: java.lang.IllegalStateException: Unable to find prototype feature 
> A:slingosgifeature:0.0.1-SNAPSHOT
>    at org.apache.sling.feature.builder.FeatureBuilder.internalAssemble 
> (FeatureBuilder.java:314)
>    at org.apache.sling.feature.builder.FeatureBuilder.assemble 
> (FeatureBuilder.java:59)
>    at org.apache.sling.feature.maven.Preprocessor.process 
> (Preprocessor.java:216)
>    at org.apache.sling.feature.maven.Preprocessor.process 
> (Preprocessor.java:118)
>    at 
> org.apache.sling.feature.maven.mojos.DependencyLifecycleParticipant.afterProjectsRead
>  (DependencyLifecycleParticipant.java:79)
>    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:264)
>    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
>    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
>    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
>    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
>    at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
>    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
>    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke 
> (NativeMethodAccessorImpl.java:62)
>    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke 
> (DelegatingMethodAccessorImpl.java:43)
>    at java.lang.reflect.Method.invoke (Method.java:566)
>    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced 
> (Launcher.java:282)
>    at org.codehaus.plexus.classworlds.launcher.Launcher.launch 
> (Launcher.java:225)
>    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode 
> (Launcher.java:406)
>    at org.codehaus.plexus.classworlds.launcher.Launcher.main 
> (Launcher.java:347)
> {noformat}
> The workaround, when one wants to work with a multi-module setup, is to use 
> aggregates to compose feature B, instead of relying on A as a prototype.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

Reply via email to