[JBoss JIRA] (SHRINKRES-184) Shrinkwrap maven local repo resolution not working since ARQ 1.1.4.Final
by Karel Piwko (JIRA)
[ https://issues.jboss.org/browse/SHRINKRES-184?page=com.atlassian.jira.plu... ]
Karel Piwko commented on SHRINKRES-184:
---------------------------------------
Arquillian version should be unrelated, it just maintains Resolver version. We are looking for a regression for your test case in SWR 2.0.2 and 2.1.0.
Just to check whether I'm on the right path, can you search your local repository for "_remote.repositories" files for artifacts you are trying to resolved and delete these files?
> Shrinkwrap maven local repo resolution not working since ARQ 1.1.4.Final
> ------------------------------------------------------------------------
>
> Key: SHRINKRES-184
> URL: https://issues.jboss.org/browse/SHRINKRES-184
> Project: ShrinkWrap Resolvers
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Environment: Maven 3.2.1
> Java 7 64 - bit
> Windows 7 64 bit
> Reporter: Sueleyman Vurucu
>
> I update ARQ from 1.1.3.Final to 1.1.4.Final.
> After I try to excecute my testsuite I had a Exception that some of the artifacts could not be resolved. After Debugging I see that shrinkwrap looks for that artifacts on our local nexus server. Unfortunately we dont deploy our development artifact on nexus.
> The MavenResolverSystem is configured like shown below:
> // ARQ 1.1.3.Final
> private static MavenResolverSystem getMavenDependencyResolver() {
> MavenResolverSystem mavenResolverSystem = Maven.configureResolver().fromFile(pathToSettingsXML);
> mavenResolverSystem.offline();
> return mavenResolverSystem;
> }
> // ARQ 1.1.4.Final
> private static ConfigurableMavenResolverSystem getMavenDependencyResolver() {
> ConfigurableMavenResolverSystem mavenResolverSystem = Resolvers.configure(ConfigurableMavenResolverSystem.class);
> mavenResolverSystem.withClassPathResolution(true);
> mavenResolverSystem.fromFile(pathToSettingsXML);
> mavenResolverSystem.workOffline();
> return mavenResolverSystem;
> }
> As you can see I say to MavenResolverSystem that it should work offline.
> After deep debugging I see that the resolversystem try to find all the artifacts on our nexus.
> //ARQ 1.1.3.Final
> DefaultRepositorySystem:367
> com.siemag.base:wms-base-controller:ejb:3.0.0-SNAPSHOT <(compile)
> //ARQ 1.1.4.Final
> In the class DefaultRepositorySystem:367
> com.siemag.base:wms-base-controller:ejb:3.0.0-SNAPSHOT < [nexus (http://172.16.55.1:8081/nexus/content/groups/public, releases)]
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
9 years, 9 months
[JBoss JIRA] (SHRINKRES-184) Shrinkwrap maven local repo resolution not working since ARQ 1.1.4.Final
by Sueleyman Vurucu (JIRA)
[ https://issues.jboss.org/browse/SHRINKRES-184?page=com.atlassian.jira.plu... ]
Sueleyman Vurucu commented on SHRINKRES-184:
--------------------------------------------
Unfortunally -Dmaven.legacyLocalRepo=true has no efect.
> Shrinkwrap maven local repo resolution not working since ARQ 1.1.4.Final
> ------------------------------------------------------------------------
>
> Key: SHRINKRES-184
> URL: https://issues.jboss.org/browse/SHRINKRES-184
> Project: ShrinkWrap Resolvers
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Environment: Maven 3.2.1
> Java 7 64 - bit
> Windows 7 64 bit
> Reporter: Sueleyman Vurucu
>
> I update ARQ from 1.1.3.Final to 1.1.4.Final.
> After I try to excecute my testsuite I had a Exception that some of the artifacts could not be resolved. After Debugging I see that shrinkwrap looks for that artifacts on our local nexus server. Unfortunately we dont deploy our development artifact on nexus.
> The MavenResolverSystem is configured like shown below:
> // ARQ 1.1.3.Final
> private static MavenResolverSystem getMavenDependencyResolver() {
> MavenResolverSystem mavenResolverSystem = Maven.configureResolver().fromFile(pathToSettingsXML);
> mavenResolverSystem.offline();
> return mavenResolverSystem;
> }
> // ARQ 1.1.4.Final
> private static ConfigurableMavenResolverSystem getMavenDependencyResolver() {
> ConfigurableMavenResolverSystem mavenResolverSystem = Resolvers.configure(ConfigurableMavenResolverSystem.class);
> mavenResolverSystem.withClassPathResolution(true);
> mavenResolverSystem.fromFile(pathToSettingsXML);
> mavenResolverSystem.workOffline();
> return mavenResolverSystem;
> }
> As you can see I say to MavenResolverSystem that it should work offline.
> After deep debugging I see that the resolversystem try to find all the artifacts on our nexus.
> //ARQ 1.1.3.Final
> DefaultRepositorySystem:367
> com.siemag.base:wms-base-controller:ejb:3.0.0-SNAPSHOT <(compile)
> //ARQ 1.1.4.Final
> In the class DefaultRepositorySystem:367
> com.siemag.base:wms-base-controller:ejb:3.0.0-SNAPSHOT < [nexus (http://172.16.55.1:8081/nexus/content/groups/public, releases)]
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
9 years, 9 months
[JBoss JIRA] (SHRINKRES-184) Shrinkwrap maven local repo resolution not working since ARQ 1.1.4.Final
by Sueleyman Vurucu (JIRA)
[ https://issues.jboss.org/browse/SHRINKRES-184?page=com.atlassian.jira.plu... ]
Sueleyman Vurucu commented on SHRINKRES-184:
--------------------------------------------
The same with 1.1.6.Final :-(
> Shrinkwrap maven local repo resolution not working since ARQ 1.1.4.Final
> ------------------------------------------------------------------------
>
> Key: SHRINKRES-184
> URL: https://issues.jboss.org/browse/SHRINKRES-184
> Project: ShrinkWrap Resolvers
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Environment: Maven 3.2.1
> Java 7 64 - bit
> Windows 7 64 bit
> Reporter: Sueleyman Vurucu
>
> I update ARQ from 1.1.3.Final to 1.1.4.Final.
> After I try to excecute my testsuite I had a Exception that some of the artifacts could not be resolved. After Debugging I see that shrinkwrap looks for that artifacts on our local nexus server. Unfortunately we dont deploy our development artifact on nexus.
> The MavenResolverSystem is configured like shown below:
> // ARQ 1.1.3.Final
> private static MavenResolverSystem getMavenDependencyResolver() {
> MavenResolverSystem mavenResolverSystem = Maven.configureResolver().fromFile(pathToSettingsXML);
> mavenResolverSystem.offline();
> return mavenResolverSystem;
> }
> // ARQ 1.1.4.Final
> private static ConfigurableMavenResolverSystem getMavenDependencyResolver() {
> ConfigurableMavenResolverSystem mavenResolverSystem = Resolvers.configure(ConfigurableMavenResolverSystem.class);
> mavenResolverSystem.withClassPathResolution(true);
> mavenResolverSystem.fromFile(pathToSettingsXML);
> mavenResolverSystem.workOffline();
> return mavenResolverSystem;
> }
> As you can see I say to MavenResolverSystem that it should work offline.
> After deep debugging I see that the resolversystem try to find all the artifacts on our nexus.
> //ARQ 1.1.3.Final
> DefaultRepositorySystem:367
> com.siemag.base:wms-base-controller:ejb:3.0.0-SNAPSHOT <(compile)
> //ARQ 1.1.4.Final
> In the class DefaultRepositorySystem:367
> com.siemag.base:wms-base-controller:ejb:3.0.0-SNAPSHOT < [nexus (http://172.16.55.1:8081/nexus/content/groups/public, releases)]
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
9 years, 9 months
[JBoss JIRA] (SHRINKRES-184) Shrinkwrap maven local repo resolution not working since ARQ 1.1.4.Final
by Sueleyman Vurucu (JIRA)
[ https://issues.jboss.org/browse/SHRINKRES-184?page=com.atlassian.jira.plu... ]
Sueleyman Vurucu commented on SHRINKRES-184:
--------------------------------------------
Hi Karel,
sorry for late response.
I obtain the maven dependendies shown as below
public static Collection<JavaArchive> getJavaArchiveWithTransitive(String coodridates) {
MavenResolvedArtifact[] mavenResolvedArtifacts = getMavenDependencyResolver().resolve(coodridates).withTransitivity().asResolvedArtifact();
Collection<JavaArchive> result = new HashSet<>();
for(MavenResolvedArtifact art : mavenResolvedArtifacts){
result.add( art.as(JavaArchive.class));
}
return result;
}
private static MavenResolverSystem getMavenDependencyResolver() {
MavenResolverSystem mavenResolverSystem = Maven.configureResolver().fromFile(pathToSettingsXML);
mavenResolverSystem.offline();
return mavenResolverSystem;
}
So the MavenResolver should look only to my local .m2 folder.
With 1.1.3.Final this code works well.
> Shrinkwrap maven local repo resolution not working since ARQ 1.1.4.Final
> ------------------------------------------------------------------------
>
> Key: SHRINKRES-184
> URL: https://issues.jboss.org/browse/SHRINKRES-184
> Project: ShrinkWrap Resolvers
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Environment: Maven 3.2.1
> Java 7 64 - bit
> Windows 7 64 bit
> Reporter: Sueleyman Vurucu
>
> I update ARQ from 1.1.3.Final to 1.1.4.Final.
> After I try to excecute my testsuite I had a Exception that some of the artifacts could not be resolved. After Debugging I see that shrinkwrap looks for that artifacts on our local nexus server. Unfortunately we dont deploy our development artifact on nexus.
> The MavenResolverSystem is configured like shown below:
> // ARQ 1.1.3.Final
> private static MavenResolverSystem getMavenDependencyResolver() {
> MavenResolverSystem mavenResolverSystem = Maven.configureResolver().fromFile(pathToSettingsXML);
> mavenResolverSystem.offline();
> return mavenResolverSystem;
> }
> // ARQ 1.1.4.Final
> private static ConfigurableMavenResolverSystem getMavenDependencyResolver() {
> ConfigurableMavenResolverSystem mavenResolverSystem = Resolvers.configure(ConfigurableMavenResolverSystem.class);
> mavenResolverSystem.withClassPathResolution(true);
> mavenResolverSystem.fromFile(pathToSettingsXML);
> mavenResolverSystem.workOffline();
> return mavenResolverSystem;
> }
> As you can see I say to MavenResolverSystem that it should work offline.
> After deep debugging I see that the resolversystem try to find all the artifacts on our nexus.
> //ARQ 1.1.3.Final
> DefaultRepositorySystem:367
> com.siemag.base:wms-base-controller:ejb:3.0.0-SNAPSHOT <(compile)
> //ARQ 1.1.4.Final
> In the class DefaultRepositorySystem:367
> com.siemag.base:wms-base-controller:ejb:3.0.0-SNAPSHOT < [nexus (http://172.16.55.1:8081/nexus/content/groups/public, releases)]
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
9 years, 9 months
[JBoss JIRA] (SHRINKRES-184) Shrinkwrap maven local repo resolution not working since ARQ 1.1.4.Final
by Karel Piwko (JIRA)
[ https://issues.jboss.org/browse/SHRINKRES-184?page=com.atlassian.jira.plu... ]
Karel Piwko commented on SHRINKRES-184:
---------------------------------------
Hi [~suikast42], any updates? Yes, we are aiming to fix that ;-) but we can't reproduce the issue.
> Shrinkwrap maven local repo resolution not working since ARQ 1.1.4.Final
> ------------------------------------------------------------------------
>
> Key: SHRINKRES-184
> URL: https://issues.jboss.org/browse/SHRINKRES-184
> Project: ShrinkWrap Resolvers
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Environment: Maven 3.2.1
> Java 7 64 - bit
> Windows 7 64 bit
> Reporter: Sueleyman Vurucu
>
> I update ARQ from 1.1.3.Final to 1.1.4.Final.
> After I try to excecute my testsuite I had a Exception that some of the artifacts could not be resolved. After Debugging I see that shrinkwrap looks for that artifacts on our local nexus server. Unfortunately we dont deploy our development artifact on nexus.
> The MavenResolverSystem is configured like shown below:
> // ARQ 1.1.3.Final
> private static MavenResolverSystem getMavenDependencyResolver() {
> MavenResolverSystem mavenResolverSystem = Maven.configureResolver().fromFile(pathToSettingsXML);
> mavenResolverSystem.offline();
> return mavenResolverSystem;
> }
> // ARQ 1.1.4.Final
> private static ConfigurableMavenResolverSystem getMavenDependencyResolver() {
> ConfigurableMavenResolverSystem mavenResolverSystem = Resolvers.configure(ConfigurableMavenResolverSystem.class);
> mavenResolverSystem.withClassPathResolution(true);
> mavenResolverSystem.fromFile(pathToSettingsXML);
> mavenResolverSystem.workOffline();
> return mavenResolverSystem;
> }
> As you can see I say to MavenResolverSystem that it should work offline.
> After deep debugging I see that the resolversystem try to find all the artifacts on our nexus.
> //ARQ 1.1.3.Final
> DefaultRepositorySystem:367
> com.siemag.base:wms-base-controller:ejb:3.0.0-SNAPSHOT <(compile)
> //ARQ 1.1.4.Final
> In the class DefaultRepositorySystem:367
> com.siemag.base:wms-base-controller:ejb:3.0.0-SNAPSHOT < [nexus (http://172.16.55.1:8081/nexus/content/groups/public, releases)]
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
9 years, 9 months
[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 commented on SHRINKRES-190:
--------------------------------------------
Yes that does make sense.
For now, I'll juste create a new method to resolve MavenCoordinates from MavenResolvedArtifact.
> 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 at once 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 the one defined in MavenCoordinateImpl
> Thanks,
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
9 years, 9 months
[JBoss JIRA] (SHRINKRES-190) implements equals and hashCode methods in MavenResolvedArtifactImpl / MavenArtifactInfoImpl
by Karel Piwko (JIRA)
[ https://issues.jboss.org/browse/SHRINKRES-190?page=com.atlassian.jira.plu... ]
Karel Piwko edited comment on SHRINKRES-190 at 7/23/14 3:54 AM:
----------------------------------------------------------------
Workaround could be to use *MavenResolvedArtifact#getCoordinate()*. That would use Maven coordinates without version to compare via hashcode/equals.
MavenResolvedArtifact contains more just that that, for instance:
* dependency tree
* exclusions
* could contain remote repository where it comes from (common source of problems in Maven 3.1+)
The question is how many there fields should be considered in *equals(Object)* method.
What could be done would be to create a new ResolvedArtifactProcess for MavenCoordinate. E.g. your code would look like:
{code}
public static List<MavenCoordinate> resolveAllArquillianDependencies() {
return Arrays.asList(
Maven.resolver()
.loadPomFromFile("src/test/resources/arquillian.pom.xml")
.importTestDependencies().resolve()
.withoutTransitivity()
.as(MavenCoordinate.class));
}
public static List<MavenResolvedArtifact> resolveAllTestNonTransitiveNonArquillianDependencies() {
List<MavenResolvedArtifact> testDependencies = resolveAllTestNonTransitiveDependencies();
List<MavenCoordinate> arquillianDependencies = resolveAllArquillianDependencies();
List<MavenResolvedArtifact> filteredTestDependencies = new ArrayList<MavenResolvedArtifact>();
for (MavenResolvedArtifact testDependency : testDependencies) {
if (!arquillianDependencies.contains(testDependency.getCoordinate())) {
filteredTestDependencies.add(testDependency);
}
}
return filteredTestDependencies;
}
{code}
Would that fix your need?
was (Author: kpiwko):
Workaround could be to use *MavenResolvedArtifact#getCoordinate()*. That would use Maven coordinates without version to compare via hashcode/equals.
MavenResolvedArtifact contains more just that that, for instance:
* dependency tree
* could contain remote repository where it comes from (common source of problems in Maven 3.1+
The question is how many there fields should be considered in *equals(Object)* method.
What could be done would be to create a new ResolvedArtifactProcess for MavenCoordinate. E.g. your code would look like:
{code}
public static List<MavenCoordinate> resolveAllArquillianDependencies() {
return Arrays.asList(
Maven.resolver()
.loadPomFromFile("src/test/resources/arquillian.pom.xml")
.importTestDependencies().resolve()
.withoutTransitivity()
.as(MavenCoordinate.class));
}
public static List<MavenResolvedArtifact> resolveAllTestNonTransitiveNonArquillianDependencies() {
List<MavenResolvedArtifact> testDependencies = resolveAllTestNonTransitiveDependencies();
List<MavenCoordinate> arquillianDependencies = resolveAllArquillianDependencies();
List<MavenResolvedArtifact> filteredTestDependencies = new ArrayList<MavenResolvedArtifact>();
for (MavenResolvedArtifact testDependency : testDependencies) {
if (!arquillianDependencies.contains(testDependency.getCoordinate())) {
filteredTestDependencies.add(testDependency);
}
}
return filteredTestDependencies;
}
{code}
Would that fix your need?
> 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 at once 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 the one defined in MavenCoordinateImpl
> Thanks,
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
9 years, 9 months
[JBoss JIRA] (SHRINKRES-190) implements equals and hashCode methods in MavenResolvedArtifactImpl / MavenArtifactInfoImpl
by Karel Piwko (JIRA)
[ https://issues.jboss.org/browse/SHRINKRES-190?page=com.atlassian.jira.plu... ]
Karel Piwko commented on SHRINKRES-190:
---------------------------------------
Workaround could be to use *MavenResolvedArtifact#getCoordinate()*. That would use Maven coordinates without version to compare via hashcode/equals.
MavenResolvedArtifact contains more just that that, for instance:
* dependency tree
* could contain remote repository where it comes from (common source of problems in Maven 3.1+
The question is how many there fields should be considered in *equals(Object)* method.
What could be done would be to create a new ResolvedArtifactProcess for MavenCoordinate. E.g. your code would look like:
{code}
public static List<MavenCoordinate> resolveAllArquillianDependencies() {
return Arrays.asList(
Maven.resolver()
.loadPomFromFile("src/test/resources/arquillian.pom.xml")
.importTestDependencies().resolve()
.withoutTransitivity()
.as(MavenCoordinate.class));
}
public static List<MavenResolvedArtifact> resolveAllTestNonTransitiveNonArquillianDependencies() {
List<MavenResolvedArtifact> testDependencies = resolveAllTestNonTransitiveDependencies();
List<MavenCoordinate> arquillianDependencies = resolveAllArquillianDependencies();
List<MavenResolvedArtifact> filteredTestDependencies = new ArrayList<MavenResolvedArtifact>();
for (MavenResolvedArtifact testDependency : testDependencies) {
if (!arquillianDependencies.contains(testDependency.getCoordinate())) {
filteredTestDependencies.add(testDependency);
}
}
return filteredTestDependencies;
}
{code}
Would that fix your need?
> 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 at once 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 the one defined in MavenCoordinateImpl
> Thanks,
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
9 years, 9 months
[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 at once 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 the one defined in 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 the one defined in MavenCoordinateImpl
Thanks,
> 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 at once 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 the one defined in MavenCoordinateImpl
> Thanks,
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
9 years, 9 months
[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 the one defined in 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,
> 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 the one defined in MavenCoordinateImpl
> Thanks,
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
9 years, 9 months