[MNG-6960] Use RuntimeInformation instead of reading properties

This commit is contained in:
Michael Osipov 2022-02-27 19:27:25 +01:00
parent 05e96dae96
commit f0caf9c9b3

View File

@ -25,6 +25,7 @@
import org.apache.maven.eventspy.internal.EventSpyDispatcher;
import org.apache.maven.execution.MavenExecutionRequest;
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;
@ -93,6 +94,9 @@ public class DefaultRepositorySystemSessionFactory
@Inject
MavenRepositorySystem mavenRepositorySystem;
@Inject
private RuntimeInformation runtimeInformation;
public DefaultRepositorySystemSession newRepositorySession( MavenExecutionRequest request )
{
DefaultRepositorySystemSession session = MavenRepositorySystemUtils.newSession();
@ -244,28 +248,10 @@ 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" );
}
}