[forge-issues] [JBoss JIRA] (FORGE-1030) Repository.yaml does not use given project in multi-module Forge plugins

Lennart Jörelid (JIRA) jira-events at lists.jboss.org
Mon Jul 22 01:54:25 EDT 2013


Lennart Jörelid created FORGE-1030:
--------------------------------------

             Summary: Repository.yaml does not use given project in 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
            Priority: Critical


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



More information about the forge-issues mailing list