[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:
----------------------------------------
Hi [~lennartj],
Glad you liked it. We could activate a specific profile by running with -P if needed. I still need to test a little more but avoiding running the tests while installing is the best option, since we don't intend to change the default behavior.
Feel free to pull my branch, apply the needed changes and submitting a new Pull request. I think this is the right way to go.
Thanks!
> 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.3.4.Final
>
> 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, 6 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 7/31/13 6:26 PM:
-----------------------------------------------------------------
After taking a look at the surefire plugin, we could deduct some improvements to the above:
# The http://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html page informs us that the {{skipTests}} parameter should be set when skipping tests nowadays.
This implies that we can use something like the following in the root pom of a Forge Plugin project:
{code}
<!--
################################################
# Section 5: Profiles
################################################
-->
<profiles>
<profile>
<id>install_plugin</id>
<activation>
<property>
<name>skipTests</name>
<value>true</value>
</property>
</activation>
<!-- Add definitions here to enable the build to run properly when all tests are switched off. -->
</profile>
</profiles>
{code}
was (Author: lennartj):
After taking a look at the surefire plugin, we could deduct some improvements to the above:
# The http://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html page informs us that the {{skipTests}} parameter should be set when skipping tests nowadays.
This implies that we can use something like the following in the root pom of a Forge Plugin project:
{code}
<!--
################################################
# Section 5: Profiles
################################################
-->
<profiles>
<profile>
<id>install_plugin</id>
<activation>
<property>
<name>skipTests</name>
<value>true</value>
</property>
</activation>
<!-- Add definitions here to enable the build to run properly all tests switched off. -->
</profile>
</profiles>
{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.3.4.Final
>
> 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, 6 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 7/31/13 6:25 PM:
-----------------------------------------------------------------
After taking a look at the surefire plugin, we could deduct some improvements to the above:
# The http://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html page informs us that the {{skipTests}} parameter should be set when skipping tests nowadays.
This implies that we can use something like the following in the root pom of a Forge Plugin project:
{code}
<!--
################################################
# Section 5: Profiles
################################################
-->
<profiles>
<profile>
<id>install_plugin</id>
<activation>
<property>
<name>skipTests</name>
<value>true</value>
</property>
</activation>
<!-- Add definitions here to enable the build to run properly all tests switched off. -->
</profile>
</profiles>
{code}
was (Author: lennartj):
After taking a look at the surefire plugin, we could deduct some improvements to the above:
# The http://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html page informs us that the {{skipTests}} parameter should be set when skipping tests nowadays.
This implies that we can use something like the following:
{code}
<!--
################################################
# Section 5: Profiles
################################################
-->
<profiles>
<profile>
<id>install_plugin</id>
<activation>
<property>
<name>skipTests</name>
<value>true</value>
</property>
</activation>
<!-- Add definitions here to enable the build to run properly all tests switched off. -->
</profile>
</profiles>
{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.3.4.Final
>
> 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, 6 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:
----------------------------------------
After taking a look at the surefire plugin, we could deduct some improvements to the above:
# The http://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html page informs us that the {{skipTests}} parameter should be set when skipping tests nowadays.
This implies that we can use something like the following:
{code}
<!--
################################################
# Section 5: Profiles
################################################
-->
<profiles>
<profile>
<id>install_plugin</id>
<activation>
<property>
<name>skipTests</name>
<value>true</value>
</property>
</activation>
<!-- Add definitions here to enable the build to run properly all tests switched off. -->
</profile>
</profiles>
{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.3.4.Final
>
> 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, 6 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:
----------------------------------------
Ah.
First - you are quite true; I remember seeing that the maven build from inside the Forge was run without the tests engaged.
What do you think would be a good practise here? I see three options, basically:
# We could simply run the Forge install build with unit tests switched on. This is a performance hit, but will only be executed at installation - so maybe that is OK.
# We could run the Forge install build without unit tests. This will ensure performance during installation. If we go down this route, it should be documented. I completely missed it until I looked inside the Forge source code.
# We could run the Forge install build without unit tests, but with some extra environment variable set (say "plugin_install") - implying that the Maven build for the plugin could turn on a Profile which would either switch all plugins off or make plugins not break the build on failure. This, also, needs to be documented.
Personally, I would suggest going for the last option since it is compliant with what we have today while preserving the development default to run all unit tests in all runs except the installation itself. You feel this is OK?
Second - your idea of extracting the code to handle plugins into a PluginManager is better than the too conservative way I implemented it. I focused on not breaking any code in the Forge core, whereas you refactored properly. I will look through the code a little better tomorrow, but the approach you took is good.
> 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.3.4.Final
>
> 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, 6 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], I managed to fix the issue by installing the artifacts in the local repository before resolving them. However, nazgul runs some cobertura tests that makes it impossible to run "clean install" with tests disabled.
I really wish to avoid running the tests while installing a plugin for performance reasons, but if you think that's necessary, we can adopt that tests must be run when multimodule projects are used.
Thoughts ?
> 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.3.4.Final
>
> 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, 6 months
[JBoss JIRA] (FORGE-1065) Furnace container extension API should provide an EventManager for handling cross-container events portably
by Lincoln Baxter III (JIRA)
Lincoln Baxter III created FORGE-1065:
-----------------------------------------
Summary: Furnace container extension API should provide an EventManager for handling cross-container events portably
Key: FORGE-1065
URL: https://issues.jboss.org/browse/FORGE-1065
Project: Forge
Issue Type: Feature Request
Components: Event Bus, Furnace (Container)
Affects Versions: 2.0.0.Alpha9
Reporter: Lincoln Baxter III
Fix For: 2.x Future
Currently the CDI addon is the only container type that supports events, and they will not be compatible with each other, so in order for this to work, furnace must provide an `EventManager` API for addon containers to implement, then handle the event propagation itself.
--
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, 6 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], you can check out what I have already done at https://github.com/gastaldi/core/tree/FORGE-1030
Thanks
> 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.3.4.Final
>
> 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, 6 months
[JBoss JIRA] (FORGE-1064) ProjectListener should be an @Exported service
by Lincoln Baxter III (JIRA)
Lincoln Baxter III created FORGE-1064:
-----------------------------------------
Summary: ProjectListener should be an @Exported service
Key: FORGE-1064
URL: https://issues.jboss.org/browse/FORGE-1064
Project: Forge
Issue Type: Enhancement
Components: Builtin Plugins, Usability
Affects Versions: 2.0.0.Alpha9
Reporter: Lincoln Baxter III
Fix For: 2.x Future
The ProjectFactory should query the AddonRegistry for available ProjectListener services in addition to supporting the existing manual listener registration.
{code}
@Inject Imported<ProjectListener> listeners;
{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, 6 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:
----------------------------------------
Yes, I know. I used some portions of it.
I have refactored the code out to a PluginManager class and also used the Dependency object instead of plain String.
There is one little bug that I am working on it that is to resolve correctly dependencies inter-modules. As I don't have the Nazgul framework in my local repository, the plugin installation currently fails.
> 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.3.4.Final
>
> 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, 6 months