You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kh...@apache.org on 2023/02/08 23:25:00 UTC

[maven-toolchains-plugin] branch MTOOLCHAINS-45 created (now e225090)

This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a change to branch MTOOLCHAINS-45
in repository https://gitbox.apache.org/repos/asf/maven-toolchains-plugin.git


      at e225090  [MTOOLCHAINS-45] - Upgrade maven-plugin parent to 39

This branch includes the following new commits:

     new e225090  [MTOOLCHAINS-45] - Upgrade maven-plugin parent to 39

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[maven-toolchains-plugin] 01/01: [MTOOLCHAINS-45] - Upgrade maven-plugin parent to 39

Posted by kh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a commit to branch MTOOLCHAINS-45
in repository https://gitbox.apache.org/repos/asf/maven-toolchains-plugin.git

commit e225090c3b7eb6b5730821c04faad00825a9ac18
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Thu Feb 9 00:24:50 2023 +0100

    [MTOOLCHAINS-45] - Upgrade maven-plugin parent to 39
---
 pom.xml                                            |  26 ++--
 .../plugins/toolchain/ToolchainConverter.java      |  68 ++++++----
 .../maven/plugins/toolchain/ToolchainMojo.java     | 146 ++++++++++-----------
 .../plugins/toolchain/ToolchainsRequirement.java   |  38 ++++--
 4 files changed, 149 insertions(+), 129 deletions(-)

diff --git a/pom.xml b/pom.xml
index a8a5c21..b4d0d2a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,5 +1,4 @@
-<?xml version='1.0' encoding='UTF-8'?>
-
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.  See the NOTICE file
@@ -18,14 +17,13 @@ KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
 -->
-
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-plugins</artifactId>
-    <version>37</version>
+    <version>39</version>
     <relativePath />
   </parent>
 
@@ -34,10 +32,14 @@ under the License.
   <packaging>maven-plugin</packaging>
 
   <name>Apache Maven Toolchains Plugin</name>
-  <description>
-    The Toolchains Plugins allows to share configuration across plugins. For example to make sure the plugins like
-    compiler, surefire, javadoc, webstart etc. all use the same JDK for execution.
-  </description>
+  <description>The Toolchains Plugins allows to share configuration across plugins. For example to make sure the plugins like
+    compiler, surefire, javadoc, webstart etc. all use the same JDK for execution.</description>
+
+  <contributors>
+    <contributor>
+      <name>Jim Gough</name>
+    </contributor>
+  </contributors>
 
   <prerequisites>
     <maven>${mavenVersion}</maven>
@@ -46,8 +48,8 @@ under the License.
   <scm>
     <connection>scm:git:https://gitbox.apache.org/repos/asf/maven-toolchains-plugin.git</connection>
     <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/maven-toolchains-plugin.git</developerConnection>
-    <url>https://github.com/apache/maven-toolchains-plugin/tree/${project.scm.tag}</url>
     <tag>HEAD</tag>
+    <url>https://github.com/apache/maven-toolchains-plugin/tree/${project.scm.tag}</url>
   </scm>
   <issueManagement>
     <system>jira</system>
@@ -64,12 +66,6 @@ under the License.
     </site>
   </distributionManagement>
 
-  <contributors>
-    <contributor>
-      <name>Jim Gough</name>
-    </contributor>
-  </contributors>
-
   <properties>
     <javaVersion>8</javaVersion>
     <mavenVersion>3.2.5</mavenVersion>
diff --git a/src/main/java/org/apache/maven/plugins/toolchain/ToolchainConverter.java b/src/main/java/org/apache/maven/plugins/toolchain/ToolchainConverter.java
index 43e2b36..6232dc7 100644
--- a/src/main/java/org/apache/maven/plugins/toolchain/ToolchainConverter.java
+++ b/src/main/java/org/apache/maven/plugins/toolchain/ToolchainConverter.java
@@ -1,3 +1,21 @@
+/*
+ * 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.plugins.toolchain;
 
 /*
@@ -35,59 +53,55 @@ import org.codehaus.plexus.configuration.PlexusConfiguration;
  * @author mkleint
  * @see ToolchainsRequirement
  */
-public class ToolchainConverter
-    extends AbstractConfigurationConverter
-{
+public class ToolchainConverter extends AbstractConfigurationConverter {
 
     /**
      * @see org.codehaus.plexus.component.configurator.converters.ConfigurationConverter#canConvert(java.lang.Class)
      */
     @Override
-    public boolean canConvert( Class type )
-    {
-        return ToolchainsRequirement.class.isAssignableFrom( type );
+    public boolean canConvert(Class type) {
+        return ToolchainsRequirement.class.isAssignableFrom(type);
     }
 
     /**
      * @see org.codehaus.plexus.component.configurator.converters.ConfigurationConverter#fromConfiguration(org.codehaus.plexus.component.configurator.converters.lookup.ConverterLookup, org.codehaus.plexus.configuration.PlexusConfiguration, java.lang.Class, java.lang.Class, java.lang.ClassLoader, org.codehaus.plexus.component.configurator.expression.ExpressionEvaluator, org.codehaus.plexus.component.configurator.ConfigurationListener)
      */
     @Override
-    public Object fromConfiguration( ConverterLookup converterLookup,
-                                     PlexusConfiguration configuration,
-                                     Class type, Class baseType,
-                                     ClassLoader classLoader,
-                                     ExpressionEvaluator expressionEvaluator,
-                                     ConfigurationListener listener )
-        throws ComponentConfigurationException
-    {
+    public Object fromConfiguration(
+            ConverterLookup converterLookup,
+            PlexusConfiguration configuration,
+            Class type,
+            Class baseType,
+            ClassLoader classLoader,
+            ExpressionEvaluator expressionEvaluator,
+            ConfigurationListener listener)
+            throws ComponentConfigurationException {
         ToolchainsRequirement retValue = new ToolchainsRequirement();
 
-        processConfiguration( retValue, configuration, expressionEvaluator );
+        processConfiguration(retValue, configuration, expressionEvaluator);
 
         return retValue;
     }
 
-    private void processConfiguration( ToolchainsRequirement requirement,
-                                       PlexusConfiguration configuration,
-                                       ExpressionEvaluator expressionEvaluator )
-        throws ComponentConfigurationException
-    {
+    private void processConfiguration(
+            ToolchainsRequirement requirement,
+            PlexusConfiguration configuration,
+            ExpressionEvaluator expressionEvaluator)
+            throws ComponentConfigurationException {
         Map<String, Map<String, String>> map = new HashMap<>();
 
         PlexusConfiguration[] tools = configuration.getChildren();
-        for ( PlexusConfiguration tool : tools )
-        {
+        for (PlexusConfiguration tool : tools) {
             String type = tool.getName();
             PlexusConfiguration[] params = tool.getChildren();
 
             Map<String, String> parameters = new HashMap<>();
-            for ( PlexusConfiguration param : params )
-            {
-                    parameters.put( param.getName(), param.getValue() );
+            for (PlexusConfiguration param : params) {
+                parameters.put(param.getName(), param.getValue());
             }
-            map.put( type, parameters );
+            map.put(type, parameters);
         }
 
         requirement.toolchains = map;
     }
-}
\ No newline at end of file
+}
diff --git a/src/main/java/org/apache/maven/plugins/toolchain/ToolchainMojo.java b/src/main/java/org/apache/maven/plugins/toolchain/ToolchainMojo.java
index 37ab11a..d1c8a7f 100644
--- a/src/main/java/org/apache/maven/plugins/toolchain/ToolchainMojo.java
+++ b/src/main/java/org/apache/maven/plugins/toolchain/ToolchainMojo.java
@@ -1,3 +1,21 @@
+/*
+ * 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.plugins.toolchain;
 
 /*
@@ -19,6 +37,10 @@ package org.apache.maven.plugins.toolchain;
  * under the License.
  */
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
@@ -31,22 +53,18 @@ import org.apache.maven.toolchain.MisconfiguredToolchainException;
 import org.apache.maven.toolchain.ToolchainManagerPrivate;
 import org.apache.maven.toolchain.ToolchainPrivate;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
 /**
  * Check that toolchains requirements are met by currently configured toolchains and
  * store the selected toolchains in build context for later retrieval by other plugins.
  *
  * @author mkleint
  */
-@Mojo( name = "toolchain", defaultPhase = LifecyclePhase.VALIDATE,
-       configurator = "toolchains-requirement-configurator",
-       threadSafe = true )
-public class ToolchainMojo
-    extends AbstractMojo
-{
+@Mojo(
+        name = "toolchain",
+        defaultPhase = LifecyclePhase.VALIDATE,
+        configurator = "toolchains-requirement-configurator",
+        threadSafe = true)
+public class ToolchainMojo extends AbstractMojo {
     private static final Object LOCK = new Object();
 
     /**
@@ -57,7 +75,7 @@ public class ToolchainMojo
     /**
      * The current build session instance. This is used for toolchain manager API calls.
      */
-    @Parameter( defaultValue = "${session}", readonly = true, required = true )
+    @Parameter(defaultValue = "${session}", readonly = true, required = true)
     private MavenSession session;
 
     /**
@@ -68,124 +86,102 @@ public class ToolchainMojo
      *  &lt;/toolchain-type&gt;</pre>
      * element for each required toolchain.
      */
-    @Parameter( required = true )
+    @Parameter(required = true)
     private ToolchainsRequirement toolchains;
 
     @Override
-    public void execute()
-        throws MojoExecutionException, MojoFailureException
-    {
-        if ( toolchains == null )
-        {
+    public void execute() throws MojoExecutionException, MojoFailureException {
+        if (toolchains == null) {
             // should not happen since parameter is required...
-            getLog().warn( "No toolchains requirements configured." );
+            getLog().warn("No toolchains requirements configured.");
             return;
         }
 
         List<String> nonMatchedTypes = new ArrayList<>();
 
-        for ( Map.Entry<String, Map<String, String>> entry : toolchains.getToolchains().entrySet() )
-        {
+        for (Map.Entry<String, Map<String, String>> entry :
+                toolchains.getToolchains().entrySet()) {
             String type = entry.getKey();
 
-            if ( !selectToolchain( type, entry.getValue() ) )
-            {
-                nonMatchedTypes.add( type );
+            if (!selectToolchain(type, entry.getValue())) {
+                nonMatchedTypes.add(type);
             }
         }
 
-        if ( !nonMatchedTypes.isEmpty() )
-        {
+        if (!nonMatchedTypes.isEmpty()) {
             // TODO add the default toolchain instance if defined??
             StringBuilder buff = new StringBuilder();
-            buff.append( "Cannot find matching toolchain definitions for the following toolchain types:" );
+            buff.append("Cannot find matching toolchain definitions for the following toolchain types:");
 
-            for ( String type : nonMatchedTypes )
-            {
-                buff.append( System.lineSeparator() );
-                buff.append( getToolchainRequirementAsString( type, toolchains.getParams( type ) ) );
+            for (String type : nonMatchedTypes) {
+                buff.append(System.lineSeparator());
+                buff.append(getToolchainRequirementAsString(type, toolchains.getParams(type)));
             }
 
-            getLog().error( buff.toString() );
+            getLog().error(buff.toString());
 
-            throw new MojoFailureException( buff.toString() + System.lineSeparator()
-                + "Please make sure you define the required toolchains in your ~/.m2/toolchains.xml file." );
+            throw new MojoFailureException(buff.toString() + System.lineSeparator()
+                    + "Please make sure you define the required toolchains in your ~/.m2/toolchains.xml file.");
         }
     }
 
-    protected String getToolchainRequirementAsString( String type, Map<String, String> params )
-    {
+    protected String getToolchainRequirementAsString(String type, Map<String, String> params) {
         StringBuilder buff = new StringBuilder();
 
-        buff.append( type ).append( " [" );
+        buff.append(type).append(" [");
 
-        if ( params.size() == 0 )
-        {
-            buff.append( " any" );
-        }
-        else
-        {
-            for ( Map.Entry<String, String> param : params.entrySet() )
-            {
-                buff.append( " " ).append( param.getKey() ).append( "='" ).append( param.getValue() );
-                buff.append( "'" );
+        if (params.size() == 0) {
+            buff.append(" any");
+        } else {
+            for (Map.Entry<String, String> param : params.entrySet()) {
+                buff.append(" ").append(param.getKey()).append("='").append(param.getValue());
+                buff.append("'");
             }
         }
 
-        buff.append( " ]" );
+        buff.append(" ]");
 
         return buff.toString();
     }
 
-    protected boolean selectToolchain( String type, Map<String, String> params )
-        throws MojoExecutionException
-    {
-        getLog().info( "Required toolchain: " + getToolchainRequirementAsString( type, params ) );
+    protected boolean selectToolchain(String type, Map<String, String> params) throws MojoExecutionException {
+        getLog().info("Required toolchain: " + getToolchainRequirementAsString(type, params));
         int typeFound = 0;
 
-        try
-        {
-            ToolchainPrivate[] tcs = getToolchains( type );
+        try {
+            ToolchainPrivate[] tcs = getToolchains(type);
 
-            for ( ToolchainPrivate tc : tcs )
-            {
-                if ( !type.equals( tc.getType() ) )
-                {
+            for (ToolchainPrivate tc : tcs) {
+                if (!type.equals(tc.getType())) {
                     // useful because of MNG-5716
                     continue;
                 }
 
                 typeFound++;
 
-                if ( tc.matchesRequirements( params ) )
-                {
-                    getLog().info( "Found matching toolchain for type " + type + ": " + tc );
+                if (tc.matchesRequirements(params)) {
+                    getLog().info("Found matching toolchain for type " + type + ": " + tc);
 
                     // store matching toolchain to build context
-                    synchronized ( LOCK )
-                    {
-                        toolchainManagerPrivate.storeToolchainToBuildContext( tc, session );
+                    synchronized (LOCK) {
+                        toolchainManagerPrivate.storeToolchainToBuildContext(tc, session);
                     }
 
                     return true;
                 }
             }
-        }
-        catch ( MisconfiguredToolchainException ex )
-        {
-            throw new MojoExecutionException( "Misconfigured toolchains.", ex );
+        } catch (MisconfiguredToolchainException ex) {
+            throw new MojoExecutionException("Misconfigured toolchains.", ex);
         }
 
-        getLog().error( "No toolchain " + ( ( typeFound == 0 ) ? "found" : ( "matched from " + typeFound + " found" ) )
-                            + " for type " + type );
+        getLog().error("No toolchain " + ((typeFound == 0) ? "found" : ("matched from " + typeFound + " found"))
+                + " for type " + type);
 
         return false;
     }
 
-    private ToolchainPrivate[] getToolchains( String type )
-        throws MojoExecutionException, MisconfiguredToolchainException
-    {
-        return toolchainManagerPrivate.getToolchainsForType( type, session );
+    private ToolchainPrivate[] getToolchains(String type)
+            throws MojoExecutionException, MisconfiguredToolchainException {
+        return toolchainManagerPrivate.getToolchainsForType(type, session);
     }
-
 }
diff --git a/src/main/java/org/apache/maven/plugins/toolchain/ToolchainsRequirement.java b/src/main/java/org/apache/maven/plugins/toolchain/ToolchainsRequirement.java
index 86de36f..acb1151 100644
--- a/src/main/java/org/apache/maven/plugins/toolchain/ToolchainsRequirement.java
+++ b/src/main/java/org/apache/maven/plugins/toolchain/ToolchainsRequirement.java
@@ -1,3 +1,21 @@
+/*
+ * 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.plugins.toolchain;
 
 /*
@@ -29,22 +47,18 @@ import java.util.Set;
  * @author mkleint
  * @see ToolchainConverter the custom Plexus converter to instantiate this class
  */
-public final class ToolchainsRequirement
-{
+public final class ToolchainsRequirement {
     Map<String, Map<String, String>> toolchains;
 
-    public Map<String, Map<String, String>> getToolchains()
-    {
-        return Collections.unmodifiableMap( toolchains );
+    public Map<String, Map<String, String>> getToolchains() {
+        return Collections.unmodifiableMap(toolchains);
     }
 
-    public Set<String> getToolchainsTypes()
-    {
-        return Collections.unmodifiableSet( toolchains.keySet() );
+    public Set<String> getToolchainsTypes() {
+        return Collections.unmodifiableSet(toolchains.keySet());
     }
 
-    public Map<String, String> getParams( String type )
-    {
-        return Collections.unmodifiableMap( toolchains.get( type ) );
+    public Map<String, String> getParams(String type) {
+        return Collections.unmodifiableMap(toolchains.get(type));
     }
-}
\ No newline at end of file
+}