[JBoss JIRA] (FORGE-1030) Support multi-module Forge plugins
by Lennart Jörelid (JIRA)
[ https://issues.jboss.org/browse/FORGE-1030?page=com.atlassian.jira.plugin... ]
Lennart Jörelid commented on FORGE-1030:
----------------------------------------
Suggestion, maybe:
Following the build, I made the patch crawl the reactor by means of the <module> entries, and looked for a pom with the [repository.yaml]-given groupId and artifactId before attempting the installation.
In normal Maven style, the artifact JAR found within the target folder within the Plugin project does not contain its dependencies.
Particularly if using standard transitive dependencies from Maven, it could be a bit of a problem to calculate all transient dependencies required.
In this respect, I believe we have 2 options:
# Use Maven to fully calculate all transitive dependencies of the Plugin project, write this information temporarily to a file or within a memory cache, and use it to augment the plugin dependency libraries within the ~/.forge/ directory.
# Require the users to include dependencies-maven-plugin, to generate the required information in {{META-INF/maven/dependencies.properties}} and use the content of that file to calculate all required dependencies of the Forge plugin project.
> Support multi-module Forge plugins
> ----------------------------------
>
> Key: FORGE-1030
> URL: https://issues.jboss.org/browse/FORGE-1030
> Project: Forge
> Issue Type: Bug
> Components: Documentation, Plugin API, Plugin Repository
> Affects Versions: 1.3.3.Final
> Reporter: Lennart Jörelid
> Assignee: George Gastaldi
> Priority: Blocker
> Fix For: 1.x Future
>
> Attachments: forge_1030_codeAnalysis.png
>
>
> It seems that Forge really needs better support for the default Maven
> development process. In repository.yaml, Forge plugins are defined by giving
> a Maven project GAV for the project holding the forge plugin definitions, as well as the GitHub repository holding the plugin source.
> Yet, Forge seems to ignore the Maven GAV information given in repository.yaml when checking out and building the plugin locally.
> This is a rather nasty bug, which in its current state effectively prevents anyone from using a multi-module build for their plugins (and it is also undocumented).
> An example is shown below:
> {code}
> [no project] Nazgul $ forge install-plugin nazgul
> ***INFO*** Preparing to install plugin: nazgul
> ***INFO*** Checking out plugin source files to [/var/folders/6g/9n7r543d2bv9n2qjvnvf_hsh0000gn/T/forgetemp6186363544408555570] via 'git'
> ***INFO*** Switching to branch/tag [refs/heads/1.3.3.Final]
> ? The project does not appear to be a Forge Plugin Project, install anyway? [y/N]
> {code}
> While this analysis by Forge is incorrect (the Maven GAV given in the repository.yaml is indeed a project which holds plugins), it gets worse after installation:
> {code}
> [INFO] ------------------------------------------------------------------------
> [INFO] Reactor Summary:
> [INFO]
> [INFO] nazgul-forge-parent ............................... SUCCESS [7.921s]
> [INFO] nazgul-forge-api-parent ........................... SUCCESS [4.345s]
> [INFO] nazgul-forge-model-parent ......................... SUCCESS [1.274s]
> [INFO] nazgul-forge-reactor .............................. SUCCESS [0.847s]
> [INFO] nazgul-forge-poms-reactor ......................... SUCCESS [0.058s]
> [INFO] nazgul-forge-analyzer-api ......................... SUCCESS [5.562s]
> [INFO] nazgul-forge-analyzer-impl-nazgul ................. SUCCESS [1.666s]
> [INFO] nazgul-forge-analyzer-reactor ..................... SUCCESS [0.020s]
> [INFO] nazgul-forge-factory-model ........................ SUCCESS [2.434s]
> [INFO] nazgul-forge-factory-api .......................... SUCCESS [7.634s]
> [INFO] nazgul-forge-factory-impl-nazgul .................. SUCCESS [2.724s]
> [INFO] nazgul-forge-factory-reactor ...................... SUCCESS [0.032s]
> [INFO] ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 36.580s
> [INFO] Finished at: Mon Jul 22 07:46:48 CEST 2013
> [INFO] Final Memory: 49M/247M
> [INFO] ------------------------------------------------------------------------
> ***INFO*** Cleaning up temp workspace [/var/folders/6g/9n7r543d2bv9n2qjvnvf_hsh0000gn/T/forgetemp6186363544408555570]
> Deleted /var/folders/6g/9n7r543d2bv9n2qjvnvf_hsh0000gn/T/forgetemp6186363544408555570
> ***ERROR*** Exception encountered: Build artifact [nazgul-forge-reactor-1.0.1-SNAPSHOT.pom] is missing and cannot be installed. Please resolve build errors and try again. (type "set VERBOSE true" to enable stack traces)
> {code}
> So ...
> # The repository.yaml includes a full Maven GAV to the project which holds Forge plugins.
> # Forge uses repository.yaml to download the source from GitHub and build it
> # Forge ignores the Maven GAV given in repository.yaml, and simply uses the root reactor project to inspect and attempt to install the plugins.
> To fix this bug, Forge needs to find the project given within the repository.yaml within the downloaded reactor and install the plugins from *that* project.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 3 months
[JBoss JIRA] (FORGE-1100) Project-scoped Configuration object is not accessible in isInstall() method.
by George Gastaldi (JIRA)
[ https://issues.jboss.org/browse/FORGE-1100?page=com.atlassian.jira.plugin... ]
George Gastaldi closed FORGE-1100.
----------------------------------
Resolution: Done
Fixed by introducing a ConfigurationFactory to be used in Facets
> Project-scoped Configuration object is not accessible in isInstall() method.
> ----------------------------------------------------------------------------
>
> Key: FORGE-1100
> URL: https://issues.jboss.org/browse/FORGE-1100
> Project: Forge
> Issue Type: Bug
> Components: Plugin API
> Affects Versions: 1.3.3.Final
> Reporter: George Gastaldi
> Assignee: George Gastaldi
> Fix For: 1.4.0.Final
>
>
> The following exception is thrown if an attempt to get the project configuration is made in any Facet.isInstalled() method:
> {code}
> javax.enterprise.event.ObserverException
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
> at java.lang.Class.newInstance(Class.java:374)
> at org.jboss.weld.util.reflection.SecureReflections$16.work(SecureReflections.java:395)
> at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)
> at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInstantiation(SecureReflectionAccess.java:216)
> at org.jboss.weld.util.reflection.SecureReflections.newInstance(SecureReflections.java:390)
> at org.jboss.weld.injection.Exceptions.rethrowException(Exceptions.java:40)
> at org.jboss.weld.injection.Exceptions.rethrowException(Exceptions.java:92)
> at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:214)
> at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:282)
> at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:265)
> at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:234)
> at org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:635)
> at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:628)
> at org.jboss.weld.event.EventImpl.fire(EventImpl.java:75)
> at org.jboss.forge.shell.project.CurrentProject.setCurrentResource(CurrentProject.java:79)
> at org.jboss.forge.shell.ShellImpl.init(ShellImpl.java:376)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:48)
> at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:125)
> at org.jboss.forge.shell.ShellImpl$Proxy$_$$_WeldClientProxy.init(ShellImpl$Proxy$_$$_WeldClientProxy.java)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305)
> at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)
> at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163)
> at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299)
> at org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:188)
> at org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:59)
> at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:198)
> at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:282)
> at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:265)
> at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:234)
> at org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:635)
> at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:622)
> at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:616)
> at org.jboss.forge.test.AbstractShellTest.beforeTest(AbstractShellTest.java:105)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
> at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
> at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
> at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)
> at org.jboss.arquillian.junit.Arquillian$StatementLifecycleExecutor.invoke(Arquillian.java:351)
> at org.jboss.arquillian.container.test.impl.execution.ClientBeforeAfterLifecycleEventExecuter.execute(ClientBeforeAfterLifecycleEventExecuter.java:99)
> at org.jboss.arquillian.container.test.impl.execution.ClientBeforeAfterLifecycleEventExecuter.on(ClientBeforeAfterLifecycleEventExecuter.java:72)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90)
> at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
> at org.jboss.arquillian.container.test.impl.client.ContainerEventController.createContext(ContainerEventController.java:142)
> at org.jboss.arquillian.container.test.impl.client.ContainerEventController.createBeforeContext(ContainerEventController.java:124)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.test.impl.TestContextHandler.createTestContext(TestContextHandler.java:89)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:75)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:60)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:134)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:114)
> at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.before(EventTestRunnerAdaptor.java:95)
> at org.jboss.arquillian.junit.Arquillian$4.evaluate(Arquillian.java:222)
> at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314)
> at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46)
> at org.jboss.arquillian.junit.Arquillian$5.evaluate(Arquillian.java:240)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
> at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:185)
> at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314)
> at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46)
> at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:199)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
> at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:147)
> at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
> at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
> Caused by: java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.solder.unwraps.UnwrapsInvocationHandler.invoke(UnwrapsInvocationHandler.java:82)
> at org.javassist.tmp.java.lang.Object_$$_javassist_0.getScopedConfiguration(Object_$$_javassist_0.java)
> at com.example.configfacet.MyFacet.isInstalled(MyFacet.java:30)
> at org.jboss.forge.project.BaseProject.registerFacet(BaseProject.java:153)
> at org.jboss.forge.project.services.ProjectFactory.registerSingleFacet(ProjectFactory.java:208)
> at org.jboss.forge.project.services.ProjectFactory.registerSingleFacet(ProjectFactory.java:186)
> at org.jboss.forge.project.services.ProjectFactory.registerFacets(ProjectFactory.java:178)
> at org.jboss.forge.project.services.ProjectFactory.findProjectRecursively(ProjectFactory.java:117)
> at org.jboss.forge.shell.project.ProjectInitializer.doInit(ProjectInitializer.java:64)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305)
> at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)
> at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163)
> at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299)
> at org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:188)
> at org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:59)
> at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:198)
> ... 106 more
> Caused by: java.lang.IllegalArgumentException: No delegates were found in configuration - cannot retrieve scope
> at org.jboss.forge.shell.env.ScopedConfigurationAdapter.getScopedConfiguration(ScopedConfigurationAdapter.java:61)
> ... 130 more
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 3 months
[JBoss JIRA] (FORGE-1030) Support multi-module Forge plugins
by George Gastaldi (JIRA)
[ https://issues.jboss.org/browse/FORGE-1030?page=com.atlassian.jira.plugin... ]
George Gastaldi commented on FORGE-1030:
----------------------------------------
The dependencies internal to it. I think there is something wrong with the approach I am using while installing.
> Support multi-module Forge plugins
> ----------------------------------
>
> Key: FORGE-1030
> URL: https://issues.jboss.org/browse/FORGE-1030
> Project: Forge
> Issue Type: Bug
> Components: Documentation, Plugin API, Plugin Repository
> Affects Versions: 1.3.3.Final
> Reporter: Lennart Jörelid
> Assignee: George Gastaldi
> Priority: Blocker
> Fix For: 1.x Future
>
> Attachments: forge_1030_codeAnalysis.png
>
>
> It seems that Forge really needs better support for the default Maven
> development process. In repository.yaml, Forge plugins are defined by giving
> a Maven project GAV for the project holding the forge plugin definitions, as well as the GitHub repository holding the plugin source.
> Yet, Forge seems to ignore the Maven GAV information given in repository.yaml when checking out and building the plugin locally.
> This is a rather nasty bug, which in its current state effectively prevents anyone from using a multi-module build for their plugins (and it is also undocumented).
> An example is shown below:
> {code}
> [no project] Nazgul $ forge install-plugin nazgul
> ***INFO*** Preparing to install plugin: nazgul
> ***INFO*** Checking out plugin source files to [/var/folders/6g/9n7r543d2bv9n2qjvnvf_hsh0000gn/T/forgetemp6186363544408555570] via 'git'
> ***INFO*** Switching to branch/tag [refs/heads/1.3.3.Final]
> ? The project does not appear to be a Forge Plugin Project, install anyway? [y/N]
> {code}
> While this analysis by Forge is incorrect (the Maven GAV given in the repository.yaml is indeed a project which holds plugins), it gets worse after installation:
> {code}
> [INFO] ------------------------------------------------------------------------
> [INFO] Reactor Summary:
> [INFO]
> [INFO] nazgul-forge-parent ............................... SUCCESS [7.921s]
> [INFO] nazgul-forge-api-parent ........................... SUCCESS [4.345s]
> [INFO] nazgul-forge-model-parent ......................... SUCCESS [1.274s]
> [INFO] nazgul-forge-reactor .............................. SUCCESS [0.847s]
> [INFO] nazgul-forge-poms-reactor ......................... SUCCESS [0.058s]
> [INFO] nazgul-forge-analyzer-api ......................... SUCCESS [5.562s]
> [INFO] nazgul-forge-analyzer-impl-nazgul ................. SUCCESS [1.666s]
> [INFO] nazgul-forge-analyzer-reactor ..................... SUCCESS [0.020s]
> [INFO] nazgul-forge-factory-model ........................ SUCCESS [2.434s]
> [INFO] nazgul-forge-factory-api .......................... SUCCESS [7.634s]
> [INFO] nazgul-forge-factory-impl-nazgul .................. SUCCESS [2.724s]
> [INFO] nazgul-forge-factory-reactor ...................... SUCCESS [0.032s]
> [INFO] ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 36.580s
> [INFO] Finished at: Mon Jul 22 07:46:48 CEST 2013
> [INFO] Final Memory: 49M/247M
> [INFO] ------------------------------------------------------------------------
> ***INFO*** Cleaning up temp workspace [/var/folders/6g/9n7r543d2bv9n2qjvnvf_hsh0000gn/T/forgetemp6186363544408555570]
> Deleted /var/folders/6g/9n7r543d2bv9n2qjvnvf_hsh0000gn/T/forgetemp6186363544408555570
> ***ERROR*** Exception encountered: Build artifact [nazgul-forge-reactor-1.0.1-SNAPSHOT.pom] is missing and cannot be installed. Please resolve build errors and try again. (type "set VERBOSE true" to enable stack traces)
> {code}
> So ...
> # The repository.yaml includes a full Maven GAV to the project which holds Forge plugins.
> # Forge uses repository.yaml to download the source from GitHub and build it
> # Forge ignores the Maven GAV given in repository.yaml, and simply uses the root reactor project to inspect and attempt to install the plugins.
> To fix this bug, Forge needs to find the project given within the repository.yaml within the downloaded reactor and install the plugins from *that* project.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 3 months
[JBoss JIRA] (FORGE-1030) Support multi-module Forge plugins
by Lennart Jörelid (JIRA)
[ https://issues.jboss.org/browse/FORGE-1030?page=com.atlassian.jira.plugin... ]
Lennart Jörelid commented on FORGE-1030:
----------------------------------------
Interesting.
Which dependencies are not resolved correctly?
Dependencies external to the reactor, or internal to it?
> Support multi-module Forge plugins
> ----------------------------------
>
> Key: FORGE-1030
> URL: https://issues.jboss.org/browse/FORGE-1030
> Project: Forge
> Issue Type: Bug
> Components: Documentation, Plugin API, Plugin Repository
> Affects Versions: 1.3.3.Final
> Reporter: Lennart Jörelid
> Assignee: George Gastaldi
> Priority: Blocker
> Fix For: 1.x Future
>
> Attachments: forge_1030_codeAnalysis.png
>
>
> It seems that Forge really needs better support for the default Maven
> development process. In repository.yaml, Forge plugins are defined by giving
> a Maven project GAV for the project holding the forge plugin definitions, as well as the GitHub repository holding the plugin source.
> Yet, Forge seems to ignore the Maven GAV information given in repository.yaml when checking out and building the plugin locally.
> This is a rather nasty bug, which in its current state effectively prevents anyone from using a multi-module build for their plugins (and it is also undocumented).
> An example is shown below:
> {code}
> [no project] Nazgul $ forge install-plugin nazgul
> ***INFO*** Preparing to install plugin: nazgul
> ***INFO*** Checking out plugin source files to [/var/folders/6g/9n7r543d2bv9n2qjvnvf_hsh0000gn/T/forgetemp6186363544408555570] via 'git'
> ***INFO*** Switching to branch/tag [refs/heads/1.3.3.Final]
> ? The project does not appear to be a Forge Plugin Project, install anyway? [y/N]
> {code}
> While this analysis by Forge is incorrect (the Maven GAV given in the repository.yaml is indeed a project which holds plugins), it gets worse after installation:
> {code}
> [INFO] ------------------------------------------------------------------------
> [INFO] Reactor Summary:
> [INFO]
> [INFO] nazgul-forge-parent ............................... SUCCESS [7.921s]
> [INFO] nazgul-forge-api-parent ........................... SUCCESS [4.345s]
> [INFO] nazgul-forge-model-parent ......................... SUCCESS [1.274s]
> [INFO] nazgul-forge-reactor .............................. SUCCESS [0.847s]
> [INFO] nazgul-forge-poms-reactor ......................... SUCCESS [0.058s]
> [INFO] nazgul-forge-analyzer-api ......................... SUCCESS [5.562s]
> [INFO] nazgul-forge-analyzer-impl-nazgul ................. SUCCESS [1.666s]
> [INFO] nazgul-forge-analyzer-reactor ..................... SUCCESS [0.020s]
> [INFO] nazgul-forge-factory-model ........................ SUCCESS [2.434s]
> [INFO] nazgul-forge-factory-api .......................... SUCCESS [7.634s]
> [INFO] nazgul-forge-factory-impl-nazgul .................. SUCCESS [2.724s]
> [INFO] nazgul-forge-factory-reactor ...................... SUCCESS [0.032s]
> [INFO] ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 36.580s
> [INFO] Finished at: Mon Jul 22 07:46:48 CEST 2013
> [INFO] Final Memory: 49M/247M
> [INFO] ------------------------------------------------------------------------
> ***INFO*** Cleaning up temp workspace [/var/folders/6g/9n7r543d2bv9n2qjvnvf_hsh0000gn/T/forgetemp6186363544408555570]
> Deleted /var/folders/6g/9n7r543d2bv9n2qjvnvf_hsh0000gn/T/forgetemp6186363544408555570
> ***ERROR*** Exception encountered: Build artifact [nazgul-forge-reactor-1.0.1-SNAPSHOT.pom] is missing and cannot be installed. Please resolve build errors and try again. (type "set VERBOSE true" to enable stack traces)
> {code}
> So ...
> # The repository.yaml includes a full Maven GAV to the project which holds Forge plugins.
> # Forge uses repository.yaml to download the source from GitHub and build it
> # Forge ignores the Maven GAV given in repository.yaml, and simply uses the root reactor project to inspect and attempt to install the plugins.
> To fix this bug, Forge needs to find the project given within the repository.yaml within the downloaded reactor and install the plugins from *that* project.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 3 months
[JBoss JIRA] (FORGE-1030) Support multi-module Forge plugins
by George Gastaldi (JIRA)
[ https://issues.jboss.org/browse/FORGE-1030?page=com.atlassian.jira.plugin... ]
George Gastaldi commented on FORGE-1030:
----------------------------------------
I see, the build succeeds now, however for some reason the plugin dependencies are not being resolved correctly, I need to check why.
I also added {{-DskipTests}} to the MavenProjectBuilder, so it is now possible to set either property.
> Support multi-module Forge plugins
> ----------------------------------
>
> Key: FORGE-1030
> URL: https://issues.jboss.org/browse/FORGE-1030
> Project: Forge
> Issue Type: Bug
> Components: Documentation, Plugin API, Plugin Repository
> Affects Versions: 1.3.3.Final
> Reporter: Lennart Jörelid
> Assignee: George Gastaldi
> Priority: Blocker
> Fix For: 1.x Future
>
> Attachments: forge_1030_codeAnalysis.png
>
>
> It seems that Forge really needs better support for the default Maven
> development process. In repository.yaml, Forge plugins are defined by giving
> a Maven project GAV for the project holding the forge plugin definitions, as well as the GitHub repository holding the plugin source.
> Yet, Forge seems to ignore the Maven GAV information given in repository.yaml when checking out and building the plugin locally.
> This is a rather nasty bug, which in its current state effectively prevents anyone from using a multi-module build for their plugins (and it is also undocumented).
> An example is shown below:
> {code}
> [no project] Nazgul $ forge install-plugin nazgul
> ***INFO*** Preparing to install plugin: nazgul
> ***INFO*** Checking out plugin source files to [/var/folders/6g/9n7r543d2bv9n2qjvnvf_hsh0000gn/T/forgetemp6186363544408555570] via 'git'
> ***INFO*** Switching to branch/tag [refs/heads/1.3.3.Final]
> ? The project does not appear to be a Forge Plugin Project, install anyway? [y/N]
> {code}
> While this analysis by Forge is incorrect (the Maven GAV given in the repository.yaml is indeed a project which holds plugins), it gets worse after installation:
> {code}
> [INFO] ------------------------------------------------------------------------
> [INFO] Reactor Summary:
> [INFO]
> [INFO] nazgul-forge-parent ............................... SUCCESS [7.921s]
> [INFO] nazgul-forge-api-parent ........................... SUCCESS [4.345s]
> [INFO] nazgul-forge-model-parent ......................... SUCCESS [1.274s]
> [INFO] nazgul-forge-reactor .............................. SUCCESS [0.847s]
> [INFO] nazgul-forge-poms-reactor ......................... SUCCESS [0.058s]
> [INFO] nazgul-forge-analyzer-api ......................... SUCCESS [5.562s]
> [INFO] nazgul-forge-analyzer-impl-nazgul ................. SUCCESS [1.666s]
> [INFO] nazgul-forge-analyzer-reactor ..................... SUCCESS [0.020s]
> [INFO] nazgul-forge-factory-model ........................ SUCCESS [2.434s]
> [INFO] nazgul-forge-factory-api .......................... SUCCESS [7.634s]
> [INFO] nazgul-forge-factory-impl-nazgul .................. SUCCESS [2.724s]
> [INFO] nazgul-forge-factory-reactor ...................... SUCCESS [0.032s]
> [INFO] ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 36.580s
> [INFO] Finished at: Mon Jul 22 07:46:48 CEST 2013
> [INFO] Final Memory: 49M/247M
> [INFO] ------------------------------------------------------------------------
> ***INFO*** Cleaning up temp workspace [/var/folders/6g/9n7r543d2bv9n2qjvnvf_hsh0000gn/T/forgetemp6186363544408555570]
> Deleted /var/folders/6g/9n7r543d2bv9n2qjvnvf_hsh0000gn/T/forgetemp6186363544408555570
> ***ERROR*** Exception encountered: Build artifact [nazgul-forge-reactor-1.0.1-SNAPSHOT.pom] is missing and cannot be installed. Please resolve build errors and try again. (type "set VERBOSE true" to enable stack traces)
> {code}
> So ...
> # The repository.yaml includes a full Maven GAV to the project which holds Forge plugins.
> # Forge uses repository.yaml to download the source from GitHub and build it
> # Forge ignores the Maven GAV given in repository.yaml, and simply uses the root reactor project to inspect and attempt to install the plugins.
> To fix this bug, Forge needs to find the project given within the repository.yaml within the downloaded reactor and install the plugins from *that* project.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 3 months
[JBoss JIRA] (FORGE-1030) Support multi-module Forge plugins
by Lennart Jörelid (JIRA)
[ https://issues.jboss.org/browse/FORGE-1030?page=com.atlassian.jira.plugin... ]
Lennart Jörelid edited comment on FORGE-1030 at 8/10/13 4:05 PM:
-----------------------------------------------------------------
Hello all,
First - let's clear up the [potentially] confusing relationship between the properties {{maven.test.skip}} and {{skipTests}}, as described in the surefire plugin's test goal (i.e. http://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html).
It is correct that the runTests(false) method which is called from within the ForgePlugin, implies setting the {{maven.test.skip}} property:
{code}
if (!runTests) {
selected.add("-Dmaven.test.skip=true");
}
{code}
# The property {{skip}} which is set by the user property {{maven.test.skip}} makes Surefire skip compiling and executing unit tests altogether.
# The property {{skipTests}} which is set by the user property {{skipTests}} is the newer and recommended property according to the Surefire plugin's documentation. {{skipTests}} compiles the test classes but does not execute unit tests. This was the property I took, but after reading the surefire documentation closely, I believe that using the {{maven.test.skip}} is better in our case - letting something in test scope affect compile scope artifacts is *really* poor programming.
Alas, problem simply solved by altering the profile-activating property from {{skipTests}} to {{maven.test.skip}}. The difference between the properties is why your build did not work properly before, George. Fixed now; try again.
Patch committed and pushed to both the Nazgul Forge plugin reactor and the Forge documentation site.
was (Author: lennartj):
Hello all,
First - let's clear up the [potentially] confusing relationship between the properties {{maven.test.skip}} and {{skipTests}}, as described in the surefire plugin's test goal (i.e. http://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html).
It is correct that the runTests(false) method which is called from within the ForgePlugin, implies setting the {{maven.test.skip}} property:
{code}
if (!runTests) {
selected.add("-Dmaven.test.skip=true");
}
{code}
# The property {{skip}} which is set by the user property {{maven.test.skip}} makes Surefire skip compiling and executing unit tests altogether.
# The property {{skipTests}} which is set by the user property {{skipTests}} is the newer and recommended property according to the Surefire plugin's documentation. This was the property I took, but after reading the surefire documentation closely, I believe that using the {{maven.test.skip}} is better in our case.
Alas, problem simply solved by altering the profile-activating property from {{skipTests}} to {{maven.test.skip}}. The difference between the properties is why your build did not work properly before, George. Fixed now; try again.
Patch committed and pushed to both the Nazgul Forge plugin reactor and the Forge documentation site.
> Support multi-module Forge plugins
> ----------------------------------
>
> Key: FORGE-1030
> URL: https://issues.jboss.org/browse/FORGE-1030
> Project: Forge
> Issue Type: Bug
> Components: Documentation, Plugin API, Plugin Repository
> Affects Versions: 1.3.3.Final
> Reporter: Lennart Jörelid
> Assignee: George Gastaldi
> Priority: Blocker
> Fix For: 1.x Future
>
> Attachments: forge_1030_codeAnalysis.png
>
>
> It seems that Forge really needs better support for the default Maven
> development process. In repository.yaml, Forge plugins are defined by giving
> a Maven project GAV for the project holding the forge plugin definitions, as well as the GitHub repository holding the plugin source.
> Yet, Forge seems to ignore the Maven GAV information given in repository.yaml when checking out and building the plugin locally.
> This is a rather nasty bug, which in its current state effectively prevents anyone from using a multi-module build for their plugins (and it is also undocumented).
> An example is shown below:
> {code}
> [no project] Nazgul $ forge install-plugin nazgul
> ***INFO*** Preparing to install plugin: nazgul
> ***INFO*** Checking out plugin source files to [/var/folders/6g/9n7r543d2bv9n2qjvnvf_hsh0000gn/T/forgetemp6186363544408555570] via 'git'
> ***INFO*** Switching to branch/tag [refs/heads/1.3.3.Final]
> ? The project does not appear to be a Forge Plugin Project, install anyway? [y/N]
> {code}
> While this analysis by Forge is incorrect (the Maven GAV given in the repository.yaml is indeed a project which holds plugins), it gets worse after installation:
> {code}
> [INFO] ------------------------------------------------------------------------
> [INFO] Reactor Summary:
> [INFO]
> [INFO] nazgul-forge-parent ............................... SUCCESS [7.921s]
> [INFO] nazgul-forge-api-parent ........................... SUCCESS [4.345s]
> [INFO] nazgul-forge-model-parent ......................... SUCCESS [1.274s]
> [INFO] nazgul-forge-reactor .............................. SUCCESS [0.847s]
> [INFO] nazgul-forge-poms-reactor ......................... SUCCESS [0.058s]
> [INFO] nazgul-forge-analyzer-api ......................... SUCCESS [5.562s]
> [INFO] nazgul-forge-analyzer-impl-nazgul ................. SUCCESS [1.666s]
> [INFO] nazgul-forge-analyzer-reactor ..................... SUCCESS [0.020s]
> [INFO] nazgul-forge-factory-model ........................ SUCCESS [2.434s]
> [INFO] nazgul-forge-factory-api .......................... SUCCESS [7.634s]
> [INFO] nazgul-forge-factory-impl-nazgul .................. SUCCESS [2.724s]
> [INFO] nazgul-forge-factory-reactor ...................... SUCCESS [0.032s]
> [INFO] ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 36.580s
> [INFO] Finished at: Mon Jul 22 07:46:48 CEST 2013
> [INFO] Final Memory: 49M/247M
> [INFO] ------------------------------------------------------------------------
> ***INFO*** Cleaning up temp workspace [/var/folders/6g/9n7r543d2bv9n2qjvnvf_hsh0000gn/T/forgetemp6186363544408555570]
> Deleted /var/folders/6g/9n7r543d2bv9n2qjvnvf_hsh0000gn/T/forgetemp6186363544408555570
> ***ERROR*** Exception encountered: Build artifact [nazgul-forge-reactor-1.0.1-SNAPSHOT.pom] is missing and cannot be installed. Please resolve build errors and try again. (type "set VERBOSE true" to enable stack traces)
> {code}
> So ...
> # The repository.yaml includes a full Maven GAV to the project which holds Forge plugins.
> # Forge uses repository.yaml to download the source from GitHub and build it
> # Forge ignores the Maven GAV given in repository.yaml, and simply uses the root reactor project to inspect and attempt to install the plugins.
> To fix this bug, Forge needs to find the project given within the repository.yaml within the downloaded reactor and install the plugins from *that* project.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 3 months
[JBoss JIRA] (FORGE-1030) Support multi-module Forge plugins
by Lennart Jörelid (JIRA)
[ https://issues.jboss.org/browse/FORGE-1030?page=com.atlassian.jira.plugin... ]
Lennart Jörelid commented on FORGE-1030:
----------------------------------------
For me, the result of running
{code}
mvn -Dmaven.test.skip=true clean install
{code}
is:
{code}
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] nazgul-forge-parent ............................... SUCCESS [4.406s]
[INFO] nazgul-forge-api-parent ........................... SUCCESS [2.260s]
[INFO] nazgul-forge-model-parent ......................... SUCCESS [0.423s]
[INFO] nazgul-forge-reactor .............................. SUCCESS [0.391s]
[INFO] nazgul-forge-poms-reactor ......................... SUCCESS [0.056s]
[INFO] nazgul-forge-analyzer-api ......................... SUCCESS [10.805s]
[INFO] nazgul-forge-analyzer-impl-nazgul ................. SUCCESS [7.119s]
[INFO] nazgul-forge-analyzer-reactor ..................... SUCCESS [0.020s]
[INFO] nazgul-forge-factory-model ........................ SUCCESS [7.101s]
[INFO] nazgul-forge-factory-api .......................... SUCCESS [11.570s]
[INFO] nazgul-forge-factory-impl-nazgul .................. SUCCESS [9.119s]
[INFO] nazgul-forge-factory-reactor ...................... SUCCESS [0.018s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 54.272s
[INFO] Finished at: Sat Aug 10 21:57:12 CEST 2013
[INFO] Final Memory: 76M/411M
[INFO] ------------------------------------------------------------------------
{code}
> Support multi-module Forge plugins
> ----------------------------------
>
> Key: FORGE-1030
> URL: https://issues.jboss.org/browse/FORGE-1030
> Project: Forge
> Issue Type: Bug
> Components: Documentation, Plugin API, Plugin Repository
> Affects Versions: 1.3.3.Final
> Reporter: Lennart Jörelid
> Assignee: George Gastaldi
> Priority: Blocker
> Fix For: 1.x Future
>
> Attachments: forge_1030_codeAnalysis.png
>
>
> It seems that Forge really needs better support for the default Maven
> development process. In repository.yaml, Forge plugins are defined by giving
> a Maven project GAV for the project holding the forge plugin definitions, as well as the GitHub repository holding the plugin source.
> Yet, Forge seems to ignore the Maven GAV information given in repository.yaml when checking out and building the plugin locally.
> This is a rather nasty bug, which in its current state effectively prevents anyone from using a multi-module build for their plugins (and it is also undocumented).
> An example is shown below:
> {code}
> [no project] Nazgul $ forge install-plugin nazgul
> ***INFO*** Preparing to install plugin: nazgul
> ***INFO*** Checking out plugin source files to [/var/folders/6g/9n7r543d2bv9n2qjvnvf_hsh0000gn/T/forgetemp6186363544408555570] via 'git'
> ***INFO*** Switching to branch/tag [refs/heads/1.3.3.Final]
> ? The project does not appear to be a Forge Plugin Project, install anyway? [y/N]
> {code}
> While this analysis by Forge is incorrect (the Maven GAV given in the repository.yaml is indeed a project which holds plugins), it gets worse after installation:
> {code}
> [INFO] ------------------------------------------------------------------------
> [INFO] Reactor Summary:
> [INFO]
> [INFO] nazgul-forge-parent ............................... SUCCESS [7.921s]
> [INFO] nazgul-forge-api-parent ........................... SUCCESS [4.345s]
> [INFO] nazgul-forge-model-parent ......................... SUCCESS [1.274s]
> [INFO] nazgul-forge-reactor .............................. SUCCESS [0.847s]
> [INFO] nazgul-forge-poms-reactor ......................... SUCCESS [0.058s]
> [INFO] nazgul-forge-analyzer-api ......................... SUCCESS [5.562s]
> [INFO] nazgul-forge-analyzer-impl-nazgul ................. SUCCESS [1.666s]
> [INFO] nazgul-forge-analyzer-reactor ..................... SUCCESS [0.020s]
> [INFO] nazgul-forge-factory-model ........................ SUCCESS [2.434s]
> [INFO] nazgul-forge-factory-api .......................... SUCCESS [7.634s]
> [INFO] nazgul-forge-factory-impl-nazgul .................. SUCCESS [2.724s]
> [INFO] nazgul-forge-factory-reactor ...................... SUCCESS [0.032s]
> [INFO] ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 36.580s
> [INFO] Finished at: Mon Jul 22 07:46:48 CEST 2013
> [INFO] Final Memory: 49M/247M
> [INFO] ------------------------------------------------------------------------
> ***INFO*** Cleaning up temp workspace [/var/folders/6g/9n7r543d2bv9n2qjvnvf_hsh0000gn/T/forgetemp6186363544408555570]
> Deleted /var/folders/6g/9n7r543d2bv9n2qjvnvf_hsh0000gn/T/forgetemp6186363544408555570
> ***ERROR*** Exception encountered: Build artifact [nazgul-forge-reactor-1.0.1-SNAPSHOT.pom] is missing and cannot be installed. Please resolve build errors and try again. (type "set VERBOSE true" to enable stack traces)
> {code}
> So ...
> # The repository.yaml includes a full Maven GAV to the project which holds Forge plugins.
> # Forge uses repository.yaml to download the source from GitHub and build it
> # Forge ignores the Maven GAV given in repository.yaml, and simply uses the root reactor project to inspect and attempt to install the plugins.
> To fix this bug, Forge needs to find the project given within the repository.yaml within the downloaded reactor and install the plugins from *that* project.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 3 months
[JBoss JIRA] (FORGE-1030) Support multi-module Forge plugins
by Lennart Jörelid (JIRA)
[ https://issues.jboss.org/browse/FORGE-1030?page=com.atlassian.jira.plugin... ]
Lennart Jörelid commented on FORGE-1030:
----------------------------------------
Hello all,
First - let's clear up the [potentially] confusing relationship between the properties {{maven.test.skip}} and {{skipTests}}, as described in the surefire plugin's test goal (i.e. http://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html).
It is correct that the runTests(false) method which is called from within the ForgePlugin, implies setting the {{maven.test.skip}} property:
{code}
if (!runTests) {
selected.add("-Dmaven.test.skip=true");
}
{code}
# The property {{skip}} which is set by the user property {{maven.test.skip}} makes Surefire skip compiling and executing unit tests altogether.
# The property {{skipTests}} which is set by the user property {{skipTests}} is the newer and recommended property according to the Surefire plugin's documentation. This was the property I took, but after reading the surefire documentation closely, I believe that using the {{maven.test.skip}} is better in our case.
Alas, problem simply solved by altering the profile-activating property from {{skipTests}} to {{maven.test.skip}}. The difference between the properties is why your build did not work properly before, George. Fixed now; try again.
Patch committed and pushed to both the Nazgul Forge plugin reactor and the Forge documentation site.
> Support multi-module Forge plugins
> ----------------------------------
>
> Key: FORGE-1030
> URL: https://issues.jboss.org/browse/FORGE-1030
> Project: Forge
> Issue Type: Bug
> Components: Documentation, Plugin API, Plugin Repository
> Affects Versions: 1.3.3.Final
> Reporter: Lennart Jörelid
> Assignee: George Gastaldi
> Priority: Blocker
> Fix For: 1.x Future
>
> Attachments: forge_1030_codeAnalysis.png
>
>
> It seems that Forge really needs better support for the default Maven
> development process. In repository.yaml, Forge plugins are defined by giving
> a Maven project GAV for the project holding the forge plugin definitions, as well as the GitHub repository holding the plugin source.
> Yet, Forge seems to ignore the Maven GAV information given in repository.yaml when checking out and building the plugin locally.
> This is a rather nasty bug, which in its current state effectively prevents anyone from using a multi-module build for their plugins (and it is also undocumented).
> An example is shown below:
> {code}
> [no project] Nazgul $ forge install-plugin nazgul
> ***INFO*** Preparing to install plugin: nazgul
> ***INFO*** Checking out plugin source files to [/var/folders/6g/9n7r543d2bv9n2qjvnvf_hsh0000gn/T/forgetemp6186363544408555570] via 'git'
> ***INFO*** Switching to branch/tag [refs/heads/1.3.3.Final]
> ? The project does not appear to be a Forge Plugin Project, install anyway? [y/N]
> {code}
> While this analysis by Forge is incorrect (the Maven GAV given in the repository.yaml is indeed a project which holds plugins), it gets worse after installation:
> {code}
> [INFO] ------------------------------------------------------------------------
> [INFO] Reactor Summary:
> [INFO]
> [INFO] nazgul-forge-parent ............................... SUCCESS [7.921s]
> [INFO] nazgul-forge-api-parent ........................... SUCCESS [4.345s]
> [INFO] nazgul-forge-model-parent ......................... SUCCESS [1.274s]
> [INFO] nazgul-forge-reactor .............................. SUCCESS [0.847s]
> [INFO] nazgul-forge-poms-reactor ......................... SUCCESS [0.058s]
> [INFO] nazgul-forge-analyzer-api ......................... SUCCESS [5.562s]
> [INFO] nazgul-forge-analyzer-impl-nazgul ................. SUCCESS [1.666s]
> [INFO] nazgul-forge-analyzer-reactor ..................... SUCCESS [0.020s]
> [INFO] nazgul-forge-factory-model ........................ SUCCESS [2.434s]
> [INFO] nazgul-forge-factory-api .......................... SUCCESS [7.634s]
> [INFO] nazgul-forge-factory-impl-nazgul .................. SUCCESS [2.724s]
> [INFO] nazgul-forge-factory-reactor ...................... SUCCESS [0.032s]
> [INFO] ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 36.580s
> [INFO] Finished at: Mon Jul 22 07:46:48 CEST 2013
> [INFO] Final Memory: 49M/247M
> [INFO] ------------------------------------------------------------------------
> ***INFO*** Cleaning up temp workspace [/var/folders/6g/9n7r543d2bv9n2qjvnvf_hsh0000gn/T/forgetemp6186363544408555570]
> Deleted /var/folders/6g/9n7r543d2bv9n2qjvnvf_hsh0000gn/T/forgetemp6186363544408555570
> ***ERROR*** Exception encountered: Build artifact [nazgul-forge-reactor-1.0.1-SNAPSHOT.pom] is missing and cannot be installed. Please resolve build errors and try again. (type "set VERBOSE true" to enable stack traces)
> {code}
> So ...
> # The repository.yaml includes a full Maven GAV to the project which holds Forge plugins.
> # Forge uses repository.yaml to download the source from GitHub and build it
> # Forge ignores the Maven GAV given in repository.yaml, and simply uses the root reactor project to inspect and attempt to install the plugins.
> To fix this bug, Forge needs to find the project given within the repository.yaml within the downloaded reactor and install the plugins from *that* project.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 3 months
[JBoss JIRA] (FORGE-1030) Support multi-module Forge plugins
by George Gastaldi (JIRA)
[ https://issues.jboss.org/browse/FORGE-1030?page=com.atlassian.jira.plugin... ]
George Gastaldi commented on FORGE-1030:
----------------------------------------
[~lennartj],
Your plugin is not totally converted, I just ran a _forge install-plugin nazgul" now and the following error occurs:
{code}
[INFO] ------------------------------------------------------------------------
[INFO] Building nazgul-forge-analyzer-api 1.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ nazgul-forge-analyzer-api ---
[INFO]
[INFO] --- cobertura-maven-plugin:2.5.2:clean (default) @ nazgul-forge-analyzer-api ---
[INFO]
[INFO] --- maven-enforcer-plugin:1.2:enforce (enforce-maven) @ nazgul-forge-analyzer-api ---
[INFO]
[INFO] --- maven-enforcer-plugin:1.2:enforce (enforce-imports) @ nazgul-forge-analyzer-api ---
[INFO]
[INFO] --- license-maven-plugin:1.5:update-project-license (add-license) @ nazgul-forge-analyzer-api ---
[INFO] adding extra resolver classpath://codestyle/license
[INFO] Will create or update license file [jguru_apl_v2] to /tmp/forgetemp9048317139828465612/analyzer/analyzer-api/target/LICENSE.TXT
[INFO]
[INFO] --- license-maven-plugin:1.5:update-file-header (check-file-header) @ nazgul-forge-analyzer-api ---
[WARNING] The failOnMissingHeader has no effect if the property dryRun is not setted.
[INFO] adding extra resolver classpath://codestyle/license
[INFO] Will search files to update from root /tmp/forgetemp9048317139828465612/analyzer/analyzer-api/src/main
[INFO] Will search files to update from root /tmp/forgetemp9048317139828465612/analyzer/analyzer-api/src/test
[INFO] Scan 10 files header done in 51.906ms.
[INFO] All files are up-to-date.
[INFO]
[INFO] --- license-maven-plugin:1.5:update-project-license (check-file-header) @ nazgul-forge-analyzer-api ---
[INFO] adding extra resolver classpath://codestyle/license
[INFO]
[INFO] --- license-maven-plugin:1.5:check-file-header (check-file-header) @ nazgul-forge-analyzer-api ---
[INFO] adding extra resolver classpath://codestyle/license
[INFO] Will search files to update from root /tmp/forgetemp9048317139828465612/analyzer/analyzer-api/src/main
[INFO] Will search files to update from root /tmp/forgetemp9048317139828465612/analyzer/analyzer-api/src/test
[INFO] Scan 10 files header done in 14.072ms.
[INFO] All files are up-to-date.
[INFO]
[INFO] --- depends-maven-plugin:1.2:generate-depends-file (generate-depends-file) @ nazgul-forge-analyzer-api ---
[INFO] Created: /tmp/forgetemp9048317139828465612/analyzer/analyzer-api/target/classes/META-INF/maven/dependencies.properties
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ nazgul-forge-analyzer-api ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /tmp/forgetemp9048317139828465612/analyzer/analyzer-api/src/main/resources
[INFO] skip non existing resourceDirectory /tmp/forgetemp9048317139828465612/analyzer/analyzer-api/target/jaxb2/transformed
[INFO] Copying 1 resource
[INFO]
[INFO] --- maven-dependency-plugin:2.8:copy (copy) @ nazgul-forge-analyzer-api ---
[INFO] Configured Artifact: org.apache.openjpa:openjpa:2.2.2:jar
[INFO] Copying openjpa-2.2.2.jar to /tmp/forgetemp9048317139828465612/analyzer/analyzer-api/target/openjpa.jar
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ nazgul-forge-analyzer-api ---
[INFO] Compiling 6 source files to /tmp/forgetemp9048317139828465612/analyzer/analyzer-api/target/classes
[INFO]
[INFO] --- aspectj-maven-plugin:1.4:compile (compile_with_aspectj) @ nazgul-forge-analyzer-api ---
[WARNING] advice defined in se.jguru.nazgul.tools.validation.aspect.ValidationAspect has not been applied [Xlint:adviceDidNotMatch]
[INFO]
[INFO] --- maven-bundle-plugin:2.3.7:manifest (bundle-manifest) @ nazgul-forge-analyzer-api ---
[WARNING] Unable to merge Maven manifest: Specify the section name using the "name" attribute of the <section> element rather than using a "Name" manifest attribute
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ nazgul-forge-analyzer-api ---
[INFO] Not copying test resources
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:testCompile (default-testCompile) @ nazgul-forge-analyzer-api ---
[INFO] Not compiling test sources
[INFO]
[INFO] --- aspectj-maven-plugin:1.4:test-compile (test-compile_with_aspectj) @ nazgul-forge-analyzer-api ---
[WARNING] advice defined in se.jguru.nazgul.tools.validation.aspect.ValidationAspect has not been applied [Xlint:adviceDidNotMatch]
[INFO]
[INFO] --- maven-surefire-plugin:2.15:test (default-test) @ nazgul-forge-analyzer-api ---
[INFO] Tests are skipped.
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ nazgul-forge-analyzer-api ---
[INFO] Building jar: /tmp/forgetemp9048317139828465612/analyzer/analyzer-api/target/nazgul-forge-analyzer-api-1.0.1-SNAPSHOT.jar
[INFO]
[INFO] --- maven-checkstyle-plugin:2.10:check (verify) @ nazgul-forge-analyzer-api ---
[INFO]
[INFO]
[INFO] --- maven-site-plugin:3.3:attach-descriptor (attach-descriptor) @ nazgul-forge-analyzer-api ---
[INFO]
[INFO] >>> maven-source-plugin:2.2.1:jar (attach-sources) @ nazgul-forge-analyzer-api >>>
[INFO]
[INFO] --- maven-enforcer-plugin:1.2:enforce (enforce-maven) @ nazgul-forge-analyzer-api ---
[INFO]
[INFO] --- maven-enforcer-plugin:1.2:enforce (enforce-imports) @ nazgul-forge-analyzer-api ---
[INFO]
[INFO] --- license-maven-plugin:1.5:update-project-license (add-license) @ nazgul-forge-analyzer-api ---
[INFO] adding extra resolver classpath://codestyle/license
[INFO]
[INFO] <<< maven-source-plugin:2.2.1:jar (attach-sources) @ nazgul-forge-analyzer-api <<<
[INFO]
[INFO] --- maven-source-plugin:2.2.1:jar (attach-sources) @ nazgul-forge-analyzer-api ---
[INFO] Building jar: /tmp/forgetemp9048317139828465612/analyzer/analyzer-api/target/nazgul-forge-analyzer-api-1.0.1-SNAPSHOT-sources.jar
[INFO]
[INFO] >>> maven-pmd-plugin:3.0.1:check (default) @ nazgul-forge-analyzer-api >>>
[INFO]
[INFO] --- maven-pmd-plugin:3.0.1:pmd (pmd) @ nazgul-forge-analyzer-api ---
log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
[INFO]
[INFO] <<< maven-pmd-plugin:3.0.1:check (default) @ nazgul-forge-analyzer-api <<<
[INFO]
[INFO] --- maven-pmd-plugin:3.0.1:check (default) @ nazgul-forge-analyzer-api ---
[INFO]
[INFO]
[INFO] >>> maven-pmd-plugin:3.0.1:cpd-check (default) @ nazgul-forge-analyzer-api >>>
[INFO]
[INFO] --- maven-pmd-plugin:3.0.1:cpd (cpd) @ nazgul-forge-analyzer-api ---
[INFO]
[INFO] <<< maven-pmd-plugin:3.0.1:cpd-check (default) @ nazgul-forge-analyzer-api <<<
[INFO]
[INFO] --- maven-pmd-plugin:3.0.1:cpd-check (default) @ nazgul-forge-analyzer-api ---
[INFO]
[INFO]
[INFO] >>> findbugs-maven-plugin:2.5.2:check (default) @ nazgul-forge-analyzer-api >>>
[INFO]
[INFO] --- findbugs-maven-plugin:2.5.2:findbugs (findbugs) @ nazgul-forge-analyzer-api ---
[INFO] Fork Value is true
[INFO] Done FindBugs Analysis....
[INFO]
[INFO] <<< findbugs-maven-plugin:2.5.2:check (default) @ nazgul-forge-analyzer-api <<<
[INFO]
[INFO] --- findbugs-maven-plugin:2.5.2:check (default) @ nazgul-forge-analyzer-api ---
[INFO] BugInstance size is 0
[INFO] Error size is 0
[INFO] No errors/warnings found
[INFO]
[INFO] --- maven-dependency-plugin:2.8:analyze-only (analyze) @ nazgul-forge-analyzer-api ---
[WARNING] Used undeclared dependencies found:
[WARNING] org.apache.commons:commons-lang3:jar:3.1:compile
[WARNING] Unused declared dependencies found:
[WARNING] org.aspectj:aspectjrt:jar:1.7.3:compile
[WARNING] se.jguru.nazgul.tools.validation.aspect:nazgul-tools-validation-aspect:jar:2.0.9:compile
[INFO]
[INFO] >>> cobertura-maven-plugin:2.5.2:check (default) @ nazgul-forge-analyzer-api >>>
[INFO]
[INFO] --- maven-enforcer-plugin:1.2:enforce (enforce-maven) @ nazgul-forge-analyzer-api ---
[INFO]
[INFO] --- maven-enforcer-plugin:1.2:enforce (enforce-imports) @ nazgul-forge-analyzer-api ---
[INFO]
[INFO] --- license-maven-plugin:1.5:update-project-license (add-license) @ nazgul-forge-analyzer-api ---
[INFO] adding extra resolver classpath://codestyle/license
[INFO]
[INFO] --- license-maven-plugin:1.5:update-file-header (check-file-header) @ nazgul-forge-analyzer-api ---
[WARNING] The failOnMissingHeader has no effect if the property dryRun is not setted.
[INFO] adding extra resolver classpath://codestyle/license
[INFO] Will search files to update from root /tmp/forgetemp9048317139828465612/analyzer/analyzer-api/src/main
[INFO] Will search files to update from root /tmp/forgetemp9048317139828465612/analyzer/analyzer-api/src/test
[INFO] Scan 10 files header done in 17.474ms.
[INFO] All files are up-to-date.
[INFO]
[INFO] --- license-maven-plugin:1.5:update-project-license (check-file-header) @ nazgul-forge-analyzer-api ---
[INFO] adding extra resolver classpath://codestyle/license
[INFO]
[INFO] --- license-maven-plugin:1.5:check-file-header (check-file-header) @ nazgul-forge-analyzer-api ---
[INFO] adding extra resolver classpath://codestyle/license
[INFO] Will search files to update from root /tmp/forgetemp9048317139828465612/analyzer/analyzer-api/src/main
[INFO] Will search files to update from root /tmp/forgetemp9048317139828465612/analyzer/analyzer-api/src/test
[INFO] Scan 10 files header done in 11.448ms.
[INFO] All files are up-to-date.
[INFO]
[INFO] --- depends-maven-plugin:1.2:generate-depends-file (generate-depends-file) @ nazgul-forge-analyzer-api ---
[INFO] Created: /tmp/forgetemp9048317139828465612/analyzer/analyzer-api/target/classes/META-INF/maven/dependencies.properties
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ nazgul-forge-analyzer-api ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /tmp/forgetemp9048317139828465612/analyzer/analyzer-api/src/main/resources
[INFO] skip non existing resourceDirectory /tmp/forgetemp9048317139828465612/analyzer/analyzer-api/target/jaxb2/transformed
[INFO] Copying 1 resource
[INFO]
[INFO] --- maven-dependency-plugin:2.8:copy (copy) @ nazgul-forge-analyzer-api ---
[INFO] Configured Artifact: org.apache.openjpa:openjpa:2.2.2:jar
[INFO] org.apache.openjpa:openjpa:2.2.2:jar already exists in /tmp/forgetemp9048317139828465612/analyzer/analyzer-api/target
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ nazgul-forge-analyzer-api ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- aspectj-maven-plugin:1.4:compile (compile_with_aspectj) @ nazgul-forge-analyzer-api ---
[INFO] No modifications found skipping aspectJ compile
[INFO]
[INFO] --- maven-bundle-plugin:2.3.7:manifest (bundle-manifest) @ nazgul-forge-analyzer-api ---
[WARNING] Unable to merge Maven manifest: Specify the section name using the "name" attribute of the <section> element rather than using a "Name" manifest attribute
[INFO]
[INFO] --- cobertura-maven-plugin:2.5.2:instrument (default) @ nazgul-forge-analyzer-api ---
[INFO] Cobertura 1.9.4.1 - GNU GPL License (NO WARRANTY) - See COPYRIGHT file
Instrumenting 6 files to /tmp/forgetemp9048317139828465612/analyzer/analyzer-api/target/generated-classes/cobertura
Cobertura: Saved information on 6 classes.
Instrument time: 71ms
[INFO] Instrumentation was successful.
[INFO] NOT adding cobertura ser file to attached artifacts list.
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ nazgul-forge-analyzer-api ---
[INFO] Not copying test resources
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:testCompile (default-testCompile) @ nazgul-forge-analyzer-api ---
[INFO] Not compiling test sources
[INFO]
[INFO] --- aspectj-maven-plugin:1.4:test-compile (test-compile_with_aspectj) @ nazgul-forge-analyzer-api ---
[WARNING] advice defined in se.jguru.nazgul.tools.validation.aspect.ValidationAspect has not been applied [Xlint:adviceDidNotMatch]
[INFO]
[INFO] --- maven-surefire-plugin:2.15:test (default-test) @ nazgul-forge-analyzer-api ---
[INFO] Tests are skipped.
[INFO]
[INFO] <<< cobertura-maven-plugin:2.5.2:check (default) @ nazgul-forge-analyzer-api <<<
[INFO]
[INFO] --- cobertura-maven-plugin:2.5.2:check (default) @ nazgul-forge-analyzer-api ---
[INFO] Cobertura 1.9.4.1 - GNU GPL License (NO WARRANTY) - See COPYRIGHT file
Cobertura: Loaded information on 6 classes.
[ERROR] se.jguru.nazgul.forge.analyzer.api.patterns.AbstractMavenModelPatterns failed check. Line coverage rate of 0.0% is below 80.0%
se.jguru.nazgul.forge.analyzer.api.AbstractPatternBasedProjectNamingStrategy failed check. Branch coverage rate of 0.0% is below 65.0%
se.jguru.nazgul.forge.analyzer.api.AbstractPatternBasedProjectNamingStrategy failed check. Line coverage rate of 0.0% is below 80.0%
se.jguru.nazgul.forge.analyzer.api.patterns.DefaultProjectParentPatterns failed check. Line coverage rate of 0.0% is below 80.0%
se.jguru.nazgul.forge.analyzer.api.patterns.DefaultTopReactorPatterns failed check. Line coverage rate of 0.0% is below 80.0%
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] nazgul-forge-parent ............................... SUCCESS [4.648s]
[INFO] nazgul-forge-api-parent ........................... SUCCESS [3.029s]
[INFO] nazgul-forge-model-parent ......................... SUCCESS [0.369s]
[INFO] nazgul-forge-reactor .............................. SUCCESS [0.529s]
[INFO] nazgul-forge-poms-reactor ......................... SUCCESS [0.011s]
[INFO] nazgul-forge-analyzer-api ......................... FAILURE [11.831s]
[INFO] nazgul-forge-analyzer-impl-nazgul ................. SKIPPED
[INFO] nazgul-forge-analyzer-reactor ..................... SKIPPED
[INFO] nazgul-forge-factory-model ........................ SKIPPED
[INFO] nazgul-forge-factory-api .......................... SKIPPED
[INFO] nazgul-forge-factory-impl-nazgul .................. SKIPPED
[INFO] nazgul-forge-factory-reactor ...................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 22.031s
[INFO] Finished at: Sat Aug 10 15:32:52 BRT 2013
[INFO] Final Memory: 74M/777M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:cobertura-maven-plugin:2.5.2:check (default) on project nazgul-forge-analyzer-api: Coverage check failed. See messages above. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <goals> -rf :nazgul-forge-analyzer-api
***INFO*** Cleaning up temp workspace [/tmp/forgetemp9048317139828465612]
Wrote /home/ggastald/.forge/httpsrawgithubcomforgepluginrepositorymasterrepositoryyaml.yaml
Deleted /tmp/forgetemp9048317139828465612
***ERROR*** Exception encountered: Build failed. (type "set VERBOSE true" to enable stack traces)
{code}
> Support multi-module Forge plugins
> ----------------------------------
>
> Key: FORGE-1030
> URL: https://issues.jboss.org/browse/FORGE-1030
> Project: Forge
> Issue Type: Bug
> Components: Documentation, Plugin API, Plugin Repository
> Affects Versions: 1.3.3.Final
> Reporter: Lennart Jörelid
> Assignee: George Gastaldi
> Priority: Blocker
> Fix For: 1.x Future
>
> Attachments: forge_1030_codeAnalysis.png
>
>
> It seems that Forge really needs better support for the default Maven
> development process. In repository.yaml, Forge plugins are defined by giving
> a Maven project GAV for the project holding the forge plugin definitions, as well as the GitHub repository holding the plugin source.
> Yet, Forge seems to ignore the Maven GAV information given in repository.yaml when checking out and building the plugin locally.
> This is a rather nasty bug, which in its current state effectively prevents anyone from using a multi-module build for their plugins (and it is also undocumented).
> An example is shown below:
> {code}
> [no project] Nazgul $ forge install-plugin nazgul
> ***INFO*** Preparing to install plugin: nazgul
> ***INFO*** Checking out plugin source files to [/var/folders/6g/9n7r543d2bv9n2qjvnvf_hsh0000gn/T/forgetemp6186363544408555570] via 'git'
> ***INFO*** Switching to branch/tag [refs/heads/1.3.3.Final]
> ? The project does not appear to be a Forge Plugin Project, install anyway? [y/N]
> {code}
> While this analysis by Forge is incorrect (the Maven GAV given in the repository.yaml is indeed a project which holds plugins), it gets worse after installation:
> {code}
> [INFO] ------------------------------------------------------------------------
> [INFO] Reactor Summary:
> [INFO]
> [INFO] nazgul-forge-parent ............................... SUCCESS [7.921s]
> [INFO] nazgul-forge-api-parent ........................... SUCCESS [4.345s]
> [INFO] nazgul-forge-model-parent ......................... SUCCESS [1.274s]
> [INFO] nazgul-forge-reactor .............................. SUCCESS [0.847s]
> [INFO] nazgul-forge-poms-reactor ......................... SUCCESS [0.058s]
> [INFO] nazgul-forge-analyzer-api ......................... SUCCESS [5.562s]
> [INFO] nazgul-forge-analyzer-impl-nazgul ................. SUCCESS [1.666s]
> [INFO] nazgul-forge-analyzer-reactor ..................... SUCCESS [0.020s]
> [INFO] nazgul-forge-factory-model ........................ SUCCESS [2.434s]
> [INFO] nazgul-forge-factory-api .......................... SUCCESS [7.634s]
> [INFO] nazgul-forge-factory-impl-nazgul .................. SUCCESS [2.724s]
> [INFO] nazgul-forge-factory-reactor ...................... SUCCESS [0.032s]
> [INFO] ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 36.580s
> [INFO] Finished at: Mon Jul 22 07:46:48 CEST 2013
> [INFO] Final Memory: 49M/247M
> [INFO] ------------------------------------------------------------------------
> ***INFO*** Cleaning up temp workspace [/var/folders/6g/9n7r543d2bv9n2qjvnvf_hsh0000gn/T/forgetemp6186363544408555570]
> Deleted /var/folders/6g/9n7r543d2bv9n2qjvnvf_hsh0000gn/T/forgetemp6186363544408555570
> ***ERROR*** Exception encountered: Build artifact [nazgul-forge-reactor-1.0.1-SNAPSHOT.pom] is missing and cannot be installed. Please resolve build errors and try again. (type "set VERBOSE true" to enable stack traces)
> {code}
> So ...
> # The repository.yaml includes a full Maven GAV to the project which holds Forge plugins.
> # Forge uses repository.yaml to download the source from GitHub and build it
> # Forge ignores the Maven GAV given in repository.yaml, and simply uses the root reactor project to inspect and attempt to install the plugins.
> To fix this bug, Forge needs to find the project given within the repository.yaml within the downloaded reactor and install the plugins from *that* project.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 3 months
[JBoss JIRA] (FORGE-1102) Support detection of undeclared dependent facets
by Vineet Reynolds (JIRA)
Vineet Reynolds created FORGE-1102:
--------------------------------------
Summary: Support detection of undeclared dependent facets
Key: FORGE-1102
URL: https://issues.jboss.org/browse/FORGE-1102
Project: Forge
Issue Type: Feature Request
Affects Versions: 1.3.3.Final
Reporter: Vineet Reynolds
Fix For: 2.x Future
Based on FORGE-1101, facets that are not declared via {{@RequiresFacet}} may not be visible via {{Project.hasFacet()}} at the right time since the {{ProjectFactory}}'s registry may not process these facets in the right order. It would be a good idea to hint the {{ProjectFactory}} that a particular Facet may have to be registered.
To explain further, the {{RestFacet}} does not declare any dependencies on the {{RestWebXmlFacet}} and the {{RestApplicationFacet}}. These facets are therefore not always detected via the {{project.hasFacet()}} invocations.
Declaring them as facets via a {{@RequiresOnlyOneFacet}} annotation could be one solution to ensure that only one facet within a group should be sufficient to satisfy the desired constraints on a Faceted type. Likewise, we could also add support for optional facets that are may be installed if possible, via a {{@OptionalFacets}} annotation.
This would probably be better supported in 2.x instead of 1.x.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 3 months