[jira] [Commented] (MNG-7924) Better control over and better integration with Resolver
[ https://issues.apache.org/jira/browse/MNG-7924?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784306#comment-17784306 ] ASF GitHub Bot commented on MNG-7924: - rmannibucau commented on PR #1299: URL: https://github.com/apache/maven/pull/1299#issuecomment-1803303626 Is it planned to make the properties injected from the pom "mvn 4 version" and therefore makes the type dictionnary useless? If so +1 (means the toggles will be exposed to users and type can stick to extension and management in the build handled by end user, best of all worlds), else I'm mixed since it does not change much things if it stays internal only. > Better control over and better integration with Resolver > > > Key: MNG-7924 > URL: https://issues.apache.org/jira/browse/MNG-7924 > Project: Maven > Issue Type: Task > Components: Artifacts and Repositories >Reporter: Tamas Cservenak >Priority: Major > Fix For: 4.0.0-alpha-9 > > > Integrate better and obtain better control over Resolver. These changes did > stem from "[JPMS module > experiment|https://cwiki.apache.org/confluence/display/MAVEN/Experiment+-+Explicit+JPMS+support]"; > and are considered improvement but *does not implement any functionality* > related to JPMS module support. > Changes: > * Maven4 should stop "disconnected coexistence" of two type systems > (ArtifactHandlers and Resolver ArtifactTypeRegistry), it should unify them. > * Maven4 Core should provide generic and extensible means to introduce new > artifact types (fully in extension, and extension should get extended data > via "roundtrip" in core/resolver) -- This message was sent by Atlassian Jira (v8.20.10#820010)
Re: [PR] [MNG-7924] Better control over and better integration with Resolver [maven]
rmannibucau commented on PR #1299: URL: https://github.com/apache/maven/pull/1299#issuecomment-1803303626 Is it planned to make the properties injected from the pom "mvn 4 version" and therefore makes the type dictionnary useless? If so +1 (means the toggles will be exposed to users and type can stick to extension and management in the build handled by end user, best of all worlds), else I'm mixed since it does not change much things if it stays internal only. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Commented] (MNG-7924) Better control over and better integration with Resolver
[ https://issues.apache.org/jira/browse/MNG-7924?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784305#comment-17784305 ] ASF GitHub Bot commented on MNG-7924: - gnodet commented on code in PR #1299: URL: https://github.com/apache/maven/pull/1299#discussion_r1387548574 ## api/maven-api-core/src/main/java/org/apache/maven/api/Type.java: ## @@ -51,14 +51,21 @@ public interface Type { * Returns the dependency type id. * The id uniquely identifies this dependency type. * - * @return the id of this type + * @return the id of this type, never {@code null}. */ String getId(); +/** + * Returns the dependency type language. + * + * @return the language of this type, never {@code null}. + */ +String getLanguage(); + /** * Get the file extension of artifacts of this type. * - * @return the file extension + * @return the file extension, never {@code null}. Review Comment: Add `@Nonnull` to the return type. Is this actually never null ? The ones coming from maven can be null afaik. > Better control over and better integration with Resolver > > > Key: MNG-7924 > URL: https://issues.apache.org/jira/browse/MNG-7924 > Project: Maven > Issue Type: Task > Components: Artifacts and Repositories >Reporter: Tamas Cservenak >Priority: Major > Fix For: 4.0.0-alpha-9 > > > Integrate better and obtain better control over Resolver. These changes did > stem from "[JPMS module > experiment|https://cwiki.apache.org/confluence/display/MAVEN/Experiment+-+Explicit+JPMS+support]"; > and are considered improvement but *does not implement any functionality* > related to JPMS module support. > Changes: > * Maven4 should stop "disconnected coexistence" of two type systems > (ArtifactHandlers and Resolver ArtifactTypeRegistry), it should unify them. > * Maven4 Core should provide generic and extensible means to introduce new > artifact types (fully in extension, and extension should get extended data > via "roundtrip" in core/resolver) -- This message was sent by Atlassian Jira (v8.20.10#820010)
Re: [PR] [MNG-7924] Better control over and better integration with Resolver [maven]
gnodet commented on code in PR #1299: URL: https://github.com/apache/maven/pull/1299#discussion_r1387548574 ## api/maven-api-core/src/main/java/org/apache/maven/api/Type.java: ## @@ -51,14 +51,21 @@ public interface Type { * Returns the dependency type id. * The id uniquely identifies this dependency type. * - * @return the id of this type + * @return the id of this type, never {@code null}. */ String getId(); +/** + * Returns the dependency type language. + * + * @return the language of this type, never {@code null}. + */ +String getLanguage(); + /** * Get the file extension of artifacts of this type. * - * @return the file extension + * @return the file extension, never {@code null}. Review Comment: Add `@Nonnull` to the return type. Is this actually never null ? The ones coming from maven can be null afaik. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Commented] (MNG-7924) Better control over and better integration with Resolver
[ https://issues.apache.org/jira/browse/MNG-7924?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784304#comment-17784304 ] ASF GitHub Bot commented on MNG-7924: - gnodet commented on code in PR #1299: URL: https://github.com/apache/maven/pull/1299#discussion_r1387543172 ## api/maven-api-core/src/main/java/org/apache/maven/api/DependencyProperties.java: ## @@ -0,0 +1,54 @@ +/* + * 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. + */ +package org.apache.maven.api; + +import java.util.Map; + +import org.apache.maven.api.annotations.Experimental; +import org.apache.maven.api.annotations.Immutable; + +/** + * Dependency properties supported by Maven Core. + * + * @since 4.0.0 + */ +@Experimental +@Immutable +public interface DependencyProperties { +/** + * Boolean flag telling that dependency contains all of its dependencies. + * Note: this flag must be kept in sync with resolver! + */ +String FLAG_INCLUDES_DEPENDENCIES = "includesDependencies"; + +/** + * Boolean flag telling that dependency is meant to be placed on class path. + */ +String FLAG_CLASS_PATH_CONSTITUENT = "classPathConstituent"; + +/** + * Returns immutable "map view" of all the properties. + */ +Map asMap(); Review Comment: Add `@Nonnull` to the return type. ## api/maven-api-core/src/main/java/org/apache/maven/api/Type.java: ## @@ -51,14 +51,21 @@ public interface Type { * Returns the dependency type id. * The id uniquely identifies this dependency type. * - * @return the id of this type + * @return the id of this type, never {@code null}. */ String getId(); +/** + * Returns the dependency type language. Review Comment: Is that natural language or code language ? ## api/maven-api-core/src/main/java/org/apache/maven/api/Type.java: ## @@ -51,14 +51,21 @@ public interface Type { * Returns the dependency type id. * The id uniquely identifies this dependency type. * - * @return the id of this type + * @return the id of this type, never {@code null}. */ String getId(); +/** + * Returns the dependency type language. + * + * @return the language of this type, never {@code null}. + */ +String getLanguage(); + /** * Get the file extension of artifacts of this type. * - * @return the file extension + * @return the file extension, never {@code null}. Review Comment: Add @NonNull to the return type. Is this actually never null ? The ones coming from maven can be null afaik. ## maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java: ## @@ -59,8 +62,37 @@ private MavenRepositorySystemUtils() { * the session with authentication, mirror, proxy and other information required for your environment. * * @return The new repository system session, never {@code null}. + * @deprecated This method is deprecated. */ +@Deprecated public static DefaultRepositorySystemSession newSession() { +DefaultArtifactTypeRegistry stereotypes = new DefaultArtifactTypeRegistry(); +stereotypes.add(new DefaultArtifactType("pom")); Review Comment: Should we use `DefaultTypeRegistry` and the various providers here instead ? ## api/maven-api-core/src/main/java/org/apache/maven/api/DependencyProperties.java: ## @@ -0,0 +1,54 @@ +/* + * 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,
Re: [PR] [MNG-7924] Better control over and better integration with Resolver [maven]
gnodet commented on code in PR #1299: URL: https://github.com/apache/maven/pull/1299#discussion_r1387543172 ## api/maven-api-core/src/main/java/org/apache/maven/api/DependencyProperties.java: ## @@ -0,0 +1,54 @@ +/* + * 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. + */ +package org.apache.maven.api; + +import java.util.Map; + +import org.apache.maven.api.annotations.Experimental; +import org.apache.maven.api.annotations.Immutable; + +/** + * Dependency properties supported by Maven Core. + * + * @since 4.0.0 + */ +@Experimental +@Immutable +public interface DependencyProperties { +/** + * Boolean flag telling that dependency contains all of its dependencies. + * Note: this flag must be kept in sync with resolver! + */ +String FLAG_INCLUDES_DEPENDENCIES = "includesDependencies"; + +/** + * Boolean flag telling that dependency is meant to be placed on class path. + */ +String FLAG_CLASS_PATH_CONSTITUENT = "classPathConstituent"; + +/** + * Returns immutable "map view" of all the properties. + */ +Map asMap(); Review Comment: Add `@Nonnull` to the return type. ## api/maven-api-core/src/main/java/org/apache/maven/api/Type.java: ## @@ -51,14 +51,21 @@ public interface Type { * Returns the dependency type id. * The id uniquely identifies this dependency type. * - * @return the id of this type + * @return the id of this type, never {@code null}. */ String getId(); +/** + * Returns the dependency type language. Review Comment: Is that natural language or code language ? ## api/maven-api-core/src/main/java/org/apache/maven/api/Type.java: ## @@ -51,14 +51,21 @@ public interface Type { * Returns the dependency type id. * The id uniquely identifies this dependency type. * - * @return the id of this type + * @return the id of this type, never {@code null}. */ String getId(); +/** + * Returns the dependency type language. + * + * @return the language of this type, never {@code null}. + */ +String getLanguage(); + /** * Get the file extension of artifacts of this type. * - * @return the file extension + * @return the file extension, never {@code null}. Review Comment: Add @NonNull to the return type. Is this actually never null ? The ones coming from maven can be null afaik. ## maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java: ## @@ -59,8 +62,37 @@ private MavenRepositorySystemUtils() { * the session with authentication, mirror, proxy and other information required for your environment. * * @return The new repository system session, never {@code null}. + * @deprecated This method is deprecated. */ +@Deprecated public static DefaultRepositorySystemSession newSession() { +DefaultArtifactTypeRegistry stereotypes = new DefaultArtifactTypeRegistry(); +stereotypes.add(new DefaultArtifactType("pom")); Review Comment: Should we use `DefaultTypeRegistry` and the various providers here instead ? ## api/maven-api-core/src/main/java/org/apache/maven/api/DependencyProperties.java: ## @@ -0,0 +1,54 @@ +/* + * 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. + */ +package org.apache.maven.api; + +import java.util.Map; + +
[jira] [Updated] (MCOMPILER-555) Bad service configuration file, or exception thrown while constructing Processor object: Invalid index
[ https://issues.apache.org/jira/browse/MCOMPILER-555?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Liang Wang updated MCOMPILER-555: - Description: 1. Error log [https://github.com/wangliang181230/seata/actions/runs/6793162051/job/18468359260] 2. Environment os: arm64v8/ubuntu:20.04 java: 8 maven: 3.6.3 springboot: 2.5.15, 2.6.15 or 2.7.17 project: seata was: 1. Error log [https://github.com/wangliang181230/seata/actions/runs/6793162051/job/18468359260] 2. Environment os: arm64v8/ubuntu:20.04 java: 8 springboot: 2.5.15, 2.6.15 or 2.7.17 project: seata > Bad service configuration file, or exception thrown while constructing > Processor object: Invalid index > -- > > Key: MCOMPILER-555 > URL: https://issues.apache.org/jira/browse/MCOMPILER-555 > Project: Maven Compiler Plugin > Issue Type: Bug >Affects Versions: 3.8.1 >Reporter: Liang Wang >Priority: Major > > 1. Error log > [https://github.com/wangliang181230/seata/actions/runs/6793162051/job/18468359260] > > 2. Environment > os: arm64v8/ubuntu:20.04 > java: 8 > maven: 3.6.3 > springboot: 2.5.15, 2.6.15 or 2.7.17 > project: seata -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MCOMPILER-555) Bad service configuration file, or exception thrown while constructing Processor object: Invalid index
[ https://issues.apache.org/jira/browse/MCOMPILER-555?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Liang Wang updated MCOMPILER-555: - Description: 1. Error log [https://github.com/wangliang181230/seata/actions/runs/6793162051/job/18468359260] 2. Environment os: arm64v8/ubuntu:20.04 java: 8 springboot: 2.5.15, 2.6.15 or 2.7.17 project: seata was: # Error log [https://github.com/wangliang181230/seata/actions/runs/6793162051/job/18468359260] # Environment os: arm64v8/ubuntu:20.04 java: 8 springboot: 2.5.15, 2.6.15 or 2.7.17 project: seata > Bad service configuration file, or exception thrown while constructing > Processor object: Invalid index > -- > > Key: MCOMPILER-555 > URL: https://issues.apache.org/jira/browse/MCOMPILER-555 > Project: Maven Compiler Plugin > Issue Type: Bug >Affects Versions: 3.8.1 >Reporter: Liang Wang >Priority: Major > > 1. Error log > [https://github.com/wangliang181230/seata/actions/runs/6793162051/job/18468359260] > > 2. Environment > os: arm64v8/ubuntu:20.04 > java: 8 > springboot: 2.5.15, 2.6.15 or 2.7.17 > project: seata -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MCOMPILER-555) Bad service configuration file, or exception thrown while constructing Processor object: Invalid index
Liang Wang created MCOMPILER-555: Summary: Bad service configuration file, or exception thrown while constructing Processor object: Invalid index Key: MCOMPILER-555 URL: https://issues.apache.org/jira/browse/MCOMPILER-555 Project: Maven Compiler Plugin Issue Type: Bug Affects Versions: 3.8.1 Reporter: Liang Wang # Error log [https://github.com/wangliang181230/seata/actions/runs/6793162051/job/18468359260] # Environment os: arm64v8/ubuntu:20.04 java: 8 springboot: 2.5.15, 2.6.15 or 2.7.17 project: seata -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Closed] (MPOM-446) Upgrade Parent to 31
[ https://issues.apache.org/jira/browse/MPOM-446?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Slawomir Jaranowski closed MPOM-446. Resolution: Fixed > Upgrade Parent to 31 > > > Key: MPOM-446 > URL: https://issues.apache.org/jira/browse/MPOM-446 > Project: Maven POMs > Issue Type: Dependency upgrade > Components: maven >Reporter: Slawomir Jaranowski >Assignee: Slawomir Jaranowski >Priority: Major > Fix For: MAVEN-41 > > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MPOM-446) Upgrade Parent to 31
[ https://issues.apache.org/jira/browse/MPOM-446?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784228#comment-17784228 ] Slawomir Jaranowski commented on MPOM-446: -- Done in https://github.com/apache/maven-parent/commit/64e4b7611f6213cf5cce40083b3b273b900e1403 > Upgrade Parent to 31 > > > Key: MPOM-446 > URL: https://issues.apache.org/jira/browse/MPOM-446 > Project: Maven POMs > Issue Type: Dependency upgrade > Components: maven >Reporter: Slawomir Jaranowski >Assignee: Slawomir Jaranowski >Priority: Major > Fix For: MAVEN-41 > > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MPOM-446) Upgrade Parent to 31
Slawomir Jaranowski created MPOM-446: Summary: Upgrade Parent to 31 Key: MPOM-446 URL: https://issues.apache.org/jira/browse/MPOM-446 Project: Maven POMs Issue Type: Dependency upgrade Components: maven Reporter: Slawomir Jaranowski Assignee: Slawomir Jaranowski Fix For: MAVEN-41 -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Closed] (MPOM-444) Bump maven-pmd-plugin from 3.21.0 to 3.21.2
[ https://issues.apache.org/jira/browse/MPOM-444?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Slawomir Jaranowski closed MPOM-444. Resolution: Fixed > Bump maven-pmd-plugin from 3.21.0 to 3.21.2 > --- > > Key: MPOM-444 > URL: https://issues.apache.org/jira/browse/MPOM-444 > Project: Maven POMs > Issue Type: Dependency upgrade > Components: maven >Reporter: Slawomir Jaranowski >Assignee: Slawomir Jaranowski >Priority: Major > Fix For: MAVEN-41 > > -- This message was sent by Atlassian Jira (v8.20.10#820010)
Re: [PR] [MPOM-444] Bump maven-pmd-plugin from 3.21.0 to 3.21.2 [maven-parent]
slawekjaranowski merged PR #148: URL: https://github.com/apache/maven-parent/pull/148 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Closed] (MPOM-445) Use maven-checkstyle-plugin version from parent
[ https://issues.apache.org/jira/browse/MPOM-445?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Slawomir Jaranowski closed MPOM-445. Resolution: Fixed > Use maven-checkstyle-plugin version from parent > --- > > Key: MPOM-445 > URL: https://issues.apache.org/jira/browse/MPOM-445 > Project: Maven POMs > Issue Type: Task > Components: maven >Reporter: Slawomir Jaranowski >Assignee: Slawomir Jaranowski >Priority: Major > Fix For: MAVEN-41 > > -- This message was sent by Atlassian Jira (v8.20.10#820010)
Re: [PR] [MPOM-445] Use maven-checkstyle-plugin version from parent [maven-parent]
slawekjaranowski merged PR #149: URL: https://github.com/apache/maven-parent/pull/149 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Commented] (MNG-7924) Better control over and better integration with Resolver
[ https://issues.apache.org/jira/browse/MNG-7924?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784218#comment-17784218 ] ASF GitHub Bot commented on MNG-7924: - cstamas opened a new pull request, #1299: URL: https://github.com/apache/maven/pull/1299 Integrate better and obtain better control over Resolver. These changes did stem from "JPMS module experiment" and are considered improvement but does not implement any functionality related to JPMS module support. Changes: * Maven4 should stop "disconnected coexistence" of two type systems (ArtifactHandlers and Resolver ArtifactTypeRegistry), it should unify them. * Maven4 Core should provide generic and extensible means to introduce new artifact types (fully in extension, and extension should get extended data via "roundtrip" in core/resolver) > Better control over and better integration with Resolver > > > Key: MNG-7924 > URL: https://issues.apache.org/jira/browse/MNG-7924 > Project: Maven > Issue Type: Task > Components: Artifacts and Repositories >Reporter: Tamas Cservenak >Priority: Major > Fix For: 4.0.0-alpha-9 > > > Integrate better and obtain better control over Resolver. These changes did > stem from "[JPMS module > experiment|https://cwiki.apache.org/confluence/display/MAVEN/Experiment+-+Explicit+JPMS+support]"; > and are considered improvement but *does not implement any functionality* > related to JPMS module support. > Changes: > * Maven4 should stop "disconnected coexistence" of two type systems > (ArtifactHandlers and Resolver ArtifactTypeRegistry), it should unify them. > * Maven4 Core should provide generic and extensible means to introduce new > artifact types (fully in extension, and extension should get extended data > via "roundtrip" in core/resolver) -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Closed] (MPOM-443) Skip empty surefire reports
[ https://issues.apache.org/jira/browse/MPOM-443?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Slawomir Jaranowski closed MPOM-443. Resolution: Fixed > Skip empty surefire reports > --- > > Key: MPOM-443 > URL: https://issues.apache.org/jira/browse/MPOM-443 > Project: Maven POMs > Issue Type: Improvement > Components: maven >Reporter: Slawomir Jaranowski >Assignee: Slawomir Jaranowski >Priority: Major > Fix For: MAVEN-41 > > -- This message was sent by Atlassian Jira (v8.20.10#820010)
Re: [PR] [MPOM-443] Skip empty surefire reports [maven-parent]
slawekjaranowski merged PR #147: URL: https://github.com/apache/maven-parent/pull/147 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Closed] (MASSEMBLY-1004) Remove ignored and deprecated parameter - useJvmChmod
[ https://issues.apache.org/jira/browse/MASSEMBLY-1004?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Slawomir Jaranowski closed MASSEMBLY-1004. -- Resolution: Fixed > Remove ignored and deprecated parameter - useJvmChmod > - > > Key: MASSEMBLY-1004 > URL: https://issues.apache.org/jira/browse/MASSEMBLY-1004 > Project: Maven Assembly Plugin > Issue Type: Task >Reporter: Slawomir Jaranowski >Assignee: Slawomir Jaranowski >Priority: Major > Fix For: next-release > > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MASSEMBLY-1004) Remove ignored and deprecated parameter - useJvmChmod
[ https://issues.apache.org/jira/browse/MASSEMBLY-1004?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784217#comment-17784217 ] ASF GitHub Bot commented on MASSEMBLY-1004: --- slawekjaranowski merged PR #163: URL: https://github.com/apache/maven-assembly-plugin/pull/163 > Remove ignored and deprecated parameter - useJvmChmod > - > > Key: MASSEMBLY-1004 > URL: https://issues.apache.org/jira/browse/MASSEMBLY-1004 > Project: Maven Assembly Plugin > Issue Type: Task >Reporter: Slawomir Jaranowski >Assignee: Slawomir Jaranowski >Priority: Major > Fix For: next-release > > -- This message was sent by Atlassian Jira (v8.20.10#820010)
Re: [PR] [MASSEMBLY-1004] Remove ignored and deprecated parameter - useJvmChmod [maven-assembly-plugin]
slawekjaranowski merged PR #163: URL: https://github.com/apache/maven-assembly-plugin/pull/163 -- 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] (MNG-7924) Better control over and better integration with Resolver
[ https://issues.apache.org/jira/browse/MNG-7924?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tamas Cservenak updated MNG-7924: - Summary: Better control over and better integration with Resolver (was: Better control over Resolver and better integration) > Better control over and better integration with Resolver > > > Key: MNG-7924 > URL: https://issues.apache.org/jira/browse/MNG-7924 > Project: Maven > Issue Type: Task > Components: Artifacts and Repositories >Reporter: Tamas Cservenak >Priority: Major > Fix For: 4.0.0-alpha-9 > > > Integrate better and obtain better control over Resolver. These changes did > stem from "[JPMS module > experiment|https://cwiki.apache.org/confluence/display/MAVEN/Experiment+-+Explicit+JPMS+support]"; > and are considered improvement but *does not implement any functionality* > related to JPMS module support. > Changes: > * Maven4 should stop "coexisting" two type systems (ArtifactHandlers and > Resolver ArtifactTypeRegistry), it should unify them. > * Maven4 Core should provide generic and extensible means to introduce new > types (fully in extension) -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MNG-7924) Better control over and better integration with Resolver
[ https://issues.apache.org/jira/browse/MNG-7924?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tamas Cservenak updated MNG-7924: - Description: Integrate better and obtain better control over Resolver. These changes did stem from "[JPMS module experiment|https://cwiki.apache.org/confluence/display/MAVEN/Experiment+-+Explicit+JPMS+support]"; and are considered improvement but *does not implement any functionality* related to JPMS module support. Changes: * Maven4 should stop "disconnected coexistence" of two type systems (ArtifactHandlers and Resolver ArtifactTypeRegistry), it should unify them. * Maven4 Core should provide generic and extensible means to introduce new types (fully in extension) was: Integrate better and obtain better control over Resolver. These changes did stem from "[JPMS module experiment|https://cwiki.apache.org/confluence/display/MAVEN/Experiment+-+Explicit+JPMS+support]"; and are considered improvement but *does not implement any functionality* related to JPMS module support. Changes: * Maven4 should stop "coexisting" two type systems (ArtifactHandlers and Resolver ArtifactTypeRegistry), it should unify them. * Maven4 Core should provide generic and extensible means to introduce new types (fully in extension) > Better control over and better integration with Resolver > > > Key: MNG-7924 > URL: https://issues.apache.org/jira/browse/MNG-7924 > Project: Maven > Issue Type: Task > Components: Artifacts and Repositories >Reporter: Tamas Cservenak >Priority: Major > Fix For: 4.0.0-alpha-9 > > > Integrate better and obtain better control over Resolver. These changes did > stem from "[JPMS module > experiment|https://cwiki.apache.org/confluence/display/MAVEN/Experiment+-+Explicit+JPMS+support]"; > and are considered improvement but *does not implement any functionality* > related to JPMS module support. > Changes: > * Maven4 should stop "disconnected coexistence" of two type systems > (ArtifactHandlers and Resolver ArtifactTypeRegistry), it should unify them. > * Maven4 Core should provide generic and extensible means to introduce new > types (fully in extension) -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MNG-7924) Better control over and better integration with Resolver
[ https://issues.apache.org/jira/browse/MNG-7924?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tamas Cservenak updated MNG-7924: - Description: Integrate better and obtain better control over Resolver. These changes did stem from "[JPMS module experiment|https://cwiki.apache.org/confluence/display/MAVEN/Experiment+-+Explicit+JPMS+support]"; and are considered improvement but *does not implement any functionality* related to JPMS module support. Changes: * Maven4 should stop "disconnected coexistence" of two type systems (ArtifactHandlers and Resolver ArtifactTypeRegistry), it should unify them. * Maven4 Core should provide generic and extensible means to introduce new artifact types (fully in extension, and extension should get extended data via "roundtrip" in core/resolver) was: Integrate better and obtain better control over Resolver. These changes did stem from "[JPMS module experiment|https://cwiki.apache.org/confluence/display/MAVEN/Experiment+-+Explicit+JPMS+support]"; and are considered improvement but *does not implement any functionality* related to JPMS module support. Changes: * Maven4 should stop "disconnected coexistence" of two type systems (ArtifactHandlers and Resolver ArtifactTypeRegistry), it should unify them. * Maven4 Core should provide generic and extensible means to introduce new types (fully in extension) > Better control over and better integration with Resolver > > > Key: MNG-7924 > URL: https://issues.apache.org/jira/browse/MNG-7924 > Project: Maven > Issue Type: Task > Components: Artifacts and Repositories >Reporter: Tamas Cservenak >Priority: Major > Fix For: 4.0.0-alpha-9 > > > Integrate better and obtain better control over Resolver. These changes did > stem from "[JPMS module > experiment|https://cwiki.apache.org/confluence/display/MAVEN/Experiment+-+Explicit+JPMS+support]"; > and are considered improvement but *does not implement any functionality* > related to JPMS module support. > Changes: > * Maven4 should stop "disconnected coexistence" of two type systems > (ArtifactHandlers and Resolver ArtifactTypeRegistry), it should unify them. > * Maven4 Core should provide generic and extensible means to introduce new > artifact types (fully in extension, and extension should get extended data > via "roundtrip" in core/resolver) -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MNG-7924) Better control over Resolver and better integration
Tamas Cservenak created MNG-7924: Summary: Better control over Resolver and better integration Key: MNG-7924 URL: https://issues.apache.org/jira/browse/MNG-7924 Project: Maven Issue Type: Task Components: Artifacts and Repositories Reporter: Tamas Cservenak Fix For: 4.0.0-alpha-9 Integrate better and obtain better control over Resolver. These changes did stem from "[JPMS module experiment|https://cwiki.apache.org/confluence/display/MAVEN/Experiment+-+Explicit+JPMS+support]"; and are considered improvement but *does not implement any functionality* related to JPMS module support. Changes: * Maven4 should stop "coexisting" two type systems (ArtifactHandlers and Resolver ArtifactTypeRegistry), it should unify them. * Maven4 Core should provide generic and extensible means to introduce new types (fully in extension) -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MRESOLVER-302) Introduce onSession close
[ https://issues.apache.org/jira/browse/MRESOLVER-302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784208#comment-17784208 ] Tamas Cservenak commented on MRESOLVER-302: --- MNG-7653 will integrate these changes into Maven > Introduce onSession close > - > > Key: MRESOLVER-302 > URL: https://issues.apache.org/jira/browse/MRESOLVER-302 > Project: Maven Resolver > Issue Type: Improvement > Components: Resolver >Reporter: Tamas Cservenak >Assignee: Tamas Cservenak >Priority: Major > Fix For: 2.0.0 > > > The on session close callback, revisited. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Assigned] (MRESOLVER-422) Fix javadoc report
[ https://issues.apache.org/jira/browse/MRESOLVER-422?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tamas Cservenak reassigned MRESOLVER-422: - Assignee: Tamas Cservenak > Fix javadoc report > -- > > Key: MRESOLVER-422 > URL: https://issues.apache.org/jira/browse/MRESOLVER-422 > Project: Maven Resolver > Issue Type: Task > Components: Resolver >Reporter: Tamas Cservenak >Assignee: Tamas Cservenak >Priority: Major > Fix For: 2.0.0 > > > Currently to overcome the m-javadoc-p report issue, the URL was fixed to > Java11, see > https://github.com/apache/maven-resolver/commit/baac2975488adf630c02141b882d1459d8c66fae > Simplest fix would be to introduce new property/variable, as javaVersion > _changes from module to module_, while a new _buildJavaVersion_ would be same > for whole reactor (and is Java11). -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Closed] (MRESOLVER-422) Fix javadoc report
[ https://issues.apache.org/jira/browse/MRESOLVER-422?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tamas Cservenak closed MRESOLVER-422. - Resolution: Fixed > Fix javadoc report > -- > > Key: MRESOLVER-422 > URL: https://issues.apache.org/jira/browse/MRESOLVER-422 > Project: Maven Resolver > Issue Type: Task > Components: Resolver >Reporter: Tamas Cservenak >Assignee: Tamas Cservenak >Priority: Major > Fix For: 2.0.0 > > > Currently to overcome the m-javadoc-p report issue, the URL was fixed to > Java11, see > https://github.com/apache/maven-resolver/commit/baac2975488adf630c02141b882d1459d8c66fae > Simplest fix would be to introduce new property/variable, as javaVersion > _changes from module to module_, while a new _buildJavaVersion_ would be same > for whole reactor (and is Java11). -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MRESOLVER-422) Fix javadoc report
[ https://issues.apache.org/jira/browse/MRESOLVER-422?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784201#comment-17784201 ] ASF GitHub Bot commented on MRESOLVER-422: -- cstamas merged PR #359: URL: https://github.com/apache/maven-resolver/pull/359 > Fix javadoc report > -- > > Key: MRESOLVER-422 > URL: https://issues.apache.org/jira/browse/MRESOLVER-422 > Project: Maven Resolver > Issue Type: Task > Components: Resolver >Reporter: Tamas Cservenak >Priority: Major > Fix For: 2.0.0 > > > Currently to overcome the m-javadoc-p report issue, the URL was fixed to > Java11, see > https://github.com/apache/maven-resolver/commit/baac2975488adf630c02141b882d1459d8c66fae > Simplest fix would be to introduce new property/variable, as javaVersion > _changes from module to module_, while a new _buildJavaVersion_ would be same > for whole reactor (and is Java11). -- This message was sent by Atlassian Jira (v8.20.10#820010)
Re: [PR] [MRESOLVER-422] Fix javadoc configuration [maven-resolver]
cstamas merged PR #359: URL: https://github.com/apache/maven-resolver/pull/359 -- 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-1618) Configure module path with additional modules
[ https://issues.apache.org/jira/browse/SUREFIRE-1618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784192#comment-17784192 ] David M. Lloyd commented on SUREFIRE-1618: -- We've also hit this issue. [~marx.freedom], WDYT about opening a pull request with the given patch at https://github.com/apache/maven-surefire ? It seems OK to me. > Configure module path with additional modules > - > > Key: SUREFIRE-1618 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1618 > Project: Maven Surefire > Issue Type: Improvement > Components: Maven Surefire Plugin >Affects Versions: 3.0.0-M3 >Reporter: Sergey Gurev >Priority: Major > Attachments: additionalModules.patch > > > When surefire-maven-plugin runs tests with the JPMS it constructs module path > only from modules required by compiled module (reading its descriptor from > file target/classes/module-info.class). Other jars will be used in class path > even they are modular (with module-info.class). > It seems that plugin should include all modular jars to module path or there > should be an option to configure module path. > For example: > > {code:java} > > net.bytebuddy > net.bytebuddy.agent > > {code} > > Attached patch contains implementation of "additionalModules" configuration > property. > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (SUREFIRE-1731) Unable to test Multi Release Jar with surefire or failsafe
[ https://issues.apache.org/jira/browse/SUREFIRE-1731?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784190#comment-17784190 ] David M. Lloyd commented on SUREFIRE-1731: -- Just bumping this issue. There is a workaround, which is really ugly but *almost* does the job: {code:xml} java17-test [18,) java17.home ${basedir}/build-test-java17 org.apache.maven.plugins maven-surefire-plugin java17-test test test ${java17.home}/bin/java ${project.build.directory}/classes/META-INF/versions/17 ${project.build.directory}/classes/META-INF/versions/16 ${project.build.directory}/classes/META-INF/versions/15 ${project.build.directory}/classes/META-INF/versions/14 ${project.build.directory}/classes/META-INF/versions/13 ${project.build.directory}/classes/META-INF/versions/12 ${project.build.outputDirectory} {code} The relevant part of this snippet is where we set up the class path. We "trick" surefire into prioritizing the highest layer by assigning it to the `classesDirectory`. Then, we add the remaining layers, plus the *original* project class path, as the final (lowest) layer. This ugly trick works because the plugin just happens to support `additionalClassPathElement`. But, it has a major drawback: when you do this, the plugin can no longer find any `module-info.class` because it looks in the `classesDirectory` for it! So, any thusly configured executions will never run in module mode, making it impossible to test module mode execution and MR JAR output at the same time. Back when I proposed (in MCOMPILER-320) that the compiler plugin get `additionalClassPathElements` support in order to support this use case, it was determined that this was not desirable, and instead the `multiReleaseOutput` switch was added to that plugin. I propose that the solution to this issue is to add an analogous `multiReleaseOutput` switch which tells the Surefire plugin to correctly compose the class path and/or module path in such a way as to be multi-release aware. > Unable to test Multi Release Jar with surefire or failsafe > -- > > Key: SUREFIRE-1731 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1731 > Project: Maven Surefire > Issue Type: Bug > Components: Maven Failsafe Plugin, Maven Surefire Plugin >Affects Versions: 2.22.2, 3.0.0-M4 >Reporter: John Patrick >Priority: Major > > I'm creating a Multi Release jar, containing base Java 1.8 and Java 11 > classes. But am not able to successful test the Java 11 part. > In the following repo, I've got 3 tests. > * 1 test needs to be executed using Java 1.8 that are under src/test/java. > * 2 tests need to be executed using Java 11 that are under src/test/java11. > If the src/test/java tests are executed using Java 11 I expect it to fail > which is expected, because it would be picking up the classes under > target/classes/META-INF/versions/11/ and not the Java 1.8 version under > target/classes/. Because the tests have been written to prove the correct > source file is used for execution so the Java 1.8 BaseClass returns a > different string to the Java 11 BaseClass. > [https://github.com/nhojpatrick/issue-maven-multi-release-jar-testing] > -- This message was sent by
[jira] [Commented] (MRESOLVER-422) Fix javadoc report
[ https://issues.apache.org/jira/browse/MRESOLVER-422?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784188#comment-17784188 ] ASF GitHub Bot commented on MRESOLVER-422: -- cstamas opened a new pull request, #359: URL: https://github.com/apache/maven-resolver/pull/359 Not much to fix really, but simply put the "minimally required Java" and Javadoc URL needs to be kept in sync. But, as former is a range, latter is a "base version", it goes only manually. Hence, I left a note in POM for this. --- https://issues.apache.org/jira/browse/MRESOLVER-422 > Fix javadoc report > -- > > Key: MRESOLVER-422 > URL: https://issues.apache.org/jira/browse/MRESOLVER-422 > Project: Maven Resolver > Issue Type: Task > Components: Resolver >Reporter: Tamas Cservenak >Priority: Major > Fix For: 2.0.0 > > > Currently to overcome the m-javadoc-p report issue, the URL was fixed to > Java11, see > https://github.com/apache/maven-resolver/commit/baac2975488adf630c02141b882d1459d8c66fae > Simplest fix would be to introduce new property/variable, as javaVersion > _changes from module to module_, while a new _buildJavaVersion_ would be same > for whole reactor (and is Java11). -- This message was sent by Atlassian Jira (v8.20.10#820010)
[PR] [MRESOLVER-422] Fix javadoc configuration [maven-resolver]
cstamas opened a new pull request, #359: URL: https://github.com/apache/maven-resolver/pull/359 Not much to fix really, but simply put the "minimally required Java" and Javadoc URL needs to be kept in sync. But, as former is a range, latter is a "base version", it goes only manually. Hence, I left a note in POM for this. --- https://issues.apache.org/jira/browse/MRESOLVER-422 -- 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-426) Move some HTTP configuration properties from transport-http
[ https://issues.apache.org/jira/browse/MRESOLVER-426?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784185#comment-17784185 ] ASF GitHub Bot commented on MRESOLVER-426: -- cstamas merged PR #356: URL: https://github.com/apache/maven-resolver/pull/356 > Move some HTTP configuration properties from transport-http > --- > > Key: MRESOLVER-426 > URL: https://issues.apache.org/jira/browse/MRESOLVER-426 > Project: Maven Resolver > Issue Type: Task > Components: Resolver >Reporter: Tamas Cservenak >Assignee: Tamas Cservenak >Priority: Major > Fix For: 2.0.0 > > > As they are not ASF HttpClient specific, but could be reused by other > implementations as well, like bind address, support WebDAV, > preemprtivePutAuth... -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Closed] (MRESOLVER-426) Move some HTTP configuration properties from transport-http
[ https://issues.apache.org/jira/browse/MRESOLVER-426?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tamas Cservenak closed MRESOLVER-426. - Resolution: Fixed > Move some HTTP configuration properties from transport-http > --- > > Key: MRESOLVER-426 > URL: https://issues.apache.org/jira/browse/MRESOLVER-426 > Project: Maven Resolver > Issue Type: Task > Components: Resolver >Reporter: Tamas Cservenak >Assignee: Tamas Cservenak >Priority: Major > Fix For: 2.0.0 > > > As they are not ASF HttpClient specific, but could be reused by other > implementations as well, like bind address, support WebDAV, > preemprtivePutAuth... -- This message was sent by Atlassian Jira (v8.20.10#820010)
Re: [PR] [MRESOLVER-426] Make some HTTP configuration shared [maven-resolver]
cstamas merged PR #356: URL: https://github.com/apache/maven-resolver/pull/356 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Closed] (MRESOLVER-430) Make build time requirement for Java 21
[ https://issues.apache.org/jira/browse/MRESOLVER-430?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tamas Cservenak closed MRESOLVER-430. - Resolution: Fixed > Make build time requirement for Java 21 > --- > > Key: MRESOLVER-430 > URL: https://issues.apache.org/jira/browse/MRESOLVER-430 > Project: Maven Resolver > Issue Type: Task > Components: Resolver >Reporter: Tamas Cservenak >Assignee: Tamas Cservenak >Priority: Major > Fix For: 2.0.0 > > > What we need to build Resolver is not affecting users of library. Still, to > be able to get latest features we want 21 and not have conditions in build... > * java.net.http.HttpClient#close() method added in Java21 > * ability to set local address added in Java19 > Basically, we need latest Java to build multi-release JAR and client JDK will > decide anyway what they are able to make of it. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Assigned] (MRESOLVER-430) Make build time requirement for Java 21
[ https://issues.apache.org/jira/browse/MRESOLVER-430?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tamas Cservenak reassigned MRESOLVER-430: - Assignee: Tamas Cservenak > Make build time requirement for Java 21 > --- > > Key: MRESOLVER-430 > URL: https://issues.apache.org/jira/browse/MRESOLVER-430 > Project: Maven Resolver > Issue Type: Task > Components: Resolver >Reporter: Tamas Cservenak >Assignee: Tamas Cservenak >Priority: Major > Fix For: 2.0.0 > > > What we need to build Resolver is not affecting users of library. Still, to > be able to get latest features we want 21 and not have conditions in build... > * java.net.http.HttpClient#close() method added in Java21 > * ability to set local address added in Java19 > Basically, we need latest Java to build multi-release JAR and client JDK will > decide anyway what they are able to make of it. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MRESOLVER-430) Make build time requirement for Java 21
[ https://issues.apache.org/jira/browse/MRESOLVER-430?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784180#comment-17784180 ] ASF GitHub Bot commented on MRESOLVER-430: -- cstamas merged PR #358: URL: https://github.com/apache/maven-resolver/pull/358 > Make build time requirement for Java 21 > --- > > Key: MRESOLVER-430 > URL: https://issues.apache.org/jira/browse/MRESOLVER-430 > Project: Maven Resolver > Issue Type: Task > Components: Resolver >Reporter: Tamas Cservenak >Priority: Major > Fix For: 2.0.0 > > > What we need to build Resolver is not affecting users of library. Still, to > be able to get latest features we want 21 and not have conditions in build... > * java.net.http.HttpClient#close() method added in Java21 > * ability to set local address added in Java19 > Basically, we need latest Java to build multi-release JAR and client JDK will > decide anyway what they are able to make of it. -- This message was sent by Atlassian Jira (v8.20.10#820010)
Re: [PR] [MRESOLVER-430] Build time Java 21 required [maven-resolver]
cstamas merged PR #358: URL: https://github.com/apache/maven-resolver/pull/358 -- 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-424) Make DependencyGraphDumper extensible
[ https://issues.apache.org/jira/browse/MRESOLVER-424?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784179#comment-17784179 ] ASF GitHub Bot commented on MRESOLVER-424: -- cstamas merged PR #355: URL: https://github.com/apache/maven-resolver/pull/355 > Make DependencyGraphDumper extensible > - > > Key: MRESOLVER-424 > URL: https://issues.apache.org/jira/browse/MRESOLVER-424 > Project: Maven Resolver > Issue Type: Task > Components: Resolver >Reporter: Tamas Cservenak >Assignee: Tamas Cservenak >Priority: Major > Fix For: 2.0.0 > > > Currently it does "almost all" and nicely, but is not extensible at all, at > least methods could be make protected to reuse it when needed. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Closed] (MRESOLVER-424) Make DependencyGraphDumper extensible
[ https://issues.apache.org/jira/browse/MRESOLVER-424?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tamas Cservenak closed MRESOLVER-424. - Resolution: Fixed > Make DependencyGraphDumper extensible > - > > Key: MRESOLVER-424 > URL: https://issues.apache.org/jira/browse/MRESOLVER-424 > Project: Maven Resolver > Issue Type: Task > Components: Resolver >Reporter: Tamas Cservenak >Assignee: Tamas Cservenak >Priority: Major > Fix For: 2.0.0 > > > Currently it does "almost all" and nicely, but is not extensible at all, at > least methods could be make protected to reuse it when needed. -- This message was sent by Atlassian Jira (v8.20.10#820010)
Re: [PR] [MRESOLVER-424] Make graph dumper extensible [maven-resolver]
cstamas merged PR #355: URL: https://github.com/apache/maven-resolver/pull/355 -- 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-308) HTTP transport showdown
[ https://issues.apache.org/jira/browse/MRESOLVER-308?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784178#comment-17784178 ] ASF GitHub Bot commented on MRESOLVER-308: -- cstamas commented on PR #231: URL: https://github.com/apache/maven-resolver/pull/231#issuecomment-1802485551 Removed this PR from 2.0.0 milestone, but am keeping it, as while main code is already on master, there may be some test related bits we will need. > HTTP transport showdown > --- > > Key: MRESOLVER-308 > URL: https://issues.apache.org/jira/browse/MRESOLVER-308 > Project: Maven Resolver > Issue Type: Task > Components: Resolver >Reporter: Tamas Cservenak >Assignee: Tamas Cservenak >Priority: Major > Fix For: 2.0.0 > > > For HTTP protocol resolver currently provides following transports: > * transport-wagon that uses Maven 2.x Wagon, that among other protocols > supports HTTP/1.1 as well > * transport-http that uses directly Apache HttpClient 4.x supporting > HTTP/1.1 but provides enhancements in form of "checksum strategy" (almost all > of remote repositories emit those in headers, sparing one HTTP round-trip) > As we saw, is very easy to outperform these as: > * Maven Central supports HTTP/1.1 but also HTTP/2 > * HTTP/3 is on the way as well > An experiment involving Jetty Client far outperformed both of existing > transports, most probably due HTTP/2 support. > So, clients we should consider: > * Jetty Client > * OkHTTP > * Java 11 HttpClient > Point is, to invest into something that (ideally) transparently supports > HTTP/1.1 and HTTP/2, and more ideal would be if even HTTP/3 would be > transparently supported (Jetty 12 works on that). We could then simply > compare these implementations, count in pros and cons, and decide where we > want to go, -- This message was sent by Atlassian Jira (v8.20.10#820010)
Re: [PR] [MRESOLVER-308] HTTP transport showdown. [maven-resolver]
cstamas commented on PR #231: URL: https://github.com/apache/maven-resolver/pull/231#issuecomment-1802485551 Removed this PR from 2.0.0 milestone, but am keeping it, as while main code is already on master, there may be some test related bits we will need. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Commented] (MNG-7662) Allow Graphbuilder to use session scoped components
[ https://issues.apache.org/jira/browse/MNG-7662?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784176#comment-17784176 ] ASF GitHub Bot commented on MNG-7662: - rmannibucau commented on code in PR #950: URL: https://github.com/apache/maven/pull/950#discussion_r1387070244 ## maven-core/pom.xml: ## @@ -144,6 +144,12 @@ under the License. org.slf4j slf4j-api + Review Comment: the new interceptor is a new proxy basically high level i'd like to ensure we don't depend on java version as much as we can cause it starts to hurt all the ecosystem and at maven there is no reason we do depend on asm so no new usage should be added and ultimately we should drop them all from maven 4.0.0 IMHO > Allow Graphbuilder to use session scoped components > --- > > Key: MNG-7662 > URL: https://issues.apache.org/jira/browse/MNG-7662 > Project: Maven > Issue Type: Bug >Reporter: Christoph Läubrich >Priority: Major > > Currently DefaultMaven gets the Graphbuilder injected as a strict requirement > at a very early stage. This leads to the problem, that a GraphBuilder > implementation can not use any SessionScoped Components (because the session > scope is not setup yet). > The error then is > {code:java} > 1) Error in custom provider, com.google.inject.OutOfScopeException: Cannot > access Key[type=org.apache.maven.execution.MavenSession, annotation=[none]] > outside of a scoping block > at > org.apache.maven.session.scope.internal.SessionScopeModule.configure(SessionScopeModule.java:64) > (via modules: org.eclipse.sisu.wire.WireModule -> > org.apache.maven.session.scope.internal.SessionScopeModule) > while locating org.apache.maven.execution.MavenSession > for the 1st parameter of > org.eclipse.tycho.helper.PluginRealmHelper.(Unknown Source) > at ClassRealm[coreExtension>org.eclipse.tycho:tycho-build:${tycho-version}, > parent: ClassRealm[plexus.core, parent: null]] (via modules: > org.eclipse.sisu.wire.WireModule -> > org.eclipse.sisu.plexus.PlexusBindingModule) > while locating org.eclipse.tycho.helper.PluginRealmHelper > at ClassRealm[coreExtension>org.eclipse.tycho:tycho-build:${tycho-version}, > parent: ClassRealm[plexus.core, parent: null]] (via modules: > org.eclipse.sisu.wire.WireModule -> > org.eclipse.sisu.plexus.PlexusBindingModule) > while locating org.eclipse.tycho.p2maven.InstallableUnitGenerator > at ClassRealm[coreExtension>org.eclipse.tycho:tycho-build:${tycho-version}, > parent: ClassRealm[plexus.core, parent: null]] (via modules: > org.eclipse.sisu.wire.WireModule -> > org.eclipse.sisu.plexus.PlexusBindingModule) > while locating org.eclipse.tycho.p2maven.MavenProjectDependencyProcessor > while locating org.eclipse.tycho.build.TychoGraphBuilder > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
Re: [PR] [MNG-7662] Use proxies for session scoped beans [maven]
rmannibucau commented on code in PR #950: URL: https://github.com/apache/maven/pull/950#discussion_r1387070244 ## maven-core/pom.xml: ## @@ -144,6 +144,12 @@ under the License. org.slf4j slf4j-api + Review Comment: the new interceptor is a new proxy basically high level i'd like to ensure we don't depend on java version as much as we can cause it starts to hurt all the ecosystem and at maven there is no reason we do depend on asm so no new usage should be added and ultimately we should drop them all from maven 4.0.0 IMHO -- 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-430) Make build time requirement for Java 21
[ https://issues.apache.org/jira/browse/MRESOLVER-430?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784175#comment-17784175 ] ASF GitHub Bot commented on MRESOLVER-430: -- cstamas opened a new pull request, #358: URL: https://github.com/apache/maven-resolver/pull/358 Actually, 21.0.1 as 21 had a bug that one of two needed preconditions are always met in case of Maven (as m-compiler-p always sets debug=true). --- https://issues.apache.org/jira/browse/MRESOLVER-430 > Make build time requirement for Java 21 > --- > > Key: MRESOLVER-430 > URL: https://issues.apache.org/jira/browse/MRESOLVER-430 > Project: Maven Resolver > Issue Type: Task > Components: Resolver >Reporter: Tamas Cservenak >Priority: Major > Fix For: 2.0.0 > > > What we need to build Resolver is not affecting users of library. Still, to > be able to get latest features we want 21 and not have conditions in build... > * java.net.http.HttpClient#close() method added in Java21 > * ability to set local address added in Java19 > Basically, we need latest Java to build multi-release JAR and client JDK will > decide anyway what they are able to make of it. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[PR] [MRESOLVER-430] Build time Java 21 required [maven-resolver]
cstamas opened a new pull request, #358: URL: https://github.com/apache/maven-resolver/pull/358 Actually, 21.0.1 as 21 had a bug that one of two needed preconditions are always met in case of Maven (as m-compiler-p always sets debug=true). --- https://issues.apache.org/jira/browse/MRESOLVER-430 -- 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] [Created] (MRESOLVER-430) Make build time requirement for Java 21
Tamas Cservenak created MRESOLVER-430: - Summary: Make build time requirement for Java 21 Key: MRESOLVER-430 URL: https://issues.apache.org/jira/browse/MRESOLVER-430 Project: Maven Resolver Issue Type: Task Components: Resolver Reporter: Tamas Cservenak Fix For: 2.0.0 What we need to build Resolver is not affecting users of library. Still, to be able to get latest features we want 21 and not have conditions in build... * java.net.http.HttpClient#close() method added in Java21 * ability to set local address added in Java19 Basically, we need latest Java to build multi-release JAR and client JDK will decide anyway what they are able to make of it. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MNG-7662) Allow Graphbuilder to use session scoped components
[ https://issues.apache.org/jira/browse/MNG-7662?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784170#comment-17784170 ] ASF GitHub Bot commented on MNG-7662: - gnodet commented on code in PR #950: URL: https://github.com/apache/maven/pull/950#discussion_r1387041873 ## maven-core/pom.xml: ## @@ -144,6 +144,12 @@ under the License. org.slf4j slf4j-api + Review Comment: I'm not following. What are you worried about exactly ? ASM is already used, so it's just another usage. Related to class loaders, this PR does not change much, it simply adds byte buddy and objenesis to the maven core classloader, but ASM is already present, so there's actually no change related to ASM. In the simplier form, I would have used a JDK `Proxy`, but this looks too limited, so I went directly with bytebuddy, but the effect is the same. It's transparent for the user. I really don't get your worry as the classloader is nearly unchanged and proxies are only generated when actually needed (i.e. with the current plugins, it should never happen). > Allow Graphbuilder to use session scoped components > --- > > Key: MNG-7662 > URL: https://issues.apache.org/jira/browse/MNG-7662 > Project: Maven > Issue Type: Bug >Reporter: Christoph Läubrich >Priority: Major > > Currently DefaultMaven gets the Graphbuilder injected as a strict requirement > at a very early stage. This leads to the problem, that a GraphBuilder > implementation can not use any SessionScoped Components (because the session > scope is not setup yet). > The error then is > {code:java} > 1) Error in custom provider, com.google.inject.OutOfScopeException: Cannot > access Key[type=org.apache.maven.execution.MavenSession, annotation=[none]] > outside of a scoping block > at > org.apache.maven.session.scope.internal.SessionScopeModule.configure(SessionScopeModule.java:64) > (via modules: org.eclipse.sisu.wire.WireModule -> > org.apache.maven.session.scope.internal.SessionScopeModule) > while locating org.apache.maven.execution.MavenSession > for the 1st parameter of > org.eclipse.tycho.helper.PluginRealmHelper.(Unknown Source) > at ClassRealm[coreExtension>org.eclipse.tycho:tycho-build:${tycho-version}, > parent: ClassRealm[plexus.core, parent: null]] (via modules: > org.eclipse.sisu.wire.WireModule -> > org.eclipse.sisu.plexus.PlexusBindingModule) > while locating org.eclipse.tycho.helper.PluginRealmHelper > at ClassRealm[coreExtension>org.eclipse.tycho:tycho-build:${tycho-version}, > parent: ClassRealm[plexus.core, parent: null]] (via modules: > org.eclipse.sisu.wire.WireModule -> > org.eclipse.sisu.plexus.PlexusBindingModule) > while locating org.eclipse.tycho.p2maven.InstallableUnitGenerator > at ClassRealm[coreExtension>org.eclipse.tycho:tycho-build:${tycho-version}, > parent: ClassRealm[plexus.core, parent: null]] (via modules: > org.eclipse.sisu.wire.WireModule -> > org.eclipse.sisu.plexus.PlexusBindingModule) > while locating org.eclipse.tycho.p2maven.MavenProjectDependencyProcessor > while locating org.eclipse.tycho.build.TychoGraphBuilder > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
Re: [PR] [MNG-7662] Use proxies for session scoped beans [maven]
gnodet commented on code in PR #950: URL: https://github.com/apache/maven/pull/950#discussion_r1387041873 ## maven-core/pom.xml: ## @@ -144,6 +144,12 @@ under the License. org.slf4j slf4j-api + Review Comment: I'm not following. What are you worried about exactly ? ASM is already used, so it's just another usage. Related to class loaders, this PR does not change much, it simply adds byte buddy and objenesis to the maven core classloader, but ASM is already present, so there's actually no change related to ASM. In the simplier form, I would have used a JDK `Proxy`, but this looks too limited, so I went directly with bytebuddy, but the effect is the same. It's transparent for the user. I really don't get your worry as the classloader is nearly unchanged and proxies are only generated when actually needed (i.e. with the current plugins, it should never happen). -- 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-426) Move some HTTP configuration properties from transport-http
[ https://issues.apache.org/jira/browse/MRESOLVER-426?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784162#comment-17784162 ] ASF GitHub Bot commented on MRESOLVER-426: -- cstamas commented on PR #356: URL: https://github.com/apache/maven-resolver/pull/356#issuecomment-1802391250 This PR needs more: instead of doing hoops and loops (all to circumvent enforcer on dependencies and more) just raise the build Java requirement to 21, as HttpClient::close method is added. We can keep this "fine grained" Java support (on 19 bind parameter, on 21 client close), but IMHO is overkill... > Move some HTTP configuration properties from transport-http > --- > > Key: MRESOLVER-426 > URL: https://issues.apache.org/jira/browse/MRESOLVER-426 > Project: Maven Resolver > Issue Type: Task > Components: Resolver >Reporter: Tamas Cservenak >Assignee: Tamas Cservenak >Priority: Major > Fix For: 2.0.0 > > > As they are not ASF HttpClient specific, but could be reused by other > implementations as well, like bind address, support WebDAV, > preemprtivePutAuth... -- This message was sent by Atlassian Jira (v8.20.10#820010)
Re: [PR] [MRESOLVER-426] Make some HTTP configuration shared [maven-resolver]
cstamas commented on PR #356: URL: https://github.com/apache/maven-resolver/pull/356#issuecomment-1802391250 This PR needs more: instead of doing hoops and loops (all to circumvent enforcer on dependencies and more) just raise the build Java requirement to 21, as HttpClient::close method is added. We can keep this "fine grained" Java support (on 19 bind parameter, on 21 client close), but IMHO is overkill... -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Commented] (MNG-7662) Allow Graphbuilder to use session scoped components
[ https://issues.apache.org/jira/browse/MNG-7662?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784143#comment-17784143 ] ASF GitHub Bot commented on MNG-7662: - rmannibucau commented on code in PR #950: URL: https://github.com/apache/maven/pull/950#discussion_r1386957429 ## maven-core/pom.xml: ## @@ -144,6 +144,12 @@ under the License. org.slf4j slf4j-api + Review Comment: Well, this is not really the same, here you build an user facing feature (I'm thinking to extensions more than mojo) so it has to support this transparent java upgrade. For "us" we don't care since our bytecode will always be consistent as you explained. This is why I think we should generate the proxies at build time in out tooling stack more than at runtime - and I don't think doing it only for user code would be good. this is my reasoning > Allow Graphbuilder to use session scoped components > --- > > Key: MNG-7662 > URL: https://issues.apache.org/jira/browse/MNG-7662 > Project: Maven > Issue Type: Bug >Reporter: Christoph Läubrich >Priority: Major > > Currently DefaultMaven gets the Graphbuilder injected as a strict requirement > at a very early stage. This leads to the problem, that a GraphBuilder > implementation can not use any SessionScoped Components (because the session > scope is not setup yet). > The error then is > {code:java} > 1) Error in custom provider, com.google.inject.OutOfScopeException: Cannot > access Key[type=org.apache.maven.execution.MavenSession, annotation=[none]] > outside of a scoping block > at > org.apache.maven.session.scope.internal.SessionScopeModule.configure(SessionScopeModule.java:64) > (via modules: org.eclipse.sisu.wire.WireModule -> > org.apache.maven.session.scope.internal.SessionScopeModule) > while locating org.apache.maven.execution.MavenSession > for the 1st parameter of > org.eclipse.tycho.helper.PluginRealmHelper.(Unknown Source) > at ClassRealm[coreExtension>org.eclipse.tycho:tycho-build:${tycho-version}, > parent: ClassRealm[plexus.core, parent: null]] (via modules: > org.eclipse.sisu.wire.WireModule -> > org.eclipse.sisu.plexus.PlexusBindingModule) > while locating org.eclipse.tycho.helper.PluginRealmHelper > at ClassRealm[coreExtension>org.eclipse.tycho:tycho-build:${tycho-version}, > parent: ClassRealm[plexus.core, parent: null]] (via modules: > org.eclipse.sisu.wire.WireModule -> > org.eclipse.sisu.plexus.PlexusBindingModule) > while locating org.eclipse.tycho.p2maven.InstallableUnitGenerator > at ClassRealm[coreExtension>org.eclipse.tycho:tycho-build:${tycho-version}, > parent: ClassRealm[plexus.core, parent: null]] (via modules: > org.eclipse.sisu.wire.WireModule -> > org.eclipse.sisu.plexus.PlexusBindingModule) > while locating org.eclipse.tycho.p2maven.MavenProjectDependencyProcessor > while locating org.eclipse.tycho.build.TychoGraphBuilder > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
Re: [PR] [MNG-7662] Use proxies for session scoped beans [maven]
rmannibucau commented on code in PR #950: URL: https://github.com/apache/maven/pull/950#discussion_r1386957429 ## maven-core/pom.xml: ## @@ -144,6 +144,12 @@ under the License. org.slf4j slf4j-api + Review Comment: Well, this is not really the same, here you build an user facing feature (I'm thinking to extensions more than mojo) so it has to support this transparent java upgrade. For "us" we don't care since our bytecode will always be consistent as you explained. This is why I think we should generate the proxies at build time in out tooling stack more than at runtime - and I don't think doing it only for user code would be good. this is my reasoning -- 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-302) Introduce onSession close
[ https://issues.apache.org/jira/browse/MRESOLVER-302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784137#comment-17784137 ] ASF GitHub Bot commented on MRESOLVER-302: -- kwin commented on code in PR #357: URL: https://github.com/apache/maven-resolver/pull/357#discussion_r1386938264 ## maven-resolver-api/src/main/java/org/eclipse/aether/RepositorySystem.java: ## @@ -304,8 +314,26 @@ List newResolutionRepositories( * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception * may be ignored, is at the discretion of caller. + * + * Note: this method actually just calls {@link #close()}. * * @since 1.9.0 + * @deprecated Use {@link #close()} instead. */ +@Deprecated void shutdown(); + +/** + * Signals to repository system to shut down. Shut down instance is not usable anymore. + * + * Repository system may perform some resource cleanup, if applicable. Not using this method may cause leaks or + * unclean shutdown of some subsystem. + * + * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end + * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception + * may be ignored, is at the discretion of caller. + * + * @since TBD + */ +void close(); Review Comment: This is already discussed in https://github.com/apache/maven-resolver/pull/357#discussion_r1386875573 :-) > Introduce onSession close > - > > Key: MRESOLVER-302 > URL: https://issues.apache.org/jira/browse/MRESOLVER-302 > Project: Maven Resolver > Issue Type: Improvement > Components: Resolver >Reporter: Tamas Cservenak >Assignee: Tamas Cservenak >Priority: Major > Fix For: 2.0.0 > > > The on session close callback, revisited. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MRESOLVER-302) Introduce onSession close
[ https://issues.apache.org/jira/browse/MRESOLVER-302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784135#comment-17784135 ] ASF GitHub Bot commented on MRESOLVER-302: -- kwin commented on code in PR #357: URL: https://github.com/apache/maven-resolver/pull/357#discussion_r1386937750 ## maven-resolver-api/src/main/java/org/eclipse/aether/RepositorySystem.java: ## @@ -304,8 +314,26 @@ List newResolutionRepositories( * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception * may be ignored, is at the discretion of caller. + * + * Note: this method actually just calls {@link #close()}. * * @since 1.9.0 + * @deprecated Use {@link #close()} instead. */ +@Deprecated void shutdown(); + +/** + * Signals to repository system to shut down. Shut down instance is not usable anymore. + * + * Repository system may perform some resource cleanup, if applicable. Not using this method may cause leaks or + * unclean shutdown of some subsystem. + * + * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end + * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception + * may be ignored, is at the discretion of caller. + * + * @since TBD + */ +void close(); Review Comment: Ok, but then I fail to see how a default method calling `shutdown(...)` may break backwards compatibility. > Introduce onSession close > - > > Key: MRESOLVER-302 > URL: https://issues.apache.org/jira/browse/MRESOLVER-302 > Project: Maven Resolver > Issue Type: Improvement > Components: Resolver >Reporter: Tamas Cservenak >Assignee: Tamas Cservenak >Priority: Major > Fix For: 2.0.0 > > > The on session close callback, revisited. -- This message was sent by Atlassian Jira (v8.20.10#820010)
Re: [PR] [MRESOLVER-302] Introduce onSessionClose [maven-resolver]
kwin commented on code in PR #357: URL: https://github.com/apache/maven-resolver/pull/357#discussion_r1386938264 ## maven-resolver-api/src/main/java/org/eclipse/aether/RepositorySystem.java: ## @@ -304,8 +314,26 @@ List newResolutionRepositories( * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception * may be ignored, is at the discretion of caller. + * + * Note: this method actually just calls {@link #close()}. * * @since 1.9.0 + * @deprecated Use {@link #close()} instead. */ +@Deprecated void shutdown(); + +/** + * Signals to repository system to shut down. Shut down instance is not usable anymore. + * + * Repository system may perform some resource cleanup, if applicable. Not using this method may cause leaks or + * unclean shutdown of some subsystem. + * + * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end + * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception + * may be ignored, is at the discretion of caller. + * + * @since TBD + */ +void close(); Review Comment: This is already discussed in https://github.com/apache/maven-resolver/pull/357#discussion_r1386875573 :-) -- 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
Re: [PR] [MRESOLVER-302] Introduce onSessionClose [maven-resolver]
kwin commented on code in PR #357: URL: https://github.com/apache/maven-resolver/pull/357#discussion_r1386937750 ## maven-resolver-api/src/main/java/org/eclipse/aether/RepositorySystem.java: ## @@ -304,8 +314,26 @@ List newResolutionRepositories( * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception * may be ignored, is at the discretion of caller. + * + * Note: this method actually just calls {@link #close()}. * * @since 1.9.0 + * @deprecated Use {@link #close()} instead. */ +@Deprecated void shutdown(); + +/** + * Signals to repository system to shut down. Shut down instance is not usable anymore. + * + * Repository system may perform some resource cleanup, if applicable. Not using this method may cause leaks or + * unclean shutdown of some subsystem. + * + * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end + * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception + * may be ignored, is at the discretion of caller. + * + * @since TBD + */ +void close(); Review Comment: Ok, but then I fail to see how a default method calling `shutdown(...)` may break backwards compatibility. -- 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-302) Introduce onSession close
[ https://issues.apache.org/jira/browse/MRESOLVER-302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784131#comment-17784131 ] ASF GitHub Bot commented on MRESOLVER-302: -- cstamas commented on code in PR #357: URL: https://github.com/apache/maven-resolver/pull/357#discussion_r1386923270 ## maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositorySystemLifecycle.java: ## @@ -69,6 +74,59 @@ public void addOnSystemEndedHandler(Runnable handler) { onSystemEndedHandlers.add(0, handler); } +@Override +public void sessionStarted(CloseableRepositorySystemSession session) { +requireNonNull(session, "session cannot be null"); +requireNotShutdown(); +String sessionId = session.sessionId(); +onSessionEndedHandlers.compute(sessionId, (k, v) -> { +if (v != null) { +throw new IllegalStateException("session instance already registered"); +} +return new CopyOnWriteArrayList<>(); +}); +} + +@Override +public void sessionEnded(CloseableRepositorySystemSession session) { +requireNonNull(session, "session cannot be null"); +requireNotShutdown(); +String sessionId = session.sessionId(); +ArrayList handlers = new ArrayList<>(); +onSessionEndedHandlers.compute(sessionId, (k, v) -> { +if (v == null) { +throw new IllegalStateException("session instance not registered"); +} +handlers.addAll(v); Review Comment: that would make `handlers` ref non-immutable, no? This is within lambda... > Introduce onSession close > - > > Key: MRESOLVER-302 > URL: https://issues.apache.org/jira/browse/MRESOLVER-302 > Project: Maven Resolver > Issue Type: Improvement > Components: Resolver >Reporter: Tamas Cservenak >Assignee: Tamas Cservenak >Priority: Major > Fix For: 2.0.0 > > > The on session close callback, revisited. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MRESOLVER-302) Introduce onSession close
[ https://issues.apache.org/jira/browse/MRESOLVER-302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784130#comment-17784130 ] ASF GitHub Bot commented on MRESOLVER-302: -- cstamas commented on code in PR #357: URL: https://github.com/apache/maven-resolver/pull/357#discussion_r1386923270 ## maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositorySystemLifecycle.java: ## @@ -69,6 +74,59 @@ public void addOnSystemEndedHandler(Runnable handler) { onSystemEndedHandlers.add(0, handler); } +@Override +public void sessionStarted(CloseableRepositorySystemSession session) { +requireNonNull(session, "session cannot be null"); +requireNotShutdown(); +String sessionId = session.sessionId(); +onSessionEndedHandlers.compute(sessionId, (k, v) -> { +if (v != null) { +throw new IllegalStateException("session instance already registered"); +} +return new CopyOnWriteArrayList<>(); +}); +} + +@Override +public void sessionEnded(CloseableRepositorySystemSession session) { +requireNonNull(session, "session cannot be null"); +requireNotShutdown(); +String sessionId = session.sessionId(); +ArrayList handlers = new ArrayList<>(); +onSessionEndedHandlers.compute(sessionId, (k, v) -> { +if (v == null) { +throw new IllegalStateException("session instance not registered"); +} +handlers.addAll(v); Review Comment: that would make `handlers` non-immutable, no? This is within lambda... > Introduce onSession close > - > > Key: MRESOLVER-302 > URL: https://issues.apache.org/jira/browse/MRESOLVER-302 > Project: Maven Resolver > Issue Type: Improvement > Components: Resolver >Reporter: Tamas Cservenak >Assignee: Tamas Cservenak >Priority: Major > Fix For: 2.0.0 > > > The on session close callback, revisited. -- This message was sent by Atlassian Jira (v8.20.10#820010)
Re: [PR] [MRESOLVER-302] Introduce onSessionClose [maven-resolver]
cstamas commented on code in PR #357: URL: https://github.com/apache/maven-resolver/pull/357#discussion_r1386923270 ## maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositorySystemLifecycle.java: ## @@ -69,6 +74,59 @@ public void addOnSystemEndedHandler(Runnable handler) { onSystemEndedHandlers.add(0, handler); } +@Override +public void sessionStarted(CloseableRepositorySystemSession session) { +requireNonNull(session, "session cannot be null"); +requireNotShutdown(); +String sessionId = session.sessionId(); +onSessionEndedHandlers.compute(sessionId, (k, v) -> { +if (v != null) { +throw new IllegalStateException("session instance already registered"); +} +return new CopyOnWriteArrayList<>(); +}); +} + +@Override +public void sessionEnded(CloseableRepositorySystemSession session) { +requireNonNull(session, "session cannot be null"); +requireNotShutdown(); +String sessionId = session.sessionId(); +ArrayList handlers = new ArrayList<>(); +onSessionEndedHandlers.compute(sessionId, (k, v) -> { +if (v == null) { +throw new IllegalStateException("session instance not registered"); +} +handlers.addAll(v); Review Comment: that would make `handlers` ref non-immutable, no? This is within lambda... -- 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
Re: [PR] [MRESOLVER-302] Introduce onSessionClose [maven-resolver]
cstamas commented on code in PR #357: URL: https://github.com/apache/maven-resolver/pull/357#discussion_r1386923270 ## maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositorySystemLifecycle.java: ## @@ -69,6 +74,59 @@ public void addOnSystemEndedHandler(Runnable handler) { onSystemEndedHandlers.add(0, handler); } +@Override +public void sessionStarted(CloseableRepositorySystemSession session) { +requireNonNull(session, "session cannot be null"); +requireNotShutdown(); +String sessionId = session.sessionId(); +onSessionEndedHandlers.compute(sessionId, (k, v) -> { +if (v != null) { +throw new IllegalStateException("session instance already registered"); +} +return new CopyOnWriteArrayList<>(); +}); +} + +@Override +public void sessionEnded(CloseableRepositorySystemSession session) { +requireNonNull(session, "session cannot be null"); +requireNotShutdown(); +String sessionId = session.sessionId(); +ArrayList handlers = new ArrayList<>(); +onSessionEndedHandlers.compute(sessionId, (k, v) -> { +if (v == null) { +throw new IllegalStateException("session instance not registered"); +} +handlers.addAll(v); Review Comment: that would make `handlers` non-immutable, no? This is within lambda... -- 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-302) Introduce onSession close
[ https://issues.apache.org/jira/browse/MRESOLVER-302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784129#comment-17784129 ] ASF GitHub Bot commented on MRESOLVER-302: -- gnodet commented on code in PR #357: URL: https://github.com/apache/maven-resolver/pull/357#discussion_r1386917972 ## maven-resolver-api/src/main/java/org/eclipse/aether/RepositorySystem.java: ## @@ -304,8 +314,26 @@ List newResolutionRepositories( * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception * may be ignored, is at the discretion of caller. + * + * Note: this method actually just calls {@link #close()}. * * @since 1.9.0 + * @deprecated Use {@link #close()} instead. */ +@Deprecated void shutdown(); + +/** + * Signals to repository system to shut down. Shut down instance is not usable anymore. + * + * Repository system may perform some resource cleanup, if applicable. Not using this method may cause leaks or + * unclean shutdown of some subsystem. + * + * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end + * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception + * may be ignored, is at the discretion of caller. + * + * @since TBD + */ +void close(); Review Comment: I've added meta annotations in the Maven api for that: https://maven.apache.org/ref/4.0.0-alpha-8/apidocs/org/apache/maven/api/annotations/Provider.html > Introduce onSession close > - > > Key: MRESOLVER-302 > URL: https://issues.apache.org/jira/browse/MRESOLVER-302 > Project: Maven Resolver > Issue Type: Improvement > Components: Resolver >Reporter: Tamas Cservenak >Assignee: Tamas Cservenak >Priority: Major > Fix For: 2.0.0 > > > The on session close callback, revisited. -- This message was sent by Atlassian Jira (v8.20.10#820010)
Re: [PR] [MRESOLVER-302] Introduce onSessionClose [maven-resolver]
gnodet commented on code in PR #357: URL: https://github.com/apache/maven-resolver/pull/357#discussion_r1386917972 ## maven-resolver-api/src/main/java/org/eclipse/aether/RepositorySystem.java: ## @@ -304,8 +314,26 @@ List newResolutionRepositories( * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception * may be ignored, is at the discretion of caller. + * + * Note: this method actually just calls {@link #close()}. * * @since 1.9.0 + * @deprecated Use {@link #close()} instead. */ +@Deprecated void shutdown(); + +/** + * Signals to repository system to shut down. Shut down instance is not usable anymore. + * + * Repository system may perform some resource cleanup, if applicable. Not using this method may cause leaks or + * unclean shutdown of some subsystem. + * + * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end + * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception + * may be ignored, is at the discretion of caller. + * + * @since TBD + */ +void close(); Review Comment: I've added meta annotations in the Maven api for that: https://maven.apache.org/ref/4.0.0-alpha-8/apidocs/org/apache/maven/api/annotations/Provider.html -- 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-302) Introduce onSession close
[ https://issues.apache.org/jira/browse/MRESOLVER-302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784128#comment-17784128 ] ASF GitHub Bot commented on MRESOLVER-302: -- cstamas commented on code in PR #357: URL: https://github.com/apache/maven-resolver/pull/357#discussion_r1386915751 ## maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-11/src/main/java/org/eclipse/aether/transport/jdk/JdkHttpTransporter.java: ## @@ -417,7 +421,14 @@ protected PasswordAuthentication getPasswordAuthentication() { }); } -return builder.build(); +HttpClient result = builder.build(); +// Only possible in Java21 Review Comment: There is already another PR that tackles this area: https://github.com/apache/maven-resolver/pull/356 IMO we should merge that, and then this PR should just raise build time JDK requirement to Java 21 and uncomment these lines. Also, some changes will be needed to customizer, to be able to register hook for client close as well (PR #356 adds the customizer) > Introduce onSession close > - > > Key: MRESOLVER-302 > URL: https://issues.apache.org/jira/browse/MRESOLVER-302 > Project: Maven Resolver > Issue Type: Improvement > Components: Resolver >Reporter: Tamas Cservenak >Assignee: Tamas Cservenak >Priority: Major > Fix For: 2.0.0 > > > The on session close callback, revisited. -- This message was sent by Atlassian Jira (v8.20.10#820010)
Re: [PR] [MRESOLVER-302] Introduce onSessionClose [maven-resolver]
cstamas commented on code in PR #357: URL: https://github.com/apache/maven-resolver/pull/357#discussion_r1386915751 ## maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-11/src/main/java/org/eclipse/aether/transport/jdk/JdkHttpTransporter.java: ## @@ -417,7 +421,14 @@ protected PasswordAuthentication getPasswordAuthentication() { }); } -return builder.build(); +HttpClient result = builder.build(); +// Only possible in Java21 Review Comment: There is already another PR that tackles this area: https://github.com/apache/maven-resolver/pull/356 IMO we should merge that, and then this PR should just raise build time JDK requirement to Java 21 and uncomment these lines. Also, some changes will be needed to customizer, to be able to register hook for client close as well (PR #356 adds the customizer) -- 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-302) Introduce onSession close
[ https://issues.apache.org/jira/browse/MRESOLVER-302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784127#comment-17784127 ] ASF GitHub Bot commented on MRESOLVER-302: -- cstamas commented on code in PR #357: URL: https://github.com/apache/maven-resolver/pull/357#discussion_r1386915751 ## maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-11/src/main/java/org/eclipse/aether/transport/jdk/JdkHttpTransporter.java: ## @@ -417,7 +421,14 @@ protected PasswordAuthentication getPasswordAuthentication() { }); } -return builder.build(); +HttpClient result = builder.build(); +// Only possible in Java21 Review Comment: There is already another PR that tackles this area: https://github.com/apache/maven-resolver/pull/356 IMO we should merge that, and then this PR should just raise build time JDK requirement to Java 21 and uncomment these lines. > Introduce onSession close > - > > Key: MRESOLVER-302 > URL: https://issues.apache.org/jira/browse/MRESOLVER-302 > Project: Maven Resolver > Issue Type: Improvement > Components: Resolver >Reporter: Tamas Cservenak >Assignee: Tamas Cservenak >Priority: Major > Fix For: 2.0.0 > > > The on session close callback, revisited. -- This message was sent by Atlassian Jira (v8.20.10#820010)
Re: [PR] [MRESOLVER-302] Introduce onSessionClose [maven-resolver]
cstamas commented on code in PR #357: URL: https://github.com/apache/maven-resolver/pull/357#discussion_r1386915751 ## maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-11/src/main/java/org/eclipse/aether/transport/jdk/JdkHttpTransporter.java: ## @@ -417,7 +421,14 @@ protected PasswordAuthentication getPasswordAuthentication() { }); } -return builder.build(); +HttpClient result = builder.build(); +// Only possible in Java21 Review Comment: There is already another PR that tackles this area: https://github.com/apache/maven-resolver/pull/356 IMO we should merge that, and then this PR should just raise build time JDK requirement to Java 21 and uncomment these lines. -- 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-302) Introduce onSession close
[ https://issues.apache.org/jira/browse/MRESOLVER-302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784126#comment-17784126 ] ASF GitHub Bot commented on MRESOLVER-302: -- gnodet commented on code in PR #357: URL: https://github.com/apache/maven-resolver/pull/357#discussion_r1386866973 ## maven-resolver-api/src/main/java/org/eclipse/aether/RepositorySystem.java: ## @@ -304,8 +314,26 @@ List newResolutionRepositories( * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception * may be ignored, is at the discretion of caller. + * + * Note: this method actually just calls {@link #close()}. * * @since 1.9.0 + * @deprecated Use {@link #close()} instead. */ +@Deprecated void shutdown(); + +/** + * Signals to repository system to shut down. Shut down instance is not usable anymore. + * + * Repository system may perform some resource cleanup, if applicable. Not using this method may cause leaks or + * unclean shutdown of some subsystem. + * + * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end + * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception + * may be ignored, is at the discretion of caller. + * + * @since TBD + */ +void close(); Review Comment: Do we want: ``` default void close() { shutdown(); } ``` This would help with compatibility, but I don't think anyone is _implementing_ this interface, right ? Maybe wrapped ? ## maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositorySystemLifecycle.java: ## @@ -69,6 +74,59 @@ public void addOnSystemEndedHandler(Runnable handler) { onSystemEndedHandlers.add(0, handler); } +@Override +public void sessionStarted(CloseableRepositorySystemSession session) { +requireNonNull(session, "session cannot be null"); +requireNotShutdown(); +String sessionId = session.sessionId(); +onSessionEndedHandlers.compute(sessionId, (k, v) -> { +if (v != null) { +throw new IllegalStateException("session instance already registered"); +} +return new CopyOnWriteArrayList<>(); +}); +} + +@Override +public void sessionEnded(CloseableRepositorySystemSession session) { +requireNonNull(session, "session cannot be null"); +requireNotShutdown(); +String sessionId = session.sessionId(); +ArrayList handlers = new ArrayList<>(); +onSessionEndedHandlers.compute(sessionId, (k, v) -> { +if (v == null) { +throw new IllegalStateException("session instance not registered"); +} +handlers.addAll(v); Review Comment: Why not `handlers = v;` ? and initialize `handlers = Collections.emptyList()` ? ## maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-11/src/main/java/org/eclipse/aether/transport/jdk/JdkHttpTransporter.java: ## @@ -417,7 +421,14 @@ protected PasswordAuthentication getPasswordAuthentication() { }); } -return builder.build(); +HttpClient result = builder.build(); +// Only possible in Java21 Review Comment: What's the plan here ? Should that be compiled with JDK 21 and with a check on the JDK used at runtime ? > Introduce onSession close > - > > Key: MRESOLVER-302 > URL: https://issues.apache.org/jira/browse/MRESOLVER-302 > Project: Maven Resolver > Issue Type: Improvement > Components: Resolver >Reporter: Tamas Cservenak >Assignee: Tamas Cservenak >Priority: Major > Fix For: 2.0.0 > > > The on session close callback, revisited. -- This message was sent by Atlassian Jira (v8.20.10#820010)
Re: [PR] [MRESOLVER-302] Introduce onSessionClose [maven-resolver]
gnodet commented on code in PR #357: URL: https://github.com/apache/maven-resolver/pull/357#discussion_r1386866973 ## maven-resolver-api/src/main/java/org/eclipse/aether/RepositorySystem.java: ## @@ -304,8 +314,26 @@ List newResolutionRepositories( * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception * may be ignored, is at the discretion of caller. + * + * Note: this method actually just calls {@link #close()}. * * @since 1.9.0 + * @deprecated Use {@link #close()} instead. */ +@Deprecated void shutdown(); + +/** + * Signals to repository system to shut down. Shut down instance is not usable anymore. + * + * Repository system may perform some resource cleanup, if applicable. Not using this method may cause leaks or + * unclean shutdown of some subsystem. + * + * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end + * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception + * may be ignored, is at the discretion of caller. + * + * @since TBD + */ +void close(); Review Comment: Do we want: ``` default void close() { shutdown(); } ``` This would help with compatibility, but I don't think anyone is _implementing_ this interface, right ? Maybe wrapped ? ## maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositorySystemLifecycle.java: ## @@ -69,6 +74,59 @@ public void addOnSystemEndedHandler(Runnable handler) { onSystemEndedHandlers.add(0, handler); } +@Override +public void sessionStarted(CloseableRepositorySystemSession session) { +requireNonNull(session, "session cannot be null"); +requireNotShutdown(); +String sessionId = session.sessionId(); +onSessionEndedHandlers.compute(sessionId, (k, v) -> { +if (v != null) { +throw new IllegalStateException("session instance already registered"); +} +return new CopyOnWriteArrayList<>(); +}); +} + +@Override +public void sessionEnded(CloseableRepositorySystemSession session) { +requireNonNull(session, "session cannot be null"); +requireNotShutdown(); +String sessionId = session.sessionId(); +ArrayList handlers = new ArrayList<>(); +onSessionEndedHandlers.compute(sessionId, (k, v) -> { +if (v == null) { +throw new IllegalStateException("session instance not registered"); +} +handlers.addAll(v); Review Comment: Why not `handlers = v;` ? and initialize `handlers = Collections.emptyList()` ? ## maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-11/src/main/java/org/eclipse/aether/transport/jdk/JdkHttpTransporter.java: ## @@ -417,7 +421,14 @@ protected PasswordAuthentication getPasswordAuthentication() { }); } -return builder.build(); +HttpClient result = builder.build(); +// Only possible in Java21 Review Comment: What's the plan here ? Should that be compiled with JDK 21 and with a check on the JDK used at runtime ? -- 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-302) Introduce onSession close
[ https://issues.apache.org/jira/browse/MRESOLVER-302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784124#comment-17784124 ] ASF GitHub Bot commented on MRESOLVER-302: -- cstamas commented on code in PR #357: URL: https://github.com/apache/maven-resolver/pull/357#discussion_r1386903268 ## maven-resolver-api/src/main/java/org/eclipse/aether/RepositorySystem.java: ## @@ -304,8 +314,26 @@ List newResolutionRepositories( * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception * may be ignored, is at the discretion of caller. + * + * Note: this method actually just calls {@link #close()}. * * @since 1.9.0 + * @deprecated Use {@link #close()} instead. */ +@Deprecated void shutdown(); + +/** + * Signals to repository system to shut down. Shut down instance is not usable anymore. + * + * Repository system may perform some resource cleanup, if applicable. Not using this method may cause leaks or + * unclean shutdown of some subsystem. + * + * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end + * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception + * may be ignored, is at the discretion of caller. + * + * @since TBD + */ +void close(); Review Comment: well, stop a bit: look at interface top and also read this: https://maven.apache.org/resolver/api-compatibility.html In short: no client is EVER intended to extend or implement this interface. IF someone shoots in his leg afterwards all these warnings, let it be, but is not our fault. ## maven-resolver-api/src/main/java/org/eclipse/aether/RepositorySystem.java: ## @@ -304,8 +314,26 @@ List newResolutionRepositories( * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception * may be ignored, is at the discretion of caller. + * + * Note: this method actually just calls {@link #close()}. * * @since 1.9.0 + * @deprecated Use {@link #close()} instead. */ +@Deprecated void shutdown(); + +/** + * Signals to repository system to shut down. Shut down instance is not usable anymore. + * + * Repository system may perform some resource cleanup, if applicable. Not using this method may cause leaks or + * unclean shutdown of some subsystem. + * + * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end + * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception + * may be ignored, is at the discretion of caller. + * + * @since TBD + */ +void close(); Review Comment: well, stop for a bit: look at interface top and also read this: https://maven.apache.org/resolver/api-compatibility.html In short: no client is EVER intended to extend or implement this interface. IF someone shoots in his leg afterwards all these warnings, let it be, but is not our fault. > Introduce onSession close > - > > Key: MRESOLVER-302 > URL: https://issues.apache.org/jira/browse/MRESOLVER-302 > Project: Maven Resolver > Issue Type: Improvement > Components: Resolver >Reporter: Tamas Cservenak >Assignee: Tamas Cservenak >Priority: Major > Fix For: 2.0.0 > > > The on session close callback, revisited. -- This message was sent by Atlassian Jira (v8.20.10#820010)
Re: [PR] [MRESOLVER-302] Introduce onSessionClose [maven-resolver]
cstamas commented on code in PR #357: URL: https://github.com/apache/maven-resolver/pull/357#discussion_r1386903268 ## maven-resolver-api/src/main/java/org/eclipse/aether/RepositorySystem.java: ## @@ -304,8 +314,26 @@ List newResolutionRepositories( * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception * may be ignored, is at the discretion of caller. + * + * Note: this method actually just calls {@link #close()}. * * @since 1.9.0 + * @deprecated Use {@link #close()} instead. */ +@Deprecated void shutdown(); + +/** + * Signals to repository system to shut down. Shut down instance is not usable anymore. + * + * Repository system may perform some resource cleanup, if applicable. Not using this method may cause leaks or + * unclean shutdown of some subsystem. + * + * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end + * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception + * may be ignored, is at the discretion of caller. + * + * @since TBD + */ +void close(); Review Comment: well, stop a bit: look at interface top and also read this: https://maven.apache.org/resolver/api-compatibility.html In short: no client is EVER intended to extend or implement this interface. IF someone shoots in his leg afterwards all these warnings, let it be, but is not our fault. ## maven-resolver-api/src/main/java/org/eclipse/aether/RepositorySystem.java: ## @@ -304,8 +314,26 @@ List newResolutionRepositories( * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception * may be ignored, is at the discretion of caller. + * + * Note: this method actually just calls {@link #close()}. * * @since 1.9.0 + * @deprecated Use {@link #close()} instead. */ +@Deprecated void shutdown(); + +/** + * Signals to repository system to shut down. Shut down instance is not usable anymore. + * + * Repository system may perform some resource cleanup, if applicable. Not using this method may cause leaks or + * unclean shutdown of some subsystem. + * + * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end + * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception + * may be ignored, is at the discretion of caller. + * + * @since TBD + */ +void close(); Review Comment: well, stop for a bit: look at interface top and also read this: https://maven.apache.org/resolver/api-compatibility.html In short: no client is EVER intended to extend or implement this interface. IF someone shoots in his leg afterwards all these warnings, let it be, but is not our fault. -- 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-302) Introduce onSession close
[ https://issues.apache.org/jira/browse/MRESOLVER-302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784123#comment-17784123 ] ASF GitHub Bot commented on MRESOLVER-302: -- kwin commented on code in PR #357: URL: https://github.com/apache/maven-resolver/pull/357#discussion_r1386901050 ## maven-resolver-api/src/main/java/org/eclipse/aether/RepositorySystem.java: ## @@ -304,8 +314,26 @@ List newResolutionRepositories( * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception * may be ignored, is at the discretion of caller. + * + * Note: this method actually just calls {@link #close()}. * * @since 1.9.0 + * @deprecated Use {@link #close()} instead. */ +@Deprecated void shutdown(); + +/** + * Signals to repository system to shut down. Shut down instance is not usable anymore. + * + * Repository system may perform some resource cleanup, if applicable. Not using this method may cause leaks or + * unclean shutdown of some subsystem. + * + * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end + * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception + * may be ignored, is at the discretion of caller. + * + * @since TBD + */ +void close(); Review Comment: Well IMHO it is more binary backwards incompatible to add a new method without default impl to an interface which is exposed (and can potentially be implemented by anyone). In reality the default impl almost never causes any issues, for details refer to https://docs.oracle.com/javase/specs/jls/se11/html/jls-13.html#jls-13.5.6. > Introduce onSession close > - > > Key: MRESOLVER-302 > URL: https://issues.apache.org/jira/browse/MRESOLVER-302 > Project: Maven Resolver > Issue Type: Improvement > Components: Resolver >Reporter: Tamas Cservenak >Assignee: Tamas Cservenak >Priority: Major > Fix For: 2.0.0 > > > The on session close callback, revisited. -- This message was sent by Atlassian Jira (v8.20.10#820010)
Re: [PR] [MRESOLVER-302] Introduce onSessionClose [maven-resolver]
kwin commented on code in PR #357: URL: https://github.com/apache/maven-resolver/pull/357#discussion_r1386901050 ## maven-resolver-api/src/main/java/org/eclipse/aether/RepositorySystem.java: ## @@ -304,8 +314,26 @@ List newResolutionRepositories( * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception * may be ignored, is at the discretion of caller. + * + * Note: this method actually just calls {@link #close()}. * * @since 1.9.0 + * @deprecated Use {@link #close()} instead. */ +@Deprecated void shutdown(); + +/** + * Signals to repository system to shut down. Shut down instance is not usable anymore. + * + * Repository system may perform some resource cleanup, if applicable. Not using this method may cause leaks or + * unclean shutdown of some subsystem. + * + * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end + * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception + * may be ignored, is at the discretion of caller. + * + * @since TBD + */ +void close(); Review Comment: Well IMHO it is more binary backwards incompatible to add a new method without default impl to an interface which is exposed (and can potentially be implemented by anyone). In reality the default impl almost never causes any issues, for details refer to https://docs.oracle.com/javase/specs/jls/se11/html/jls-13.html#jls-13.5.6. -- 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-302) Introduce onSession close
[ https://issues.apache.org/jira/browse/MRESOLVER-302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784120#comment-17784120 ] ASF GitHub Bot commented on MRESOLVER-302: -- cstamas commented on code in PR #357: URL: https://github.com/apache/maven-resolver/pull/357#discussion_r1386892496 ## maven-resolver-api/src/main/java/org/eclipse/aether/RepositorySystemSession.java: ## @@ -48,6 +51,350 @@ */ public interface RepositorySystemSession { +/** + * Immutable session that is closeable, can have onClose handlers registered and should be handled as a resource. + * These session instances can be created with {@link SessionBuilder}. + * + * @since TBD + */ +interface CloseableRepositorySystemSession extends RepositorySystemSession, Closeable { Review Comment: because that will suddenly emit warning in all the existing code (think Mojos) that "using closeable reasource without try-with-resource" or alike. Closing session is really objective of "resolver managing" client code (like Maven), but "resolver using (but not managing it)" client code (like Maven Mojos) should really not be annoyed is session closeable or not, they should NEVER close it anyway, > Introduce onSession close > - > > Key: MRESOLVER-302 > URL: https://issues.apache.org/jira/browse/MRESOLVER-302 > Project: Maven Resolver > Issue Type: Improvement > Components: Resolver >Reporter: Tamas Cservenak >Assignee: Tamas Cservenak >Priority: Major > Fix For: 2.0.0 > > > The on session close callback, revisited. -- This message was sent by Atlassian Jira (v8.20.10#820010)
Re: [PR] [MRESOLVER-302] Introduce onSessionClose [maven-resolver]
cstamas commented on code in PR #357: URL: https://github.com/apache/maven-resolver/pull/357#discussion_r1386892496 ## maven-resolver-api/src/main/java/org/eclipse/aether/RepositorySystemSession.java: ## @@ -48,6 +51,350 @@ */ public interface RepositorySystemSession { +/** + * Immutable session that is closeable, can have onClose handlers registered and should be handled as a resource. + * These session instances can be created with {@link SessionBuilder}. + * + * @since TBD + */ +interface CloseableRepositorySystemSession extends RepositorySystemSession, Closeable { Review Comment: because that will suddenly emit warning in all the existing code (think Mojos) that "using closeable reasource without try-with-resource" or alike. Closing session is really objective of "resolver managing" client code (like Maven), but "resolver using (but not managing it)" client code (like Maven Mojos) should really not be annoyed is session closeable or not, they should NEVER close it anyway, -- 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-302) Introduce onSession close
[ https://issues.apache.org/jira/browse/MRESOLVER-302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784117#comment-17784117 ] ASF GitHub Bot commented on MRESOLVER-302: -- cstamas commented on code in PR #357: URL: https://github.com/apache/maven-resolver/pull/357#discussion_r1386889932 ## maven-resolver-api/src/main/java/org/eclipse/aether/RepositorySystem.java: ## @@ -304,8 +314,26 @@ List newResolutionRepositories( * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception * may be ignored, is at the discretion of caller. + * + * Note: this method actually just calls {@link #close()}. * * @since 1.9.0 + * @deprecated Use {@link #close()} instead. */ +@Deprecated void shutdown(); + +/** + * Signals to repository system to shut down. Shut down instance is not usable anymore. + * + * Repository system may perform some resource cleanup, if applicable. Not using this method may cause leaks or + * unclean shutdown of some subsystem. + * + * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end + * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception + * may be ignored, is at the discretion of caller. + * + * @since TBD + */ +void close(); Review Comment: is considered "incompatible binary change" by japicmp and i kinda agree with it > Introduce onSession close > - > > Key: MRESOLVER-302 > URL: https://issues.apache.org/jira/browse/MRESOLVER-302 > Project: Maven Resolver > Issue Type: Improvement > Components: Resolver >Reporter: Tamas Cservenak >Assignee: Tamas Cservenak >Priority: Major > Fix For: 2.0.0 > > > The on session close callback, revisited. -- This message was sent by Atlassian Jira (v8.20.10#820010)
Re: [PR] [MRESOLVER-302] Introduce onSessionClose [maven-resolver]
cstamas commented on code in PR #357: URL: https://github.com/apache/maven-resolver/pull/357#discussion_r1386889932 ## maven-resolver-api/src/main/java/org/eclipse/aether/RepositorySystem.java: ## @@ -304,8 +314,26 @@ List newResolutionRepositories( * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception * may be ignored, is at the discretion of caller. + * + * Note: this method actually just calls {@link #close()}. * * @since 1.9.0 + * @deprecated Use {@link #close()} instead. */ +@Deprecated void shutdown(); + +/** + * Signals to repository system to shut down. Shut down instance is not usable anymore. + * + * Repository system may perform some resource cleanup, if applicable. Not using this method may cause leaks or + * unclean shutdown of some subsystem. + * + * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end + * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception + * may be ignored, is at the discretion of caller. + * + * @since TBD + */ +void close(); Review Comment: is considered "incompatible binary change" by japicmp and i kinda agree with it -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Commented] (MRESOLVER-302) Introduce onSession close
[ https://issues.apache.org/jira/browse/MRESOLVER-302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784114#comment-17784114 ] ASF GitHub Bot commented on MRESOLVER-302: -- kwin commented on code in PR #357: URL: https://github.com/apache/maven-resolver/pull/357#discussion_r1386875573 ## maven-resolver-api/src/main/java/org/eclipse/aether/RepositorySystem.java: ## @@ -304,8 +314,26 @@ List newResolutionRepositories( * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception * may be ignored, is at the discretion of caller. + * + * Note: this method actually just calls {@link #close()}. * * @since 1.9.0 + * @deprecated Use {@link #close()} instead. */ +@Deprecated void shutdown(); + +/** + * Signals to repository system to shut down. Shut down instance is not usable anymore. + * + * Repository system may perform some resource cleanup, if applicable. Not using this method may cause leaks or + * unclean shutdown of some subsystem. + * + * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end + * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception + * may be ignored, is at the discretion of caller. + * + * @since TBD + */ +void close(); Review Comment: What about a default implementation just calling shutdown()? ## maven-resolver-api/src/main/java/org/eclipse/aether/RepositorySystemSession.java: ## @@ -48,6 +51,350 @@ */ public interface RepositorySystemSession { +/** + * Immutable session that is closeable, can have onClose handlers registered and should be handled as a resource. + * These session instances can be created with {@link SessionBuilder}. + * + * @since TBD + */ +interface CloseableRepositorySystemSession extends RepositorySystemSession, Closeable { Review Comment: why not making the `RepositorySystemSession` always implement `Closeable` with an empty default method `close()` ## maven-resolver-api/src/main/java/org/eclipse/aether/RepositorySystem.java: ## @@ -304,8 +314,26 @@ List newResolutionRepositories( * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception * may be ignored, is at the discretion of caller. + * + * Note: this method actually just calls {@link #close()}. * * @since 1.9.0 + * @deprecated Use {@link #close()} instead. */ +@Deprecated void shutdown(); + +/** + * Signals to repository system to shut down. Shut down instance is not usable anymore. + * + * Repository system may perform some resource cleanup, if applicable. Not using this method may cause leaks or + * unclean shutdown of some subsystem. + * + * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end + * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception + * may be ignored, is at the discretion of caller. + * + * @since TBD + */ Review Comment: ```suggestion */ @Override ``` > Introduce onSession close > - > > Key: MRESOLVER-302 > URL: https://issues.apache.org/jira/browse/MRESOLVER-302 > Project: Maven Resolver > Issue Type: Improvement > Components: Resolver >Reporter: Tamas Cservenak >Assignee: Tamas Cservenak >Priority: Major > Fix For: 2.0.0 > > > The on session close callback, revisited. -- This message was sent by Atlassian Jira (v8.20.10#820010)
Re: [PR] [MRESOLVER-302] Introduce onSessionClose [maven-resolver]
kwin commented on code in PR #357: URL: https://github.com/apache/maven-resolver/pull/357#discussion_r1386875573 ## maven-resolver-api/src/main/java/org/eclipse/aether/RepositorySystem.java: ## @@ -304,8 +314,26 @@ List newResolutionRepositories( * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception * may be ignored, is at the discretion of caller. + * + * Note: this method actually just calls {@link #close()}. * * @since 1.9.0 + * @deprecated Use {@link #close()} instead. */ +@Deprecated void shutdown(); + +/** + * Signals to repository system to shut down. Shut down instance is not usable anymore. + * + * Repository system may perform some resource cleanup, if applicable. Not using this method may cause leaks or + * unclean shutdown of some subsystem. + * + * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end + * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception + * may be ignored, is at the discretion of caller. + * + * @since TBD + */ +void close(); Review Comment: What about a default implementation just calling shutdown()? ## maven-resolver-api/src/main/java/org/eclipse/aether/RepositorySystemSession.java: ## @@ -48,6 +51,350 @@ */ public interface RepositorySystemSession { +/** + * Immutable session that is closeable, can have onClose handlers registered and should be handled as a resource. + * These session instances can be created with {@link SessionBuilder}. + * + * @since TBD + */ +interface CloseableRepositorySystemSession extends RepositorySystemSession, Closeable { Review Comment: why not making the `RepositorySystemSession` always implement `Closeable` with an empty default method `close()` ## maven-resolver-api/src/main/java/org/eclipse/aether/RepositorySystem.java: ## @@ -304,8 +314,26 @@ List newResolutionRepositories( * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception * may be ignored, is at the discretion of caller. + * + * Note: this method actually just calls {@link #close()}. * * @since 1.9.0 + * @deprecated Use {@link #close()} instead. */ +@Deprecated void shutdown(); + +/** + * Signals to repository system to shut down. Shut down instance is not usable anymore. + * + * Repository system may perform some resource cleanup, if applicable. Not using this method may cause leaks or + * unclean shutdown of some subsystem. + * + * When shutdown happens, all the registered on-close handlers will be invoked (even if some throws), and at end + * of operation a {@link MultiRuntimeException} may be thrown, signaling that some handler(s) failed. This exception + * may be ignored, is at the discretion of caller. + * + * @since TBD + */ Review Comment: ```suggestion */ @Override ``` -- 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-302) Introduce onSession close
[ https://issues.apache.org/jira/browse/MRESOLVER-302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784111#comment-17784111 ] ASF GitHub Bot commented on MRESOLVER-302: -- cstamas commented on PR #232: URL: https://github.com/apache/maven-resolver/pull/232#issuecomment-1802207404 Superseded by https://github.com/apache/maven-resolver/pull/357 > Introduce onSession close > - > > Key: MRESOLVER-302 > URL: https://issues.apache.org/jira/browse/MRESOLVER-302 > Project: Maven Resolver > Issue Type: Improvement > Components: Resolver >Reporter: Tamas Cservenak >Assignee: Tamas Cservenak >Priority: Major > Fix For: 2.0.0 > > > The on session close callback, revisited. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MRESOLVER-302) Introduce onSession close
[ https://issues.apache.org/jira/browse/MRESOLVER-302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784110#comment-17784110 ] ASF GitHub Bot commented on MRESOLVER-302: -- cstamas closed pull request #232: [MRESOLVER-302] Introduce onSessionClose hooks URL: https://github.com/apache/maven-resolver/pull/232 > Introduce onSession close > - > > Key: MRESOLVER-302 > URL: https://issues.apache.org/jira/browse/MRESOLVER-302 > Project: Maven Resolver > Issue Type: Improvement > Components: Resolver >Reporter: Tamas Cservenak >Assignee: Tamas Cservenak >Priority: Major > Fix For: 2.0.0 > > > The on session close callback, revisited. -- This message was sent by Atlassian Jira (v8.20.10#820010)
Re: [PR] [MRESOLVER-302] Introduce onSessionClose hooks [maven-resolver]
cstamas closed pull request #232: [MRESOLVER-302] Introduce onSessionClose hooks URL: https://github.com/apache/maven-resolver/pull/232 -- 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
Re: [PR] [MRESOLVER-302] Introduce onSessionClose hooks [maven-resolver]
cstamas commented on PR #232: URL: https://github.com/apache/maven-resolver/pull/232#issuecomment-1802207404 Superseded by https://github.com/apache/maven-resolver/pull/357 -- 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-302) Introduce onSession close
[ https://issues.apache.org/jira/browse/MRESOLVER-302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784107#comment-17784107 ] ASF GitHub Bot commented on MRESOLVER-302: -- cstamas opened a new pull request, #357: URL: https://github.com/apache/maven-resolver/pull/357 And make it use in new HTTP/2 transports. Note about implementation: * code integrating resolver (like Maven) 2 SHOULD switch to new session handling * code using resolver w/ managing it (like Mojos) does NOT have to move to new session handling (basically that code may work unchanged). In short, the R1 session handling is still present, but is deprecated and will emit warnings if application integrating Resolver 2.x still uses Resolver 1.x session handling and is about to use new Resolver 2.x features (like HTTP/2 transport) that require onSessionClose (and will produce leaks, unless they are one-time CLI apps). --- https://issues.apache.org/jira/browse/MRESOLVER-302 > Introduce onSession close > - > > Key: MRESOLVER-302 > URL: https://issues.apache.org/jira/browse/MRESOLVER-302 > Project: Maven Resolver > Issue Type: Improvement > Components: Resolver >Reporter: Tamas Cservenak >Assignee: Tamas Cservenak >Priority: Major > Fix For: 2.0.0 > > > The on session close callback, revisited. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MPLUGIN-492) Documentation for plugins in general: Goals comprises more than that.
[ https://issues.apache.org/jira/browse/MPLUGIN-492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784093#comment-17784093 ] Michael Osipov commented on MPLUGIN-492: I agree with you. There are several points need to be adressed here.. > Documentation for plugins in general: Goals comprises more than that. > -- > > Key: MPLUGIN-492 > URL: https://issues.apache.org/jira/browse/MPLUGIN-492 > Project: Maven Plugin Tools > Issue Type: Improvement >Affects Versions: 3.10.2 >Reporter: Ernst Reissner >Assignee: Michael Osipov >Priority: Major > > In the `site.xml` of all plugins, there is an entry > ``` > > ``` > leading to an according entry in the sidebar menu. > The item name is misleading: it should be Plugin Info or Plugin > Documentation, > because it is more than just Goals. > Interesting enough, the goals do not have a separate subsection. > Or it is called Goals and related.. I dont know. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Assigned] (MPLUGIN-492) Documentation for plugins in general: Goals comprises more than that.
[ https://issues.apache.org/jira/browse/MPLUGIN-492?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Michael Osipov reassigned MPLUGIN-492: -- Assignee: Michael Osipov > Documentation for plugins in general: Goals comprises more than that. > -- > > Key: MPLUGIN-492 > URL: https://issues.apache.org/jira/browse/MPLUGIN-492 > Project: Maven Plugin Tools > Issue Type: Improvement >Affects Versions: 3.10.2 >Reporter: Ernst Reissner >Assignee: Michael Osipov >Priority: Major > > In the `site.xml` of all plugins, there is an entry > ``` > > ``` > leading to an according entry in the sidebar menu. > The item name is misleading: it should be Plugin Info or Plugin > Documentation, > because it is more than just Goals. > Interesting enough, the goals do not have a separate subsection. > Or it is called Goals and related.. I dont know. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MNG-7662) Allow Graphbuilder to use session scoped components
[ https://issues.apache.org/jira/browse/MNG-7662?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784086#comment-17784086 ] ASF GitHub Bot commented on MNG-7662: - gnodet commented on code in PR #950: URL: https://github.com/apache/maven/pull/950#discussion_r1386757692 ## maven-core/pom.xml: ## @@ -144,6 +144,12 @@ under the License. org.slf4j slf4j-api + Review Comment: ASM has always been included in maven distribution. It was previously embedded in sisu and guice. We recently changed to use a standalone asm version. This was done to support JDK 21 ;-) At least, now, we're in control and we don't have one or more repackaged/shaded version of ASM in the distribution. So byte-buddy would be third consumer of ASM, not the first... > Allow Graphbuilder to use session scoped components > --- > > Key: MNG-7662 > URL: https://issues.apache.org/jira/browse/MNG-7662 > Project: Maven > Issue Type: Bug >Reporter: Christoph Läubrich >Priority: Major > > Currently DefaultMaven gets the Graphbuilder injected as a strict requirement > at a very early stage. This leads to the problem, that a GraphBuilder > implementation can not use any SessionScoped Components (because the session > scope is not setup yet). > The error then is > {code:java} > 1) Error in custom provider, com.google.inject.OutOfScopeException: Cannot > access Key[type=org.apache.maven.execution.MavenSession, annotation=[none]] > outside of a scoping block > at > org.apache.maven.session.scope.internal.SessionScopeModule.configure(SessionScopeModule.java:64) > (via modules: org.eclipse.sisu.wire.WireModule -> > org.apache.maven.session.scope.internal.SessionScopeModule) > while locating org.apache.maven.execution.MavenSession > for the 1st parameter of > org.eclipse.tycho.helper.PluginRealmHelper.(Unknown Source) > at ClassRealm[coreExtension>org.eclipse.tycho:tycho-build:${tycho-version}, > parent: ClassRealm[plexus.core, parent: null]] (via modules: > org.eclipse.sisu.wire.WireModule -> > org.eclipse.sisu.plexus.PlexusBindingModule) > while locating org.eclipse.tycho.helper.PluginRealmHelper > at ClassRealm[coreExtension>org.eclipse.tycho:tycho-build:${tycho-version}, > parent: ClassRealm[plexus.core, parent: null]] (via modules: > org.eclipse.sisu.wire.WireModule -> > org.eclipse.sisu.plexus.PlexusBindingModule) > while locating org.eclipse.tycho.p2maven.InstallableUnitGenerator > at ClassRealm[coreExtension>org.eclipse.tycho:tycho-build:${tycho-version}, > parent: ClassRealm[plexus.core, parent: null]] (via modules: > org.eclipse.sisu.wire.WireModule -> > org.eclipse.sisu.plexus.PlexusBindingModule) > while locating org.eclipse.tycho.p2maven.MavenProjectDependencyProcessor > while locating org.eclipse.tycho.build.TychoGraphBuilder > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
Re: [PR] [MNG-7662] Use proxies for session scoped beans [maven]
gnodet commented on code in PR #950: URL: https://github.com/apache/maven/pull/950#discussion_r1386757692 ## maven-core/pom.xml: ## @@ -144,6 +144,12 @@ under the License. org.slf4j slf4j-api + Review Comment: ASM has always been included in maven distribution. It was previously embedded in sisu and guice. We recently changed to use a standalone asm version. This was done to support JDK 21 ;-) At least, now, we're in control and we don't have one or more repackaged/shaded version of ASM in the distribution. So byte-buddy would be third consumer of ASM, not the first... -- 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] (MNGSITE-527) broken link to settings-1.3.0.xsd
[ https://issues.apache.org/jira/browse/MNGSITE-527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784080#comment-17784080 ] ASF GitHub Bot commented on MNGSITE-527: gnodet commented on PR #464: URL: https://github.com/apache/maven-site/pull/464#issuecomment-1802027696 > Should we have license headers in files? Does missing license will break site builds? Those files are generated. Not sure if the old ones have been manually edited to add the header before publication or if the generation somehow changed in modello... > By the way ... maybe we should create html page at https://maven.apache.org/xsd/ with description for which component and version specific xsd should be used > > another idea - add to xsd comments component and version > > of course all for next PRs I'd like to avoid maintaining the whole list of schemas manually. I think using a `.htaccess` could be leveraged to provide a `readme.html` to display on top of the listing. See [apache mod_autoindex](https://httpd.apache.org/docs/2.0/mod/mod_autoindex.html#indexoptions) > broken link to settings-1.3.0.xsd > - > > Key: MNGSITE-527 > URL: https://issues.apache.org/jira/browse/MNGSITE-527 > Project: Maven Project Web Site > Issue Type: Bug >Reporter: Filipe Roque >Priority: Major > > The url of the XSD mentioned in the settings.xml settings tag is broken in > Maven 4 > {code:java} > http://maven.apache.org/SETTINGS/1.3.0"; > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; > xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.3.0 > https://maven.apache.org/xsd/settings-1.3.0.xsd";> {code} > Both the settings.xml found at apache-maven-4.0.0-alpha-8/conf/settings.xml > and at https://maven.apache.org/ref/4-LATEST/maven-settings/settings.html > reference a broken url. > There are older Versions at [http://maven.apache.org/xsd/]. -- This message was sent by Atlassian Jira (v8.20.10#820010)
Re: [PR] MNGSITE-527 broken link to settings-1.3.0.xsd [maven-site]
gnodet commented on PR #464: URL: https://github.com/apache/maven-site/pull/464#issuecomment-1802027696 > Should we have license headers in files? Does missing license will break site builds? Those files are generated. Not sure if the old ones have been manually edited to add the header before publication or if the generation somehow changed in modello... > By the way ... maybe we should create html page at https://maven.apache.org/xsd/ with description for which component and version specific xsd should be used > > another idea - add to xsd comments component and version > > of course all for next PRs I'd like to avoid maintaining the whole list of schemas manually. I think using a `.htaccess` could be leveraged to provide a `readme.html` to display on top of the listing. See [apache mod_autoindex](https://httpd.apache.org/docs/2.0/mod/mod_autoindex.html#indexoptions) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Commented] (MNG-7662) Allow Graphbuilder to use session scoped components
[ https://issues.apache.org/jira/browse/MNG-7662?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784076#comment-17784076 ] ASF GitHub Bot commented on MNG-7662: - rmannibucau commented on code in PR #950: URL: https://github.com/apache/maven/pull/950#discussion_r1386715402 ## maven-core/pom.xml: ## @@ -144,6 +144,12 @@ under the License. org.slf4j slf4j-api + Review Comment: well while asm is toggable it is fine (in several plugins) but if it becomes no more an option it also means a new release to use a new java version. I'd like to avoid it. Alternatively we can limit these scopes to interface injections where we don't need asm at all but ultimately we know upfront the types, the session scoped classes only so it is very generable at build time (like arc or openwebbeans do for ex). > Allow Graphbuilder to use session scoped components > --- > > Key: MNG-7662 > URL: https://issues.apache.org/jira/browse/MNG-7662 > Project: Maven > Issue Type: Bug >Reporter: Christoph Läubrich >Priority: Major > > Currently DefaultMaven gets the Graphbuilder injected as a strict requirement > at a very early stage. This leads to the problem, that a GraphBuilder > implementation can not use any SessionScoped Components (because the session > scope is not setup yet). > The error then is > {code:java} > 1) Error in custom provider, com.google.inject.OutOfScopeException: Cannot > access Key[type=org.apache.maven.execution.MavenSession, annotation=[none]] > outside of a scoping block > at > org.apache.maven.session.scope.internal.SessionScopeModule.configure(SessionScopeModule.java:64) > (via modules: org.eclipse.sisu.wire.WireModule -> > org.apache.maven.session.scope.internal.SessionScopeModule) > while locating org.apache.maven.execution.MavenSession > for the 1st parameter of > org.eclipse.tycho.helper.PluginRealmHelper.(Unknown Source) > at ClassRealm[coreExtension>org.eclipse.tycho:tycho-build:${tycho-version}, > parent: ClassRealm[plexus.core, parent: null]] (via modules: > org.eclipse.sisu.wire.WireModule -> > org.eclipse.sisu.plexus.PlexusBindingModule) > while locating org.eclipse.tycho.helper.PluginRealmHelper > at ClassRealm[coreExtension>org.eclipse.tycho:tycho-build:${tycho-version}, > parent: ClassRealm[plexus.core, parent: null]] (via modules: > org.eclipse.sisu.wire.WireModule -> > org.eclipse.sisu.plexus.PlexusBindingModule) > while locating org.eclipse.tycho.p2maven.InstallableUnitGenerator > at ClassRealm[coreExtension>org.eclipse.tycho:tycho-build:${tycho-version}, > parent: ClassRealm[plexus.core, parent: null]] (via modules: > org.eclipse.sisu.wire.WireModule -> > org.eclipse.sisu.plexus.PlexusBindingModule) > while locating org.eclipse.tycho.p2maven.MavenProjectDependencyProcessor > while locating org.eclipse.tycho.build.TychoGraphBuilder > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
Re: [PR] [MNG-7662] Use proxies for session scoped beans [maven]
rmannibucau commented on code in PR #950: URL: https://github.com/apache/maven/pull/950#discussion_r1386715402 ## maven-core/pom.xml: ## @@ -144,6 +144,12 @@ under the License. org.slf4j slf4j-api + Review Comment: well while asm is toggable it is fine (in several plugins) but if it becomes no more an option it also means a new release to use a new java version. I'd like to avoid it. Alternatively we can limit these scopes to interface injections where we don't need asm at all but ultimately we know upfront the types, the session scoped classes only so it is very generable at build time (like arc or openwebbeans do for ex). -- 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] [Moved] (MPLUGIN-492) Documentation for plugins in general: Goals comprises more than that.
[ https://issues.apache.org/jira/browse/MPLUGIN-492?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Michael Osipov moved MSITE-989 to MPLUGIN-492: -- Component/s: (was: documentation) Key: MPLUGIN-492 (was: MSITE-989) Affects Version/s: 3.10.2 (was: 4.0.0-M11) Issue Type: Improvement (was: Bug) Project: Maven Plugin Tools (was: Maven Site Plugin) > Documentation for plugins in general: Goals comprises more than that. > -- > > Key: MPLUGIN-492 > URL: https://issues.apache.org/jira/browse/MPLUGIN-492 > Project: Maven Plugin Tools > Issue Type: Improvement >Affects Versions: 3.10.2 >Reporter: Ernst Reissner >Priority: Major > > In the `site.xml` of all plugins, there is an entry > ``` > > ``` > leading to an according entry in the sidebar menu. > The item name is misleading: it should be Plugin Info or Plugin > Documentation, > because it is more than just Goals. > Interesting enough, the goals do not have a separate subsection. > Or it is called Goals and related.. I dont know. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MSITE-989) Documentation for plugins in general: Goals comprises more than that.
Ernst Reissner created MSITE-989: Summary: Documentation for plugins in general: Goals comprises more than that. Key: MSITE-989 URL: https://issues.apache.org/jira/browse/MSITE-989 Project: Maven Site Plugin Issue Type: Bug Components: documentation Affects Versions: 4.0.0-M11 Reporter: Ernst Reissner In the `site.xml` of all plugins, there is an entry ``` ``` leading to an according entry in the sidebar menu. The item name is misleading: it should be Plugin Info or Plugin Documentation, because it is more than just Goals. Interesting enough, the goals do not have a separate subsection. Or it is called Goals and related.. I dont know. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MNG-7662) Allow Graphbuilder to use session scoped components
[ https://issues.apache.org/jira/browse/MNG-7662?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784051#comment-17784051 ] ASF GitHub Bot commented on MNG-7662: - gnodet commented on code in PR #950: URL: https://github.com/apache/maven/pull/950#discussion_r1386636863 ## maven-core/pom.xml: ## @@ -144,6 +144,12 @@ under the License. org.slf4j slf4j-api + Review Comment: Fwiw, in the distribution generated by this PR, I've made sure we use a byte-buddy version which does not embed ASM, so that we use a single version of it. > Allow Graphbuilder to use session scoped components > --- > > Key: MNG-7662 > URL: https://issues.apache.org/jira/browse/MNG-7662 > Project: Maven > Issue Type: Bug >Reporter: Christoph Läubrich >Priority: Major > > Currently DefaultMaven gets the Graphbuilder injected as a strict requirement > at a very early stage. This leads to the problem, that a GraphBuilder > implementation can not use any SessionScoped Components (because the session > scope is not setup yet). > The error then is > {code:java} > 1) Error in custom provider, com.google.inject.OutOfScopeException: Cannot > access Key[type=org.apache.maven.execution.MavenSession, annotation=[none]] > outside of a scoping block > at > org.apache.maven.session.scope.internal.SessionScopeModule.configure(SessionScopeModule.java:64) > (via modules: org.eclipse.sisu.wire.WireModule -> > org.apache.maven.session.scope.internal.SessionScopeModule) > while locating org.apache.maven.execution.MavenSession > for the 1st parameter of > org.eclipse.tycho.helper.PluginRealmHelper.(Unknown Source) > at ClassRealm[coreExtension>org.eclipse.tycho:tycho-build:${tycho-version}, > parent: ClassRealm[plexus.core, parent: null]] (via modules: > org.eclipse.sisu.wire.WireModule -> > org.eclipse.sisu.plexus.PlexusBindingModule) > while locating org.eclipse.tycho.helper.PluginRealmHelper > at ClassRealm[coreExtension>org.eclipse.tycho:tycho-build:${tycho-version}, > parent: ClassRealm[plexus.core, parent: null]] (via modules: > org.eclipse.sisu.wire.WireModule -> > org.eclipse.sisu.plexus.PlexusBindingModule) > while locating org.eclipse.tycho.p2maven.InstallableUnitGenerator > at ClassRealm[coreExtension>org.eclipse.tycho:tycho-build:${tycho-version}, > parent: ClassRealm[plexus.core, parent: null]] (via modules: > org.eclipse.sisu.wire.WireModule -> > org.eclipse.sisu.plexus.PlexusBindingModule) > while locating org.eclipse.tycho.p2maven.MavenProjectDependencyProcessor > while locating org.eclipse.tycho.build.TychoGraphBuilder > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)