[
https://issues.jboss.org/browse/FORGE-1030?page=com.atlassian.jira.plugin...
]
Lennart Jörelid commented on FORGE-1030:
----------------------------------------
Hello there,
Unfortunately, I will be away until early next week, but will attempt to validate/verify
the approach in a local clone shortly after that.
Will attempt to fix FORGE-1035, so I can produce some code with a reasonable confidence
not to break formatting rules in checkins/pull requests.
I believe that implies I cannot be properly productive on this issue until mid-next week.
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