[ 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)