[MNG-6960] Use RuntimeInformation instead of reading properties

This closes #685
This commit is contained in:
Michael Osipov 2022-02-27 19:27:25 +01:00
parent 5394e750d9
commit 83bbbb3cfb
1 changed files with 9 additions and 22 deletions

View File

@ -40,6 +40,7 @@
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 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 DefaultRepositorySystemSessionFactory(
this.settingsDecrypter = settingsDecrypter;
this.eventSpyDispatcher = eventSpyDispatcher;
this.mavenRepositorySystem = mavenRepositorySystem;
this.runtimeInformation = runtimeInformation;
}
public DefaultRepositorySystemSession newRepositorySession( MavenExecutionRequest request )
@ -267,30 +272,12 @@ else if ( request.isUpdateSnapshots() )
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 )
{