[GitHub] [maven] laeubi commented on pull request #690: [MNG-7429] The classloader containing build extension should be used throughout the build

2022-03-11 Thread GitBox


laeubi commented on pull request #690:
URL: https://github.com/apache/maven/pull/690#issuecomment-1065819288


   I'm not sure if I can give more input on this, but only quote this
   
   > it really depends on the use case
   
   `WorkspaceReader` and `AbstractMavenLifecycleParticipant` are special 
because they are a mean of bootstrap and/or add additional look-ups on a global 
level, but at the same time they are very limited and require special care, 
e.g. as noted above depending on how an `AbstractMavenLifecycleParticipant` is 
provided not all methods are called and `WorkspaceReader` for example has no 
access to any project or session context.
   Anyways I don't think one could assume that one *always* wan't to lookup 
everything from all project extensions, similar to when I define a mirror in a 
pom.xml I for sure don't want it to be used in other (unrelated) modules just 
because they are part of the same reactor, if I want this then I define it on 
the settings.xml ...
   
   So for your case, if you really thing your extension should be defined on 
the project level, then for me it makes totally sense that this is only 
available in the projects where it is defined (either explicit or implicit e.g. 
though parent reference) and then your extension would not be looked up 
globally. If you want ti to act globally independent of defined in a project 
and you want to have much more control I think it should be a core-extension 
even if others not so involved in the details think "it might be useful" to 
define it on the project level.
   
   @michael-o maybe you want to take over here or suggest others more familiar 
with how maven is supposed to work here.
   
   


-- 
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-jenkins-lib] olamy opened a new pull request #3: add ci-reporting, errorprone profile and record static code analysis

2022-03-11 Thread GitBox


olamy opened a new pull request #3:
URL: https://github.com/apache/maven-jenkins-lib/pull/3


   do not maven.test.failure.ignore per default as we do not even recommend 
using it 
(https://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html#testFailureIgnore)
 


-- 
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-jenkins-lib] olamy closed pull request #3: add ci-reporting, errorprone profile and record static code analysis

2022-03-11 Thread GitBox


olamy closed pull request #3:
URL: https://github.com/apache/maven-jenkins-lib/pull/3


   


-- 
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-jenkins-lib] olamy opened a new pull request #5: notify only for master or main per default (no need to notify for eve…

2022-03-11 Thread GitBox


olamy opened a new pull request #5:
URL: https://github.com/apache/maven-jenkins-lib/pull/5


   …ry branches)


-- 
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] [Updated] (MPOM-310) Replace Google Analytics with ASF Matomo in documentation

2022-03-11 Thread Herve Boutemy (Jira)


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

Herve Boutemy updated MPOM-310:
---
Fix Version/s: ASF-26
   (was: MAVEN-36)

> Replace Google Analytics with ASF Matomo in documentation
> -
>
> Key: MPOM-310
> URL: https://issues.apache.org/jira/browse/MPOM-310
> Project: Maven POMs
>  Issue Type: Improvement
>  Components: asf
>Affects Versions: ASF-25
>Reporter: Herve Boutemy
>Assignee: Herve Boutemy
>Priority: Major
> Fix For: ASF-26
>
>
> ASF Parent POM documentation is published to Maven site: it need to follow 
> Maven's tracking practice that is changing with MPOM-300



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Closed] (MPOM-310) Replace Google Analytics with ASF Matomo in documentation

2022-03-11 Thread Herve Boutemy (Jira)


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

Herve Boutemy closed MPOM-310.
--
  Assignee: Herve Boutemy
Resolution: Fixed

done in 
https://github.com/apache/maven-apache-parent/commit/8c52ca6e7b407a959acd741d25c0f0efd4f18d45

> Replace Google Analytics with ASF Matomo in documentation
> -
>
> Key: MPOM-310
> URL: https://issues.apache.org/jira/browse/MPOM-310
> Project: Maven POMs
>  Issue Type: Improvement
>  Components: asf
>Affects Versions: ASF-25
>Reporter: Herve Boutemy
>Assignee: Herve Boutemy
>Priority: Major
> Fix For: MAVEN-36
>
>
> ASF Parent POM documentation is published to Maven site: it need to follow 
> Maven's tracking practice that is changing with MPOM-300



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (MPOM-310) Replace Google Analytics with ASF Matomo in documentation

2022-03-11 Thread Herve Boutemy (Jira)


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

Herve Boutemy updated MPOM-310:
---
Description: ASF Parent POM documentation is published to Maven site: it 
need to follow Maven's tracking practice that is changing with MPOM-300

> Replace Google Analytics with ASF Matomo in documentation
> -
>
> Key: MPOM-310
> URL: https://issues.apache.org/jira/browse/MPOM-310
> Project: Maven POMs
>  Issue Type: Improvement
>  Components: asf
>Affects Versions: ASF-25
>Reporter: Herve Boutemy
>Priority: Major
> Fix For: MAVEN-36
>
>
> ASF Parent POM documentation is published to Maven site: it need to follow 
> Maven's tracking practice that is changing with MPOM-300



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (MPOM-310) Replace Google Analytics with ASF Matomo in documentation

2022-03-11 Thread Hudson (Jira)


[ 
https://issues.apache.org/jira/browse/MPOM-310?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17505170#comment-17505170
 ] 

Hudson commented on MPOM-310:
-

Build succeeded in Jenkins: Maven » Maven TLP » maven-apache-parent » master #12

See 
https://ci-maven.apache.org/job/Maven/job/maven-box/job/maven-apache-parent/job/master/12/

> Replace Google Analytics with ASF Matomo in documentation
> -
>
> Key: MPOM-310
> URL: https://issues.apache.org/jira/browse/MPOM-310
> Project: Maven POMs
>  Issue Type: Improvement
>  Components: asf
>Affects Versions: ASF-25
>Reporter: Herve Boutemy
>Assignee: Herve Boutemy
>Priority: Major
> Fix For: MAVEN-36
>
>
> ASF Parent POM documentation is published to Maven site: it need to follow 
> Maven's tracking practice that is changing with MPOM-300



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (MPOM-310) Replace Google Analytics with ASF Matomo in documentation

2022-03-11 Thread Herve Boutemy (Jira)
Herve Boutemy created MPOM-310:
--

 Summary: Replace Google Analytics with ASF Matomo in documentation
 Key: MPOM-310
 URL: https://issues.apache.org/jira/browse/MPOM-310
 Project: Maven POMs
  Issue Type: Improvement
  Components: asf
Affects Versions: ASF-25
Reporter: Herve Boutemy
 Fix For: MAVEN-36






--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (MPOM-300) Replace Google Analytics with ASF Matomo

2022-03-11 Thread Herve Boutemy (Jira)


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

Herve Boutemy updated MPOM-300:
---
Affects Version/s: MAVEN-35

> Replace Google Analytics with ASF Matomo
> 
>
> Key: MPOM-300
> URL: https://issues.apache.org/jira/browse/MPOM-300
> Project: Maven POMs
>  Issue Type: Improvement
>Affects Versions: MAVEN-35
>Reporter: Benjamin Marwell
>Assignee: Benjamin Marwell
>Priority: Major
> Fix For: MAVEN-36
>
>
> While GA is still allowed according to the [ASF Privacy 
> Policy|https://www.apache.org/foundation/policies/privacy.html], there's now 
> [an ASF Matomo instance|https://matomo.privacy.apache.org/].
> * Matomo doesn't track full IPs, doesn't track sessions after closing the 
> browser, etc.
> * Additionally, GA is already illegal in some countries,, like France.
> Let's replace the GA code with Matomo.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (MPOM-302) Rename property surefire.version to surefireVersion

2022-03-11 Thread Herve Boutemy (Jira)


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

Herve Boutemy updated MPOM-302:
---
Description: {{surefire.version}} property was introduced in MPOM-108 
released first in ASF parent 18 
https://github.com/apache/maven-apache-parent/commit/b56133c80f8a308430a01ddb49c02794b7579bff
  (was: {{surefire.version}} property was introduced in ASF parent 18 
https://github.com/apache/maven-apache-parent/commit/b56133c80f8a308430a01ddb49c02794b7579bff)

> Rename property surefire.version to surefireVersion
> ---
>
> Key: MPOM-302
> URL: https://issues.apache.org/jira/browse/MPOM-302
> Project: Maven POMs
>  Issue Type: Task
>  Components: asf
>Affects Versions: ASF-18
>Reporter: Slawomir Jaranowski
>Priority: Major
>  Labels: warning
> Fix For: ASF-26
>
>
> {{surefire.version}} property was introduced in MPOM-108 released first in 
> ASF parent 18 
> https://github.com/apache/maven-apache-parent/commit/b56133c80f8a308430a01ddb49c02794b7579bff



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (MPOM-302) Rename property surefire.version to surefireVersion

2022-03-11 Thread Herve Boutemy (Jira)


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

Herve Boutemy updated MPOM-302:
---
Labels: warning  (was: )

> Rename property surefire.version to surefireVersion
> ---
>
> Key: MPOM-302
> URL: https://issues.apache.org/jira/browse/MPOM-302
> Project: Maven POMs
>  Issue Type: Task
>  Components: asf
>Affects Versions: ASF-18
>Reporter: Slawomir Jaranowski
>Priority: Major
>  Labels: warning
> Fix For: ASF-26
>
>
> {{surefire.version}} property was introduced in ASF parent 18 
> https://github.com/apache/maven-apache-parent/commit/b56133c80f8a308430a01ddb49c02794b7579bff



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (MPOM-303) Rename property maven.plugin.tools.version to mavenPluginToolsVersion

2022-03-11 Thread Herve Boutemy (Jira)


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

Herve Boutemy updated MPOM-303:
---
Description: {{maven.plugin.tools.version}} was introduced in ASF parent 25 
https://github.com/apache/maven-apache-parent/commit/5a878dcdc00439cf03d383096c62e9003b503bfe

> Rename property maven.plugin.tools.version to mavenPluginToolsVersion
> -
>
> Key: MPOM-303
> URL: https://issues.apache.org/jira/browse/MPOM-303
> Project: Maven POMs
>  Issue Type: Task
>  Components: asf
>Affects Versions: ASF-25
>Reporter: Slawomir Jaranowski
>Priority: Major
> Fix For: ASF-26
>
>
> {{maven.plugin.tools.version}} was introduced in ASF parent 25 
> https://github.com/apache/maven-apache-parent/commit/5a878dcdc00439cf03d383096c62e9003b503bfe



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (MPOM-303) Rename property maven.plugin.tools.version to mavenPluginToolsVersion

2022-03-11 Thread Herve Boutemy (Jira)


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

Herve Boutemy updated MPOM-303:
---
Affects Version/s: ASF-25

> Rename property maven.plugin.tools.version to mavenPluginToolsVersion
> -
>
> Key: MPOM-303
> URL: https://issues.apache.org/jira/browse/MPOM-303
> Project: Maven POMs
>  Issue Type: Task
>  Components: asf
>Affects Versions: ASF-25
>Reporter: Slawomir Jaranowski
>Priority: Major
> Fix For: ASF-26
>
>




--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (MPOM-302) Rename property surefire.version to surefireVersion

2022-03-11 Thread Herve Boutemy (Jira)


[ 
https://issues.apache.org/jira/browse/MPOM-302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17505166#comment-17505166
 ] 

Herve Boutemy commented on MPOM-302:


what is the rationale behind this change, please?

> Rename property surefire.version to surefireVersion
> ---
>
> Key: MPOM-302
> URL: https://issues.apache.org/jira/browse/MPOM-302
> Project: Maven POMs
>  Issue Type: Task
>  Components: asf
>Affects Versions: ASF-18
>Reporter: Slawomir Jaranowski
>Priority: Major
> Fix For: ASF-26
>
>
> {{surefire.version}} property was introduced in ASF parent 18 
> https://github.com/apache/maven-apache-parent/commit/b56133c80f8a308430a01ddb49c02794b7579bff



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (MPOM-302) Rename property surefire.version to surefireVersion

2022-03-11 Thread Herve Boutemy (Jira)


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

Herve Boutemy updated MPOM-302:
---
Description: {{surefire.version}} property was introduced in ASF parent 18 
https://github.com/apache/maven-apache-parent/commit/b56133c80f8a308430a01ddb49c02794b7579bff

> Rename property surefire.version to surefireVersion
> ---
>
> Key: MPOM-302
> URL: https://issues.apache.org/jira/browse/MPOM-302
> Project: Maven POMs
>  Issue Type: Task
>  Components: asf
>Affects Versions: ASF-18
>Reporter: Slawomir Jaranowski
>Priority: Major
> Fix For: ASF-26
>
>
> {{surefire.version}} property was introduced in ASF parent 18 
> https://github.com/apache/maven-apache-parent/commit/b56133c80f8a308430a01ddb49c02794b7579bff



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (MPOM-302) Rename property surefire.version to surefireVersion

2022-03-11 Thread Herve Boutemy (Jira)


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

Herve Boutemy updated MPOM-302:
---
Affects Version/s: ASF-18

> Rename property surefire.version to surefireVersion
> ---
>
> Key: MPOM-302
> URL: https://issues.apache.org/jira/browse/MPOM-302
> Project: Maven POMs
>  Issue Type: Task
>  Components: asf
>Affects Versions: ASF-18
>Reporter: Slawomir Jaranowski
>Priority: Major
> Fix For: ASF-26
>
>




--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (ARCHETYPE-628) error thrown when trying to create maven project from command line

2022-03-11 Thread CLAUDIA MARTINEZ (Jira)
CLAUDIA MARTINEZ created ARCHETYPE-628:
--

 Summary: error thrown when trying to create maven project from 
command line
 Key: ARCHETYPE-628
 URL: https://issues.apache.org/jira/browse/ARCHETYPE-628
 Project: Maven Archetype
  Issue Type: Bug
  Components: Plugin
 Environment: I just configured version 3.8.4, I have windows 10, I 
have already configured the environment variables (M2_HOME, MAVEN_HOME)
Reporter: CLAUDIA MARTINEZ
 Attachments: maven_error.txt

I just configured version 3.8.4, I have windows 10, I have already configured 
the environment variables (M2_HOME, MAVEN_HOME), and I am trying to create a 
maven project from the console with the following line:

mvn archetype:generate

or I have also tried with the sentence that they suggest in the maven site:

mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app 
-DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 
-DinteractiveMode=false

But it always throws me the same error (see attached txt file), that the plugin 
for the "Archetype" prefix was not found.

I already googled the error, and it seems that everything works very well for 
everyone, but it has not allowed me to create the project from the command line.

I hope you can help me.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (MSHADE-411) When Shade finds overlapping classes, clarify which class is added to final artifact

2022-03-11 Thread Michael Osipov (Jira)


[ 
https://issues.apache.org/jira/browse/MSHADE-411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17505102#comment-17505102
 ] 

Michael Osipov commented on MSHADE-411:
---

You see warning and overlap, but you don't see the ultimate source of which 
ends up in the shaded artifact. Therefore, you don't have predictability.

> When Shade finds overlapping classes, clarify which class is added to final 
> artifact
> 
>
> Key: MSHADE-411
> URL: https://issues.apache.org/jira/browse/MSHADE-411
> Project: Maven Shade Plugin
>  Issue Type: Improvement
>Reporter: John Hendrikx
>Priority: Minor
>
> For example:
> [WARNING] mediasystem-jfx-2.0.0-SNAPSHOT.jar, javafx-controls-16-win.jar 
> define 5 overlapping classes:
> [WARNING] - javafx.scene.control.skin.SpinnerSkin$2
> [WARNING] - javafx.scene.control.skin.SpinnerSkin
> [WARNING] - javafx.scene.control.skin.SpinnerSkin$1
> [WARNING] - javafx.scene.control.skin.SpinnerSkin$4
> [WARNING] - javafx.scene.control.skin.SpinnerSkin$3
> Here I purposely override the SpinnerSkin class to fix a bug. But it is 
> unclear which version eventually will make it in the uber.jar (I'm hoping it 
> takes it from the first jar listed).
> I could not find anything on the website, faq, stackoverflow that clarifies 
> *which* version of the class gets included.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[GitHub] [maven-verifier] kwin commented on a change in pull request #11: [MSHARED-871] add basic documentation

2022-03-11 Thread GitBox


kwin commented on a change in pull request #11:
URL: https://github.com/apache/maven-verifier/pull/11#discussion_r825044180



##
File path: src/site/markdown/getting-started.md
##
@@ -0,0 +1,94 @@
+
+
+# Getting Started
+
+## Overview
+
+Using the `Verifier` consists out of three different phases
+
+1. Configure
+2. Run
+3. Verify
+
+## Configure
+
+The `Verifier` instance is constructed in the simplest case with just one 
argument taking the path name of the base directory containing the `pom.xml` of 
the project you want to build.
+
+```
+String baseDir = ...
+Verifier verifier = new Verifier(baseDir);
+```
+
+The configuration can be further tweaked with additional setter methods and/or 
constructors taking more parameters.
+
+### System Properties
+
+The following systen properties/environment variables are evaluated
+
+| System Property | Description |
+| --- | --- |
+| `verifier.forkMode` | The following values are supported: `auto` uses 
the forked launcher when environment variables are set`embedder` always 
uses the embedded launcherany other value leads to always using the forked 
launcher
+| `maven.home` | The directory containing the Maven executable in `bin/mvn` |
+| `user.home` | Set by JRE, used for determining Maven default local 
repository path or the fallback Maven executable |
+| `maven.bootclasspath` | Only relevant if Maven home could be determined and 
the embedded launcher is being used. Determines the classpath of the launcher. 
May contain multiple path separated by the system dependent path separator.
+| `classworlds.conf` | Only relevant if Maven home could be determined and the 
embedded launcher is being used. The configuration file used by [Plexus 
Classworlds Loader][plexus-classwords]. If not set defaults to `/bin/m2.conf`. |
+| `maven.repo.local` | Contains the path of the local Maven repository |
+| `maven.repo.local.layout` | Layout of the local Maven repository. Either 
`legacy` or `default` with the latter being the default. |
+
+
+### Finding Maven Executable
+
+The following mechanism determines the binary which is used for executing 
Maven. This is 
+
+- either the embedded launcher which uses
+-  the `org.apache.maven.cli.MavenCli` class loaded from the context class 
loader (in case Maven Home could not be determined) or 
+-  the [Plexus Classworlds Loader][plexus-classwords] (in case Maven Home 
could be determined)
+-  or the forked launcher
+
+Whether the embedded or the forked launcher are used depends on the field 
`forkJvm` set through the constructor or `setForkJvm` or as fallback on the 
value of system property `verifier.forkMode`.
+
+ Determining Maven Home directory
+
+The following directories are considered as potential Maven home directory 
(relevant for both forked launcher and embedded launcher with  [Plexus 
Classworlds Loader][plexus-classwords]). The first existing directory 
terminates the mechanism. 
+
+1. Maven Home path given in the constructor
+2. System property `maven.home`
+3. Environment variable `M2_HOME`

Review comment:
   Please create a dedicated JIRA issue for that. This PR is just about 
documenting the status quo.




-- 
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-verifier] kwin commented on a change in pull request #11: [MSHARED-871] add basic documentation

2022-03-11 Thread GitBox


kwin commented on a change in pull request #11:
URL: https://github.com/apache/maven-verifier/pull/11#discussion_r825043513



##
File path: src/site/markdown/getting-started.md
##
@@ -0,0 +1,94 @@
+
+
+# Getting Started
+
+## Overview
+
+Using the `Verifier` consists out of three different phases
+
+1. Configure
+2. Run
+3. Verify

Review comment:
   Well, that is no toc but rather some explanation of the phases in 
paragraph "Overview".




-- 
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] (MSHADE-411) When Shade finds overlapping classes, clarify which class is added to final artifact

2022-03-11 Thread John Hendrikx (Jira)


[ 
https://issues.apache.org/jira/browse/MSHADE-411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17505098#comment-17505098
 ] 

John Hendrikx commented on MSHADE-411:
--

I'm not sure what you are saying, could you explain this it a bit more?

> When Shade finds overlapping classes, clarify which class is added to final 
> artifact
> 
>
> Key: MSHADE-411
> URL: https://issues.apache.org/jira/browse/MSHADE-411
> Project: Maven Shade Plugin
>  Issue Type: Improvement
>Reporter: John Hendrikx
>Priority: Minor
>
> For example:
> [WARNING] mediasystem-jfx-2.0.0-SNAPSHOT.jar, javafx-controls-16-win.jar 
> define 5 overlapping classes:
> [WARNING] - javafx.scene.control.skin.SpinnerSkin$2
> [WARNING] - javafx.scene.control.skin.SpinnerSkin
> [WARNING] - javafx.scene.control.skin.SpinnerSkin$1
> [WARNING] - javafx.scene.control.skin.SpinnerSkin$4
> [WARNING] - javafx.scene.control.skin.SpinnerSkin$3
> Here I purposely override the SpinnerSkin class to fix a bug. But it is 
> unclear which version eventually will make it in the uber.jar (I'm hoping it 
> takes it from the first jar listed).
> I could not find anything on the website, faq, stackoverflow that clarifies 
> *which* version of the class gets included.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Comment Edited] (MSHADE-411) When Shade finds overlapping classes, clarify which class is added to final artifact

2022-03-11 Thread John Hendrikx (Jira)


[ 
https://issues.apache.org/jira/browse/MSHADE-411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17505098#comment-17505098
 ] 

John Hendrikx edited comment on MSHADE-411 at 3/11/22, 7:42 PM:


I'm not sure what you are saying, could you explain this a bit more?


was (Author: john16384):
I'm not sure what you are saying, could you explain this it a bit more?

> When Shade finds overlapping classes, clarify which class is added to final 
> artifact
> 
>
> Key: MSHADE-411
> URL: https://issues.apache.org/jira/browse/MSHADE-411
> Project: Maven Shade Plugin
>  Issue Type: Improvement
>Reporter: John Hendrikx
>Priority: Minor
>
> For example:
> [WARNING] mediasystem-jfx-2.0.0-SNAPSHOT.jar, javafx-controls-16-win.jar 
> define 5 overlapping classes:
> [WARNING] - javafx.scene.control.skin.SpinnerSkin$2
> [WARNING] - javafx.scene.control.skin.SpinnerSkin
> [WARNING] - javafx.scene.control.skin.SpinnerSkin$1
> [WARNING] - javafx.scene.control.skin.SpinnerSkin$4
> [WARNING] - javafx.scene.control.skin.SpinnerSkin$3
> Here I purposely override the SpinnerSkin class to fix a bug. But it is 
> unclear which version eventually will make it in the uber.jar (I'm hoping it 
> takes it from the first jar listed).
> I could not find anything on the website, faq, stackoverflow that clarifies 
> *which* version of the class gets included.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[GitHub] [maven-resolver] michael-o commented on a change in pull request #158: MRESOLVER-247: Introduce skipper to avoid unnecessary dependency reso…

2022-03-11 Thread GitBox


michael-o commented on a change in pull request #158:
URL: https://github.com/apache/maven-resolver/pull/158#discussion_r825006511



##
File path: 
maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCollector.java
##
@@ -253,7 +253,9 @@ public CollectResult collectDependencies( 
RepositorySystemSession session, Colle
 
 DefaultVersionFilterContext versionContext = new 
DefaultVersionFilterContext( session );
 
-Args args = new Args( session, trace, pool, context, 
versionContext, request );
+Args args =
+new Args( session, trace, pool, context, versionContext, 
request,
+new DependencyResolutionSkipper() );

Review comment:
   Correc, that's be awesome. Interface and two impls. External names: 
`never` and maybe `default`?

##
File path: 
maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCollector.java
##
@@ -253,7 +253,9 @@ public CollectResult collectDependencies( 
RepositorySystemSession session, Colle
 
 DefaultVersionFilterContext versionContext = new 
DefaultVersionFilterContext( session );
 
-Args args = new Args( session, trace, pool, context, 
versionContext, request );
+Args args =
+new Args( session, trace, pool, context, versionContext, 
request,
+new DependencyResolutionSkipper() );

Review comment:
   Correct, that's be awesome. Interface and two impls. External names: 
`never` and maybe `default`?




-- 
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] cstamas edited a comment on pull request #158: MRESOLVER-247: Introduce skipper to avoid unnecessary dependency reso…

2022-03-11 Thread GitBox


cstamas edited a comment on pull request #158:
URL: https://github.com/apache/maven-resolver/pull/158#issuecomment-1065181795


   ```
   maven-integration-testing dcd63dc29413e5154df524002eea967521dd09fc
   
   mvn master:
   [INFO] Results:
   [INFO] 
   [ERROR] Errors: 
   [ERROR]   
MavenITmng4913UserPropertyVsDependencyPomPropertyTest>AbstractMavenIntegrationTestCase.runTest:265->testit:59
 » Verification
   [INFO] 
   [ERROR] Tests run: 890, Failures: 0, Errors: 1, Skipped: 0
   [INFO] Total time:  23:30 min
   
   mvn bfs (see footnote 1):
   [INFO] Results:
   [INFO] 
   [ERROR] Failures: 
   DT [ERROR]   
MavenITmng3652UserAgentHeaderTest>AbstractMavenIntegrationTestCase.runTest:265->testmng3652_AdditionnalHttpHeaderConfiguredInSettings:334
 expected:<[Maven Fu]> but was:<[Apache-Maven/4.0.0-alpha-1-SNAPSHOT (Java 
11.0.14; Linux 5.13.0-35-generic)]>
   DT [ERROR]   
MavenITmng3652UserAgentHeaderTest>AbstractMavenIntegrationTestCase.runTest:265->testmng3652_UserAgentConfiguredInSettings:298
 expected:<[Maven Fu]> but was:<[Apache-Maven/4.0.0-alpha-1-SNAPSHOT (Java 
11.0.14; Linux 5.13.0-35-generic)]>
   ?? [ERROR]   
MavenITmng5669ReadPomsOnce>AbstractMavenIntegrationTestCase.runTest:265->testWithBuildConsumer:131
 [{org.apache.maven.model.io.inputSource=null null, 
org.apache.maven.model.io.isStrict=true, 
org.apache.maven.model.building.source=/home/cstamas/Worx/apache-maven/maven-integration-testing/core-it-suite/target/test-classes/mng-5669-read-poms-once/pom.xml},
 {org.apache.maven.model.io.inputSource=null null, 
org.apache.maven.model.io.isStrict=true, 
org.apache.maven.model.building.source=/home/cstamas/Worx/apache-maven/maven-integration-testing/core-it-suite/target/test-classes/mng-5669-read-poms-once/module1/pom.xml},
 {org.apache.maven.model.io.inputSource=null null, 
org.apache.maven.model.io.isStrict=true, 
org.apache.maven.model.building.source=/home/cstamas/Worx/apache-maven/maven-integration-testing/core-it-suite/target/test-classes/mng-5669-read-poms-once/module2/pom.xml},
 {org.apache.maven.model.io.inputSource=null null, 
org.apache.maven.model.io.isStrict=true, org.apa
 
che.maven.model.building.source=/home/cstamas/Worx/apache-maven/maven-integration-testing/core-it-suite/target/test-classes/mng-5669-read-poms-once/module3/pom.xml},
 
{transformerContext=org.apache.maven.model.building.DefaultModelBuilder$DefaultTransformerContextBuilder$1@29f0c4f2},
 
{org.apache.maven.model.io.inputSource=org.apache.maven:maven-model-builder:4.0.0-alpha-1-SNAPSHOT:super-pom
 
jar:file:/home/cstamas/Worx/apache-maven/maven-integration-testing/core-it-suite/target/apache-maven/lib/maven-model-builder-4.0.0-alpha-1-SNAPSHOT.jar!/org/apache/maven/model/pom-4.0.0.xml,
 xml:4.0.0=xml:4.0.0}, 
{transformerContext=org.apache.maven.model.building.DefaultModelBuilder$DefaultTransformerContextBuilder$1@7c3ebc6b},
 
{transformerContext=org.apache.maven.model.building.DefaultModelBuilder$DefaultTransformerContextBuilder$1@de18f63},
 
{transformerContext=org.apache.maven.model.building.DefaultModelBuilder$DefaultTransformerContextBuilder$1@54aca26f},
 {org.apache.maven.model.io.isStrict=fa
 lse, 
org.apache.maven.model.building.source=/home/cstamas/Worx/apache-maven/maven-integration-testing/repo/org/apache/maven/plugins/maven-resources-plugin/2.6/maven-resources-plugin-2.6.pom},
 {org.apache.maven.model.io.isStrict=false, 
org.apache.maven.model.building.source=/home/cstamas/Worx/apache-maven/maven-integration-testing/repo/org/apache/maven/plugins/maven-plugins/23/maven-plugins-23.pom},
 {org.apache.maven.model.io.isStrict=false, 
org.apache.maven.model.building.source=/home/cstamas/Worx/apache-maven/maven-integration-testing/repo/org/apache/maven/maven-parent/22/maven-parent-22.pom},
 {org.apache.maven.model.io.isStrict=false, 
org.apache.maven.model.building.source=/home/cstamas/Worx/apache-maven/maven-integration-testing/repo/org/apache/apache/11/apache-11.pom},
 {org.apache.maven.model.io.isStrict=false, 
org.apache.maven.model.building.source=/home/cstamas/Worx/apache-maven/maven-integration-testing/repo/org/apache/maven/plugins/maven-compiler-plugin/3.1/maven-compiler-pl
 ugin-3.1.pom}, {org.apache.maven.model.io.isStrict=false, 
org.apache.maven.model.building.source=/home/cstamas/Worx/apache-maven/maven-integration-testing/repo/org/apache/maven/plugins/maven-plugins/24/maven-plugins-24.pom},
 {org.apache.maven.model.io.isStrict=false, 
org.apache.maven.model.building.source=/home/cstamas/Worx/apache-maven/maven-integration-testing/repo/org/apache/maven/maven-parent/23/maven-parent-23.pom},
 {org.apache.maven.model.io.isStrict=false, 
org.apache.maven.model.building.source=/home/cstamas/Worx/apache-maven/maven-integration-testing/repo/org/apache/apache/13/apache-13.pom},
 {org.apache.maven.model.io.isStrict=false, 
org.apache.maven.model.building.source=/home/cstamas/Worx/apache-maven/maven-integration-testing/repo/org/apache/maven/plugins/maven-surefire-plugin/2.12.4/maven-surefire-plugin-2.

[GitHub] [maven-integration-testing] cstamas edited a comment on pull request #140: [MRESOLVER-247] IT update for resolver behaviour change

2022-03-11 Thread GitBox


cstamas edited a comment on pull request #140:
URL: 
https://github.com/apache/maven-integration-testing/pull/140#issuecomment-1065402086


   > I don't understand this change. Why 140+? And how did `+ 4` make it to `- 
4`? Moving the expected value to a constant make sense, but the rest is unclear.
   
   Changes one by one:
   * The assert for 140+ is really just to exclude false positives (ie. Maven 
does not parse even one POM). We KNOW there are hundred-something POMs to 
parse, but we DO NOT WANT to fix that number (as will change between 
DFS/BFS/skipper)
   * instead to assert lines in log (created by agent), we "remember" the 
count, then we make that list unique, and compare size again
   * the +4 was factored out, the sum was asserted (168+4), so assertion 
happened with 172, hence, to get 168 out of 172 we do -4.
   * In other words (applies to testWithBuildConsumer) method only: we KNOW 
that reactor POMs are read twice (and reactor has 2 POMs, hence we "correct" 
the count with -4)
   * finally, I have a list of strings, making them unique by file path (using 
`model.building.source`) and asserting result is list.size - 1 = uniqList.size 
(as super pom is OMITTED from uniq list, it has NO `model.building.sourcre`).
   
   Example of log entries for POM that went thru model builder vs Super POM 
(reformatted for easier read, they are all one liners):
   ```
   {
 org.apache.maven.model.io.inputSource=null null, 
 org.apache.maven.model.io.isStrict=true, 
 
org.apache.maven.model.building.source=/home/cstamas/Worx/apache-maven/maven-integration-testing/core-it-
 suite/target/test-classes/mng-5669-read-poms-once/module3/pom.xml
   }, 
   {
 
org.apache.maven.model.io.inputSource=org.apache.maven:maven-model-builder:4.0.0-alpha-1-SNAPSHOT:super-pom
 
jar:file:/home/cstamas/Worx/apache-maven/maven-integration-testing/core-it-suite/target/apache-maven/lib/maven-model-builder-4.0.0-alpha-1-SNAPSHOT.jar!/org/apache/maven/model/pom-4.0.0.xml,
 
 xml:4.0.0=xml:4.0.0
   }
   
   ```


-- 
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] cstamas commented on a change in pull request #158: MRESOLVER-247: Introduce skipper to avoid unnecessary dependency reso…

2022-03-11 Thread GitBox


cstamas commented on a change in pull request #158:
URL: https://github.com/apache/maven-resolver/pull/158#discussion_r824996140



##
File path: 
maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCollector.java
##
@@ -253,7 +253,9 @@ public CollectResult collectDependencies( 
RepositorySystemSession session, Colle
 
 DefaultVersionFilterContext versionContext = new 
DefaultVersionFilterContext( session );
 
-Args args = new Args( session, trace, pool, context, 
versionContext, request );
+Args args =
+new Args( session, trace, pool, context, versionContext, 
request,
+new DependencyResolutionSkipper() );

Review comment:
   Session is here, so based on configUtil results using session, one could 
create instance of DependencyResolutionSkipper or NeverSkipper 😄 




-- 
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] cstamas commented on pull request #129: [MNG-7371] Parent POM for dependency packaging is not pom

2022-03-11 Thread GitBox


cstamas commented on pull request #129:
URL: 
https://github.com/apache/maven-integration-testing/pull/129#issuecomment-1065403606


   This was a fluke, closing, dropping this


-- 
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] cstamas closed pull request #129: [MNG-7371] Parent POM for dependency packaging is not pom

2022-03-11 Thread GitBox


cstamas closed pull request #129:
URL: https://github.com/apache/maven-integration-testing/pull/129


   


-- 
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] gnodet commented on pull request #690: [MNG-7429] The classloader containing build extension should be used throughout the build

2022-03-11 Thread GitBox


gnodet commented on pull request #690:
URL: https://github.com/apache/maven/pull/690#issuecomment-1065402650


   > > Isn't that exactly the opposite of what is done for lifecycle 
participants and workspace readers at boot time ? Those are loaded from all 
registered extensions for all projects and are active for the whole build.
   > 
   > But each of those are loaded from their own classloader (there is no 
shared one) if they are defined at the project level. If they are defined as 
core-extension they are all loaded from the "maven-core-realm", that's why I 
said if you want to be on the "global-scope" (thus all projects are sharing the 
same instance) you should use a maven-core extension.
   
   But I'm not talking about changing the class loaders, just the visibility 
for beans with plexus lookup.  I don't see why `WorkspaceReader` and 
`AbstractMavenLifecycleParticipant` should be treated differently than any 
other lookup.
   
   > The whole caching-story for me sounds as if it is more suitable as a 
core-extension, for example tycho is defined on a per project level, but we 
check as the very first step that **all** projects in the reactor are using the 
same tycho version and fail the build if not. Neverless my goal is to make 
tycho a pure core-extension because project-scoped is much more limited and 
requires special care.
   
   Core extensions are not loaded if you're aggregating multiple projects as 
you hinted earlier, so I guess it really depends on the use case.  I don't 
really any good reason to not try to support both.
   
   I've added a commit which explains my thoughts : a single ClassRealm is 
created with all extensions (and not only the ones from top level or the last 
project).  This realm is not used to load classes from, it's only used for 
lookups.  It's created as early as possible after the projects are created and 
used as the context classloader.  It removes the need for explicit lookup in 
those realms for workspace readers and lifecycle participants.
   


-- 
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] cstamas commented on pull request #140: [MRESOLVER-247] IT update for resolver behaviour change

2022-03-11 Thread GitBox


cstamas commented on pull request #140:
URL: 
https://github.com/apache/maven-integration-testing/pull/140#issuecomment-1065402086


   > I don't understand this change. Why 140+? And how did `+ 4` make it to `- 
4`? Moving the expected value to a constant make sense, but the rest is unclear.
   
   Changes one by one:
   * The assert for 140+ is really just to exclude false positives (ie. Maven 
does not parse even one POM). We KNOW there are hundred-something POMs to 
parse, but we DO NOT WANT to fix that number (as will change between 
DFS/BFS/skipper)
   * instead to assert lines in log (created by agent), we "remember" the 
count, then we make that list unique, and compare size again
   * the +4 was factored out, the sum was asserted (168+4), so assertion 
happened with 172, hence, to get 168 out of 172 we do -4.
   * In other words (applies to testWithBuildConsumer) method only: we KNOW 
that reactor POMs are read twice (and reactor has 2 POMs, hence we "correct" 
the count with -4)
   * finally, I have a list of strings, making them unique by file path (using 
`model.building.source`) and asserting result is list.size - 1 = uniqList.size 
(as super pom is OMITTED from this list, it has NO `model.building.sourcre`).
   
   Example of log entries for POM that went thru model builder vs Super POM 
(reformatted for easier read, they are all one liners):
   ```
   {
 org.apache.maven.model.io.inputSource=null null, 
 org.apache.maven.model.io.isStrict=true, 
 
org.apache.maven.model.building.source=/home/cstamas/Worx/apache-maven/maven-integration-testing/core-it-
 suite/target/test-classes/mng-5669-read-poms-once/module3/pom.xml
   }, 
   {
 
org.apache.maven.model.io.inputSource=org.apache.maven:maven-model-builder:4.0.0-alpha-1-SNAPSHOT:super-pom
 
jar:file:/home/cstamas/Worx/apache-maven/maven-integration-testing/core-it-suite/target/apache-maven/lib/maven-model-builder-4.0.0-alpha-1-SNAPSHOT.jar!/org/apache/maven/model/pom-4.0.0.xml,
 
 xml:4.0.0=xml:4.0.0
   }
   
   ```


-- 
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 pull request #158: MRESOLVER-247: Introduce skipper to avoid unnecessary dependency reso…

2022-03-11 Thread GitBox


michael-o commented on pull request #158:
URL: https://github.com/apache/maven-resolver/pull/158#issuecomment-1065380564


   > One remark: maybe a config param to DISABLE skipper? As sometimes 
inspecting the "whole overloaded" graph is useful, no? And skipper is added 
always currently. So maybe an another skipper implementation that is "no-skip"?
   
   This makes sense. @caiwei-ebay Do you see a way to make this configurable?


-- 
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 pull request #158: MRESOLVER-247: Introduce skipper to avoid unnecessary dependency reso…

2022-03-11 Thread GitBox


michael-o commented on pull request #158:
URL: https://github.com/apache/maven-resolver/pull/158#issuecomment-1065379812


   > ```
   > mvn 3.8.4:
   > Total time:40.749 s
   > Total files: 4675
   > Total bytes: 169M
   > 
   > mvn master:
   > Total time:38.446 s
   > Total files: 4673
   > Total bytes: 169M
   > 
   > mvn bfs:
   > Total time:33.510 s
   > Total files: 4556
   > Total bytes: 168M
   > ```
   > 
   > (all 3 building current mvn master 
97c1e4b4aa73f5851801fdf5e17f013dd46a6b3e w/ empty local repo, primed proxy, no 
tests executed) (files/bytes are count of files and total size in bytes of 
local repo AFTER build done)
   
   This is actually fantastic since we save time when we skip. @jebeaudet Can 
you test this at work to speed up your build as well?


-- 
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] (MPLUGIN-394) Report-Mojo doesn't respect input encoding

2022-03-11 Thread ASF GitHub Bot (Jira)


[ 
https://issues.apache.org/jira/browse/MPLUGIN-394?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17505064#comment-17505064
 ] 

ASF GitHub Bot commented on MPLUGIN-394:


michael-o commented on a change in pull request #73:
URL: https://github.com/apache/maven-plugin-tools/pull/73#discussion_r824972534



##
File path: 
maven-plugin-plugin/src/it/mplugin-394_report-encoding/invoker.properties
##
@@ -0,0 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+invoker.goals = -Dfile.encoding=CP1252 plugin:report

Review comment:
   @SebastianKuehn Please add a followup PR which documents the limitations 
of this PR




-- 
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


> Report-Mojo doesn't respect input encoding
> --
>
> Key: MPLUGIN-394
> URL: https://issues.apache.org/jira/browse/MPLUGIN-394
> Project: Maven Plugin Tools
>  Issue Type: Bug
>  Components: Plugin Plugin
>Affects Versions: 3.6.4
>Reporter: Sebastian Kühn
>Assignee: Herve Boutemy
>Priority: Major
> Fix For: 3.7.0
>
>
> {{plugin:report}} reads the Plugin-XML-File with with the platform encoding 
> instead of the specified input encoding. This results in an broken generated 
> XDoc and finally Site.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[GitHub] [maven-plugin-tools] michael-o commented on a change in pull request #73: [MPLUGIN-394] Respect input encoding

2022-03-11 Thread GitBox


michael-o commented on a change in pull request #73:
URL: https://github.com/apache/maven-plugin-tools/pull/73#discussion_r824972534



##
File path: 
maven-plugin-plugin/src/it/mplugin-394_report-encoding/invoker.properties
##
@@ -0,0 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+invoker.goals = -Dfile.encoding=CP1252 plugin:report

Review comment:
   @SebastianKuehn Please add a followup PR which documents the limitations 
of this PR




-- 
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-mvnd] jglick commented on issue #579: `java.lang.NoSuchMethodError: org.apache.maven.project.MavenProject.setArtifacts(Ljava/util/Set;)V`

2022-03-11 Thread GitBox


jglick commented on issue #579:
URL: https://github.com/apache/maven-mvnd/issues/579#issuecomment-1065368840


   Any plans to release 0.7.2?


-- 
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] crizzis commented on a change in pull request #487: [SUREFIRE-2037] Allow for surefire-junit-platform's TestMethodFilter …

2022-03-11 Thread GitBox


crizzis commented on a change in pull request #487:
URL: https://github.com/apache/maven-surefire/pull/487#discussion_r824922994



##
File path: 
surefire-providers/surefire-junit-platform/src/main/java/org/apache/maven/surefire/junitplatform/JUnitPlatformProvider.java
##
@@ -70,13 +39,47 @@
 import org.junit.platform.launcher.TestIdentifier;
 import org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder;
 
+import java.io.IOException;
+import java.io.StringReader;
+import java.io.UncheckedIOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+import java.util.Properties;
+import java.util.ServiceLoader;
+import java.util.logging.Logger;
+import java.util.stream.Collectors;
+import java.util.stream.StreamSupport;
+
+import static java.util.Arrays.stream;
+import static java.util.Collections.emptyMap;
+import static java.util.Optional.empty;
+import static java.util.Optional.of;
+import static java.util.logging.Level.WARNING;
+import static java.util.stream.Collectors.toList;
+import static 
org.apache.maven.surefire.api.booter.ProviderParameterNames.EXCLUDE_JUNIT5_ENGINES_PROP;
+import static 
org.apache.maven.surefire.api.booter.ProviderParameterNames.INCLUDE_JUNIT5_ENGINES_PROP;
+import static 
org.apache.maven.surefire.api.booter.ProviderParameterNames.TESTNG_EXCLUDEDGROUPS_PROP;
+import static 
org.apache.maven.surefire.api.booter.ProviderParameterNames.TESTNG_GROUPS_PROP;
+import static 
org.apache.maven.surefire.api.report.ConsoleOutputCapture.startCapture;
+import static org.apache.maven.surefire.api.report.RunMode.NORMAL_RUN;
+import static 
org.apache.maven.surefire.api.report.RunMode.RERUN_TEST_AFTER_FAILURE;
+import static org.apache.maven.surefire.api.util.TestsToRun.fromClass;
+import static org.apache.maven.surefire.shared.utils.StringUtils.isBlank;
+import static 
org.junit.platform.engine.discovery.DiscoverySelectors.selectClass;
+import static 
org.junit.platform.engine.discovery.DiscoverySelectors.selectUniqueId;
+import static 
org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder.request;
+
 /**
  * JUnit 5 Platform Provider.
  *
  * @since 2.22.0
  */
-public class JUnitPlatformProvider
-extends AbstractProvider
+public class JUnitPlatformProvider extends AbstractProvider

Review comment:
   I've reformatted this class according to `maven_checks` after getting 
checkstyle violations. 
   
   Let me try to revert unrelated changes
   
   EDIT Done, see updated code




-- 
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] crizzis commented on a change in pull request #487: [SUREFIRE-2037] Allow for surefire-junit-platform's TestMethodFilter …

2022-03-11 Thread GitBox


crizzis commented on a change in pull request #487:
URL: https://github.com/apache/maven-surefire/pull/487#discussion_r824921536



##
File path: surefire-providers/surefire-junit-platform/pom.xml
##
@@ -136,6 +136,47 @@
 
 
 
+
+  org.apache.maven.plugins
+  maven-jar-plugin
+  
+
+  api-jar
+  package
+  
+jar
+  
+  
+api

Review comment:
   > Can you explain how the customer would implement the interface 
TestSelectorFactory you have introduced? What types of sources can be filtered 
and how they can be configured?
   
   Absolutely. 
   
   Here is my implementation for ArchUnit's 
[`FieldSource`](https://github.com/TNG/ArchUnit/blob/2f3ff7dccbe3e3d8900604801fd545dd0c2e70d8/archunit-junit/junit5/engine-api/src/main/java/com/tngtech/archunit/junit/FieldSource.java):
 
   
   ```
   package com.tngtech.archunit.junit.surefire;
   
   import com.tngtech.archunit.junit.FieldSource;
   import org.apache.maven.surefire.junitplatform.TestSelectorFactory;
   import org.junit.platform.engine.TestSource;
   
   public class FieldSelectorFactory implements TestSelectorFactory {
   @Override
   public boolean supports(TestSource testSource) {
   return testSource instanceof FieldSource;
   }
   
   @Override
   public String getContainerName(TestSource testSource) {
   return ((FieldSource) testSource).getClassName();
   }
   
   @Override
   public String getSelectorName(TestSource testSource) {
   return ((FieldSource) testSource).getFieldName();
   }
   }
   ```
   
   It solves the problem of adding support for applying the same filtering 
logic Surefire now applies to methods, to other test sources (`FieldSource` in 
this case). 
   
   In case you're unfamiliar with ArchUnit, here's what an ArchUnit test might 
look like: 
   
   ```
   @AnalyzeClasses(packages = "com.tngtech.archunit.example.layers")
   public class CodingRulesTest {
   
   @ArchTest
   private final ArchRule loggers_should_be_private_static_final =
   fields().that().haveRawType(Logger.class)
   .should().bePrivate()
   .andShould().beStatic()
   .andShould().beFinal()
   .because("we agreed on this convention");
   }
   ```
   As you can see, test cases are represented by *fields*, and not *methods*. 
This is also why the default Surefire `include / exclude` filters do not work. 
   
   > JUnit5 SPI do not exist with same purpose?
   
   Yes, of course it exists, and that's exactly what ArchUnit does under the 
hood. There's no way to influence Surefire filtering logic from inside a JUnit 
extension, though. 
   
   I've already verified providing this implementation of the new SPI in 
ArchUnit solves [the linked ArchUnit 
issue](https://github.com/TNG/ArchUnit/issues/641) for Surefire. I'm now about 
to suggest similar extensibility to other build tools. 




-- 
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] crizzis commented on a change in pull request #487: [SUREFIRE-2037] Allow for surefire-junit-platform's TestMethodFilter …

2022-03-11 Thread GitBox


crizzis commented on a change in pull request #487:
URL: https://github.com/apache/maven-surefire/pull/487#discussion_r824921536



##
File path: surefire-providers/surefire-junit-platform/pom.xml
##
@@ -136,6 +136,47 @@
 
 
 
+
+  org.apache.maven.plugins
+  maven-jar-plugin
+  
+
+  api-jar
+  package
+  
+jar
+  
+  
+api

Review comment:
   > Can you explain how the customer would implement the interface 
TestSelectorFactory you have introduced? What types of sources can be filtered 
and how they can be configured?
   
   Absolutely. 
   
   Here is my implementation for ArchUnit's 
[`FieldSelector`](https://github.com/TNG/ArchUnit/blob/2f3ff7dccbe3e3d8900604801fd545dd0c2e70d8/archunit-junit/junit5/engine-api/src/main/java/com/tngtech/archunit/junit/FieldSelector.java):
 
   
   ```
   package com.tngtech.archunit.junit.surefire;
   
   import com.tngtech.archunit.junit.FieldSource;
   import org.apache.maven.surefire.junitplatform.TestSelectorFactory;
   import org.junit.platform.engine.TestSource;
   
   public class FieldSelectorFactory implements TestSelectorFactory {
   @Override
   public boolean supports(TestSource testSource) {
   return testSource instanceof FieldSource;
   }
   
   @Override
   public String getContainerName(TestSource testSource) {
   return ((FieldSource) testSource).getClassName();
   }
   
   @Override
   public String getSelectorName(TestSource testSource) {
   return ((FieldSource) testSource).getFieldName();
   }
   }
   ```
   
   It solves the problem of adding support for applying the same filtering 
logic Surefire now applies to methods, to other test sources (`FieldSource` in 
this case). 
   
   In case you're unfamiliar with ArchUnit, here's what an ArchUnit test might 
look like: 
   
   ```
   @AnalyzeClasses(packages = "com.tngtech.archunit.example.layers")
   public class CodingRulesTest {
   
   @ArchTest
   private final ArchRule loggers_should_be_private_static_final =
   fields().that().haveRawType(Logger.class)
   .should().bePrivate()
   .andShould().beStatic()
   .andShould().beFinal()
   .because("we agreed on this convention");
   }
   ```
   As you can see, test cases are represented by *fields*, and not *methods*. 
This is also why the default Surefire `include / exclude` filters do not work. 
   
   > JUnit5 SPI do not exist with same purpose?
   
   Yes, of course it exists, and that's exactly what ArchUnit does under the 
hood. There's no way to influence Surefire filtering logic from inside a JUnit 
extension, though. 
   
   I've already verified providing this implementation of the new SPI in 
ArchUnit solves [the linked ArchUnit 
issue](https://github.com/TNG/ArchUnit/issues/641) for Surefire. I'm now about 
to suggest similar extensibility to other build tools. 




-- 
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-jxr] slawekjaranowski merged pull request #48: Bump slf4j-api from 1.7.32 to 1.7.36

2022-03-11 Thread GitBox


slawekjaranowski merged pull request #48:
URL: https://github.com/apache/maven-jxr/pull/48


   


-- 
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] crizzis commented on a change in pull request #487: [SUREFIRE-2037] Allow for surefire-junit-platform's TestMethodFilter …

2022-03-11 Thread GitBox


crizzis commented on a change in pull request #487:
URL: https://github.com/apache/maven-surefire/pull/487#discussion_r824930706



##
File path: surefire-providers/surefire-junit-platform/pom.xml
##
@@ -136,6 +136,47 @@
 
 
 
+
+  org.apache.maven.plugins
+  maven-jar-plugin
+  
+
+  api-jar
+  package
+  
+jar
+  
+  
+api

Review comment:
   Also, if I understand correctly, here: 
   
   > The plugin has configuration of class/methods. If somebody changes this in 
the SPI, then what you be valid? Configuration or SPI?
   
   You're asking what happens if someone overwrites the service to something 
else than `MethodSelectorFactory`. The answer is here: 
   
   ```
   private Collection loadSelectorFactories()
   {
   return StreamSupport.stream( ServiceLoader.load( 
TestSelectorFactory.class ).spliterator(), false )
   .collect( Collectors.toSet() );
   }
   ```
   
   Basically, there's no 'changing the SPI'. `MethodSelectorFactory` is always 
provided as the default implementation, and  extending libraries can only add 
new service implementations. `MethodSelectorFactory` **cannot be resigned from, 
though**. 
   
   Thus, for those users who do not extend this SPI in any way, the behavior of 
Surefire will be consistent with the behavior before this PR. 
   
   > There are other two SPI modules surefire-extensions-spi (for the forked 
JVM) and surefire-extensions-api (for the plugin process)
   
   Yes, and unfortunately, they do not fit my use case. I *could* implement a 
custom `SurefireProvider`, but that would basically mean re-implementing the 
current `JUnitPlatformProvider`, which is 99% suitable but completely closed 
for extension. This minuscule SPI introduction is really the smallest possible 
change that solves the problem without affecting other plugin users. 




-- 
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] crizzis commented on a change in pull request #487: [SUREFIRE-2037] Allow for surefire-junit-platform's TestMethodFilter …

2022-03-11 Thread GitBox


crizzis commented on a change in pull request #487:
URL: https://github.com/apache/maven-surefire/pull/487#discussion_r824921536



##
File path: surefire-providers/surefire-junit-platform/pom.xml
##
@@ -136,6 +136,47 @@
 
 
 
+
+  org.apache.maven.plugins
+  maven-jar-plugin
+  
+
+  api-jar
+  package
+  
+jar
+  
+  
+api

Review comment:
   > Can you explain how the customer would implement the interface 
TestSelectorFactory you have introduced? What types of sources can be filtered 
and how they can be configured?
   
   Absolutely. 
   
   Here is my implementation for ArchUnit's 
[`FieldSelector`](https://github.com/TNG/ArchUnit/blob/2f3ff7dccbe3e3d8900604801fd545dd0c2e70d8/archunit-junit/junit5/engine-api/src/main/java/com/tngtech/archunit/junit/FieldSelector.java):
 
   
   ```
   package com.tngtech.archunit.junit.surefire;
   
   import com.tngtech.archunit.junit.FieldSource;
   import org.apache.maven.surefire.junitplatform.TestSelectorFactory;
   import org.junit.platform.engine.TestSource;
   
   public class FieldSelectorFactory implements TestSelectorFactory {
   @Override
   public boolean supports(TestSource testSource) {
   return testSource instanceof FieldSource;
   }
   
   @Override
   public String getContainerName(TestSource testSource) {
   return ((FieldSource) testSource).getClassName();
   }
   
   @Override
   public String getSelectorName(TestSource testSource) {
   return ((FieldSource) testSource).getFieldName();
   }
   }
   ```
   
   It solves the problem of adding support for applying the same filtering 
logic Surefire now applies to methods, to other test sources (`FieldSource` in 
this case). I'm now about to suggest similar extensibility to other build 
tools. 
   
   I've already verified providing this implementation of the new SPI in 
ArchUnit solves [the linked ArchUnit 
issue](https://github.com/TNG/ArchUnit/issues/641) for Surefire. 




-- 
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] crizzis commented on a change in pull request #487: [SUREFIRE-2037] Allow for surefire-junit-platform's TestMethodFilter …

2022-03-11 Thread GitBox


crizzis commented on a change in pull request #487:
URL: https://github.com/apache/maven-surefire/pull/487#discussion_r824921536



##
File path: surefire-providers/surefire-junit-platform/pom.xml
##
@@ -136,6 +136,47 @@
 
 
 
+
+  org.apache.maven.plugins
+  maven-jar-plugin
+  
+
+  api-jar
+  package
+  
+jar
+  
+  
+api

Review comment:
   > Can you explain how the customer would implement the interface 
TestSelectorFactory you have introduced? What types of sources can be filtered 
and how they can be configured?
   
   Absolutely. 
   
   Here is my implementation for ArchUnit's 
[`FieldSelector`](https://github.com/TNG/ArchUnit/blob/2f3ff7dccbe3e3d8900604801fd545dd0c2e70d8/archunit-junit/junit5/engine-api/src/main/java/com/tngtech/archunit/junit/FieldSelector.java):
 
   
   ```
   package com.tngtech.archunit.junit.surefire;
   
   import com.tngtech.archunit.junit.FieldSource;
   import org.apache.maven.surefire.junitplatform.TestSelectorFactory;
   import org.junit.platform.engine.TestSource;
   
   public class FieldSelectorFactory implements TestSelectorFactory {
   @Override
   public boolean supports(TestSource testSource) {
   return testSource instanceof FieldSource;
   }
   
   @Override
   public String getContainerName(TestSource testSource) {
   return ((FieldSource) testSource).getClassName();
   }
   
   @Override
   public String getSelectorName(TestSource testSource) {
   return ((FieldSource) testSource).getFieldName();
   }
   }
   ```
   
   It solves the problem of adding support for applying the same filtering 
logic Surefire now applies to methods, to other test sources (`FieldSource` in 
this case). 
   
   I've already verified providing this implementation of the new SPI in 
ArchUnit solves [the linked ArchUnit 
issue](https://github.com/TNG/ArchUnit/issues/641) for Surefire. 




-- 
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] crizzis commented on a change in pull request #487: [SUREFIRE-2037] Allow for surefire-junit-platform's TestMethodFilter …

2022-03-11 Thread GitBox


crizzis commented on a change in pull request #487:
URL: https://github.com/apache/maven-surefire/pull/487#discussion_r824930706



##
File path: surefire-providers/surefire-junit-platform/pom.xml
##
@@ -136,6 +136,47 @@
 
 
 
+
+  org.apache.maven.plugins
+  maven-jar-plugin
+  
+
+  api-jar
+  package
+  
+jar
+  
+  
+api

Review comment:
   Also, if I understand correctly, here: 
   
   > The plugin has configuration of class/methods. If somebody changes this in 
the SPI, then what you be valid? Configuration or SPI?
   
   You're asking what happens if someone overwrites the service to something 
else than `MethodSelectorFactory`. The answer is here: 
   
   ```
   private Collection loadSelectorFactories()
   {
   return StreamSupport.stream( ServiceLoader.load( 
TestSelectorFactory.class ).spliterator(), false )
   .collect( Collectors.toSet() );
   }
   ```
   
   Basically, there's 'no changing the SPI'. `MethodSelectorFactory` is always 
provided as the default implementation, and  extending libraries can only add 
new service implementations. `MethodSelectorFactory` **cannot be resigned from, 
though**. 
   
   Thus, for those users who do not extend this SPI in any way, the behavior of 
Surefire will be consistent with the behavior before this PR. 

##
File path: surefire-providers/surefire-junit-platform/pom.xml
##
@@ -136,6 +136,47 @@
 
 
 
+
+  org.apache.maven.plugins
+  maven-jar-plugin
+  
+
+  api-jar
+  package
+  
+jar
+  
+  
+api

Review comment:
   Also, if I understand correctly, here: 
   
   > The plugin has configuration of class/methods. If somebody changes this in 
the SPI, then what you be valid? Configuration or SPI?
   
   You're asking what happens if someone overwrites the service to something 
else than `MethodSelectorFactory`. The answer is here: 
   
   ```
   private Collection loadSelectorFactories()
   {
   return StreamSupport.stream( ServiceLoader.load( 
TestSelectorFactory.class ).spliterator(), false )
   .collect( Collectors.toSet() );
   }
   ```
   
   Basically, there's no 'changing the SPI'. `MethodSelectorFactory` is always 
provided as the default implementation, and  extending libraries can only add 
new service implementations. `MethodSelectorFactory` **cannot be resigned from, 
though**. 
   
   Thus, for those users who do not extend this SPI in any way, the behavior of 
Surefire will be consistent with the behavior before this PR. 




-- 
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] crizzis commented on a change in pull request #487: [SUREFIRE-2037] Allow for surefire-junit-platform's TestMethodFilter …

2022-03-11 Thread GitBox


crizzis commented on a change in pull request #487:
URL: https://github.com/apache/maven-surefire/pull/487#discussion_r824930706



##
File path: surefire-providers/surefire-junit-platform/pom.xml
##
@@ -136,6 +136,47 @@
 
 
 
+
+  org.apache.maven.plugins
+  maven-jar-plugin
+  
+
+  api-jar
+  package
+  
+jar
+  
+  
+api

Review comment:
   Also, if I understand correctly, here: 
   
   > The plugin has configuration of class/methods. If somebody changes this in 
the SPI, then what you be valid? Configuration or SPI?
   
   You're asking what happens if someone overwrites the service to something 
else than `MethodSelectorFactory`. The answer is here: 
   
   ```
   private Collection loadSelectorFactories()
   {
   return StreamSupport.stream( ServiceLoader.load( 
TestSelectorFactory.class ).spliterator(), false )
   .collect( Collectors.toSet() );
   }
   ```
   
   Basically, there's 'no changing the SPI'. `MethodSelectorFactory` is always 
provided as the default implementation, and  extending libraries can only add 
new service implementations. 
   
   Thus, for those users who do not extend this SPI in any way, the behavior of 
Surefire will be consistent with the behavior before this PR. 




-- 
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] crizzis commented on a change in pull request #487: [SUREFIRE-2037] Allow for surefire-junit-platform's TestMethodFilter …

2022-03-11 Thread GitBox


crizzis commented on a change in pull request #487:
URL: https://github.com/apache/maven-surefire/pull/487#discussion_r824930706



##
File path: surefire-providers/surefire-junit-platform/pom.xml
##
@@ -136,6 +136,47 @@
 
 
 
+
+  org.apache.maven.plugins
+  maven-jar-plugin
+  
+
+  api-jar
+  package
+  
+jar
+  
+  
+api

Review comment:
   Also, if I understand correctly, here: 
   
   > The plugin has configuration of class/methods. If somebody changes this in 
the SPI, then what you be valid? Configuration or SPI?
   
   You're asking what happens if someone overwrites the service to something 
else than `MethodSelectorFactory`. The answer is here: 
   
   ```
   private Collection loadSelectorFactories()
   {
   return StreamSupport.stream( ServiceLoader.load( 
TestSelectorFactory.class ).spliterator(), false )
   .collect( Collectors.toSet() );
   }
   ```
   
   Basically, there's no overwriting. `MethodSelectorFactory` is always 
provided as the default implementation, and  extending libraries can only add 
new service implementations. 
   
   Thus, for those users who do not extend this SPI in any way, the behavior of 
Surefire will be consistent with the behavior before this PR. 




-- 
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] crizzis commented on a change in pull request #487: [SUREFIRE-2037] Allow for surefire-junit-platform's TestMethodFilter …

2022-03-11 Thread GitBox


crizzis commented on a change in pull request #487:
URL: https://github.com/apache/maven-surefire/pull/487#discussion_r824920327



##
File path: 
surefire-api/src/main/java/org/apache/maven/surefire/api/testset/TestListResolver.java
##
@@ -195,13 +195,13 @@ public boolean shouldRun( Class testClass, String 
methodName )
 /**
  * Returns {@code true} if satisfies {@code testClassFile} and {@code 
methodName} filter.
  *
- * @param testClassFile format must be e.g. "my/package/MyTest.class" 
including class extension; or null
- * @param methodName real test-method name; or null
+ * @param containerName format must be e.g. "my/package/MyTest.class" 
including class extension; or null

Review comment:
   The attribute names of this method have been changed to reflect their 
new meaning. The second parameter to this method, for instance, will no longer 
only ever represent method names. That's the entire purpose of this PR. 
   
   Would you care to explain why you would expect the parameters to retain 
their original names?




-- 
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] crizzis commented on a change in pull request #487: [SUREFIRE-2037] Allow for surefire-junit-platform's TestMethodFilter …

2022-03-11 Thread GitBox


crizzis commented on a change in pull request #487:
URL: https://github.com/apache/maven-surefire/pull/487#discussion_r824914180



##
File path: pom.xml
##
@@ -532,8 +532,7 @@
 src/test/resources/**/*
 src/test/resources/**/*.css
 **/*.jj
-
src/main/resources/META-INF/services/org.apache.maven.surefire.api.provider.SurefireProvider
-
+src/main/resources/META-INF/services/**

Review comment:
   Not sure I follow. 
   
   This was an intentional change, otherwise Rat would expect a license inside 
[META-INF/services/org.apache.maven.surefire.junitplatform.TestSelectorFactory](https://github.com/apache/maven-surefire/pull/487/files#diff-c7cece3a6cc077f79ed38dae264e97961c801cb107a602888ff19464dbbf4a54)
   
   Should I add an entry here for that specific file instead?




-- 
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] crizzis commented on a change in pull request #487: [SUREFIRE-2037] Allow for surefire-junit-platform's TestMethodFilter …

2022-03-11 Thread GitBox


crizzis commented on a change in pull request #487:
URL: https://github.com/apache/maven-surefire/pull/487#discussion_r824914180



##
File path: pom.xml
##
@@ -532,8 +532,7 @@
 src/test/resources/**/*
 src/test/resources/**/*.css
 **/*.jj
-
src/main/resources/META-INF/services/org.apache.maven.surefire.api.provider.SurefireProvider
-
+src/main/resources/META-INF/services/**

Review comment:
   Not sure I follow. 
   
   This was an intentional change, otherwise Rat would expect to embed a 
license inside 
[META-INF/services/org.apache.maven.surefire.junitplatform.TestSelectorFactory](https://github.com/apache/maven-surefire/pull/487/files#diff-c7cece3a6cc077f79ed38dae264e97961c801cb107a602888ff19464dbbf4a54)
   
   Should I add an entry here for that specific file instead?




-- 
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] crizzis commented on a change in pull request #487: [SUREFIRE-2037] Allow for surefire-junit-platform's TestMethodFilter …

2022-03-11 Thread GitBox


crizzis commented on a change in pull request #487:
URL: https://github.com/apache/maven-surefire/pull/487#discussion_r824922994



##
File path: 
surefire-providers/surefire-junit-platform/src/main/java/org/apache/maven/surefire/junitplatform/JUnitPlatformProvider.java
##
@@ -70,13 +39,47 @@
 import org.junit.platform.launcher.TestIdentifier;
 import org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder;
 
+import java.io.IOException;
+import java.io.StringReader;
+import java.io.UncheckedIOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+import java.util.Properties;
+import java.util.ServiceLoader;
+import java.util.logging.Logger;
+import java.util.stream.Collectors;
+import java.util.stream.StreamSupport;
+
+import static java.util.Arrays.stream;
+import static java.util.Collections.emptyMap;
+import static java.util.Optional.empty;
+import static java.util.Optional.of;
+import static java.util.logging.Level.WARNING;
+import static java.util.stream.Collectors.toList;
+import static 
org.apache.maven.surefire.api.booter.ProviderParameterNames.EXCLUDE_JUNIT5_ENGINES_PROP;
+import static 
org.apache.maven.surefire.api.booter.ProviderParameterNames.INCLUDE_JUNIT5_ENGINES_PROP;
+import static 
org.apache.maven.surefire.api.booter.ProviderParameterNames.TESTNG_EXCLUDEDGROUPS_PROP;
+import static 
org.apache.maven.surefire.api.booter.ProviderParameterNames.TESTNG_GROUPS_PROP;
+import static 
org.apache.maven.surefire.api.report.ConsoleOutputCapture.startCapture;
+import static org.apache.maven.surefire.api.report.RunMode.NORMAL_RUN;
+import static 
org.apache.maven.surefire.api.report.RunMode.RERUN_TEST_AFTER_FAILURE;
+import static org.apache.maven.surefire.api.util.TestsToRun.fromClass;
+import static org.apache.maven.surefire.shared.utils.StringUtils.isBlank;
+import static 
org.junit.platform.engine.discovery.DiscoverySelectors.selectClass;
+import static 
org.junit.platform.engine.discovery.DiscoverySelectors.selectUniqueId;
+import static 
org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder.request;
+
 /**
  * JUnit 5 Platform Provider.
  *
  * @since 2.22.0
  */
-public class JUnitPlatformProvider
-extends AbstractProvider
+public class JUnitPlatformProvider extends AbstractProvider

Review comment:
   I've reformatted this class according to `maven_checks` after getting 
checkstyle violations. 
   
   Let me try to revert unrelated changes




-- 
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] crizzis commented on a change in pull request #487: [SUREFIRE-2037] Allow for surefire-junit-platform's TestMethodFilter …

2022-03-11 Thread GitBox


crizzis commented on a change in pull request #487:
URL: https://github.com/apache/maven-surefire/pull/487#discussion_r824921536



##
File path: surefire-providers/surefire-junit-platform/pom.xml
##
@@ -136,6 +136,47 @@
 
 
 
+
+  org.apache.maven.plugins
+  maven-jar-plugin
+  
+
+  api-jar
+  package
+  
+jar
+  
+  
+api

Review comment:
   Absolutely. 
   
   Here is my implementation for ArchUnit's 
[`FieldSelector`](https://github.com/TNG/ArchUnit/blob/2f3ff7dccbe3e3d8900604801fd545dd0c2e70d8/archunit-junit/junit5/engine-api/src/main/java/com/tngtech/archunit/junit/FieldSelector.java):
 
   
   ```
   package com.tngtech.archunit.junit.surefire;
   
   import com.tngtech.archunit.junit.FieldSource;
   import org.apache.maven.surefire.junitplatform.TestSelectorFactory;
   import org.junit.platform.engine.TestSource;
   
   public class FieldSelectorFactory implements TestSelectorFactory {
   @Override
   public boolean supports(TestSource testSource) {
   return testSource instanceof FieldSource;
   }
   
   @Override
   public String getContainerName(TestSource testSource) {
   return ((FieldSource) testSource).getClassName();
   }
   
   @Override
   public String getSelectorName(TestSource testSource) {
   return ((FieldSource) testSource).getFieldName();
   }
   }
   ```
   
   It solves the problem of adding support for applying the same filtering 
logic Surefire now applies to methods, to other test sources (`FieldSource` in 
this case). 
   
   I've already verified providing this implementation of the new SPI in 
ArchUnit solves [the linked ArchUnit 
issue](https://github.com/TNG/ArchUnit/issues/641) for Surefire. 




-- 
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] crizzis commented on a change in pull request #487: [SUREFIRE-2037] Allow for surefire-junit-platform's TestMethodFilter …

2022-03-11 Thread GitBox


crizzis commented on a change in pull request #487:
URL: https://github.com/apache/maven-surefire/pull/487#discussion_r824920327



##
File path: 
surefire-api/src/main/java/org/apache/maven/surefire/api/testset/TestListResolver.java
##
@@ -195,13 +195,13 @@ public boolean shouldRun( Class testClass, String 
methodName )
 /**
  * Returns {@code true} if satisfies {@code testClassFile} and {@code 
methodName} filter.
  *
- * @param testClassFile format must be e.g. "my/package/MyTest.class" 
including class extension; or null
- * @param methodName real test-method name; or null
+ * @param containerName format must be e.g. "my/package/MyTest.class" 
including class extension; or null

Review comment:
   The attribute names of this method have been changed to reflect their 
new meaning. The second parameter to this method, for instance, will no longer 
only ever represent method names. That's the entire purpose of this PR. 
   
   Would you care to explain why you would expect the parameters to retain 
their original name?




-- 
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] crizzis commented on a change in pull request #487: [SUREFIRE-2037] Allow for surefire-junit-platform's TestMethodFilter …

2022-03-11 Thread GitBox


crizzis commented on a change in pull request #487:
URL: https://github.com/apache/maven-surefire/pull/487#discussion_r824920327



##
File path: 
surefire-api/src/main/java/org/apache/maven/surefire/api/testset/TestListResolver.java
##
@@ -195,13 +195,13 @@ public boolean shouldRun( Class testClass, String 
methodName )
 /**
  * Returns {@code true} if satisfies {@code testClassFile} and {@code 
methodName} filter.
  *
- * @param testClassFile format must be e.g. "my/package/MyTest.class" 
including class extension; or null
- * @param methodName real test-method name; or null
+ * @param containerName format must be e.g. "my/package/MyTest.class" 
including class extension; or null

Review comment:
   The attribute names of this method have been changed to reflect their 
new meaning. The second parameter to this method, for instance, will no longer 
only ever represent method names. That's the entire purpose of this PR. 
   
   Please explain why you would expect the parameters to retain their original 
name.  




-- 
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] crizzis commented on a change in pull request #487: [SUREFIRE-2037] Allow for surefire-junit-platform's TestMethodFilter …

2022-03-11 Thread GitBox


crizzis commented on a change in pull request #487:
URL: https://github.com/apache/maven-surefire/pull/487#discussion_r824920327



##
File path: 
surefire-api/src/main/java/org/apache/maven/surefire/api/testset/TestListResolver.java
##
@@ -195,13 +195,13 @@ public boolean shouldRun( Class testClass, String 
methodName )
 /**
  * Returns {@code true} if satisfies {@code testClassFile} and {@code 
methodName} filter.
  *
- * @param testClassFile format must be e.g. "my/package/MyTest.class" 
including class extension; or null
- * @param methodName real test-method name; or null
+ * @param containerName format must be e.g. "my/package/MyTest.class" 
including class extension; or null

Review comment:
   The attribute names of this method have been changed to reflect their 
new meaning. The second parameter to this method, for instance, will no longer 
only ever represent method names. That's the entire purpose of this PR. 




-- 
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] crizzis commented on a change in pull request #487: [SUREFIRE-2037] Allow for surefire-junit-platform's TestMethodFilter …

2022-03-11 Thread GitBox


crizzis commented on a change in pull request #487:
URL: https://github.com/apache/maven-surefire/pull/487#discussion_r824914180



##
File path: pom.xml
##
@@ -532,8 +532,7 @@
 src/test/resources/**/*
 src/test/resources/**/*.css
 **/*.jj
-
src/main/resources/META-INF/services/org.apache.maven.surefire.api.provider.SurefireProvider
-
+src/main/resources/META-INF/services/**

Review comment:
   Not sure I follow. 
   
   This was an intentional change, otherwise Rat would expect to embed a 
license inside 
[META-INF/services/org.apache.maven.surefire.junitplatform.TestSelectorFactory](https://github.com/apache/maven-surefire/pull/487/files#diff-c7cece3a6cc077f79ed38dae264e97961c801cb107a602888ff19464dbbf4a54)




-- 
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] crizzis commented on a change in pull request #487: [SUREFIRE-2037] Allow for surefire-junit-platform's TestMethodFilter …

2022-03-11 Thread GitBox


crizzis commented on a change in pull request #487:
URL: https://github.com/apache/maven-surefire/pull/487#discussion_r824914180



##
File path: pom.xml
##
@@ -532,8 +532,7 @@
 src/test/resources/**/*
 src/test/resources/**/*.css
 **/*.jj
-
src/main/resources/META-INF/services/org.apache.maven.surefire.api.provider.SurefireProvider
-
+src/main/resources/META-INF/services/**

Review comment:
   Not sure I follow. 
   
   This was an intentional change, otherwise Rat would expect to embed a 
license inside 
`[META-INF/services/org.apache.maven.surefire.junitplatform.TestSelectorFactory](https://github.com/apache/maven-surefire/pull/487/files#diff-c7cece3a6cc077f79ed38dae264e97961c801cb107a602888ff19464dbbf4a54)`




-- 
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] (MDEP-761) Tree plugin does not terminate with 3.2.0

2022-03-11 Thread Sylwester Lachiewicz (Jira)


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

Sylwester Lachiewicz reassigned MDEP-761:
-

Assignee: Sylwester Lachiewicz

> Tree plugin does not terminate with 3.2.0
> -
>
> Key: MDEP-761
> URL: https://issues.apache.org/jira/browse/MDEP-761
> Project: Maven Dependency Plugin
>  Issue Type: Bug
>  Components: tree
>Affects Versions: 3.2.0
> Environment: Windows 10
>Reporter: Jan
>Assignee: Sylwester Lachiewicz
>Priority: Major
> Fix For: 3.3.0
>
>
> We use a tool called WhiteSource that analyzes our dependencies for security 
> issues. It uses the the following call to maven deps plugin to get the 
> dependencies:
> {code}mvn dependency:tree -DoutputFile=whitesource_mvn_dependency_tree.txt 
> -Dverbose -DoutputType=text -T1 -B {code}
> This works and takes ~15seconds with version 3.1.2, after upgrading to 3.2.0, 
> this call does not terminate after 15 minutes and runs into a timeout.
> When starting maven with "-X" I can see thousands of those debug messages 
> flowing through, it looks like it is scanning the whole local maven 
> repository:
> {code}
> [DEBUG] Writing tracking file 
> C:\Users\myuser\.m2\repository\org\jboss\spec\jboss-specs-parent\1.0.0.Beta2\_remote.repositories
> [DEBUG] Using transporter WagonTransporter with priority -1.0 for 
> https://my-repo
> [DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for 
> https://my-repo with username=myuser, password=*** via localhost:
> [DEBUG] Writing tracking file 
> C:\Users\myuser\.m2\repository\org\jboss\spec\javax\interceptor\jboss-interceptors-api_1.1_spec\1.0.0.Beta1\_remote.repositories
> [DEBUG] Using transporter WagonTransporter with priority -1.0 for 
> https://my-repo
> [DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for 
> https://my-repo with username=myuser, password=*** via localhost:
> [DEBUG] Writing tracking file 
> C:\Users\myuser\.m2\repository\org\jboss\spec\jboss-specs-parent\1.0.0.Beta1\_remote.repositories
> [DEBUG] Using transporter WagonTransporter with priority -1.0 for 
> https://my-repo
> [DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for 
> https://my-repo with username=myuser, password=*** via localhost:
> [DEBUG] Writing tracking file 
> C:\Users\myuser\.m2\repository\org\testng\testng\5.10\_remote.repositories
> [DEBUG] Verifying availability of 
> C:\Users\myuser\.m2\repository\org\apache\derby\derby\10.12.1.1\derby-10.12.1.1.pom
>  from [devcloud-bci-mvn (https://my-repo, default, releases+snapshots), 
> artifactory-central-mirror (https://my-repo, default, releases), central 
> (https://repo.maven.apache.org/maven2, default, releases)]
> [DEBUG] Using transporter WagonTransporter with priority -1.0 for 
> https://my-repo
> [DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for 
> https://my-repo with username=myuser, password=*** via localhost:
> [DEBUG] Writing tracking file 
> C:\Users\myuser\.m2\repository\org\apache\derby\derby\10.12.1.1\_remote.repositories
> {code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[GitHub] [maven-verifier] slawekjaranowski commented on a change in pull request #11: [MSHARED-871] add basic documentation

2022-03-11 Thread GitBox


slawekjaranowski commented on a change in pull request #11:
URL: https://github.com/apache/maven-verifier/pull/11#discussion_r824859977



##
File path: src/site/markdown/index.md
##
@@ -0,0 +1,24 @@
+
+
+# About Apache Verifier Maven Component
+
+Provides a test harness for Maven integration tests. This is a library which 
can be used in own Java-based integration tests. Look at the [Getting Started 
guide](./getting-started.html) for more information on how to use it.
+
+Other example usages can be found in the integration tests of the [Apache 
Maven Remote Resources 
Plugin](https://github.com/apache/maven-remote-resources-plugin/blob/maven-remote-resources-plugin-1.7.0/src/test/java/org/apache/maven/plugin/resources/remote/it/IT_FilterLocalOverride.java).
 

Review comment:
   It is simple test ...
   If we want to show more complicated usage I will link to Maven Integration 
project as reference
   https://github.com/apache/maven-integration-testing

##
File path: src/site/markdown/getting-started.md
##
@@ -0,0 +1,94 @@
+
+
+# Getting Started
+
+## Overview
+
+Using the `Verifier` consists out of three different phases
+
+1. Configure
+2. Run
+3. Verify

Review comment:
   no needed  table of content for short document

##
File path: src/site/markdown/getting-started.md
##
@@ -0,0 +1,94 @@
+
+
+# Getting Started
+
+## Overview
+
+Using the `Verifier` consists out of three different phases
+
+1. Configure
+2. Run
+3. Verify
+
+## Configure
+
+The `Verifier` instance is constructed in the simplest case with just one 
argument taking the path name of the base directory containing the `pom.xml` of 
the project you want to build.
+
+```
+String baseDir = ...
+Verifier verifier = new Verifier(baseDir);
+```
+
+The configuration can be further tweaked with additional setter methods and/or 
constructors taking more parameters.
+
+### System Properties
+
+The following systen properties/environment variables are evaluated
+
+| System Property | Description |

Review comment:
   Please add to table:
   Which properties are required?
   What is default values / behavior if property is not set?

##
File path: src/site/markdown/getting-started.md
##
@@ -0,0 +1,94 @@
+
+
+# Getting Started
+
+## Overview
+
+Using the `Verifier` consists out of three different phases
+
+1. Configure
+2. Run
+3. Verify
+
+## Configure
+
+The `Verifier` instance is constructed in the simplest case with just one 
argument taking the path name of the base directory containing the `pom.xml` of 
the project you want to build.
+
+```
+String baseDir = ...
+Verifier verifier = new Verifier(baseDir);

Review comment:
   please follow maven convention, space after and before parentheses

##
File path: src/site/markdown/getting-started.md
##
@@ -0,0 +1,94 @@
+
+
+# Getting Started
+
+## Overview
+
+Using the `Verifier` consists out of three different phases
+
+1. Configure
+2. Run
+3. Verify
+
+## Configure
+
+The `Verifier` instance is constructed in the simplest case with just one 
argument taking the path name of the base directory containing the `pom.xml` of 
the project you want to build.
+
+```
+String baseDir = ...
+Verifier verifier = new Verifier(baseDir);
+```
+
+The configuration can be further tweaked with additional setter methods and/or 
constructors taking more parameters.
+
+### System Properties
+
+The following systen properties/environment variables are evaluated
+
+| System Property | Description |
+| --- | --- |
+| `verifier.forkMode` | The following values are supported: `auto` uses 
the forked launcher when environment variables are set`embedder` always 
uses the embedded launcherany other value leads to always using the forked 
launcher
+| `maven.home` | The directory containing the Maven executable in `bin/mvn` |
+| `user.home` | Set by JRE, used for determining Maven default local 
repository path or the fallback Maven executable |
+| `maven.bootclasspath` | Only relevant if Maven home could be determined and 
the embedded launcher is being used. Determines the classpath of the launcher. 
May contain multiple path separated by the system dependent path separator.
+| `classworlds.conf` | Only relevant if Maven home could be determined and the 
embedded launcher is being used. The configuration file used by [Plexus 
Classworlds Loader][plexus-classwords]. If not set defaults to `/bin/m2.conf`. |
+| `maven.repo.local` | Contains the path of the local Maven repository |
+| `maven.repo.local.layout` | Layout of the local Maven repository. Either 
`legacy` or `default` with the latter being the default. |
+
+
+### Finding Maven Executable
+
+The following mechanism determines the binary which is used for executing 
Maven. This is 
+
+- either the embedded launcher which uses
+-  the `org.apache.maven.cli.MavenCli` class loaded from the context class 
loader (in case Maven Home could not be determined) or 
+-  the [Plexu

[GitHub] [maven-resolver] cstamas commented on pull request #158: MRESOLVER-247: Introduce skipper to avoid unnecessary dependency reso…

2022-03-11 Thread GitBox


cstamas commented on pull request #158:
URL: https://github.com/apache/maven-resolver/pull/158#issuecomment-1065252914


   One remark: maybe a config param to DISABLE skipper? As sometimes inspecting 
the "whole overloaded" graph is useful, no? And skipper is added always 
currently. So maybe  an another skipper implementation that is "no-skip"?


-- 
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] cstamas edited a comment on pull request #158: MRESOLVER-247: Introduce skipper to avoid unnecessary dependency reso…

2022-03-11 Thread GitBox


cstamas edited a comment on pull request #158:
URL: https://github.com/apache/maven-resolver/pull/158#issuecomment-1065224093


   The one failing IT fix:
   https://github.com/apache/maven-integration-testing/pull/140
   
   Reason is simple: this IT "counts" ALL the resolution that maven (erm, 
resolver) does, and fails due substantial difference between "old" resolver 
(DFS and w/o skipper) and this PR (BFS + skipper).
   
   The PR above changes the Maven IT to not "lock down" the read POM count, but 
still assert that POMs are read only once.


-- 
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] laeubi edited a comment on pull request #690: [MNG-7429] The classloader containing build extension should be used throughout the build

2022-03-11 Thread GitBox


laeubi edited a comment on pull request #690:
URL: https://github.com/apache/maven/pull/690#issuecomment-1065231874


   > Isn't that exactly the opposite of what is done for lifecycle participants 
and workspace readers at boot time ? Those are loaded from all registered 
extensions for all projects and are active for the whole build.
   
   But each of those are loaded from their own classloader (there is no shared 
one) if they are defined at the project level. If they are defined as 
core-extension they are all loaded from the "maven-core-realm", that's why I 
said if you want to be on the "global-scope" (thus all projects are sharing the 
same instance) you should use a maven-core extension.
   
   The whole caching-story for me sounds as if it is more suitable as a 
core-extension, for example tycho is defined on a per project level, but we 
check as the very first step that **all** projects in the reactor are using the 
same tycho version and fail the build if not. Neverless my goal is to make 
tycho a pure core-extension because project-scoped is much more limited and 
requires special care.


-- 
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] laeubi commented on pull request #690: [MNG-7429] The classloader containing build extension should be used throughout the build

2022-03-11 Thread GitBox


laeubi commented on pull request #690:
URL: https://github.com/apache/maven/pull/690#issuecomment-1065231874


   > Isn't that exactly the opposite of what is done for lifecycle participants 
and workspace readers at boot time ? Those are loaded from all registered 
extensions for all projects and are active for the whole build.
   
   But each of those are loaded from their own classloader (there is no shared 
one) if they are defined at the project level. If they are defined as 
core-extension they are all loaded from the "maven-core-realm", that's why I 
said if you want to be on the "global-scope" (thus all projects are sharing the 
same instance) you should use a maven-core extension.
   
   The whole caching-story for me sounds as if it is more suitable as a 
core-extension, for example tycho is defined on a per project level, but we 
check as the very first step that **all* projects in the reactor are using the 
same tycho version and fail the build if not. Neverless my goal is to make 
tycho a pure core-extension because project-scoped is much more limited and 
requires special care.


-- 
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] gnodet commented on pull request #690: [MNG-7429] The classloader containing build extension should be used throughout the build

2022-03-11 Thread GitBox


gnodet commented on pull request #690:
URL: https://github.com/apache/maven/pull/690#issuecomment-1065227468


   > 
   
   
   
   > > I would assume some kind of implicit inheritance wrt to extensions. 
Another way would be to create a realm that would have visibility on all 
extensions of the build and use that one for the whole build duration.
   > 
   > I don't think all extensions should share the same class-space, especially 
with projects-scoped extension (in contrast to core-extension) they started to 
become only active after a while, there is a bootstrap phase in maven when 
there is actually no such thing like "project", also as explained before you 
most probably don't want that an extension magically becomes active just 
because another module defines it. If you like that an extension applies for 
all projects then it should be defined as a core-extension in 
`.mvn/extensions.xml` so they become part of the bootstrap-process.
   > 
   > Thats also the reason why only core-extensions can participate in 
session-start because at that point there are no projects and thus any 
project-scoped extension is simply not accessible.
   
   Isn't that exactly the opposite of what is done for lifecycle participants 
and workspace readers at boot time ? Those are loaded from all registered 
extensions for all projects and are active for the whole build.


-- 
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] cstamas commented on pull request #158: MRESOLVER-247: Introduce skipper to avoid unnecessary dependency reso…

2022-03-11 Thread GitBox


cstamas commented on pull request #158:
URL: https://github.com/apache/maven-resolver/pull/158#issuecomment-1065224093


   The one failing IT fix:
   https://github.com/apache/maven-integration-testing/pull/140
   
   Reason is simple: this IT "counts" ALL the resolution that maven (erm, 
resolver) does, and fails due substantial difference between "old" resolver 
(DFS and w/o skipper) and this PR (BFS + skipper).


-- 
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] cstamas opened a new pull request #140: [MRESOLVER-247] IT update for resolver behaviour change

2022-03-11 Thread GitBox


cstamas opened a new pull request #140:
URL: https://github.com/apache/maven-integration-testing/pull/140


   I tried to be least intrusive here (so I left old but added
   new values w/ explanation).
   
   Once MRESOLVER-247 is merged, and maven consumes it, this IT
   will fail, as maven will resolve LESS then this IT expects.
   
   This change adjusts numbers, and makes the two IT pass OK.


-- 
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] laeubi commented on pull request #690: [MNG-7429] The classloader containing build extension should be used throughout the build

2022-03-11 Thread GitBox


laeubi commented on pull request #690:
URL: https://github.com/apache/maven/pull/690#issuecomment-1065215613


   > I would assume some kind of implicit inheritance wrt to extensions. 
Another way would be to create a realm that would have visibility on all 
extensions of the build and use that one for the whole build duration.
   
   I don't think all extensions should share the same class-space, especially 
with projects-scoped extension (in contrast to core-extension) they started to 
become only active after a while, there is a bootstrap phase in maven when 
there is actually no such thing like "project", also as explained before you 
most probably don't want that an extension magically becomes active just 
because another module defines it. If you like that an extension applies for 
all projects then it should be defined as a core-extension in 
`.mvn/extensions.xml` so they become part of the bootstrap-process.
   
   Thats also the reason why only core-extensions can participate in 
session-start because at that point there are no projects and thus any 
project-scoped extension is simply not accessible.


-- 
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] cstamas commented on pull request #158: MRESOLVER-247: Introduce skipper to avoid unnecessary dependency reso…

2022-03-11 Thread GitBox


cstamas commented on pull request #158:
URL: https://github.com/apache/maven-resolver/pull/158#issuecomment-1065181795


   ```
   maven-integration-testing dcd63dc29413e5154df524002eea967521dd09fc
   
   mvn master:
   [INFO] Results:
   [INFO] 
   [ERROR] Errors: 
   [ERROR]   
MavenITmng4913UserPropertyVsDependencyPomPropertyTest>AbstractMavenIntegrationTestCase.runTest:265->testit:59
 » Verification
   [INFO] 
   [ERROR] Tests run: 890, Failures: 0, Errors: 1, Skipped: 0
   [INFO] Total time:  23:30 min
   
   mvn bfs*:
   [INFO] Results:
   [INFO] 
   [ERROR] Failures: 
   DT [ERROR]   
MavenITmng3652UserAgentHeaderTest>AbstractMavenIntegrationTestCase.runTest:265->testmng3652_AdditionnalHttpHeaderConfiguredInSettings:334
 expected:<[Maven Fu]> but was:<[Apache-Maven/4.0.0-alpha-1-SNAPSHOT (Java 
11.0.14; Linux 5.13.0-35-generic)]>
   DT [ERROR]   
MavenITmng3652UserAgentHeaderTest>AbstractMavenIntegrationTestCase.runTest:265->testmng3652_UserAgentConfiguredInSettings:298
 expected:<[Maven Fu]> but was:<[Apache-Maven/4.0.0-alpha-1-SNAPSHOT (Java 
11.0.14; Linux 5.13.0-35-generic)]>
   ?? [ERROR]   
MavenITmng5669ReadPomsOnce>AbstractMavenIntegrationTestCase.runTest:265->testWithBuildConsumer:131
 [{org.apache.maven.model.io.inputSource=null null, 
org.apache.maven.model.io.isStrict=true, 
org.apache.maven.model.building.source=/home/cstamas/Worx/apache-maven/maven-integration-testing/core-it-suite/target/test-classes/mng-5669-read-poms-once/pom.xml},
 {org.apache.maven.model.io.inputSource=null null, 
org.apache.maven.model.io.isStrict=true, 
org.apache.maven.model.building.source=/home/cstamas/Worx/apache-maven/maven-integration-testing/core-it-suite/target/test-classes/mng-5669-read-poms-once/module1/pom.xml},
 {org.apache.maven.model.io.inputSource=null null, 
org.apache.maven.model.io.isStrict=true, 
org.apache.maven.model.building.source=/home/cstamas/Worx/apache-maven/maven-integration-testing/core-it-suite/target/test-classes/mng-5669-read-poms-once/module2/pom.xml},
 {org.apache.maven.model.io.inputSource=null null, 
org.apache.maven.model.io.isStrict=true, org.apa
 
che.maven.model.building.source=/home/cstamas/Worx/apache-maven/maven-integration-testing/core-it-suite/target/test-classes/mng-5669-read-poms-once/module3/pom.xml},
 
{transformerContext=org.apache.maven.model.building.DefaultModelBuilder$DefaultTransformerContextBuilder$1@29f0c4f2},
 
{org.apache.maven.model.io.inputSource=org.apache.maven:maven-model-builder:4.0.0-alpha-1-SNAPSHOT:super-pom
 
jar:file:/home/cstamas/Worx/apache-maven/maven-integration-testing/core-it-suite/target/apache-maven/lib/maven-model-builder-4.0.0-alpha-1-SNAPSHOT.jar!/org/apache/maven/model/pom-4.0.0.xml,
 xml:4.0.0=xml:4.0.0}, 
{transformerContext=org.apache.maven.model.building.DefaultModelBuilder$DefaultTransformerContextBuilder$1@7c3ebc6b},
 
{transformerContext=org.apache.maven.model.building.DefaultModelBuilder$DefaultTransformerContextBuilder$1@de18f63},
 
{transformerContext=org.apache.maven.model.building.DefaultModelBuilder$DefaultTransformerContextBuilder$1@54aca26f},
 {org.apache.maven.model.io.isStrict=fa
 lse, 
org.apache.maven.model.building.source=/home/cstamas/Worx/apache-maven/maven-integration-testing/repo/org/apache/maven/plugins/maven-resources-plugin/2.6/maven-resources-plugin-2.6.pom},
 {org.apache.maven.model.io.isStrict=false, 
org.apache.maven.model.building.source=/home/cstamas/Worx/apache-maven/maven-integration-testing/repo/org/apache/maven/plugins/maven-plugins/23/maven-plugins-23.pom},
 {org.apache.maven.model.io.isStrict=false, 
org.apache.maven.model.building.source=/home/cstamas/Worx/apache-maven/maven-integration-testing/repo/org/apache/maven/maven-parent/22/maven-parent-22.pom},
 {org.apache.maven.model.io.isStrict=false, 
org.apache.maven.model.building.source=/home/cstamas/Worx/apache-maven/maven-integration-testing/repo/org/apache/apache/11/apache-11.pom},
 {org.apache.maven.model.io.isStrict=false, 
org.apache.maven.model.building.source=/home/cstamas/Worx/apache-maven/maven-integration-testing/repo/org/apache/maven/plugins/maven-compiler-plugin/3.1/maven-compiler-pl
 ugin-3.1.pom}, {org.apache.maven.model.io.isStrict=false, 
org.apache.maven.model.building.source=/home/cstamas/Worx/apache-maven/maven-integration-testing/repo/org/apache/maven/plugins/maven-plugins/24/maven-plugins-24.pom},
 {org.apache.maven.model.io.isStrict=false, 
org.apache.maven.model.building.source=/home/cstamas/Worx/apache-maven/maven-integration-testing/repo/org/apache/maven/maven-parent/23/maven-parent-23.pom},
 {org.apache.maven.model.io.isStrict=false, 
org.apache.maven.model.building.source=/home/cstamas/Worx/apache-maven/maven-integration-testing/repo/org/apache/apache/13/apache-13.pom},
 {org.apache.maven.model.io.isStrict=false, 
org.apache.maven.model.building.source=/home/cstamas/Worx/apache-maven/maven-integration-testing/repo/org/apache/maven/plugins/maven-surefire-plugin/2.12.4/maven-surefire-plugin-2.12.4.pom},
 {org.apache

[jira] [Closed] (JXR-165) Upgrade Maven Reporting to 3.1.0

2022-03-11 Thread Slawomir Jaranowski (Jira)


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

Slawomir Jaranowski closed JXR-165.
---
Resolution: Fixed

> Upgrade Maven Reporting to 3.1.0
> 
>
> Key: JXR-165
> URL: https://issues.apache.org/jira/browse/JXR-165
> Project: Maven JXR
>  Issue Type: Dependency upgrade
>  Components: maven2 jxr plugin
>Reporter: Slawomir Jaranowski
>Assignee: Slawomir Jaranowski
>Priority: Major
> Fix For: 3.2.0
>
>




--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[GitHub] [maven-jxr] slawekjaranowski merged pull request #52: [JXR-165] Upgrade Maven Reporting to 3.1.0

2022-03-11 Thread GitBox


slawekjaranowski merged pull request #52:
URL: https://github.com/apache/maven-jxr/pull/52


   


-- 
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] gnodet commented on pull request #690: [MNG-7429] The classloader containing build extension should be used throughout the build

2022-03-11 Thread GitBox


gnodet commented on pull request #690:
URL: https://github.com/apache/maven/pull/690#issuecomment-1065159566


   > > Thoughts ?
   > 
   > Looks like a good idea.
   > 
   > > the top level project's realm is used by default during the duration of 
the build
   > 
   > I'm not sure why this should be the case... The "top level project" is not 
meant to be something special when it comes to classloading. Just assume the 
top-level is just an aggregator that includes all projects as modules (with the 
modules using individual parents) why should I want it to be used as the CCL 
root?
   
   I would assume some kind of implicit inheritance wrt to extensions.  Another 
way would be to create a realm that would have visibility on all extensions of 
the build and use that one for the whole build duration.  This would get rid of 
the `attachToThread` method completely.


-- 
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] laeubi commented on pull request #690: [MNG-7429] The classloader containing build extension should be used throughout the build

2022-03-11 Thread GitBox


laeubi commented on pull request #690:
URL: https://github.com/apache/maven/pull/690#issuecomment-1065135431


   > Thoughts ?
   
   Looks like a good idea.
   
   > the top level project's realm is used by default during the duration of 
the build
   
   I'm not sure why this should be the case... The "top level project" is not 
meant to be something special when it comes to classloading. Just assume the 
top-level is just an aggregator that includes all projects as modules (with the 
modules using individual parents) why should I want it to be used as the CCL 
root?


-- 
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-shared-utils] slawekjaranowski merged pull request #95: (doc) Throw more descriptive NPEx

2022-03-11 Thread GitBox


slawekjaranowski merged pull request #95:
URL: https://github.com/apache/maven-shared-utils/pull/95


   


-- 
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] gnodet commented on pull request #690: [MNG-7429] The classloader containing build extension should be used throughout the build

2022-03-11 Thread GitBox


gnodet commented on pull request #690:
URL: https://github.com/apache/maven/pull/690#issuecomment-1065129222


   @laeubi I've pushed another commit to discuss / experiment with.
   
   There are only two remaining calls to `BuildCommon.attachToThread` which are 
now clearly scoped in a block that grabs / restores the TCCL.
   In short:
 * the top level project's realm is used by default during the duration of 
the build
 * if any project defines extensions, this realm is used instead when 
building that project
   Thoughts ?


-- 
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] cstamas commented on pull request #158: MRESOLVER-247: Introduce skipper to avoid unnecessary dependency reso…

2022-03-11 Thread GitBox


cstamas commented on pull request #158:
URL: https://github.com/apache/maven-resolver/pull/158#issuecomment-1065122240


   ```
   mvn 3.8.4:
   Total time:40.749 s
   Total files: 4675
   Total bytes: 169M
   
   mvn master:
   Total time:38.446 s
   Total files: 4673
   Total bytes: 169M
   
   mvn bfs:
   Total time:33.510 s
   Total files: 4556
   Total bytes: 168M
   ```
   
   (all 3 building current mvn master 97c1e4b4aa73f5851801fdf5e17f013dd46a6b3e 
w/ empty local repo, primed proxy, no tests executed)
   (files/bytes are count of files and total size in bytes of local repo AFTER 
build done)


-- 
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-verifier] slawekjaranowski commented on pull request #9: [MSHARED-1043] Deprecate methods leveraging JUnit4 assertions

2022-03-11 Thread GitBox


slawekjaranowski commented on pull request #9:
URL: https://github.com/apache/maven-verifier/pull/9#issuecomment-1065120081


   Better stats is usage per version, like:
   https://mvnrepository.com/artifact/org.apache.maven.shared/maven-verifier
   


-- 
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-verifier] slawekjaranowski commented on pull request #9: [MSHARED-1043] Deprecate methods leveraging JUnit4 assertions

2022-03-11 Thread GitBox


slawekjaranowski commented on pull request #9:
URL: https://github.com/apache/maven-verifier/pull/9#issuecomment-1065118967


   We shouldn't stop development based on simple usage.
   
   Eg. now many project migrate to JUnit 5 or use other test frameworks than 
JUnit 4. 
   We shouldn't implicate which framework should be used by final project.
   
   In my feel many projects do not upgrade their dependency, so it is their 
decision.


-- 
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] [Updated] (MRESOLVER-242) When no remote checksums provided by layout, transfer inevitably fails/warns

2022-03-11 Thread Jira


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

Tamás Cservenák updated MRESOLVER-242:
--
Description: 
On remote transfer, if layout does not provide remote checksums (as Javadoc 
states: it MAY return empty collection), remote transfer either WARNs or fails 
(if repository policy is WARN of FAIL respectively) always. This is wrong IMHO.
OTOH, layout intentionally does not return remote checksums in some cases, like 
GPG signature is, if the default Maven2RepositoryLayoutEx is used.

Hence, this causes that (sub)artifacts like checksums and signatures are NOT 
resolvable using resolver, due that above (they are deemed to always fail).

Hence, a proposed solution is:
* change of semantics: when layout does not provide remote checksums, skip 
checksum validation of remote checksums (as there is no such thing as "checksum 
of a checksum" or in many cases "checksum of a signature").
* make resolver layout extensible re "artifacts with omitted checksums" instead 
to have baked in only one extension: {{.asc}}


  was:
On remote transfer, if layout does not provide remote checksums (as Javadoc 
states: it MAY return empty collection), remote transfer either WARNs or fails 
(if repository policy is WARN of FAIL respectively) always. This is wrong IMHO.
OTOH, layout intentionally does not return remote checksums in some cases, like 
GPG signature is, if the default Maven2RepositoryLayoutEx is used.

Hence, this causes that (sub)artifacts like checksums and signatures are NOT 
resolvable using resolver, due that above (they are deemed to always fail).

Hence, a proposed solution is:
* change of semantics: when layout does not provide remote checksums, skip 
checksum validation of remote checksums (as there is no such thing as "checksum 
of a checksum" or in many cases "checksum of a signature").
* make resolver layout "aware" of signatures, just like it is aware of 
checksums and make them extensible/configurable

Optionally:
* implement signing/signature verification services


> When no remote checksums provided by layout, transfer inevitably fails/warns
> 
>
> Key: MRESOLVER-242
> URL: https://issues.apache.org/jira/browse/MRESOLVER-242
> Project: Maven Resolver
>  Issue Type: Bug
>Reporter: Tamás Cservenák
>Assignee: Tamás Cservenák
>Priority: Major
> Fix For: 1.8.0
>
>
> On remote transfer, if layout does not provide remote checksums (as Javadoc 
> states: it MAY return empty collection), remote transfer either WARNs or 
> fails (if repository policy is WARN of FAIL respectively) always. This is 
> wrong IMHO.
> OTOH, layout intentionally does not return remote checksums in some cases, 
> like GPG signature is, if the default Maven2RepositoryLayoutEx is used.
> Hence, this causes that (sub)artifacts like checksums and signatures are NOT 
> resolvable using resolver, due that above (they are deemed to always fail).
> Hence, a proposed solution is:
> * change of semantics: when layout does not provide remote checksums, skip 
> checksum validation of remote checksums (as there is no such thing as 
> "checksum of a checksum" or in many cases "checksum of a signature").
> * make resolver layout extensible re "artifacts with omitted checksums" 
> instead to have baked in only one extension: {{.asc}}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (MRESOLVER-241) Resolver checksum calculation should be driven by layout

2022-03-11 Thread Jira


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

Tamás Cservenák updated MRESOLVER-241:
--
Description: 
Currently, whether connector calculates checksums or not is driven by 
{{Layout.ChecksumLocation}}, but this is wrong, as some artifacts (like 
signatures) may not have checksum locations returned by layout, and hence, is 
*shutting down complete checksum calculation*. That, on the other hand, fails 
remote transport in case of FAIL checksum policy.
This change alone does NOT fix special cases like "resolving from remote 
signature", but makes a step to fix it.

The fact that {{Layout.ChecksumLocation}} is empty does not mean anything else, 
that resolver should not expect on remote checksum (REMOTE_EXTERNAL), but not 
shut down completely checksum validation as other mechanisms (REMOTE_INCLUDED 
or PROVIDED) should still kick in, if applicable.

  was:
Currently, whether connector calculates checksums or not is driven by 
{{Layout.ChecksumLocation}}, but this is wrong, as some artifacts (like 
signatures) may not have checksum locations returned by layout, and hence, is 
shutting down complete checksum calculation. That, on the other hand, fails 
remote transport in case of FAIL checksum policy.
This change alone does NOT fix special cases like "resolving from remote 
signature", but makes a step to fix it.


> Resolver checksum calculation should be driven by layout
> 
>
> Key: MRESOLVER-241
> URL: https://issues.apache.org/jira/browse/MRESOLVER-241
> Project: Maven Resolver
>  Issue Type: Bug
>  Components: Resolver
>Reporter: Tamás Cservenák
>Assignee: Tamás Cservenák
>Priority: Major
> Fix For: 1.8.0
>
>
> Currently, whether connector calculates checksums or not is driven by 
> {{Layout.ChecksumLocation}}, but this is wrong, as some artifacts (like 
> signatures) may not have checksum locations returned by layout, and hence, is 
> *shutting down complete checksum calculation*. That, on the other hand, fails 
> remote transport in case of FAIL checksum policy.
> This change alone does NOT fix special cases like "resolving from remote 
> signature", but makes a step to fix it.
> The fact that {{Layout.ChecksumLocation}} is empty does not mean anything 
> else, that resolver should not expect on remote checksum (REMOTE_EXTERNAL), 
> but not shut down completely checksum validation as other mechanisms 
> (REMOTE_INCLUDED or PROVIDED) should still kick in, if applicable.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[GitHub] [maven] laeubi commented on pull request #690: [MNG-7429] The classloader containing build extension should be used throughout the build

2022-03-11 Thread GitBox


laeubi commented on pull request #690:
URL: https://github.com/apache/maven/pull/690#issuecomment-1065068471


   > For the record, the lookup of the `MojosExecutionStrategy` which was 
introduced by 
[1954d51](https://github.com/apache/maven/commit/1954d51ff2841045b4af8a515ad0719805269d8d)
 is definitely wrong and the lookup should be either performed explicitly using 
the container or better with an injected `Provider` as explained in 
[Guice](https://github.com/google/guice/wiki/InjectingProviders#providers-for-mixing-scopes).
   
   Also just for the record: You won't have noticed this bug without the fix 
applied in 
https://github.com/apache/maven/commit/e327be3d85918a23a5ba48d752143a6dbf8b83f7 
and that's why I'm so eager to fix bad usage of CCL/leakage as these hides hard 
to track problems you can spend hours of debugging and banging your head on the 
wall, even though most of the time people don't feel its a problem or even 
don't think its worth a change see 
https://issues.apache.org/jira/browse/CAMEL-10456 for another nasty problem in 
that category.


-- 
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-verifier] elharo commented on pull request #9: [MSHARED-1043] Deprecate methods leveraging JUnit4 assertions

2022-03-11 Thread GitBox


elharo commented on pull request #9:
URL: https://github.com/apache/maven-verifier/pull/9#issuecomment-1065067750


   Thanks for the link to mvnrepository. That's more usages than I would have 
guessed. My gut is that we're not going to remove these methods. Too many 
projects depend on them already. I think we're better off living with what we 
have.  


-- 
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-verifier] elharo commented on pull request #9: [MSHARED-1043] Deprecate methods leveraging JUnit4 assertions

2022-03-11 Thread GitBox


elharo commented on pull request #9:
URL: https://github.com/apache/maven-verifier/pull/9#issuecomment-1065066209


   It's the standard way, assuming step 2 can in fact be done. Far too often, 
step 2 never happens and the deprecated code is never removed and supported 
forever. 


-- 
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] laeubi edited a comment on pull request #690: [MNG-7429] The classloader containing build extension should be used throughout the build

2022-03-11 Thread GitBox


laeubi edited a comment on pull request #690:
URL: https://github.com/apache/maven/pull/690#issuecomment-1065058784


   > I'll fix it by injecting a `Provider` in the 
constructor and will do the actual lookup in the method when using the 
component.
   > So let's consider the scoping problem solved please.
   
   Alright.
   
   > The problem here is a _visibility_ problem across realms. Even with the 
lookup fixed, the code without the current PR will still have no visibility on 
the required bean which is registered as an extension on the project which is 
being built.
   
   If you want to have "project-visibility" when fetching the  
`Provider`  use `BuilderCommon.attachToThread( 
session.getCurrentProject() );` there (but please reset the TCCL afterwards ;-)
   
   > I think we want the maven classloader, core extensions and build 
extensions to be used to lookup the beans.
   
   I agree about the first two but not the last one see 
`BuilderCommon.attachToThread` or alike should give you the desired effect.
   
   > I back this point by the fact that the code now between the 
`attachToThread` call and the restoration of the TCCL does not seem to actually 
perform any lookup or class loading.
   
   I also noticed that, but please also note the TODO (that was there before) 
that the author of that code (haven't diged in here) is sure if it is actually 
necessary, so probably it would be better to not call 
`BuilderCommon.attachToThread` at all here.
   
   > Which means that the purpose was to actually set the classloader to the 
correct value
   
   The purpose is to set the Thread loader to the one of the project while 
calling 
   `projectBuilds.add( new ProjectSegment( project, taskSegment, copiedSession 
) );` but even the author was not sure if it is actually incorrect...
   
   > One thing I don't really get in what you say : why do you consider that 
this PR does not fix the classloader leak ? The classloader is set to the 
extension class loader if one is provided and back to its original value after 
the build, so that looks ok to me...
   
   It is set back _after_ the build, but _while_ the build it leaks a (random) 
classloader and makes the project realm accessible to a number of (random) 
other items as you have proven with your extension.
   
   Please also take a look at where it is called in line 105 we have the "real" 
context-classloader (also note that the context clasloader might be different 
from the classlaoder used to actually load the current class!)
   
   
https://github.com/apache/maven/blob/97c1e4b4aa73f5851801fdf5e17f013dd46a6b3e/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleStarter.java#L105-L127
   
   in line 122 the the current CCL (**what is now is a random leaked from the 
previous call**) is fetched and further passed to another component as the 
`originalContextClassLoader` (even though called on the call site 
`oldClassloader`) and this value **is** actually used later on to restore the 
CCL **after** a `BuilderCommon.attachToThread` is called in
   
   
https://github.com/apache/maven/blob/97c1e4b4aa73f5851801fdf5e17f013dd46a6b3e/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleModuleBuilder.java#L107-L158
   
   just assume your extension is there and works, now I add another extension 
(e.g. a wagon-provider) and your extension suddenly fails with CNF or CCE 
(thats what my fix reveals without another extension being used), would you 
really desire/expect this?
   


-- 
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] laeubi commented on pull request #690: [MNG-7429] The classloader containing build extension should be used throughout the build

2022-03-11 Thread GitBox


laeubi commented on pull request #690:
URL: https://github.com/apache/maven/pull/690#issuecomment-1065058784


   > I'll fix it by injecting a `Provider` in the 
constructor and will do the actual lookup in the method when using the 
component.
   > So let's consider the scoping problem solved please.
   
   Alright.
   
   > The problem here is a _visibility_ problem across realms. Even with the 
lookup fixed, the code without the current PR will still have no visibility on 
the required bean which is registered as an extension on the project which is 
being built.
   
   If you want to have "project-visibility" use `BuilderCommon.attachToThread( 
session.getCurrentProject() );` (but please reset the TCCL afterwards ;-)
   
   > I think we want the maven classloader, core extensions and build 
extensions to be used to lookup the beans.
   
   I agree about the first two but not the last one see 
`BuilderCommon.attachToThread` or alike should give you the desired effect.
   
   > I back this point by the fact that the code now between the 
`attachToThread` call and the restoration of the TCCL does not seem to actually 
perform any lookup or class loading.
   
   I also noticed that, but please also note the TODO (that was there before) 
that the author of that code (haven't diged in here) is sure if it is actually 
necessary, so probably it would be better to not call 
`BuilderCommon.attachToThread` at all here.
   
   > Which means that the purpose was to actually set the classloader to the 
correct value
   
   The purpose is to set the Thread loader to the one of the project while 
calling 
   `projectBuilds.add( new ProjectSegment( project, taskSegment, copiedSession 
) );` but even the author was not sure if it is actually incorrect...
   
   > One thing I don't really get in what you say : why do you consider that 
this PR does not fix the classloader leak ? The classloader is set to the 
extension class loader if one is provided and back to its original value after 
the build, so that looks ok to me...
   
   It is set back _after_ the build, but _while_ the build it leaks a (random) 
classloader and makes the project realm accessible to a number of (random) 
other items as you have proven with your extension.
   
   Please also take a look at where it is called in line 105 we have the "real" 
context-classloader (also note that the context clasloader might be different 
from the classlaoder used to actually load the current class!)
   
   
https://github.com/apache/maven/blob/97c1e4b4aa73f5851801fdf5e17f013dd46a6b3e/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleStarter.java#L105-L127
   
   in line 122 the the current CCL (**what is now is a random leaked from the 
previous call**) is fetched and further passed to another component as the 
`originalContextClassLoader` (even though called on the call site 
`oldClassloader`) and this value **is** actually used later on to restore the 
CCL **after** a `BuilderCommon.attachToThread` is called in
   
   
https://github.com/apache/maven/blob/97c1e4b4aa73f5851801fdf5e17f013dd46a6b3e/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleModuleBuilder.java#L107-L158
   
   just assume your extension is there and works, now I add another extension 
(e.g. a wagon-provider) and your extension suddenly fails with CNF or CCE 
(thats what my fix reveals without another extension being used), would you 
really desire/expect this?
   


-- 
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] laeubi edited a comment on pull request #690: [MNG-7429] The classloader containing build extension should be used throughout the build

2022-03-11 Thread GitBox


laeubi edited a comment on pull request #690:
URL: https://github.com/apache/maven/pull/690#issuecomment-1064296345


   Just another observation, it seems `MojosExecutionStrategy` was just 
intorduced in maven `3.9.x` so how could it be a regression from `3.8.x`?


-- 
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] gnodet commented on pull request #690: [MNG-7429] The classloader containing build extension should be used throughout the build

2022-03-11 Thread GitBox


gnodet commented on pull request #690:
URL: https://github.com/apache/maven/pull/690#issuecomment-1065043792


   For the record, the lookup of the `MojosExecutionStrategy` which was 
introduced by 
https://github.com/apache/maven/commit/1954d51ff2841045b4af8a515ad0719805269d8d 
is definitely wrong and the lookup should be either performed explicitely using 
the container or better with an injected `Provider` as explained in 
[Guice](https://github.com/google/guice/wiki/InjectingProviders#providers-for-mixing-scopes).
  It was developed explicitely for `m-build-cache-e` so it's meant to support 
looking up a session scoped bean, but the implicit injection done from the 
singleton scope to the session scope is definitely wrong.  Which also raise the 
question about why is it allowed at all... but let's not diverge.
   This broken lookup will cause a problem when reusing the `MojoExecutor` 
which is a singleton and it would not lookup a new component if called again 
with in different session scope.
   I'll fix it by injecting a `Provider` in the 
constructor and will do the actual lookup in the method when using the 
component.  
   So let's consider the scoping problem solved please.
   
   The problem here is a *visibility* problem across realms.  Even with the 
lookup fixed, the code without the current PR will still have no visibility on 
the required bean which is registered as an extension on the project which is 
being built.  
   
   When the simple lookup is done (i.e. a `container.lookup()` or a 
`provider.get()` call), I think we want the maven classloader, core extensions 
and build extensions to be used to lookup the beans.  So this has to be set up, 
and that's not the case.  In order to have those lookups working correctly, we 
need the correct class realm to be setup.  The last project defining extension 
was used and it was leaking after the build.  With the current PR, the top 
level project one is used and does not leak after the build.
   
   Looking at the code leads me to think that the fix from 
https://github.com/apache/maven/commit/e327be3d85918a23a5ba48d752143a6dbf8b83f7 
is wrong, because it removes the visibility to the build extensions.  I back 
this point by the fact that the code now between the `attachToThread` call and 
the restoration of the TCCL does not seem to actually perform any lookup or 
class loading.  Which means that the purpose was to actually set the 
classloader to the correct value, which is what I'm trying to get back.
   
   One thing I don't really get in what you say : why do you consider that this 
PR does not fix the classloader leak ? The classloader is set to the extension 
class loader if one is provided and back to its original value after the build, 
so that looks ok to me...
   


-- 
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] (SUREFIRE-2037) Allow for surefire-junit-platform's TestMethodFilter to support custom TestSources

2022-03-11 Thread Tibor Digana (Jira)


[ 
https://issues.apache.org/jira/browse/SUREFIRE-2037?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17504876#comment-17504876
 ] 

Tibor Digana commented on SUREFIRE-2037:


[~crizzis_dna]
Pls describe very properly what you are aiming for in the JIRA in details.
Can you explain how the customer would implement the interface 
TestSelectorFactory you have introduced? What types of sources can be filtered 
and how they can be configured?

> Allow for surefire-junit-platform's TestMethodFilter to support custom 
> TestSources
> --
>
> Key: SUREFIRE-2037
> URL: https://issues.apache.org/jira/browse/SUREFIRE-2037
> Project: Maven Surefire
>  Issue Type: Improvement
>  Components: JUnit 5.x support
>Affects Versions: 3.0.0-M5
>Reporter: Krzysztof Sierszeń
>Priority: Minor
>
> Since JUnit 5 allows for custom {{{}TestSource{}}}s to be configured, 
> {{TestMethodFilter}} could provide a way for those sources to be recognized 
> and filterable. This way, custom method sources will enjoy the same filtering 
> capabilities that method sources do. 
> For now, this change specifically targets ArchUnit's {{FieldSource}}, and I'm 
> planning to use the solution provided to solve [the following 
> issue|https://github.com/TNG/ArchUnit/issues/641]. 



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[GitHub] [maven-surefire] Tibor17 commented on a change in pull request #487: [SUREFIRE-2037] Allow for surefire-junit-platform's TestMethodFilter …

2022-03-11 Thread GitBox


Tibor17 commented on a change in pull request #487:
URL: https://github.com/apache/maven-surefire/pull/487#discussion_r824635901



##
File path: surefire-providers/surefire-junit-platform/pom.xml
##
@@ -136,6 +136,47 @@
 
 
 
+
+  org.apache.maven.plugins
+  maven-jar-plugin
+  
+
+  api-jar
+  package
+  
+jar
+  
+  
+api

Review comment:
   There are other two SPI modules `surefire-extensions-spi` (for the 
forked JVM) and `surefire-extensions-api` (for the plugin process) but nothing 
is suited for this scenario of providers.
   Can you explain how the customer would implement the interface 
`TestSelectorFactory` you have introduced? What types of sources can be 
filtered and how they can be configured?




-- 
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] (MSHADE-411) When Shade finds overlapping classes, clarify which class is added to final artifact

2022-03-11 Thread Michael Osipov (Jira)


[ 
https://issues.apache.org/jira/browse/MSHADE-411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17504869#comment-17504869
 ] 

Michael Osipov commented on MSHADE-411:
---

Obviously, the source artifact needs to indicates, no? Or first or last, etc?

> When Shade finds overlapping classes, clarify which class is added to final 
> artifact
> 
>
> Key: MSHADE-411
> URL: https://issues.apache.org/jira/browse/MSHADE-411
> Project: Maven Shade Plugin
>  Issue Type: Improvement
>Reporter: John Hendrikx
>Priority: Minor
>
> For example:
> [WARNING] mediasystem-jfx-2.0.0-SNAPSHOT.jar, javafx-controls-16-win.jar 
> define 5 overlapping classes:
> [WARNING] - javafx.scene.control.skin.SpinnerSkin$2
> [WARNING] - javafx.scene.control.skin.SpinnerSkin
> [WARNING] - javafx.scene.control.skin.SpinnerSkin$1
> [WARNING] - javafx.scene.control.skin.SpinnerSkin$4
> [WARNING] - javafx.scene.control.skin.SpinnerSkin$3
> Here I purposely override the SpinnerSkin class to fix a bug. But it is 
> unclear which version eventually will make it in the uber.jar (I'm hoping it 
> takes it from the first jar listed).
> I could not find anything on the website, faq, stackoverflow that clarifies 
> *which* version of the class gets included.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[GitHub] [maven-surefire] Tibor17 commented on a change in pull request #487: [SUREFIRE-2037] Allow for surefire-junit-platform's TestMethodFilter …

2022-03-11 Thread GitBox


Tibor17 commented on a change in pull request #487:
URL: https://github.com/apache/maven-surefire/pull/487#discussion_r824618154



##
File path: surefire-providers/surefire-junit-platform/pom.xml
##
@@ -136,6 +136,47 @@
 
 
 
+
+  org.apache.maven.plugins
+  maven-jar-plugin
+  
+
+  api-jar
+  package
+  
+jar
+  
+  
+api

Review comment:
   This looks like a hack. Why you have introduced Apache SPI and you 
change the default behavior this way? JUnit5 SPI do not exist with same 
purpose? The plugin has configuration of class/methods. If somebody changes 
this in the SPI, then what you be valid? Configuration or SPI? **Pls describe 
very properly what you are aiming for in the JIRA in details.**




-- 
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] Tibor17 commented on a change in pull request #487: [SUREFIRE-2037] Allow for surefire-junit-platform's TestMethodFilter …

2022-03-11 Thread GitBox


Tibor17 commented on a change in pull request #487:
URL: https://github.com/apache/maven-surefire/pull/487#discussion_r824597956



##
File path: 
surefire-providers/surefire-junit-platform/src/main/java/org/apache/maven/surefire/junitplatform/JUnitPlatformProvider.java
##
@@ -70,13 +39,47 @@
 import org.junit.platform.launcher.TestIdentifier;
 import org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder;
 
+import java.io.IOException;
+import java.io.StringReader;
+import java.io.UncheckedIOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+import java.util.Properties;
+import java.util.ServiceLoader;
+import java.util.logging.Logger;
+import java.util.stream.Collectors;
+import java.util.stream.StreamSupport;
+
+import static java.util.Arrays.stream;
+import static java.util.Collections.emptyMap;
+import static java.util.Optional.empty;
+import static java.util.Optional.of;
+import static java.util.logging.Level.WARNING;
+import static java.util.stream.Collectors.toList;
+import static 
org.apache.maven.surefire.api.booter.ProviderParameterNames.EXCLUDE_JUNIT5_ENGINES_PROP;
+import static 
org.apache.maven.surefire.api.booter.ProviderParameterNames.INCLUDE_JUNIT5_ENGINES_PROP;
+import static 
org.apache.maven.surefire.api.booter.ProviderParameterNames.TESTNG_EXCLUDEDGROUPS_PROP;
+import static 
org.apache.maven.surefire.api.booter.ProviderParameterNames.TESTNG_GROUPS_PROP;
+import static 
org.apache.maven.surefire.api.report.ConsoleOutputCapture.startCapture;
+import static org.apache.maven.surefire.api.report.RunMode.NORMAL_RUN;
+import static 
org.apache.maven.surefire.api.report.RunMode.RERUN_TEST_AFTER_FAILURE;
+import static org.apache.maven.surefire.api.util.TestsToRun.fromClass;
+import static org.apache.maven.surefire.shared.utils.StringUtils.isBlank;
+import static 
org.junit.platform.engine.discovery.DiscoverySelectors.selectClass;
+import static 
org.junit.platform.engine.discovery.DiscoverySelectors.selectUniqueId;
+import static 
org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder.request;
+
 /**
  * JUnit 5 Platform Provider.
  *
  * @since 2.22.0
  */
-public class JUnitPlatformProvider
-extends AbstractProvider
+public class JUnitPlatformProvider extends AbstractProvider

Review comment:
   It is very hard to separate reasonable and non-reasonable changes. I 
guess you wanted to make some specific improvement in this class. Do not press 
CTRL+ALT+L because there is again unnecessary changes.




-- 
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] Tibor17 commented on a change in pull request #487: [SUREFIRE-2037] Allow for surefire-junit-platform's TestMethodFilter …

2022-03-11 Thread GitBox


Tibor17 commented on a change in pull request #487:
URL: https://github.com/apache/maven-surefire/pull/487#discussion_r824589850



##
File path: 
surefire-api/src/main/java/org/apache/maven/surefire/api/testset/TestListResolver.java
##
@@ -195,13 +195,13 @@ public boolean shouldRun( Class testClass, String 
methodName )
 /**
  * Returns {@code true} if satisfies {@code testClassFile} and {@code 
methodName} filter.
  *
- * @param testClassFile format must be e.g. "my/package/MyTest.class" 
including class extension; or null
- * @param methodName real test-method name; or null
+ * @param containerName format must be e.g. "my/package/MyTest.class" 
including class extension; or null

Review comment:
   Don't change this class, it has nothing to do with what you are aiming 
for. Rather do not make any additional refactoring because it is very hard to 
separate reasonable and non-reasonable changes. I guess you wanted to make some 
specific improvement in JUnit5 provider. Do not press CTRL+ALT+L because there 
is again unnecessary changes.




-- 
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] Tibor17 commented on a change in pull request #487: [SUREFIRE-2037] Allow for surefire-junit-platform's TestMethodFilter …

2022-03-11 Thread GitBox


Tibor17 commented on a change in pull request #487:
URL: https://github.com/apache/maven-surefire/pull/487#discussion_r824590490



##
File path: pom.xml
##
@@ -532,8 +532,7 @@
 src/test/resources/**/*
 src/test/resources/**/*.css
 **/*.jj
-
src/main/resources/META-INF/services/org.apache.maven.surefire.api.provider.SurefireProvider
-
+src/main/resources/META-INF/services/**

Review comment:
   Don't change this POM, it has nothing to do with what you are aiming 
for. Rather do not make any additional refactoring because it is very hard to 
separate reasonable and non-reasonable changes. I guess you wanted to make some 
specific improvement in JUnit5 provider. Do not press CTRL+L because there is 
again unnecessary changes.




-- 
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] Tibor17 commented on a change in pull request #487: [SUREFIRE-2037] Allow for surefire-junit-platform's TestMethodFilter …

2022-03-11 Thread GitBox


Tibor17 commented on a change in pull request #487:
URL: https://github.com/apache/maven-surefire/pull/487#discussion_r824589850



##
File path: 
surefire-api/src/main/java/org/apache/maven/surefire/api/testset/TestListResolver.java
##
@@ -195,13 +195,13 @@ public boolean shouldRun( Class testClass, String 
methodName )
 /**
  * Returns {@code true} if satisfies {@code testClassFile} and {@code 
methodName} filter.
  *
- * @param testClassFile format must be e.g. "my/package/MyTest.class" 
including class extension; or null
- * @param methodName real test-method name; or null
+ * @param containerName format must be e.g. "my/package/MyTest.class" 
including class extension; or null

Review comment:
   Don't change this class, it has nothing to do with what you are aiming 
for. Rather do not make any additional refactoring because it is very hard to 
separate reasonable and non-reasonable changes. I guess you wanted to make some 
specific improvement in JUnit5 provider. Do not press CTRL+L because there is 
again unnecessary changes.




-- 
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] laeubi commented on pull request #690: [MNG-7429] The classloader containing build extension should be used throughout the build

2022-03-11 Thread GitBox


laeubi commented on pull request #690:
URL: https://github.com/apache/maven/pull/690#issuecomment-1064962195


   > I tend to think that the current design is somewhat broken if whenever you 
need to lookup a component, you need to go through a complex setup in order to 
find where to load the component from.
   
   You don't need it "whenever you lookup" you only need it for the specific 
cases of where you have a project-scoped extension and that is required to 
isolate the class-realms to not leak classes from one project into another.
   
   > The plexus container has support for importing from various _visible_ 
realms. I think at each stage of the build (after entering the session scope, 
during the build of a given project, during the execution of a mojo), a 
corresponding realm should be setup and associated to the TCCL so that lookups 
can be performed with the correct visibility and scope.
   
   Sure why not, but then your extension would still not work in a 
session-scoped nor a singelton created in "root scope"... So your usage has 
only worked due to a bug (as far as I can tell from the provided information 
here) and I don't see how it could work with other ways of class-loader 
isolation.
   
   > so that's definitely not an issue.
   
   So I'm really confused *what* is the issue then? As from the code, your 
problematic component is to be used in a singleton injected and called, how is 
it (and why) supposed to work if it is defined in a project scope? 
`extensions.xml` is exactly the place to place such "global for all" plugins, 
the `pom.xml` is not ...  If one likes to "break" the rules then additional 
setup is required, unless maven supports better ways, e.g. `@ProjectScoped` but 
then still someone has to setup this scope at distinct points (e.g. wen 
executing the mojos of a project and can't assume it works everywhere... so 
most probably `MojoExecutor` has to not reference the `MojoExecutionStrategy` 
in the constructor but look it up in the actual call.
   
   


-- 
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] gnodet commented on pull request #690: [MNG-7429] The classloader containing build extension should be used throughout the build

2022-03-11 Thread GitBox


gnodet commented on pull request #690:
URL: https://github.com/apache/maven/pull/690#issuecomment-1064950742


   > Just for references as I recently added support for project-scoped 
WorkspaceReaders, if you like to support such components one needs to add 
explicit support for them similar to:
   > 
   > [...]
   > 
   > as you see, the calling code should also be aware that there are 
_multiple_ items and has to handle this (combine, call in a row, throw 
exception ...).
   
   I tend to think that the current design is somewhat broken if whenever you 
need to lookup a component, you need to go through a complex setup in order to 
find where to load the component from.  
   The plexus container has support for importing from various _visible_ 
realms. I think at each stage of the build (after entering the session scope, 
during the build of a given project, during the execution of a mojo), a 
corresponding realm should be setup and associated to the TCCL so that lookups 
can be performed with the correct visibility and scope. Failing to setup such a 
realm with result in an inability to do loops correctly : as you explained for 
looking up a list, but for a single component, you'd have to deal with 
priority, ordering and all concerns that should be left to the container.
   
   > > but other think defining extensions in the pom is preferable
   > 
   > Just in case you don't know it (and to save you from to much hassle) it is 
no longer required to define core-extensions in `lib/ext` you can simply define 
them in `.mvn/extensions.xml` of the project, and I think that's what you 
actually try to arcive by your "master-project-classloader" see here for the 
documentation: 
https://maven.apache.org/ref/3.8.4/maven-embedder/core-extensions.html
   > 
   > You can take a look here for an example of the tycho-build extension that 
is a core-extension: 
https://github.com/eclipse/tycho/tree/master/tycho-its/projects/reactor.makeBehaviour
   
   Thx, I did set up the tests for the `m-build-cache-e` using 
`.mvn/extensions.xml` so that's definitely not an issue.


-- 
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-dependency-plugin] slawekjaranowski closed pull request #205: Exclude vulnerable commons-beanutils-1.7.0 from maven-reporting-impl …

2022-03-11 Thread GitBox


slawekjaranowski closed pull request #205:
URL: https://github.com/apache/maven-dependency-plugin/pull/205


   


-- 
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-dependency-plugin] slawekjaranowski commented on pull request #205: Exclude vulnerable commons-beanutils-1.7.0 from maven-reporting-impl …

2022-03-11 Thread GitBox


slawekjaranowski commented on pull request #205:
URL: 
https://github.com/apache/maven-dependency-plugin/pull/205#issuecomment-1064929057


   We have direct dependency to commons-beanutils 1.9.4, so excluding is not 
needed.
   
   https://github.com/apache/maven-dependency-plugin/pull/177
   https://issues.apache.org/jira/browse/MDEP-797
   
   But thanks for proposition and collaborations.


-- 
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-245) Isolate Hazelcast tests

2022-03-11 Thread Hudson (Jira)


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

Hudson commented on MRESOLVER-245:
--

Build succeeded in Jenkins: Maven » Maven TLP » maven-resolver » master #11

See 
https://ci-maven.apache.org/job/Maven/job/maven-box/job/maven-resolver/job/master/11/

> Isolate Hazelcast tests
> ---
>
> Key: MRESOLVER-245
> URL: https://issues.apache.org/jira/browse/MRESOLVER-245
> Project: Maven Resolver
>  Issue Type: Task
>  Components: Resolver
>Reporter: Tamás Cservenák
>Assignee: Tamás Cservenák
>Priority: Major
> Fix For: 1.8.0
>
>
> The named-locks-hazelcast module uses Hazelcast. The IT tests were not 
> properly isolated, so Hazelcast instances are able to discover other 
> Hazelcast instances running locally or on same network. This causes sporadic 
> IT failures, usually on CI, where multiple permutations are being run 
> possibly next to each other.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Closed] (MRESOLVER-245) Isolate Hazelcast tests

2022-03-11 Thread Jira


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

Tamás Cservenák closed MRESOLVER-245.
-

> Isolate Hazelcast tests
> ---
>
> Key: MRESOLVER-245
> URL: https://issues.apache.org/jira/browse/MRESOLVER-245
> Project: Maven Resolver
>  Issue Type: Task
>  Components: Resolver
>Reporter: Tamás Cservenák
>Assignee: Tamás Cservenák
>Priority: Major
> Fix For: 1.8.0
>
>
> The named-locks-hazelcast module uses Hazelcast. The IT tests were not 
> properly isolated, so Hazelcast instances are able to discover other 
> Hazelcast instances running locally or on same network. This causes sporadic 
> IT failures, usually on CI, where multiple permutations are being run 
> possibly next to each other.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Resolved] (MRESOLVER-245) Isolate Hazelcast tests

2022-03-11 Thread Jira


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

Tamás Cservenák resolved MRESOLVER-245.
---
Resolution: Fixed

> Isolate Hazelcast tests
> ---
>
> Key: MRESOLVER-245
> URL: https://issues.apache.org/jira/browse/MRESOLVER-245
> Project: Maven Resolver
>  Issue Type: Task
>  Components: Resolver
>Reporter: Tamás Cservenák
>Assignee: Tamás Cservenák
>Priority: Major
> Fix For: 1.8.0
>
>
> The named-locks-hazelcast module uses Hazelcast. The IT tests were not 
> properly isolated, so Hazelcast instances are able to discover other 
> Hazelcast instances running locally or on same network. This causes sporadic 
> IT failures, usually on CI, where multiple permutations are being run 
> possibly next to each other.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


  1   2   >