[JBoss JIRA] (SHRINKRES-190) implements equals and hashCode methods in MavenResolvedArtifactImpl / MavenArtifactInfoImpl
by Mathieu Lachance (JIRA)
[ https://issues.jboss.org/browse/SHRINKRES-190?page=com.atlassian.jira.plu... ]
Mathieu Lachance updated SHRINKRES-190:
---------------------------------------
Description:
I'm currently to find an effective way to filter out many dependencies that I could provide within a "dummy" pom.xml.
I'd like to do the following:
{code:java}
public static List<MavenResolvedArtifact> resolveAllTestNonTransitiveDependencies() {
return Arrays.asList(
Maven.resolver()
.loadPomFromFile("pom.xml")
.importTestDependencies().resolve()
.withoutTransitivity()
.asResolvedArtifact());
}
public static List<MavenResolvedArtifact> resolveAllArquillianDependencies() {
return Arrays.asList(
Maven.resolver()
.loadPomFromFile("src/test/resources/arquillian.pom.xml")
.importTestDependencies().resolve()
.withoutTransitivity()
.asResolvedArtifact());
}
public static List<MavenResolvedArtifact> resolveAllTestNonTransitiveNonArquillianDependencies() {
List<MavenResolvedArtifact> testDependencies = resolveAllTestNonTransitiveDependencies();
List<MavenResolvedArtifact> arquillianDependencies = resolveAllArquillianDependencies();
List<MavenResolvedArtifact> filteredTestDependencies = new ArrayList<MavenResolvedArtifact>();
for (MavenResolvedArtifact testDependency : testDependencies) {
if (!arquillianDependencies.contains(testDependency)) {
filteredTestDependencies.add(testDependency);
}
}
return filteredTestDependencies;
}
{code}
The problem is that MavenResolvedArtifactImpl does not implements equals and hashCode needed for using Collection::contains method.
I think it would be safe to delegate MavenResolvedArtifactImpl / MavenArtifactInfoImpl equals and hashCode methods to MavenCoordinateImpl
Thanks,
was:
I'm currently to find an effective way to filter out many dependencies that I could provide within a "dummy" pom.xml.
I'd like to do the following:
{code:java}
public static List<MavenResolvedArtifact> resolveAllTestNonTransitiveDependencies() {
return Arrays.asList(
Maven.resolver()
.loadPomFromFile("pom.xml")
.importTestDependencies().resolve()
.withoutTransitivity()
.asResolvedArtifact());
}
public static List<MavenResolvedArtifact> resolveAllArquillianDependencies() {
return Arrays.asList(
Maven.resolver()
.loadPomFromFile("src/test/resources/arquillian.pom.xml")
.importTestDependencies().resolve()
.withoutTransitivity()
.asResolvedArtifact());
}
public static List<MavenResolvedArtifact> resolveAllTestNonTransitiveNonArquillianDependencies() {
List<MavenResolvedArtifact> testDependencies = resolveAllTestNonTransitiveDependencies();
List<MavenResolvedArtifact> arquillianDependencies = resolveAllArquillianDependencies();
List<MavenResolvedArtifact> filteredTestDependencies = new ArrayList<MavenResolvedArtifact>();
for (MavenResolvedArtifact testDependency : testDependencies) {
if (!arquillianDependencies.contains(testDependency)) {
filteredTestDependencies.add(testDependency);
}
}
return filteredTestDependencies;
}
{code}
The problem is that MavenResolvedArtifactImpl does not implements equals and hashCode needed for using Collection::contains method.
I think it would be safe to delegate MavenResolvedArtifactImpl / MavenArtifactInfoImpl equals and hashCode methods to MavenCoordinateImpl
Thanks,
see also:
https://issues.jboss.org/browse/SHRINKRES-30
> implements equals and hashCode methods in MavenResolvedArtifactImpl / MavenArtifactInfoImpl
> -------------------------------------------------------------------------------------------
>
> Key: SHRINKRES-190
> URL: https://issues.jboss.org/browse/SHRINKRES-190
> Project: ShrinkWrap Resolvers
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Affects Versions: 2.1.1
> Reporter: Mathieu Lachance
>
> I'm currently to find an effective way to filter out many dependencies that I could provide within a "dummy" pom.xml.
> I'd like to do the following:
> {code:java}
> public static List<MavenResolvedArtifact> resolveAllTestNonTransitiveDependencies() {
> return Arrays.asList(
> Maven.resolver()
> .loadPomFromFile("pom.xml")
> .importTestDependencies().resolve()
> .withoutTransitivity()
> .asResolvedArtifact());
> }
>
> public static List<MavenResolvedArtifact> resolveAllArquillianDependencies() {
> return Arrays.asList(
> Maven.resolver()
> .loadPomFromFile("src/test/resources/arquillian.pom.xml")
> .importTestDependencies().resolve()
> .withoutTransitivity()
> .asResolvedArtifact());
> }
>
> public static List<MavenResolvedArtifact> resolveAllTestNonTransitiveNonArquillianDependencies() {
> List<MavenResolvedArtifact> testDependencies = resolveAllTestNonTransitiveDependencies();
>
> List<MavenResolvedArtifact> arquillianDependencies = resolveAllArquillianDependencies();
>
> List<MavenResolvedArtifact> filteredTestDependencies = new ArrayList<MavenResolvedArtifact>();
> for (MavenResolvedArtifact testDependency : testDependencies) {
> if (!arquillianDependencies.contains(testDependency)) {
> filteredTestDependencies.add(testDependency);
> }
> }
> return filteredTestDependencies;
> }
> {code}
> The problem is that MavenResolvedArtifactImpl does not implements equals and hashCode needed for using Collection::contains method.
> I think it would be safe to delegate MavenResolvedArtifactImpl / MavenArtifactInfoImpl equals and hashCode methods to MavenCoordinateImpl
> Thanks,
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)