This is an automated email from the ASF dual-hosted git repository. michaelo pushed a commit to branch MNG-6960 in repository https://gitbox.apache.org/repos/asf/maven.git
commit 83bbbb3cfbd334eaba21475bb71addaf103cb267 Author: Michael Osipov <micha...@apache.org> AuthorDate: Sun Feb 27 19:27:25 2022 +0100 [MNG-6960] Use RuntimeInformation instead of reading properties This closes #685 --- .../DefaultRepositorySystemSessionFactory.java | 31 +++++++--------------- 1 file changed, 9 insertions(+), 22 deletions(-) diff --git a/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java b/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java index a642bec..4f9f338 100644 --- a/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java +++ b/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java @@ -40,6 +40,7 @@ import org.apache.maven.execution.MavenExecutionRequest; import org.apache.maven.feature.Features; import org.apache.maven.model.building.TransformerContext; import org.apache.maven.repository.internal.MavenRepositorySystemUtils; +import org.apache.maven.rtinfo.RuntimeInformation; import org.apache.maven.settings.Mirror; import org.apache.maven.settings.Proxy; import org.apache.maven.settings.Server; @@ -94,6 +95,8 @@ public class DefaultRepositorySystemSessionFactory private final MavenRepositorySystem mavenRepositorySystem; + private final RuntimeInformation runtimeInformation; + @Inject public DefaultRepositorySystemSessionFactory( ArtifactHandlerManager artifactHandlerManager, @@ -102,7 +105,8 @@ public class DefaultRepositorySystemSessionFactory @Nullable @Named( "ide" ) WorkspaceReader workspaceRepository, SettingsDecrypter settingsDecrypter, EventSpyDispatcher eventSpyDispatcher, - MavenRepositorySystem mavenRepositorySystem ) + MavenRepositorySystem mavenRepositorySystem, + RuntimeInformation runtimeInformation ) { this.artifactHandlerManager = artifactHandlerManager; this.repoSystem = repoSystem; @@ -111,6 +115,7 @@ public class DefaultRepositorySystemSessionFactory this.settingsDecrypter = settingsDecrypter; this.eventSpyDispatcher = eventSpyDispatcher; this.mavenRepositorySystem = mavenRepositorySystem; + this.runtimeInformation = runtimeInformation; } public DefaultRepositorySystemSession newRepositorySession( MavenExecutionRequest request ) @@ -267,30 +272,12 @@ public class DefaultRepositorySystemSessionFactory private String getUserAgent() { - return "Apache-Maven/" + getMavenVersion() + " (Java " + System.getProperty( "java.version" ) + "; " + String version = runtimeInformation.getMavenVersion(); + version = version.isEmpty() ? version : "/" + version; + return "Apache-Maven" + version + " (Java " + System.getProperty( "java.version" ) + "; " + System.getProperty( "os.name" ) + " " + System.getProperty( "os.version" ) + ")"; } - private String getMavenVersion() - { - Properties props = new Properties(); - - try ( InputStream is = getClass().getResourceAsStream( - "/META-INF/maven/org.apache.maven/maven-core/pom.properties" ) ) - { - if ( is != null ) - { - props.load( is ); - } - } - catch ( IOException e ) - { - logger.debug( "Failed to read Maven version", e ); - } - - return props.getProperty( "version", "unknown-version" ); - } - private Collection<FileTransformer> getTransformersForArtifact( final Artifact artifact, final SessionData sessionData ) {