[jira] [Commented] (MRESOLVER-325) [REGRESSION] Suddenly seeing I/O errors under windows aborting the build

2023-02-25 Thread Jira


[ 
https://issues.apache.org/jira/browse/MRESOLVER-325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17693584#comment-17693584
 ] 

Christoph Läubrich commented on MRESOLVER-325:
--

[~michael-o] many thanks for your detailed analysis!

I think this should really be reported to JDK as it seems to hurt many projects 
with a lot of hacks and workarounds (that's as you have proven probably don't 
work at all)!

For Resolver, I think the idea is that if the process is killed "in the middle" 
we do not leave a half written garbage file, for that case I wonder if a simple 
delete-then-move won't work equally good, atomic file operations sound good at 
the first place but are hard to guarantee as we see here.

So there are some strategies:
* You can (as suggested) just write directly to the file and make the read more 
robust, and simply discard data in the case something goes wrong (I think 
that's always good, because error can happen always but one should be able to 
recover from them)
* Additionally if one wants can use some rolling file strategy, instead of 
writing to _remote.repositories you write to _remote..repositories where  
is incremented on each write, so the process is then: find current index > 
write to temp > rename file to next index > delete last index ... but thats 
probably a way to much here as it also has impact on reading to find the 
current valid index

So I would most probably go for (1) here the worst that can happen is that 
resolver the file is not up-to-date and download it again, something that would 
also happen if the file was deleted by the user or maybe an request to update 
it ... so its actually something that can already be handled and only should 
happen if previously something gone wrong in which case it might be better to 
start fresh anyways.

> [REGRESSION] Suddenly seeing I/O errors under windows aborting the build
> 
>
> Key: MRESOLVER-325
> URL: https://issues.apache.org/jira/browse/MRESOLVER-325
> Project: Maven Resolver
>  Issue Type: Bug
>  Components: Resolver
>Affects Versions: 1.9.4
>Reporter: Christoph Läubrich
>Priority: Major
> Fix For: 1.9.6
>
>
> If one runs a build that otherwise works fine on 3.8.x with 3.9 we now get 
> the following exception (full output can be found here 
> https://github.com/eclipse-platform/eclipse.platform/actions/runs/4211467991/jobs/7309831666):
> {code:java}
> Error: 5.889 [ERROR] Internal error: java.io.UncheckedIOException: 
> java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
>  -> [Help 1]
> org.apache.maven.InternalErrorException: Internal error: 
> java.io.UncheckedIOException: java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
> at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:108)
> at org.apache.maven.cli.MavenCli.execute (MavenCli.java:821)
> at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:270)
> at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke 
> (NativeMethodAccessorImpl.java:77)
> at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke 
> (DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke (Method.java:568)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced 
> (Launcher.java:282)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launch 
> (Launcher.java:225)
> at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode 
> (Launcher.java:406)
> at org.codehaus.plexus.classworlds.launcher.Launcher.main 
> (Launcher.java:347)
> Caused by: java.io.UncheckedIOException: java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
> at org.eclipse.aether.internal.impl.DefaultTrackingFileManager.update 
> (DefaultTrackingFileManager.java:121)
> at 
> org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManager.addRepo 
> (EnhancedLocalRepositoryManager.java:274)
> at 
> org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManager.addArtifact 
> (EnhancedLocalRepositoryManager.java:252)
> at 

[GitHub] [maven-surefire] s-rwe commented on pull request #615: [SUREFIRE-2152] Include name of JUnit5 templated-tests in test description

2023-02-25 Thread via GitHub


s-rwe commented on PR #615:
URL: https://github.com/apache/maven-surefire/pull/615#issuecomment-1445250680

   > Please check result of ITs - and fix ITs or code according
   
   I'd be happy to, but I'm unable to run the ITs locally to do this in the 
first place (as mentioned above in my initial description)
   
   Couple of things I did:
   * Followed the steps outlined 
https://github.com/apache/maven-surefire#development-information
   * Disabled rat-checks with `-Drat.skip=true` (those also failed quickly at 
first) 
   * `mvn -Prun-its clean install` always fails, as mentioned before in the PR 
description
   * Same failure also happens for me on master (namely, I tried it on 
208eae24b) - so unrelated to the changes of this PR
   * Tried a few JDKs too (namely, corretto 19 and 1.8)
   
   Not to speak of trying to get specific tests to run in IntelliJ to get them 
fixed (I have a different set of issues here) - but would be nice to at least 
be able to run things from commandline via mvn.
   
   So I'm kind of stuck on that end, tips / hints anyone?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[jira] [Commented] (MRESOLVER-325) [REGRESSION] Suddenly seeing I/O errors under windows aborting the build

2023-02-25 Thread Tamas Cservenak (Jira)


[ 
https://issues.apache.org/jira/browse/MRESOLVER-325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17693560#comment-17693560
 ] 

Tamas Cservenak commented on MRESOLVER-325:
---

Please create a PR

> [REGRESSION] Suddenly seeing I/O errors under windows aborting the build
> 
>
> Key: MRESOLVER-325
> URL: https://issues.apache.org/jira/browse/MRESOLVER-325
> Project: Maven Resolver
>  Issue Type: Bug
>  Components: Resolver
>Affects Versions: 1.9.4
>Reporter: Christoph Läubrich
>Priority: Major
> Fix For: 1.9.6
>
>
> If one runs a build that otherwise works fine on 3.8.x with 3.9 we now get 
> the following exception (full output can be found here 
> https://github.com/eclipse-platform/eclipse.platform/actions/runs/4211467991/jobs/7309831666):
> {code:java}
> Error: 5.889 [ERROR] Internal error: java.io.UncheckedIOException: 
> java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
>  -> [Help 1]
> org.apache.maven.InternalErrorException: Internal error: 
> java.io.UncheckedIOException: java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
> at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:108)
> at org.apache.maven.cli.MavenCli.execute (MavenCli.java:821)
> at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:270)
> at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke 
> (NativeMethodAccessorImpl.java:77)
> at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke 
> (DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke (Method.java:568)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced 
> (Launcher.java:282)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launch 
> (Launcher.java:225)
> at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode 
> (Launcher.java:406)
> at org.codehaus.plexus.classworlds.launcher.Launcher.main 
> (Launcher.java:347)
> Caused by: java.io.UncheckedIOException: java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
> at org.eclipse.aether.internal.impl.DefaultTrackingFileManager.update 
> (DefaultTrackingFileManager.java:121)
> at 
> org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManager.addRepo 
> (EnhancedLocalRepositoryManager.java:274)
> at 
> org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManager.addArtifact 
> (EnhancedLocalRepositoryManager.java:252)
> at org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManager.add 
> (EnhancedLocalRepositoryManager.java:225)
> at 
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.evaluateDownloads 
> (DefaultArtifactResolver.java:680)
> at 
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads 
> (DefaultArtifactResolver.java:592)
> at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve 
> (DefaultArtifactResolver.java:478)
> at 
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts 
> (DefaultArtifactResolver.java:278)
> at 
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact 
> (DefaultArtifactResolver.java:255)
> at 
> org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact 
> (DefaultRepositorySystem.java:296)
> at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve 
> (DefaultArtifactResolver.java:197)
> at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve 
> (DefaultArtifactResolver.java:413)
> at org.apache.maven.repository.legacy.LegacyRepositorySystem.resolve 
> (LegacyRepositorySystem.java:332)
> at 
> org.eclipse.tycho.osgi.configuration.MavenDependenciesResolverConfigurer.resolve
>  (MavenDependenciesResolverConfigurer.java:104)
> at org.eclipse.tycho.core.shared.MavenDependenciesResolver.resolve 
> (MavenDependenciesResolver.java:60)
> at org.eclipse.tycho.core.resolver.MavenTargetDefinitionContent. 
> (MavenTargetDefinitionContent.java:262)
> at 
> 

[jira] [Commented] (MRESOLVER-325) [REGRESSION] Suddenly seeing I/O errors under windows aborting the build

2023-02-25 Thread Michael Osipov (Jira)


[ 
https://issues.apache.org/jira/browse/MRESOLVER-325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17693559#comment-17693559
 ] 

Michael Osipov commented on MRESOLVER-325:
--

This works for me on Windows reliably:
{noformat}
PS C:\Entwicklung\Projekte\maven-resolver> git --no-pager diff -U0
diff --git 
a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultFileProcessor.java
 
b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultFileProcessor.java
index d9385cbe..57893adf 100644
--- 
a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultFileProcessor.java
+++ 
b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultFileProcessor.java
@@ -39 +38,0 @@ import org.eclipse.aether.util.ChecksumUtils;
-import org.eclipse.aether.util.FileUtils;
@@ -92 +91 @@ public class DefaultFileProcessor
-FileUtils.writeFile( target.toPath(), p -> Files.write( p, 
data.getBytes( StandardCharsets.UTF_8 ) ) );
+Files.write( target.toPath(), data.getBytes( StandardCharsets.UTF_8 ) 
);
@@ -98 +97 @@ public class DefaultFileProcessor
-FileUtils.writeFile( target.toPath(), p -> Files.copy( source, p, 
StandardCopyOption.REPLACE_EXISTING ) );
+Files.copy( source, target.toPath(), 
StandardCopyOption.REPLACE_EXISTING );
@@ -111,2 +110 @@ public class DefaultFileProcessor
-  FileUtils.CollocatedTempFile tempTarget = FileUtils.newTempFile( 
target.toPath() );
-  OutputStream out = new BufferedOutputStream( 
Files.newOutputStream( tempTarget.getPath() ) ) )
+  OutputStream out = new BufferedOutputStream( 
Files.newOutputStream( target.toPath() ) ) )
@@ -115 +112,0 @@ public class DefaultFileProcessor
-tempTarget.move();
diff --git 
a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultTrackingFileManager.java
 
b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultTrackingFileManager.java
index 4269ce98..32ab1841 100644
--- 
a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultTrackingFileManager.java
+++ 
b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultTrackingFileManager.java
@@ -35 +34,0 @@ import java.util.Properties;
-import org.eclipse.aether.util.FileUtils;
@@ -53 +52 @@ public final class DefaultTrackingFileManager
-if ( Files.isRegularFile( filePath ) )
+if ( Files.isReadable( filePath ) )
@@ -108 +107 @@ public final class DefaultTrackingFileManager
-FileUtils.writeFile( filePath, p ->
+if ( Files.isWritable( filePath ) )
@@ -110 +109 @@ public final class DefaultTrackingFileManager
-try ( OutputStream stream = Files.newOutputStream( p ) )
+try ( OutputStream stream = Files.newOutputStream( filePath ) )
@@ -116 +115 @@ public final class DefaultTrackingFileManager
-} );
+}
{noformat}

> [REGRESSION] Suddenly seeing I/O errors under windows aborting the build
> 
>
> Key: MRESOLVER-325
> URL: https://issues.apache.org/jira/browse/MRESOLVER-325
> Project: Maven Resolver
>  Issue Type: Bug
>  Components: Resolver
>Affects Versions: 1.9.4
>Reporter: Christoph Läubrich
>Priority: Major
> Fix For: 1.9.6
>
>
> If one runs a build that otherwise works fine on 3.8.x with 3.9 we now get 
> the following exception (full output can be found here 
> https://github.com/eclipse-platform/eclipse.platform/actions/runs/4211467991/jobs/7309831666):
> {code:java}
> Error: 5.889 [ERROR] Internal error: java.io.UncheckedIOException: 
> java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
>  -> [Help 1]
> org.apache.maven.InternalErrorException: Internal error: 
> java.io.UncheckedIOException: java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
> at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:108)
> at org.apache.maven.cli.MavenCli.execute (MavenCli.java:821)
> at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:270)
> at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke 
> (NativeMethodAccessorImpl.java:77)
> at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke 
> 

[jira] [Commented] (MRESOLVER-325) [REGRESSION] Suddenly seeing I/O errors under windows aborting the build

2023-02-25 Thread Tamas Cservenak (Jira)


[ 
https://issues.apache.org/jira/browse/MRESOLVER-325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17693558#comment-17693558
 ] 

Tamas Cservenak commented on MRESOLVER-325:
---

Am unsure to remove something that is broken on Windows. Linux, macOS, BSD 
works ok, no? 

> [REGRESSION] Suddenly seeing I/O errors under windows aborting the build
> 
>
> Key: MRESOLVER-325
> URL: https://issues.apache.org/jira/browse/MRESOLVER-325
> Project: Maven Resolver
>  Issue Type: Bug
>  Components: Resolver
>Affects Versions: 1.9.4
>Reporter: Christoph Läubrich
>Priority: Major
> Fix For: 1.9.6
>
>
> If one runs a build that otherwise works fine on 3.8.x with 3.9 we now get 
> the following exception (full output can be found here 
> https://github.com/eclipse-platform/eclipse.platform/actions/runs/4211467991/jobs/7309831666):
> {code:java}
> Error: 5.889 [ERROR] Internal error: java.io.UncheckedIOException: 
> java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
>  -> [Help 1]
> org.apache.maven.InternalErrorException: Internal error: 
> java.io.UncheckedIOException: java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
> at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:108)
> at org.apache.maven.cli.MavenCli.execute (MavenCli.java:821)
> at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:270)
> at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke 
> (NativeMethodAccessorImpl.java:77)
> at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke 
> (DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke (Method.java:568)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced 
> (Launcher.java:282)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launch 
> (Launcher.java:225)
> at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode 
> (Launcher.java:406)
> at org.codehaus.plexus.classworlds.launcher.Launcher.main 
> (Launcher.java:347)
> Caused by: java.io.UncheckedIOException: java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
> at org.eclipse.aether.internal.impl.DefaultTrackingFileManager.update 
> (DefaultTrackingFileManager.java:121)
> at 
> org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManager.addRepo 
> (EnhancedLocalRepositoryManager.java:274)
> at 
> org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManager.addArtifact 
> (EnhancedLocalRepositoryManager.java:252)
> at org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManager.add 
> (EnhancedLocalRepositoryManager.java:225)
> at 
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.evaluateDownloads 
> (DefaultArtifactResolver.java:680)
> at 
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads 
> (DefaultArtifactResolver.java:592)
> at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve 
> (DefaultArtifactResolver.java:478)
> at 
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts 
> (DefaultArtifactResolver.java:278)
> at 
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact 
> (DefaultArtifactResolver.java:255)
> at 
> org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact 
> (DefaultRepositorySystem.java:296)
> at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve 
> (DefaultArtifactResolver.java:197)
> at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve 
> (DefaultArtifactResolver.java:413)
> at org.apache.maven.repository.legacy.LegacyRepositorySystem.resolve 
> (LegacyRepositorySystem.java:332)
> at 
> org.eclipse.tycho.osgi.configuration.MavenDependenciesResolverConfigurer.resolve
>  (MavenDependenciesResolverConfigurer.java:104)
> at org.eclipse.tycho.core.shared.MavenDependenciesResolver.resolve 
> (MavenDependenciesResolver.java:60)
> at org.eclipse.tycho.core.resolver.MavenTargetDefinitionContent. 
> (MavenTargetDefinitionContent.java:262)
>   

[jira] [Comment Edited] (MRESOLVER-325) [REGRESSION] Suddenly seeing I/O errors under windows aborting the build

2023-02-25 Thread Michael Osipov (Jira)


[ 
https://issues.apache.org/jira/browse/MRESOLVER-325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17693556#comment-17693556
 ] 

Michael Osipov edited comment on MRESOLVER-325 at 2/26/23 12:14 AM:


Unless someone has a bright idea I would opt to remove the entire write to temp 
file and then move since it is just broken on Windows IF there is not bug in 
our code with open FDs.
We have named locks in place, all target files should be under lock protection.


was (Author: michael-o):
Unless someone has a bright idea I would opt to remove the entire write to temp 
file and then move since it is just broken on Windows IF there is not bug in 
our code with open FDs.

> [REGRESSION] Suddenly seeing I/O errors under windows aborting the build
> 
>
> Key: MRESOLVER-325
> URL: https://issues.apache.org/jira/browse/MRESOLVER-325
> Project: Maven Resolver
>  Issue Type: Bug
>  Components: Resolver
>Affects Versions: 1.9.4
>Reporter: Christoph Läubrich
>Priority: Major
> Fix For: 1.9.6
>
>
> If one runs a build that otherwise works fine on 3.8.x with 3.9 we now get 
> the following exception (full output can be found here 
> https://github.com/eclipse-platform/eclipse.platform/actions/runs/4211467991/jobs/7309831666):
> {code:java}
> Error: 5.889 [ERROR] Internal error: java.io.UncheckedIOException: 
> java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
>  -> [Help 1]
> org.apache.maven.InternalErrorException: Internal error: 
> java.io.UncheckedIOException: java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
> at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:108)
> at org.apache.maven.cli.MavenCli.execute (MavenCli.java:821)
> at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:270)
> at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke 
> (NativeMethodAccessorImpl.java:77)
> at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke 
> (DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke (Method.java:568)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced 
> (Launcher.java:282)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launch 
> (Launcher.java:225)
> at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode 
> (Launcher.java:406)
> at org.codehaus.plexus.classworlds.launcher.Launcher.main 
> (Launcher.java:347)
> Caused by: java.io.UncheckedIOException: java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
> at org.eclipse.aether.internal.impl.DefaultTrackingFileManager.update 
> (DefaultTrackingFileManager.java:121)
> at 
> org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManager.addRepo 
> (EnhancedLocalRepositoryManager.java:274)
> at 
> org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManager.addArtifact 
> (EnhancedLocalRepositoryManager.java:252)
> at org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManager.add 
> (EnhancedLocalRepositoryManager.java:225)
> at 
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.evaluateDownloads 
> (DefaultArtifactResolver.java:680)
> at 
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads 
> (DefaultArtifactResolver.java:592)
> at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve 
> (DefaultArtifactResolver.java:478)
> at 
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts 
> (DefaultArtifactResolver.java:278)
> at 
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact 
> (DefaultArtifactResolver.java:255)
> at 
> org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact 
> (DefaultRepositorySystem.java:296)
> at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve 
> (DefaultArtifactResolver.java:197)
> at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve 
> (DefaultArtifactResolver.java:413)
> at 

[jira] [Commented] (MRESOLVER-325) [REGRESSION] Suddenly seeing I/O errors under windows aborting the build

2023-02-25 Thread Michael Osipov (Jira)


[ 
https://issues.apache.org/jira/browse/MRESOLVER-325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17693556#comment-17693556
 ] 

Michael Osipov commented on MRESOLVER-325:
--

Unless someone has a bright idea I would opt to remove the entire write to temp 
file and then move since it is just broken on Windows IF there is not bug in 
our code with open FDs.

> [REGRESSION] Suddenly seeing I/O errors under windows aborting the build
> 
>
> Key: MRESOLVER-325
> URL: https://issues.apache.org/jira/browse/MRESOLVER-325
> Project: Maven Resolver
>  Issue Type: Bug
>  Components: Resolver
>Affects Versions: 1.9.4
>Reporter: Christoph Läubrich
>Priority: Major
> Fix For: 1.9.6
>
>
> If one runs a build that otherwise works fine on 3.8.x with 3.9 we now get 
> the following exception (full output can be found here 
> https://github.com/eclipse-platform/eclipse.platform/actions/runs/4211467991/jobs/7309831666):
> {code:java}
> Error: 5.889 [ERROR] Internal error: java.io.UncheckedIOException: 
> java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
>  -> [Help 1]
> org.apache.maven.InternalErrorException: Internal error: 
> java.io.UncheckedIOException: java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
> at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:108)
> at org.apache.maven.cli.MavenCli.execute (MavenCli.java:821)
> at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:270)
> at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke 
> (NativeMethodAccessorImpl.java:77)
> at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke 
> (DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke (Method.java:568)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced 
> (Launcher.java:282)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launch 
> (Launcher.java:225)
> at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode 
> (Launcher.java:406)
> at org.codehaus.plexus.classworlds.launcher.Launcher.main 
> (Launcher.java:347)
> Caused by: java.io.UncheckedIOException: java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
> at org.eclipse.aether.internal.impl.DefaultTrackingFileManager.update 
> (DefaultTrackingFileManager.java:121)
> at 
> org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManager.addRepo 
> (EnhancedLocalRepositoryManager.java:274)
> at 
> org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManager.addArtifact 
> (EnhancedLocalRepositoryManager.java:252)
> at org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManager.add 
> (EnhancedLocalRepositoryManager.java:225)
> at 
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.evaluateDownloads 
> (DefaultArtifactResolver.java:680)
> at 
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads 
> (DefaultArtifactResolver.java:592)
> at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve 
> (DefaultArtifactResolver.java:478)
> at 
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts 
> (DefaultArtifactResolver.java:278)
> at 
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact 
> (DefaultArtifactResolver.java:255)
> at 
> org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact 
> (DefaultRepositorySystem.java:296)
> at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve 
> (DefaultArtifactResolver.java:197)
> at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve 
> (DefaultArtifactResolver.java:413)
> at org.apache.maven.repository.legacy.LegacyRepositorySystem.resolve 
> (LegacyRepositorySystem.java:332)
> at 
> org.eclipse.tycho.osgi.configuration.MavenDependenciesResolverConfigurer.resolve
>  (MavenDependenciesResolverConfigurer.java:104)
> at org.eclipse.tycho.core.shared.MavenDependenciesResolver.resolve 
> (MavenDependenciesResolver.java:60)
> at 

[jira] [Commented] (MRESOLVER-325) [REGRESSION] Suddenly seeing I/O errors under windows aborting the build

2023-02-25 Thread Michael Osipov (Jira)


[ 
https://issues.apache.org/jira/browse/MRESOLVER-325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17693555#comment-17693555
 ] 

Michael Osipov commented on MRESOLVER-325:
--

I have tried to add a sleep of 5000 ms between two tried of atomic moves, no 
avail. Still fails. What I don't understand: either the FD is still open due to 
a bug from us OR how long takes {{MoveFileEx}} to complete here.

> [REGRESSION] Suddenly seeing I/O errors under windows aborting the build
> 
>
> Key: MRESOLVER-325
> URL: https://issues.apache.org/jira/browse/MRESOLVER-325
> Project: Maven Resolver
>  Issue Type: Bug
>  Components: Resolver
>Affects Versions: 1.9.4
>Reporter: Christoph Läubrich
>Priority: Major
> Fix For: 1.9.6
>
>
> If one runs a build that otherwise works fine on 3.8.x with 3.9 we now get 
> the following exception (full output can be found here 
> https://github.com/eclipse-platform/eclipse.platform/actions/runs/4211467991/jobs/7309831666):
> {code:java}
> Error: 5.889 [ERROR] Internal error: java.io.UncheckedIOException: 
> java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
>  -> [Help 1]
> org.apache.maven.InternalErrorException: Internal error: 
> java.io.UncheckedIOException: java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
> at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:108)
> at org.apache.maven.cli.MavenCli.execute (MavenCli.java:821)
> at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:270)
> at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke 
> (NativeMethodAccessorImpl.java:77)
> at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke 
> (DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke (Method.java:568)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced 
> (Launcher.java:282)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launch 
> (Launcher.java:225)
> at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode 
> (Launcher.java:406)
> at org.codehaus.plexus.classworlds.launcher.Launcher.main 
> (Launcher.java:347)
> Caused by: java.io.UncheckedIOException: java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
> at org.eclipse.aether.internal.impl.DefaultTrackingFileManager.update 
> (DefaultTrackingFileManager.java:121)
> at 
> org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManager.addRepo 
> (EnhancedLocalRepositoryManager.java:274)
> at 
> org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManager.addArtifact 
> (EnhancedLocalRepositoryManager.java:252)
> at org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManager.add 
> (EnhancedLocalRepositoryManager.java:225)
> at 
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.evaluateDownloads 
> (DefaultArtifactResolver.java:680)
> at 
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads 
> (DefaultArtifactResolver.java:592)
> at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve 
> (DefaultArtifactResolver.java:478)
> at 
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts 
> (DefaultArtifactResolver.java:278)
> at 
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact 
> (DefaultArtifactResolver.java:255)
> at 
> org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact 
> (DefaultRepositorySystem.java:296)
> at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve 
> (DefaultArtifactResolver.java:197)
> at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve 
> (DefaultArtifactResolver.java:413)
> at org.apache.maven.repository.legacy.LegacyRepositorySystem.resolve 
> (LegacyRepositorySystem.java:332)
> at 
> org.eclipse.tycho.osgi.configuration.MavenDependenciesResolverConfigurer.resolve
>  (MavenDependenciesResolverConfigurer.java:104)
> at org.eclipse.tycho.core.shared.MavenDependenciesResolver.resolve 
> 

[jira] [Commented] (MRESOLVER-329) Make IO in DefaultTrackingFileManager more robust

2023-02-25 Thread ASF GitHub Bot (Jira)


[ 
https://issues.apache.org/jira/browse/MRESOLVER-329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17693550#comment-17693550
 ] 

ASF GitHub Bot commented on MRESOLVER-329:
--

michael-o commented on PR #257:
URL: https://github.com/apache/maven-resolver/pull/257#issuecomment-1445224171

   Does not work and suffers from the chicken and egg problem described in 
here: 
https://issues.apache.org/jira/browse/MRESOLVER-325?focusedCommentId=17693545=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17693545




> Make IO in DefaultTrackingFileManager more robust
> -
>
> Key: MRESOLVER-329
> URL: https://issues.apache.org/jira/browse/MRESOLVER-329
> Project: Maven Resolver
>  Issue Type: Improvement
>  Components: Resolver
>Reporter: Tamas Cservenak
>Assignee: Tamas Cservenak
>Priority: Major
> Fix For: 1.9.6
>
>
> There are couple of spots where implementation naively assumes is alone 
> running process on this world. Several user reports suggests this is not the 
> case, like MRESOLVER-325 or MNG-7705. Fix these spots.
> Still, something is fishy, as it seems these files (all that are handled by 
> DefaultTrackingFileManager) are not subject to locking? This needs 
> investigation.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[GitHub] [maven-resolver] michael-o commented on pull request #257: [MRESOLVER-329] More robust IO in DefaultTrackingFileManager

2023-02-25 Thread via GitHub


michael-o commented on PR #257:
URL: https://github.com/apache/maven-resolver/pull/257#issuecomment-1445224171

   Does not work and suffers from the chicken and egg problem described in 
here: 
https://issues.apache.org/jira/browse/MRESOLVER-325?focusedCommentId=17693545=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17693545


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [maven-resolver] michael-o commented on a diff in pull request #257: [MRESOLVER-329] More robust IO in DefaultTrackingFileManager

2023-02-25 Thread via GitHub


michael-o commented on code in PR #257:
URL: https://github.com/apache/maven-resolver/pull/257#discussion_r1117990047


##
maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultTrackingFileManager.java:
##
@@ -75,6 +76,8 @@ public Properties update(File file, Map 
updates) {
 if (Files.isReadable(filePath)) {
 try (InputStream stream = Files.newInputStream(filePath)) {
 props.load(stream);
+} catch (NoSuchFileException e) {
+// MRESOLVER-329: ignore; in case of concurrent r/w 
Files.isReadable may return true

Review Comment:
   Please move this to another PR, both issues aren't necessarily related.



##
maven-resolver-util/src/main/java/org/eclipse/aether/util/FileUtils.java:
##
@@ -105,7 +106,16 @@ public Path getPath() {
 
 @Override
 public void move() throws IOException {
-Files.move(tempFile, file, StandardCopyOption.ATOMIC_MOVE);
+try {
+Files.move(tempFile, file, StandardCopyOption.ATOMIC_MOVE);
+} catch (AccessDeniedException e) {
+// MRESOLVER-329: fallback to plain copy+rm, this usually 
happens on Windows

Review Comment:
   MRESOLVER-325 and not 329



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[jira] [Commented] (MRESOLVER-329) Make IO in DefaultTrackingFileManager more robust

2023-02-25 Thread ASF GitHub Bot (Jira)


[ 
https://issues.apache.org/jira/browse/MRESOLVER-329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17693549#comment-17693549
 ] 

ASF GitHub Bot commented on MRESOLVER-329:
--

michael-o commented on code in PR #257:
URL: https://github.com/apache/maven-resolver/pull/257#discussion_r1117990047


##
maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultTrackingFileManager.java:
##
@@ -75,6 +76,8 @@ public Properties update(File file, Map 
updates) {
 if (Files.isReadable(filePath)) {
 try (InputStream stream = Files.newInputStream(filePath)) {
 props.load(stream);
+} catch (NoSuchFileException e) {
+// MRESOLVER-329: ignore; in case of concurrent r/w 
Files.isReadable may return true

Review Comment:
   Please move this to another PR, both issues aren't necessarily related.



##
maven-resolver-util/src/main/java/org/eclipse/aether/util/FileUtils.java:
##
@@ -105,7 +106,16 @@ public Path getPath() {
 
 @Override
 public void move() throws IOException {
-Files.move(tempFile, file, StandardCopyOption.ATOMIC_MOVE);
+try {
+Files.move(tempFile, file, StandardCopyOption.ATOMIC_MOVE);
+} catch (AccessDeniedException e) {
+// MRESOLVER-329: fallback to plain copy+rm, this usually 
happens on Windows

Review Comment:
   MRESOLVER-325 and not 329





> Make IO in DefaultTrackingFileManager more robust
> -
>
> Key: MRESOLVER-329
> URL: https://issues.apache.org/jira/browse/MRESOLVER-329
> Project: Maven Resolver
>  Issue Type: Improvement
>  Components: Resolver
>Reporter: Tamas Cservenak
>Assignee: Tamas Cservenak
>Priority: Major
> Fix For: 1.9.6
>
>
> There are couple of spots where implementation naively assumes is alone 
> running process on this world. Several user reports suggests this is not the 
> case, like MRESOLVER-325 or MNG-7705. Fix these spots.
> Still, something is fishy, as it seems these files (all that are handled by 
> DefaultTrackingFileManager) are not subject to locking? This needs 
> investigation.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (MRESOLVER-325) [REGRESSION] Suddenly seeing I/O errors under windows aborting the build

2023-02-25 Thread Michael Osipov (Jira)


[ 
https://issues.apache.org/jira/browse/MRESOLVER-325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17693547#comment-17693547
 ] 

Michael Osipov commented on MRESOLVER-325:
--

with REPLACE_EXISTING:
{noformat}
413730 [main] [DEBUG] Writing tracking file 
'C:\temp\repo\com\google\code\gson\gson\2.10.1\_remote.repositories'
413730 [main] [WARNING] Failed to write tracking file 
'C:\temp\repo\com\google\code\gson\gson\2.10.1\_remote.repositories'
java.nio.file.FileSystemException: 
C:\temp\repo\com\google\code\gson\gson\2.10.1\_remote.repositories: Der Prozess 
kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet 
wird
at sun.nio.fs.WindowsException.translateToIOException 
(WindowsException.java:92)
at sun.nio.fs.WindowsException.rethrowAsIOException 
(WindowsException.java:103)
at sun.nio.fs.WindowsException.rethrowAsIOException 
(WindowsException.java:108)
at sun.nio.fs.WindowsFileCopy.move (WindowsFileCopy.java:392)
at sun.nio.fs.WindowsFileSystemProvider.move 
(WindowsFileSystemProvider.java:293)
at java.nio.file.Files.move (Files.java:1432)
{noformat}

This is caused by {{DeleteFile(targetPath);}} in JDK code since this file is 
locked by the previous, still pending, run if {{MoveFileEx(sourcePath, 
targetPath, 0);}} fails.


> [REGRESSION] Suddenly seeing I/O errors under windows aborting the build
> 
>
> Key: MRESOLVER-325
> URL: https://issues.apache.org/jira/browse/MRESOLVER-325
> Project: Maven Resolver
>  Issue Type: Bug
>  Components: Resolver
>Affects Versions: 1.9.4
>Reporter: Christoph Läubrich
>Priority: Major
> Fix For: 1.9.6
>
>
> If one runs a build that otherwise works fine on 3.8.x with 3.9 we now get 
> the following exception (full output can be found here 
> https://github.com/eclipse-platform/eclipse.platform/actions/runs/4211467991/jobs/7309831666):
> {code:java}
> Error: 5.889 [ERROR] Internal error: java.io.UncheckedIOException: 
> java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
>  -> [Help 1]
> org.apache.maven.InternalErrorException: Internal error: 
> java.io.UncheckedIOException: java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
> at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:108)
> at org.apache.maven.cli.MavenCli.execute (MavenCli.java:821)
> at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:270)
> at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke 
> (NativeMethodAccessorImpl.java:77)
> at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke 
> (DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke (Method.java:568)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced 
> (Launcher.java:282)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launch 
> (Launcher.java:225)
> at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode 
> (Launcher.java:406)
> at org.codehaus.plexus.classworlds.launcher.Launcher.main 
> (Launcher.java:347)
> Caused by: java.io.UncheckedIOException: java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
> at org.eclipse.aether.internal.impl.DefaultTrackingFileManager.update 
> (DefaultTrackingFileManager.java:121)
> at 
> org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManager.addRepo 
> (EnhancedLocalRepositoryManager.java:274)
> at 
> org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManager.addArtifact 
> (EnhancedLocalRepositoryManager.java:252)
> at org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManager.add 
> (EnhancedLocalRepositoryManager.java:225)
> at 
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.evaluateDownloads 
> (DefaultArtifactResolver.java:680)
> at 
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads 
> (DefaultArtifactResolver.java:592)
> at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve 
> (DefaultArtifactResolver.java:478)
> at 
> 

[jira] [Commented] (MRESOLVER-325) [REGRESSION] Suddenly seeing I/O errors under windows aborting the build

2023-02-25 Thread Michael Osipov (Jira)


[ 
https://issues.apache.org/jira/browse/MRESOLVER-325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17693545#comment-17693545
 ] 

Michael Osipov commented on MRESOLVER-325:
--

OK, I cracked it. This is purely a Windows problem, any system which adheres to 
POSIX is supposed to implement {{rename(2)}} atomic: 
https://pubs.opengroup.org/onlinepubs/95399/functions/rename.html.
Now, the code for Windows does this: 
https://github.com/openjdk/jdk17u-dev/blob/aa11a935373686bf5d67afb89368931c995824f6/src/java.base/windows/classes/sun/nio/fs/WindowsFileCopy.java#L307-L320

{{MoveFileEx}} does not mention anything about atomic. Interesting read: 
https://github.com/python/cpython/issues/53074. My testing even with single 
thread leads to the assumption that {{MoveFileEx}} is executed delayed and 
fails under high/fast load which means that the target file is blocked while 
the next operation is already trying to overwrite it again and it fails. So 
{{MoveFileEx}} returns although the move isn't complete.
To verify this I have applied the following patch:
{noformat}
diff --git 
a/maven-resolver-util/src/main/java/org/eclipse/aether/util/FileUtils.java 
b/maven-resolver-util/src/main/java/org/eclipse/aether/util/FileUtils.java
index f12d5b82..8b4a1960 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/FileUtils.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/FileUtils.java
@@ -26,6 +26,10 @@ import java.nio.file.Path;
 import java.nio.file.StandardCopyOption;
 import java.util.concurrent.ThreadLocalRandom;

+import com.sun.jna.platform.win32.Kernel32;
+import com.sun.jna.platform.win32.WinBase;
+import com.sun.jna.platform.win32.WinDef.DWORD;
+
 import static java.util.Objects.requireNonNull;

 /**
@@ -118,7 +122,8 @@ public final class FileUtils
 @Override
 public void move() throws IOException
 {
-Files.move( tempFile, file, StandardCopyOption.ATOMIC_MOVE );
+Kernel32.INSTANCE.MoveFileEx( 
tempFile.toAbsolutePath().toString(), file.toAbsolutePath().toString(),
+new DWORD( WinBase.MOVEFILE_REPLACE_EXISTING | 
WinBase.MOVEFILE_WRITE_THROUGH ) );
 }

 @Override
{noformat}
{{MOVEFILE_WRITE_THROUGH}} guarantees that the method does *not* exit before 
the operation is complete. Which is actually what we need. With that patch 
single thread and multi thread executions ran multiple times without issues. 

So, [~laeubi], nothing is wrong with Tycho. the Java implementation is just 
CRAP.

What now? Well, I replaced ATOMIC with REPLACE_EXISTING, now if you look at 
that code in JDK it will delete the target which might be subject to move from 
a previous run and then use again {{MoveFileEx}} without any flags which is 
again non-blocking and we are back to the previous problem causing a chicken 
and egg problem. Again, this is under high volume like here. This fails with 
exceptions as well.

Why actually gson? Well, gson JAR AND gson sources JAR are downloaded with a 
diff of a few hundred milliseconds and Windows cannot handle this. WHAT A JOKE.

While the additional flag won't make fully atomic, there is another function 
for this, it reduces the possible failure to a minimum.

Thoughts?

PS: This needs to be reported with the OpenJDK team. Many others have suffered 
from this because of the missing flags.

> [REGRESSION] Suddenly seeing I/O errors under windows aborting the build
> 
>
> Key: MRESOLVER-325
> URL: https://issues.apache.org/jira/browse/MRESOLVER-325
> Project: Maven Resolver
>  Issue Type: Bug
>  Components: Resolver
>Affects Versions: 1.9.4
>Reporter: Christoph Läubrich
>Priority: Major
> Fix For: 1.9.6
>
>
> If one runs a build that otherwise works fine on 3.8.x with 3.9 we now get 
> the following exception (full output can be found here 
> https://github.com/eclipse-platform/eclipse.platform/actions/runs/4211467991/jobs/7309831666):
> {code:java}
> Error: 5.889 [ERROR] Internal error: java.io.UncheckedIOException: 
> java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
>  -> [Help 1]
> org.apache.maven.InternalErrorException: Internal error: 
> java.io.UncheckedIOException: java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
> at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:108)
> at 

[GitHub] [maven-mvnd] lppedd commented on pull request #784: Make Classworld setup more alike to vanilla Maven

2023-02-25 Thread via GitHub


lppedd commented on PR #784:
URL: https://github.com/apache/maven-mvnd/pull/784#issuecomment-1445194111

   @oehme hi! Just passing by and wondering, in which case a plugin/extension 
would want to explicitly check for a class loader type? Did you think about 
this because of some real world use case?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [maven-integration-testing] psiroky commented on a diff in pull request #238: [MNG-7661] Fix few build / compiler warnings

2023-02-25 Thread via GitHub


psiroky commented on code in PR #238:
URL: 
https://github.com/apache/maven-integration-testing/pull/238#discussion_r1117965421


##
core-it-support/core-it-javaagent/pom.xml:
##
@@ -53,6 +53,17 @@ under the License.
 
   shade
 
+
+  
+
+  *:*
+  
+module-info.class
+META-INF/MANIFEST.MF

Review Comment:
   Nice catch, thanks! I would have hoped that "something" would fail the build 
if those manifest entries are missing -- seeing the linked PR, I assume this is 
only failing with Maven 4.x, which is currently not part of PR checks.
   
   In any case, I adjusted the filter to exclude only the `asm` artifacts, 
which should fix the issue (the build still won't pass with Maven 4.x, but the 
reported errors/failures seem to be consistent with the ones I am seeing on 
master branch)



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[jira] [Commented] (MRESOLVER-325) [REGRESSION] Suddenly seeing I/O errors under windows aborting the build

2023-02-25 Thread Michael Osipov (Jira)


[ 
https://issues.apache.org/jira/browse/MRESOLVER-325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17693516#comment-17693516
 ] 

Michael Osipov commented on MRESOLVER-325:
--

It even fails in serial mode:
{noformat}
442639 [main] [TRACE] Need 1 write lock(s) for 
[artifact:com.google.code.gson:gson:2.10.1]
442640 [main] [TRACE] Acquiring write lock for 
'artifact:com.google.code.gson:gson:2.10.1'
442640 [main] [TRACE] Total locks acquired: 1
442640 [main] [DEBUG] Resolving artifact com.google.code.gson:gson:jar:2.10.1 
from [lda-public 
(https://deblndw011x.ad001.siemens.net/nexus/content/groups/lda-public/, 
default, releases+snapshots), dynamowerk-public 
(https://deblndw011x.ad001.siemens.net/nexus/content/groups/dynamowerk-public/, 
default, releases+snapshots), eclipse-hosted 
(https://repo.eclipse.org/content/repositories/eclipse/, default, 
releases+snapshots), eclipse 
(https://download.eclipse.org/eclipse/updates/4.27-I-builds, p2, disabled), 
central-mirror 
(https://deblndw011x.ad001.siemens.net/nexus/content/repositories/central/, 
default, releases)]
442642 [main] [DEBUG] Using transporter HttpTransporter with priority 5.0 for 
https://deblndw011x.ad001.siemens.net/nexus/content/groups/lda-public/
442642 [main] [DEBUG] Using connector BasicRepositoryConnector with priority 
0.0 for https://deblndw011x.ad001.siemens.net/nexus/content/groups/lda-public/ 
with username=osipovmi, password=***
442642 [main] [INFO] Downloading from lda-public: 
https://deblndw011x.ad001.siemens.net/nexus/content/groups/lda-public/com/google/code/gson/gson/2.10.1/gson-2.10.1.jar
442709 [main] [DEBUG] Writing tracking file 
'C:\temp\repo\com\google\code\gson\gson\2.10.1\gson-2.10.1.jar.lastUpdated'
442724 [main] [DEBUG] Using transporter HttpTransporter with priority 5.0 for 
https://deblndw011x.ad001.siemens.net/nexus/content/groups/dynamowerk-public/
442724 [main] [DEBUG] Using connector BasicRepositoryConnector with priority 
0.0 for 
https://deblndw011x.ad001.siemens.net/nexus/content/groups/dynamowerk-public/ 
with username=osipovmi, password=***
442724 [main] [INFO] Downloading from dynamowerk-public: 
https://deblndw011x.ad001.siemens.net/nexus/content/groups/dynamowerk-public/com/google/code/gson/gson/2.10.1/gson-2.10.1.jar
442783 [main] [DEBUG] Writing tracking file 
'C:\temp\repo\com\google\code\gson\gson\2.10.1\gson-2.10.1.jar.lastUpdated'
442792 [main] [DEBUG] Using transporter HttpTransporter with priority 5.0 for 
https://repo.eclipse.org/content/repositories/eclipse/
442792 [main] [DEBUG] Using connector BasicRepositoryConnector with priority 
0.0 for https://repo.eclipse.org/content/repositories/eclipse/
442793 [main] [INFO] Downloading from eclipse-hosted: 
https://repo.eclipse.org/content/repositories/eclipse/com/google/code/gson/gson/2.10.1/gson-2.10.1.jar
442920 [main] [DEBUG] Writing tracking file 
'C:\temp\repo\com\google\code\gson\gson\2.10.1\gson-2.10.1.jar.lastUpdated'
442926 [main] [DEBUG] Using transporter HttpTransporter with priority 5.0 for 
https://deblndw011x.ad001.siemens.net/nexus/content/repositories/central/
442927 [main] [DEBUG] Using connector BasicRepositoryConnector with priority 
0.0 for 
https://deblndw011x.ad001.siemens.net/nexus/content/repositories/central/ with 
username=osipovmi, password=***
442927 [main] [INFO] Downloading from central-mirror: 
https://deblndw011x.ad001.siemens.net/nexus/content/repositories/central/com/google/code/gson/gson/2.10.1/gson-2.10.1.jar
443167 [main] [INFO] Downloaded from central-mirror: 
https://deblndw011x.ad001.siemens.net/nexus/content/repositories/central/com/google/code/gson/gson/2.10.1/gson-2.10.1.jar
 (283 kB at 1.2 MB/s)
443168 [main] [DEBUG] Writing tracking file 
'C:\temp\repo\com\google\code\gson\gson\2.10.1\_remote.repositories'
443172 [main] [DEBUG] Writing tracking file 
'C:\temp\repo\com\google\code\gson\gson\2.10.1\gson-2.10.1.jar.lastUpdated'
443174 [main] [TRACE] Releasing write lock for 
'artifact:com.google.code.gson:gson:2.10.1'
443174 [main] [TRACE] Total locks released: 1
443218 [main] [TRACE] Need 1 write lock(s) for 
[artifact:com.google.code.gson:gson:2.10.1]
443218 [main] [TRACE] Acquiring write lock for 
'artifact:com.google.code.gson:gson:2.10.1'
443218 [main] [TRACE] Total locks acquired: 1
443219 [main] [DEBUG] Resolving artifact 
com.google.code.gson:gson:jar:sources:2.10.1 from [lda-public 
(https://deblndw011x.ad001.siemens.net/nexus/content/groups/lda-public/, 
default, releases+snapshots), dynamowerk-public 
(https://deblndw011x.ad001.siemens.net/nexus/content/groups/dynamowerk-public/, 
default, releases+snapshots), eclipse-hosted 
(https://repo.eclipse.org/content/repositories/eclipse/, default, 
releases+snapshots), eclipse 
(https://download.eclipse.org/eclipse/updates/4.27-I-builds, p2, disabled), 
central-mirror 
(https://deblndw011x.ad001.siemens.net/nexus/content/repositories/central/, 
default, releases)]
443220 [main] 

[jira] [Commented] (MRESOLVER-325) [REGRESSION] Suddenly seeing I/O errors under windows aborting the build

2023-02-25 Thread Michael Osipov (Jira)


[ 
https://issues.apache.org/jira/browse/MRESOLVER-325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17693510#comment-17693510
 ] 

Michael Osipov commented on MRESOLVER-325:
--

Note: The static locks do not change anything. It still fails, I don't consider 
this a bug in our code ATM, rather than a fuckup in Windows and NTFS not able 
to give any guarantees. I am trying out a few things.

> [REGRESSION] Suddenly seeing I/O errors under windows aborting the build
> 
>
> Key: MRESOLVER-325
> URL: https://issues.apache.org/jira/browse/MRESOLVER-325
> Project: Maven Resolver
>  Issue Type: Bug
>  Components: Resolver
>Affects Versions: 1.9.4
>Reporter: Christoph Läubrich
>Priority: Major
> Fix For: 1.9.6
>
>
> If one runs a build that otherwise works fine on 3.8.x with 3.9 we now get 
> the following exception (full output can be found here 
> https://github.com/eclipse-platform/eclipse.platform/actions/runs/4211467991/jobs/7309831666):
> {code:java}
> Error: 5.889 [ERROR] Internal error: java.io.UncheckedIOException: 
> java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
>  -> [Help 1]
> org.apache.maven.InternalErrorException: Internal error: 
> java.io.UncheckedIOException: java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
> at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:108)
> at org.apache.maven.cli.MavenCli.execute (MavenCli.java:821)
> at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:270)
> at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke 
> (NativeMethodAccessorImpl.java:77)
> at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke 
> (DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke (Method.java:568)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced 
> (Launcher.java:282)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launch 
> (Launcher.java:225)
> at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode 
> (Launcher.java:406)
> at org.codehaus.plexus.classworlds.launcher.Launcher.main 
> (Launcher.java:347)
> Caused by: java.io.UncheckedIOException: java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
> at org.eclipse.aether.internal.impl.DefaultTrackingFileManager.update 
> (DefaultTrackingFileManager.java:121)
> at 
> org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManager.addRepo 
> (EnhancedLocalRepositoryManager.java:274)
> at 
> org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManager.addArtifact 
> (EnhancedLocalRepositoryManager.java:252)
> at org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManager.add 
> (EnhancedLocalRepositoryManager.java:225)
> at 
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.evaluateDownloads 
> (DefaultArtifactResolver.java:680)
> at 
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads 
> (DefaultArtifactResolver.java:592)
> at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve 
> (DefaultArtifactResolver.java:478)
> at 
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts 
> (DefaultArtifactResolver.java:278)
> at 
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact 
> (DefaultArtifactResolver.java:255)
> at 
> org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact 
> (DefaultRepositorySystem.java:296)
> at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve 
> (DefaultArtifactResolver.java:197)
> at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve 
> (DefaultArtifactResolver.java:413)
> at org.apache.maven.repository.legacy.LegacyRepositorySystem.resolve 
> (LegacyRepositorySystem.java:332)
> at 
> org.eclipse.tycho.osgi.configuration.MavenDependenciesResolverConfigurer.resolve
>  (MavenDependenciesResolverConfigurer.java:104)
> at org.eclipse.tycho.core.shared.MavenDependenciesResolver.resolve 
> 

[jira] [Commented] (MNG-7700) Improper canonicalization of versions

2023-02-25 Thread ASF GitHub Bot (Jira)


[ 
https://issues.apache.org/jira/browse/MNG-7700?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17693491#comment-17693491
 ] 

ASF GitHub Bot commented on MNG-7700:
-

dmlloyd commented on code in PR #1014:
URL: https://github.com/apache/maven/pull/1014#discussion_r1117940782


##
maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionTest.java:
##
@@ -209,6 +208,26 @@ public void testVersionComparing() {
 checkVersionsOrder("2.0.1-xyz", "2.0.1-123");
 }
 
+@Test
+public void testLeadingZeroes() {
+checkVersionsOrder("0.7", "2");
+checkVersionsOrder("0.2", "1.0.7");
+}
+
+@Test
+public void testGetCanonical() {
+// MNG-7700
+newComparable("0.x");
+newComparable("0-x");
+newComparable("0.rc");
+newComparable("0-1");
+
+ComparableVersion version = new ComparableVersion("0.x");
+assertEquals("x", version.getCanonical());

Review Comment:
   This is not really a useful test. You're just testing that the output is 
what the output is. If you do this instead, you'll see that the "canonical" 
version is not really a canonical version at all:
   
   ```java
   ComparableVersion version = new ComparableVersion("0.x");
   ComparableVersion canonical = new ComparableVersion(version.getCanonical());
   assertEquals(canonical, version); // actually see if the *versions* are equal
   ```
   





> Improper canonicalization of versions
> -
>
> Key: MNG-7700
> URL: https://issues.apache.org/jira/browse/MNG-7700
> Project: Maven
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 3.8.7, 3.9.0
>Reporter: David M. Lloyd
>Assignee: Elliotte Rusty Harold
>Priority: Minor
> Fix For: 3.8.x-candidate, 3.9.1-candidate, waiting-for-feedback
>
>
> The canonicalization logic for versions is incorrect.
> Using the method {{ComparableVersion#getCanonical}} as in {{new 
> ComparableVersion(input).getCanonical()}}, the following results can be 
> observed:
> ||Input||3.8.6 Output||3.8.6 OK?||3.9.0 Output||3.9.0 OK?||
> |{{1}}|{{1}}|yes|{{1}}|yes|
> |{{0.1}}|{{0.1}}|yes|{{0.1}}|yes|
> |{{0-1}}|{{1}}|no|{{1}}|no|
> |{{1.x}}|{{1.x}}|yes|{{1-x}}|maybe*|
> |{{1-x}}|{{1-x}}|yes|{{1-x}}|yes|
> |{{0.x}}|{{0.x}}|yes|{{x}}|no|
> |{{0-x}}|{{x}}|no|{{x}}|no|
> |{{x}}|{{x}}|yes|{{x}}|yes|
> |{{0.rc}}|{{0.rc}}|yes|{{rc}}|no|
> The "OK?" columns indicate whether parsing the canonical version string will 
> yield a {{ComparableVersion}} instance that is {{equal}} to one constructed 
> from the original input, i.e. it's internally consistent.
> The "maybe*" item indicates that starting with 3.9.0, version `1.x` is now 
> considered to be equal to `1-x`. I'm not sure if this is a bug or not, or was 
> intentional or not, but it is definitely a change.
> These canonicalizations seem to have gotten less consistent in the move to 
> 3.9.0.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[GitHub] [maven] dmlloyd commented on a diff in pull request #1014: [MNG-7700] test some edge cases with leading zeroes

2023-02-25 Thread via GitHub


dmlloyd commented on code in PR #1014:
URL: https://github.com/apache/maven/pull/1014#discussion_r1117940782


##
maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionTest.java:
##
@@ -209,6 +208,26 @@ public void testVersionComparing() {
 checkVersionsOrder("2.0.1-xyz", "2.0.1-123");
 }
 
+@Test
+public void testLeadingZeroes() {
+checkVersionsOrder("0.7", "2");
+checkVersionsOrder("0.2", "1.0.7");
+}
+
+@Test
+public void testGetCanonical() {
+// MNG-7700
+newComparable("0.x");
+newComparable("0-x");
+newComparable("0.rc");
+newComparable("0-1");
+
+ComparableVersion version = new ComparableVersion("0.x");
+assertEquals("x", version.getCanonical());

Review Comment:
   This is not really a useful test. You're just testing that the output is 
what the output is. If you do this instead, you'll see that the "canonical" 
version is not really a canonical version at all:
   
   ```java
   ComparableVersion version = new ComparableVersion("0.x");
   ComparableVersion canonical = new ComparableVersion(version.getCanonical());
   assertEquals(canonical, version); // actually see if the *versions* are equal
   ```
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[jira] [Commented] (MNG-7700) Improper canonicalization of versions

2023-02-25 Thread ASF GitHub Bot (Jira)


[ 
https://issues.apache.org/jira/browse/MNG-7700?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17693480#comment-17693480
 ] 

ASF GitHub Bot commented on MNG-7700:
-

michael-o commented on code in PR #1014:
URL: https://github.com/apache/maven/pull/1014#discussion_r1117932771


##
maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionTest.java:
##
@@ -209,6 +208,26 @@ public void testVersionComparing() {
 checkVersionsOrder("2.0.1-xyz", "2.0.1-123");
 }
 
+@Test
+public void testLeadingZeroes() {
+checkVersionsOrder("0.7", "2");
+checkVersionsOrder("0.2", "1.0.7");
+}
+
+@Test
+public void testGetCanonical() {
+// MNG-7700
+newComparable("0.x");
+newComparable("0-x");
+newComparable("0.rc");
+newComparable("0-1");
+
+ComparableVersion version = new ComparableVersion("0.x");
+assertEquals("x", version.getCanonical());

Review Comment:
   Depressing...





> Improper canonicalization of versions
> -
>
> Key: MNG-7700
> URL: https://issues.apache.org/jira/browse/MNG-7700
> Project: Maven
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 3.8.7, 3.9.0
>Reporter: David M. Lloyd
>Assignee: Elliotte Rusty Harold
>Priority: Minor
> Fix For: 3.8.x-candidate, 3.9.1-candidate, waiting-for-feedback
>
>
> The canonicalization logic for versions is incorrect.
> Using the method {{ComparableVersion#getCanonical}} as in {{new 
> ComparableVersion(input).getCanonical()}}, the following results can be 
> observed:
> ||Input||3.8.6 Output||3.8.6 OK?||3.9.0 Output||3.9.0 OK?||
> |{{1}}|{{1}}|yes|{{1}}|yes|
> |{{0.1}}|{{0.1}}|yes|{{0.1}}|yes|
> |{{0-1}}|{{1}}|no|{{1}}|no|
> |{{1.x}}|{{1.x}}|yes|{{1-x}}|maybe*|
> |{{1-x}}|{{1-x}}|yes|{{1-x}}|yes|
> |{{0.x}}|{{0.x}}|yes|{{x}}|no|
> |{{0-x}}|{{x}}|no|{{x}}|no|
> |{{x}}|{{x}}|yes|{{x}}|yes|
> |{{0.rc}}|{{0.rc}}|yes|{{rc}}|no|
> The "OK?" columns indicate whether parsing the canonical version string will 
> yield a {{ComparableVersion}} instance that is {{equal}} to one constructed 
> from the original input, i.e. it's internally consistent.
> The "maybe*" item indicates that starting with 3.9.0, version `1.x` is now 
> considered to be equal to `1-x`. I'm not sure if this is a bug or not, or was 
> intentional or not, but it is definitely a change.
> These canonicalizations seem to have gotten less consistent in the move to 
> 3.9.0.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[GitHub] [maven] michael-o commented on a diff in pull request #1014: [MNG-7700] test some edge cases with leading zeroes

2023-02-25 Thread via GitHub


michael-o commented on code in PR #1014:
URL: https://github.com/apache/maven/pull/1014#discussion_r1117932771


##
maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionTest.java:
##
@@ -209,6 +208,26 @@ public void testVersionComparing() {
 checkVersionsOrder("2.0.1-xyz", "2.0.1-123");
 }
 
+@Test
+public void testLeadingZeroes() {
+checkVersionsOrder("0.7", "2");
+checkVersionsOrder("0.2", "1.0.7");
+}
+
+@Test
+public void testGetCanonical() {
+// MNG-7700
+newComparable("0.x");
+newComparable("0-x");
+newComparable("0.rc");
+newComparable("0-1");
+
+ComparableVersion version = new ComparableVersion("0.x");
+assertEquals("x", version.getCanonical());

Review Comment:
   Depressing...



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[jira] [Commented] (MNG-7700) Improper canonicalization of versions

2023-02-25 Thread ASF GitHub Bot (Jira)


[ 
https://issues.apache.org/jira/browse/MNG-7700?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17693478#comment-17693478
 ] 

ASF GitHub Bot commented on MNG-7700:
-

elharo commented on code in PR #1014:
URL: https://github.com/apache/maven/pull/1014#discussion_r1117930896


##
maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionTest.java:
##
@@ -209,6 +208,26 @@ public void testVersionComparing() {
 checkVersionsOrder("2.0.1-xyz", "2.0.1-123");
 }
 
+@Test
+public void testLeadingZeroes() {
+checkVersionsOrder("0.7", "2");
+checkVersionsOrder("0.2", "1.0.7");
+}
+
+@Test
+public void testGetCanonical() {
+// MNG-7700
+newComparable("0.x");
+newComparable("0-x");
+newComparable("0.rc");
+newComparable("0-1");
+
+ComparableVersion version = new ComparableVersion("0.x");
+assertEquals("x", version.getCanonical());

Review Comment:
   We never define or promise anything about the canonical representation of a 
ComparableVersion. Indeed, this method probably shouldn't have been public. All 
we promise is that two of them compare according to spec, and as best I can 
tell they do. For now this is just a characterization test of existing 
behavior. I'm leaving MNG-7700 open in case folks feel we should change the 
canonical representation. However neither that issue nor this PR needs to block 
the release.  





> Improper canonicalization of versions
> -
>
> Key: MNG-7700
> URL: https://issues.apache.org/jira/browse/MNG-7700
> Project: Maven
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 3.8.7, 3.9.0
>Reporter: David M. Lloyd
>Assignee: Elliotte Rusty Harold
>Priority: Minor
> Fix For: 3.8.x-candidate, 3.9.1-candidate, waiting-for-feedback
>
>
> The canonicalization logic for versions is incorrect.
> Using the method {{ComparableVersion#getCanonical}} as in {{new 
> ComparableVersion(input).getCanonical()}}, the following results can be 
> observed:
> ||Input||3.8.6 Output||3.8.6 OK?||3.9.0 Output||3.9.0 OK?||
> |{{1}}|{{1}}|yes|{{1}}|yes|
> |{{0.1}}|{{0.1}}|yes|{{0.1}}|yes|
> |{{0-1}}|{{1}}|no|{{1}}|no|
> |{{1.x}}|{{1.x}}|yes|{{1-x}}|maybe*|
> |{{1-x}}|{{1-x}}|yes|{{1-x}}|yes|
> |{{0.x}}|{{0.x}}|yes|{{x}}|no|
> |{{0-x}}|{{x}}|no|{{x}}|no|
> |{{x}}|{{x}}|yes|{{x}}|yes|
> |{{0.rc}}|{{0.rc}}|yes|{{rc}}|no|
> The "OK?" columns indicate whether parsing the canonical version string will 
> yield a {{ComparableVersion}} instance that is {{equal}} to one constructed 
> from the original input, i.e. it's internally consistent.
> The "maybe*" item indicates that starting with 3.9.0, version `1.x` is now 
> considered to be equal to `1-x`. I'm not sure if this is a bug or not, or was 
> intentional or not, but it is definitely a change.
> These canonicalizations seem to have gotten less consistent in the move to 
> 3.9.0.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[GitHub] [maven] elharo commented on a diff in pull request #1014: [MNG-7700] test some edge cases with leading zeroes

2023-02-25 Thread via GitHub


elharo commented on code in PR #1014:
URL: https://github.com/apache/maven/pull/1014#discussion_r1117930896


##
maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionTest.java:
##
@@ -209,6 +208,26 @@ public void testVersionComparing() {
 checkVersionsOrder("2.0.1-xyz", "2.0.1-123");
 }
 
+@Test
+public void testLeadingZeroes() {
+checkVersionsOrder("0.7", "2");
+checkVersionsOrder("0.2", "1.0.7");
+}
+
+@Test
+public void testGetCanonical() {
+// MNG-7700
+newComparable("0.x");
+newComparable("0-x");
+newComparable("0.rc");
+newComparable("0-1");
+
+ComparableVersion version = new ComparableVersion("0.x");
+assertEquals("x", version.getCanonical());

Review Comment:
   We never define or promise anything about the canonical representation of a 
ComparableVersion. Indeed, this method probably shouldn't have been public. All 
we promise is that two of them compare according to spec, and as best I can 
tell they do. For now this is just a characterization test of existing 
behavior. I'm leaving MNG-7700 open in case folks feel we should change the 
canonical representation. However neither that issue nor this PR needs to block 
the release.  



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[jira] [Closed] (MNG-7701) Incompatible version sorting changes

2023-02-25 Thread Elliotte Rusty Harold (Jira)


 [ 
https://issues.apache.org/jira/browse/MNG-7701?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Elliotte Rusty Harold closed MNG-7701.
--

> Incompatible version sorting changes
> 
>
> Key: MNG-7701
> URL: https://issues.apache.org/jira/browse/MNG-7701
> Project: Maven
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 3.8.7, 3.9.0
>Reporter: David M. Lloyd
>Assignee: Elliotte Rusty Harold
>Priority: Major
> Fix For: 3.8.x-candidate, 3.9.1-candidate, waiting-for-feedback
>
>
> Between 3.8.6 and 3.8.7, the sorting of a variety of version strings has 
> changed. This table captures the observed relations:
> ||Input 1||3.8.6||3.8.7||Input 2||
> |{{0.x}}|{{>}}|{{==}}|{{0-x}}|
> |{{1.x}}|{{<}}|{{==}}|{{1-x}}|
> |{{1.x}}|{{<}}|{{>}}|{{1_y}}|
> |{{1.y}}|{{<}}|{{>}}|{{1_x}}|
> |{{1-alpha}}|{{>}}|{{==}}|{{1.alpha}}|



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Resolved] (MNG-7701) Incompatible version sorting changes

2023-02-25 Thread Elliotte Rusty Harold (Jira)


 [ 
https://issues.apache.org/jira/browse/MNG-7701?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Elliotte Rusty Harold resolved MNG-7701.

Resolution: Invalid

As best I can tell, the 3.8.7 behavior is correct in all cases. It might indeed 
have changed since 3.8.6 but if so, it's 3.8.6 that was not behaving according 
to spec. 

> Incompatible version sorting changes
> 
>
> Key: MNG-7701
> URL: https://issues.apache.org/jira/browse/MNG-7701
> Project: Maven
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 3.8.7, 3.9.0
>Reporter: David M. Lloyd
>Assignee: Elliotte Rusty Harold
>Priority: Major
> Fix For: 3.8.x-candidate, 3.9.1-candidate, waiting-for-feedback
>
>
> Between 3.8.6 and 3.8.7, the sorting of a variety of version strings has 
> changed. This table captures the observed relations:
> ||Input 1||3.8.6||3.8.7||Input 2||
> |{{0.x}}|{{>}}|{{==}}|{{0-x}}|
> |{{1.x}}|{{<}}|{{==}}|{{1-x}}|
> |{{1.x}}|{{<}}|{{>}}|{{1_y}}|
> |{{1.y}}|{{<}}|{{>}}|{{1_x}}|
> |{{1-alpha}}|{{>}}|{{==}}|{{1.alpha}}|



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (MNG-7701) Incompatible version sorting changes

2023-02-25 Thread Elliotte Rusty Harold (Jira)


[ 
https://issues.apache.org/jira/browse/MNG-7701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17693476#comment-17693476
 ] 

Elliotte Rusty Harold commented on MNG-7701:


Hmm,

underscore is ascii 95
x is ascii 120

so _x does sort lexicographically before x. That is, I was wrong when I said 
"Underscore comes after all alphabetic characters in lexicographic order. 1_y 
is effectively the same as 1._y." 

It is a little tricky because capital X comes before x but we normalize to 
lower case. Thus the 3.8.7 behavior is correct and expected. 
 


> Incompatible version sorting changes
> 
>
> Key: MNG-7701
> URL: https://issues.apache.org/jira/browse/MNG-7701
> Project: Maven
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 3.8.7, 3.9.0
>Reporter: David M. Lloyd
>Assignee: Elliotte Rusty Harold
>Priority: Major
> Fix For: 3.8.x-candidate, 3.9.1-candidate, waiting-for-feedback
>
>
> Between 3.8.6 and 3.8.7, the sorting of a variety of version strings has 
> changed. This table captures the observed relations:
> ||Input 1||3.8.6||3.8.7||Input 2||
> |{{0.x}}|{{>}}|{{==}}|{{0-x}}|
> |{{1.x}}|{{<}}|{{==}}|{{1-x}}|
> |{{1.x}}|{{<}}|{{>}}|{{1_y}}|
> |{{1.y}}|{{<}}|{{>}}|{{1_x}}|
> |{{1-alpha}}|{{>}}|{{==}}|{{1.alpha}}|



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Comment Edited] (MNG-7701) Incompatible version sorting changes

2023-02-25 Thread Elliotte Rusty Harold (Jira)


[ 
https://issues.apache.org/jira/browse/MNG-7701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17693475#comment-17693475
 ] 

Elliotte Rusty Harold edited comment on MNG-7701 at 2/25/23 1:56 PM:
-

This bug appears valid. This test currently fails at head:


   @Test
public void testMNG7701() {
ComparableVersion c1 = new ComparableVersion("1.x");
ComparableVersion c2 = new ComparableVersion("1_x");

assertTrue(c1.compareTo(c2) < 0);
}


was (Author: elharo):
This bug appears valid. This test currently fails at head:

{{{}{}}}{{{}{color:#808000}@Test
{color}{color:#80}public void {color}testMNG7701() {{}}}
{{ComparableVersion c1 = {color:#80}new 
{color}ComparableVersion({color:#008000}"1.x"{color});}}
{{ComparableVersion c2 = {color:#80}new 
{color}ComparableVersion({color:#008000}"1_x"{color});}}

{{assertTrue(c1.compareTo(c2) < {color:#ff}0{color});}}
{{}}}

> Incompatible version sorting changes
> 
>
> Key: MNG-7701
> URL: https://issues.apache.org/jira/browse/MNG-7701
> Project: Maven
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 3.8.7, 3.9.0
>Reporter: David M. Lloyd
>Assignee: Elliotte Rusty Harold
>Priority: Major
> Fix For: 3.8.x-candidate, 3.9.1-candidate, waiting-for-feedback
>
>
> Between 3.8.6 and 3.8.7, the sorting of a variety of version strings has 
> changed. This table captures the observed relations:
> ||Input 1||3.8.6||3.8.7||Input 2||
> |{{0.x}}|{{>}}|{{==}}|{{0-x}}|
> |{{1.x}}|{{<}}|{{==}}|{{1-x}}|
> |{{1.x}}|{{<}}|{{>}}|{{1_y}}|
> |{{1.y}}|{{<}}|{{>}}|{{1_x}}|
> |{{1-alpha}}|{{>}}|{{==}}|{{1.alpha}}|



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (MNG-7701) Incompatible version sorting changes

2023-02-25 Thread Elliotte Rusty Harold (Jira)


[ 
https://issues.apache.org/jira/browse/MNG-7701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17693475#comment-17693475
 ] 

Elliotte Rusty Harold commented on MNG-7701:


This bug appears valid. This test currently fails at head:

{{{}{}}}{{{}{color:#808000}@Test
{color}{color:#80}public void {color}testMNG7701() {{}}}
{{ComparableVersion c1 = {color:#80}new 
{color}ComparableVersion({color:#008000}"1.x"{color});}}
{{ComparableVersion c2 = {color:#80}new 
{color}ComparableVersion({color:#008000}"1_x"{color});}}

{{assertTrue(c1.compareTo(c2) < {color:#ff}0{color});}}
{{}}}

> Incompatible version sorting changes
> 
>
> Key: MNG-7701
> URL: https://issues.apache.org/jira/browse/MNG-7701
> Project: Maven
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 3.8.7, 3.9.0
>Reporter: David M. Lloyd
>Assignee: Elliotte Rusty Harold
>Priority: Major
> Fix For: 3.8.x-candidate, 3.9.1-candidate, waiting-for-feedback
>
>
> Between 3.8.6 and 3.8.7, the sorting of a variety of version strings has 
> changed. This table captures the observed relations:
> ||Input 1||3.8.6||3.8.7||Input 2||
> |{{0.x}}|{{>}}|{{==}}|{{0-x}}|
> |{{1.x}}|{{<}}|{{==}}|{{1-x}}|
> |{{1.x}}|{{<}}|{{>}}|{{1_y}}|
> |{{1.y}}|{{<}}|{{>}}|{{1_x}}|
> |{{1-alpha}}|{{>}}|{{==}}|{{1.alpha}}|



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (MNG-7700) Improper canonicalization of versions

2023-02-25 Thread ASF GitHub Bot (Jira)


[ 
https://issues.apache.org/jira/browse/MNG-7700?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17693473#comment-17693473
 ] 

ASF GitHub Bot commented on MNG-7700:
-

michael-o commented on code in PR #1014:
URL: https://github.com/apache/maven/pull/1014#discussion_r1117927578


##
maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionTest.java:
##
@@ -209,6 +208,26 @@ public void testVersionComparing() {
 checkVersionsOrder("2.0.1-xyz", "2.0.1-123");
 }
 
+@Test
+public void testLeadingZeroes() {
+checkVersionsOrder("0.7", "2");
+checkVersionsOrder("0.2", "1.0.7");
+}
+
+@Test
+public void testGetCanonical() {
+// MNG-7700
+newComparable("0.x");
+newComparable("0-x");
+newComparable("0.rc");
+newComparable("0-1");
+
+ComparableVersion version = new ComparableVersion("0.x");
+assertEquals("x", version.getCanonical());

Review Comment:
   I still don't understand why this should not be 0 with `x` as qualifier.





> Improper canonicalization of versions
> -
>
> Key: MNG-7700
> URL: https://issues.apache.org/jira/browse/MNG-7700
> Project: Maven
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 3.8.7, 3.9.0
>Reporter: David M. Lloyd
>Assignee: Elliotte Rusty Harold
>Priority: Minor
> Fix For: 3.8.x-candidate, 3.9.1-candidate, waiting-for-feedback
>
>
> The canonicalization logic for versions is incorrect.
> Using the method {{ComparableVersion#getCanonical}} as in {{new 
> ComparableVersion(input).getCanonical()}}, the following results can be 
> observed:
> ||Input||3.8.6 Output||3.8.6 OK?||3.9.0 Output||3.9.0 OK?||
> |{{1}}|{{1}}|yes|{{1}}|yes|
> |{{0.1}}|{{0.1}}|yes|{{0.1}}|yes|
> |{{0-1}}|{{1}}|no|{{1}}|no|
> |{{1.x}}|{{1.x}}|yes|{{1-x}}|maybe*|
> |{{1-x}}|{{1-x}}|yes|{{1-x}}|yes|
> |{{0.x}}|{{0.x}}|yes|{{x}}|no|
> |{{0-x}}|{{x}}|no|{{x}}|no|
> |{{x}}|{{x}}|yes|{{x}}|yes|
> |{{0.rc}}|{{0.rc}}|yes|{{rc}}|no|
> The "OK?" columns indicate whether parsing the canonical version string will 
> yield a {{ComparableVersion}} instance that is {{equal}} to one constructed 
> from the original input, i.e. it's internally consistent.
> The "maybe*" item indicates that starting with 3.9.0, version `1.x` is now 
> considered to be equal to `1-x`. I'm not sure if this is a bug or not, or was 
> intentional or not, but it is definitely a change.
> These canonicalizations seem to have gotten less consistent in the move to 
> 3.9.0.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[GitHub] [maven] michael-o commented on a diff in pull request #1014: [MNG-7700] test some edge cases with leading zeroes

2023-02-25 Thread via GitHub


michael-o commented on code in PR #1014:
URL: https://github.com/apache/maven/pull/1014#discussion_r1117927578


##
maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionTest.java:
##
@@ -209,6 +208,26 @@ public void testVersionComparing() {
 checkVersionsOrder("2.0.1-xyz", "2.0.1-123");
 }
 
+@Test
+public void testLeadingZeroes() {
+checkVersionsOrder("0.7", "2");
+checkVersionsOrder("0.2", "1.0.7");
+}
+
+@Test
+public void testGetCanonical() {
+// MNG-7700
+newComparable("0.x");
+newComparable("0-x");
+newComparable("0.rc");
+newComparable("0-1");
+
+ComparableVersion version = new ComparableVersion("0.x");
+assertEquals("x", version.getCanonical());

Review Comment:
   I still don't understand why this should not be 0 with `x` as qualifier.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [maven-surefire] slawekjaranowski commented on pull request #615: [SUREFIRE-2152] Include name of JUnit5 templated-tests in test description

2023-02-25 Thread via GitHub


slawekjaranowski commented on PR #615:
URL: https://github.com/apache/maven-surefire/pull/615#issuecomment-1445057345

   Please check result of ITs - and fix ITs or code according


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [maven-surefire] slawekjaranowski commented on pull request #614: [SUREFIRE-2150] upgrade to parent pom 39

2023-02-25 Thread via GitHub


slawekjaranowski commented on PR #614:
URL: https://github.com/apache/maven-surefire/pull/614#issuecomment-1445056927

   I will wait for you - sorry for mess.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [maven-integration-testing] slawekjaranowski commented on pull request #242: Use Maven 3.9.0 on GitHub

2023-02-25 Thread via GitHub


slawekjaranowski commented on PR #242:
URL: 
https://github.com/apache/maven-integration-testing/pull/242#issuecomment-1445056606

   I would like to go a step forward and also add 4.x 
   After review of #238 I found issue with 4.x
   Simply we should have a possibility to detect an issue early
   
   What do you think?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [maven-surefire] olamy commented on pull request #614: [SUREFIRE-2150] upgrade to parent pom 39

2023-02-25 Thread via GitHub


olamy commented on PR #614:
URL: https://github.com/apache/maven-surefire/pull/614#issuecomment-1445045325

   I have stuff already done locally!!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [maven-surefire] slawekjaranowski commented on pull request #614: [SUREFIRE-2150] upgrade to parent pom 39

2023-02-25 Thread via GitHub


slawekjaranowski commented on PR #614:
URL: https://github.com/apache/maven-surefire/pull/614#issuecomment-1445042739

   I'm starting work on SUREFIRE-2154, so I want to avoid feature merge 
conflicts I will do it.
   Have a rest on beach.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[jira] [Assigned] (SUREFIRE-2154) Get rid of ${localRepository} from surefire mojo parameter

2023-02-25 Thread Slawomir Jaranowski (Jira)


 [ 
https://issues.apache.org/jira/browse/SUREFIRE-2154?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Slawomir Jaranowski reassigned SUREFIRE-2154:
-

Assignee: Slawomir Jaranowski

> Get rid of ${localRepository} from surefire mojo parameter
> --
>
> Key: SUREFIRE-2154
> URL: https://issues.apache.org/jira/browse/SUREFIRE-2154
> Project: Maven Surefire
>  Issue Type: Improvement
>Reporter: Slawomir Jaranowski
>Assignee: Slawomir Jaranowski
>Priority: Major
> Fix For: 3.0.0-M10
>
>
> It is used in {{org.apache.maven.plugin.surefire.AbstractSurefireMojo}}
> Also in many place in unit and integration test.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[GitHub] [maven-surefire] olamy commented on pull request #614: [SUREFIRE-2150] upgrade to parent pom 39

2023-02-25 Thread via GitHub


olamy commented on PR #614:
URL: https://github.com/apache/maven-surefire/pull/614#issuecomment-1445041553

   Oh yes I can finish that. I was on it this morning but had to go to the 
beach. I will resume work tomorrow 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[jira] [Commented] (MRESOLVER-324) Make the BF algorithm as the default option to speed up maven dependency resolution and downloading

2023-02-25 Thread wei cai (Jira)


[ 
https://issues.apache.org/jira/browse/MRESOLVER-324?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17693448#comment-17693448
 ] 

wei cai commented on MRESOLVER-324:
---

[~Chealer]  Has been verified by comparing dependency tree output using DF or 
BF with thousands of applications in our company before contributing to Maven 
community. So far, no downsides found yet. You may try and report if any issues.

> Make the BF algorithm as the default option to speed up maven dependency 
> resolution and downloading
> ---
>
> Key: MRESOLVER-324
> URL: https://issues.apache.org/jira/browse/MRESOLVER-324
> Project: Maven Resolver
>  Issue Type: Wish
>  Components: Resolver
>Affects Versions: 1.10.0
>Reporter: wei cai
>Priority: Major
> Fix For: 1.10.0
>
>
> This is a WISH type Jira :D. So far, Maven 3.9.0 has released a BF algorithm 
> which includes changes from below JIRAs along with the DF option (default).
>  * MRESOLVER-228
>  * MRESOLVER-247
>  * MRESOLVER-7
> The BF algorithm solves:
>  * Cache missing issue when comes to resolve heavy dependencies with 
> different exclusions, it can help speed up dependency resolution especially 
> for large scale enterprise level projects.
>  * Improve download speed by:
>  ** Skip downloading poms for conflict losers.
>  ** Download poms in parallel.
> Below is the introduction in 
> [https://maven.apache.org/docs/3.9.0/release-notes.html:]
> {noformat}
> Choice of resolver collectors: a new BF collector (with parallel POM 
> downloads) has been added along the existing DF one.{noformat}
> The solution is already widely adopted at eBay. You can simply enable it by 
> putting below config item into file: ${maven.projectBasedir}/.mvn/maven.config
> {code:java}
> aether.dependencyCollector.impl=bf {code}
> More introduction about this option: 
> [https://maven.apache.org/resolver/configuration.html]
> Please try and tells us how much it helps by running:
> {code:java}
> 1. mvn clean install -DskipTests -Dmaven.repo.local=bf 
> -Daether.dependencyCollector.impl=bf 
> 2. mvn clean install -DskipTests -Dmaven.repo.local=df{code}
> With more feedback collected, we would be able to propose the changes to 
> Maven team to make BF as the default.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[GitHub] [maven-surefire] slawekjaranowski commented on pull request #614: [SUREFIRE-2150] upgrade to parent pom 39

2023-02-25 Thread via GitHub


slawekjaranowski commented on PR #614:
URL: https://github.com/apache/maven-surefire/pull/614#issuecomment-1445040331

   @olamy - I can finish it, do you want to work on it


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [maven-integration-testing] slawekjaranowski commented on a diff in pull request #238: [MNG-7661] Fix few build / compiler warnings

2023-02-25 Thread via GitHub


slawekjaranowski commented on code in PR #238:
URL: 
https://github.com/apache/maven-integration-testing/pull/238#discussion_r1117893891


##
core-it-support/core-it-javaagent/pom.xml:
##
@@ -53,6 +53,17 @@ under the License.
 
   shade
 
+
+  
+
+  *:*
+  
+module-info.class
+META-INF/MANIFEST.MF

Review Comment:
   m-jar-p adds items to MANIFEST - see line 40-43 - we need its, so we don't 
drop MANIFEST
   we can try 
https://maven.apache.org/plugins/maven-shade-plugin/examples/resource-transformers.html#ManifestResourceTransformer



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org