You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Yuriy Sidelnikov (Commented) (JIRA)" <ji...@apache.org> on 2012/03/06 09:51:04 UTC
[jira] [Commented] (SM-2145) jbi-maven-plugin: Artifact
unexpectedly filtered
[ https://issues.apache.org/jira/browse/SM-2145?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13223101#comment-13223101 ]
Yuriy Sidelnikov commented on SM-2145:
--------------------------------------
The problem can be fixed by the following patch. Patch has been created for version 4.4
GenerateComponentMojo.java
@@ -184,7 +184,7 @@
ArtifactFilter filter = new ArtifactFilter() {
public boolean include(Artifact artifact) {
return !artifact.isOptional() &&
- (artifact.getScope() == Artifact.SCOPE_RUNTIME || artifact.getScope() == Artifact.SCOPE_COMPILE);
+ (artifact.getScope().equals(Artifact.SCOPE_RUNTIME) || artifact.getScope().equals(Artifact.SCOPE_COMPILE));
}
};
+++ GenerateComponentDescriptorMojo.java
@@ -224,7 +224,7 @@
ArtifactFilter filter = new ArtifactFilter() {
public boolean include(Artifact artifact) {
return !artifact.isOptional() &&
- (artifact.getScope() == Artifact.SCOPE_RUNTIME || artifact.getScope() == Artifact.SCOPE_COMPILE);
+ (artifact.getScope().equals(Artifact.SCOPE_RUNTIME) || artifact.getScope().equals(Artifact.SCOPE_COMPILE));
}
};
The "==" operator even for final static strings works fine only if strings were loaded by the same classloader.
> jbi-maven-plugin: Artifact unexpectedly filtered
> ------------------------------------------------
>
> Key: SM-2145
> URL: https://issues.apache.org/jira/browse/SM-2145
> Project: ServiceMix
> Issue Type: Bug
> Components: tooling
> Affects Versions: jbi-maven-plugin-4.3, jbi-maven-plugin-4.4, jbi-maven-plugin-4.5
> Reporter: Julien Blass
> Assignee: Jean-Baptiste Onofré
> Original Estimate: 0.5h
> Remaining Estimate: 0.5h
>
> Some of the artifacts defined in my project's pom.xml in scope 'compile' are unexpectedly filtered during the generation of a component.
> By debugging the generation process, I have found that this is due to the use of '==' to compare the strings defining two artifact's scopes (GenerateComponentDescriptorMojo.java, line 225). For a reason that I could not establish yet, my artifact as a scope value of 'compile' but the string object is not equal to Artifact.SCOPE_COMPILE.
> I think that one solution for this bug is either to change "artifact.getScope() == Artifact.SCOPE_COMPILE" by "artifact.getScope().equals(Artifact.SCOPE_COMPILE)" or to find the places where the scope of the artifact is set to a value that is not a constant of the class org.apache.maven.artifact.Artifact.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira