[forge-issues] [JBoss JIRA] (FORGE-432) forge source-plugin cannot resolve dependency with property version

Max Schwaab (JIRA) jira-events at lists.jboss.org
Tue Jan 17 11:52:18 EST 2012


    [ https://issues.jboss.org/browse/FORGE-432?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12659900#comment-12659900 ] 

Max Schwaab edited comment on FORGE-432 at 1/17/12 11:52 AM:
-------------------------------------------------------------

Oh sorry, thought it will be clear because of the property context.
It's the hibersap dependencies.

{code}
<dependency>
	<groupId>org.hibersap</groupId>
	<artifactId>hibersap-core</artifactId>
	<version>${hibersap.version}</version>
</dependency>
<dependency>
	<groupId>org.hibersap</groupId>
	<artifactId>hibersap-jco</artifactId>
	<version>${hibersap.version}</version>
</dependency>
{code}

The result is the warning on the shell from teh resolveArtifacts method
                
      was (Author: mxsb):
    Oh sorry, thought it will be clear because of the property context.
It's the hibersap dependencies.

{code}
		<dependency>
			<groupId>org.hibersap</groupId>
			<artifactId>hibersap-core</artifactId>
			<version>${hibersap.version}</version>
		</dependency>
		<dependency>
			<groupId>org.hibersap</groupId>
			<artifactId>hibersap-jco</artifactId>
			<version>${hibersap.version}</version>
		</dependency>
{code}

The result is the warning on the shell from teh resolveArtifacts method
                  
> forge source-plugin cannot resolve dependency with property version
> -------------------------------------------------------------------
>
>                 Key: FORGE-432
>                 URL: https://issues.jboss.org/browse/FORGE-432
>             Project: Forge
>          Issue Type: Bug
>    Affects Versions: 1.0.0.Beta5
>         Environment: Windows 7, Desktop PC 
>            Reporter: Max Schwaab
>            Priority: Minor
>              Labels: maven
>         Attachments: pom.xml
>
>
> Hey there,
> here is the new issue to my problem. I copied the description from FORGE-430 and updated it a bit.
> Task:
> Install a plugin from a local project with dependencies to some library not provided or known by Forge
> Command:
> forge source-plugin
> The way to the failure:
> ForgePlugin.installFromLocalProject invokes
> ForgePlugin.installFromCurrentProject invokes
> ForgePlugin.createModule invokes
> ForgePlugin.createDependenciesModule invokes
> ForgePlugin.resolveArtifacts invokes
> MavenDependencyFacet.getDependencies which finally invokes
> {code}
> MavenCoreFacet maven = project.getFacet(MavenCoreFacet.class);
> Model pom = maven.getPOM();
> {code}
> The problem is, that ForgePlugin.resolveArtifacts compares the dependencies and sets the original dependency d to d2, which comes from the MavenCoreFacet with no resolved version (but the {some.version} property as version).
> So maybe the problem is in the ForgePlugin.resolveArtifacts method.
> I pointed to the (possible) problem in the code snipped below.
> d comes with correct resolved version and d2 comes with the content of the version property (e.g. {some.version}) as "version".
> The comparison is successfull, but afterwards the new "version" can't be resolved (because its something like {some.version})
> {code}
> private List<DependencyResource> resolveArtifacts(final Project project, final Dependency dep) {
>       Dependency d = dep;
>       List<DependencyResource> artifacts = new ArrayList<DependencyResource>();
>       DependencyFacet deps = project.getFacet(DependencyFacet.class);
>       for (Dependency d2 : deps.getDependencies()) {
>          if (DependencyBuilder.areEquivalent(d, d2) && (d2.getVersion() != null))
>          {
>             d = d2; //<- this results in a "Could not resolve dependency" message
>             break;
>          }
>       }
>       if (artifacts.size() != 1)
>       {
>          artifacts = resolver.resolveArtifacts(d, deps.getRepositories());
>       }
>       if (artifacts.size() != 1)
>       {
>          ShellMessages.warn(writer, "Could not resolve dependency [" + d.toCoordinates() + "]");
>       }
>       return artifacts;
> }
> {code}
> *Important*
> This issue doesn't seem to have influence on the functionality of the plugin, maybe because I shaded the dependencies to Forge.
> Hope you can reproduce this issue, otherwise I can give you a pom snipped with my dependencies.
> Best regards
> Max

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the forge-issues mailing list