[
https://issues.jboss.org/browse/FORGE-432?page=com.atlassian.jira.plugin....
]
Max Schwaab commented on FORGE-432:
-----------------------------------
Hi Lincoln,
I'm using Beta5 atm.
Maybe I do a little screencast or something to describe the problem :)
It's not really affecting my work, but I don't like this warning coming up, makes
me think something is wrong ;)
I'll be back to this on Friday my time (GMT +1), thanks for the quick reply..
Regards
Max
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