Repository: maven Updated Branches: refs/heads/master 36d746789 -> e661aa87f
improved javadoc and Java toolchain implementation class name (not a Plexus component, then DefaultComponentName convention doesn't apply) Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/e661aa87 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/e661aa87 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/e661aa87 Branch: refs/heads/master Commit: e661aa87f5f001547d42bddc8d91c7729613a6a9 Parents: 36d7467 Author: Hervé Boutemy <hbout...@apache.org> Authored: Sat Nov 8 22:43:09 2014 +0100 Committer: Hervé Boutemy <hbout...@apache.org> Committed: Sat Nov 8 22:43:09 2014 +0100 ---------------------------------------------------------------------- .../maven/toolchain/DefaultToolchain.java | 5 +- .../maven/toolchain/ToolchainManager.java | 2 +- .../toolchain/java/DefaultJavaToolchain.java | 87 -------------------- .../maven/toolchain/java/JavaToolchain.java | 2 +- .../toolchain/java/JavaToolchainFactory.java | 6 +- .../maven/toolchain/java/JavaToolchainImpl.java | 87 ++++++++++++++++++++ maven-core/src/site/apt/index.apt | 4 +- .../maven/toolchain/DefaultToolchainTest.java | 6 +- 8 files changed, 100 insertions(+), 99 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/maven/blob/e661aa87/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchain.java ---------------------------------------------------------------------- diff --git a/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchain.java b/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchain.java index 65d947c..7c39474 100644 --- a/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchain.java +++ b/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchain.java @@ -27,12 +27,13 @@ import org.apache.maven.toolchain.model.ToolchainModel; import org.codehaus.plexus.logging.Logger; /** - * Default toolchain implementation. + * Default abstract toolchain implementation, to be used as base class for any toolchain implementation + * to avoid rewriting usual code. * * @author mkleint * @since 2.0.9 */ -public abstract class DefaultToolchain +public abstract class DefaultToolchain // should have been AbstractToolchain... implements Toolchain, ToolchainPrivate { http://git-wip-us.apache.org/repos/asf/maven/blob/e661aa87/maven-core/src/main/java/org/apache/maven/toolchain/ToolchainManager.java ---------------------------------------------------------------------- diff --git a/maven-core/src/main/java/org/apache/maven/toolchain/ToolchainManager.java b/maven-core/src/main/java/org/apache/maven/toolchain/ToolchainManager.java index ee49b07..2150a19 100644 --- a/maven-core/src/main/java/org/apache/maven/toolchain/ToolchainManager.java +++ b/maven-core/src/main/java/org/apache/maven/toolchain/ToolchainManager.java @@ -23,7 +23,7 @@ import org.apache.maven.execution.MavenSession; /** - * Public API for a plugin to get a toolchain instance. + * Public API for a toolchain-aware plugin to get expected toolchain instance. * * @author mkleint * @since 2.0.9 http://git-wip-us.apache.org/repos/asf/maven/blob/e661aa87/maven-core/src/main/java/org/apache/maven/toolchain/java/DefaultJavaToolchain.java ---------------------------------------------------------------------- diff --git a/maven-core/src/main/java/org/apache/maven/toolchain/java/DefaultJavaToolchain.java b/maven-core/src/main/java/org/apache/maven/toolchain/java/DefaultJavaToolchain.java deleted file mode 100644 index ee82013..0000000 --- a/maven-core/src/main/java/org/apache/maven/toolchain/java/DefaultJavaToolchain.java +++ /dev/null @@ -1,87 +0,0 @@ -package org.apache.maven.toolchain.java; - -/* - * 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. - */ - -import java.io.File; - -import org.apache.maven.toolchain.DefaultToolchain; -import org.apache.maven.toolchain.model.ToolchainModel; -import org.codehaus.plexus.logging.Logger; -import org.codehaus.plexus.util.FileUtils; -import org.codehaus.plexus.util.Os; - -/** - * JDK toolchain implementation. - * - * @author Milos Kleint - * @since 2.0.9 - */ -public class DefaultJavaToolchain - extends DefaultToolchain - implements JavaToolchain -{ - private String javaHome; - - public static final String KEY_JAVAHOME = "jdkHome"; //NOI18N - - public DefaultJavaToolchain( ToolchainModel model, Logger logger ) - { - super( model, "jdk", logger ); - } - - public String getJavaHome() - { - return javaHome; - } - - public void setJavaHome( String javaHome ) - { - this.javaHome = javaHome; - } - - public String toString() - { - return "JDK[" + getJavaHome() + "]"; - } - - public String findTool( String toolName ) - { - File toRet = findTool( toolName, new File( FileUtils.normalize( getJavaHome() ) ) ); - if ( toRet != null ) - { - return toRet.getAbsolutePath(); - } - return null; - } - - private static File findTool( String toolName, File installFolder ) - { - File bin = new File( installFolder, "bin" ); //NOI18N - if ( bin.exists() ) - { - File tool = new File( bin, toolName + ( Os.isFamily( "windows" ) ? ".exe" : "" ) ); // NOI18N - if ( tool.exists() ) - { - return tool; - } - } - return null; - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/maven/blob/e661aa87/maven-core/src/main/java/org/apache/maven/toolchain/java/JavaToolchain.java ---------------------------------------------------------------------- diff --git a/maven-core/src/main/java/org/apache/maven/toolchain/java/JavaToolchain.java b/maven-core/src/main/java/org/apache/maven/toolchain/java/JavaToolchain.java index 8cfc8f8..494aaf8 100644 --- a/maven-core/src/main/java/org/apache/maven/toolchain/java/JavaToolchain.java +++ b/maven-core/src/main/java/org/apache/maven/toolchain/java/JavaToolchain.java @@ -26,7 +26,7 @@ import org.apache.maven.toolchain.Toolchain; * * @author Jason van Zyl * @author Milos Kleint - * @since 2.0.9 + * @since 2.0.9, renamed from JavaToolChain in 3.2.4 */ public interface JavaToolchain extends Toolchain http://git-wip-us.apache.org/repos/asf/maven/blob/e661aa87/maven-core/src/main/java/org/apache/maven/toolchain/java/JavaToolchainFactory.java ---------------------------------------------------------------------- diff --git a/maven-core/src/main/java/org/apache/maven/toolchain/java/JavaToolchainFactory.java b/maven-core/src/main/java/org/apache/maven/toolchain/java/JavaToolchainFactory.java index 9df707c..9b790d8 100644 --- a/maven-core/src/main/java/org/apache/maven/toolchain/java/JavaToolchainFactory.java +++ b/maven-core/src/main/java/org/apache/maven/toolchain/java/JavaToolchainFactory.java @@ -59,7 +59,7 @@ public class JavaToolchainFactory return null; } - DefaultJavaToolchain jtc = new DefaultJavaToolchain( model, logger ); + JavaToolchainImpl jtc = new JavaToolchainImpl( model, logger ); // populate the provides section Properties provides = model.getProvides(); @@ -89,11 +89,11 @@ public class JavaToolchainFactory // populate the configuration section Xpp3Dom dom = (Xpp3Dom) model.getConfiguration(); - Xpp3Dom javahome = dom.getChild( DefaultJavaToolchain.KEY_JAVAHOME ); + Xpp3Dom javahome = dom.getChild( JavaToolchainImpl.KEY_JAVAHOME ); if ( javahome == null ) { throw new MisconfiguredToolchainException( "Java toolchain without the " - + DefaultJavaToolchain.KEY_JAVAHOME + " configuration element." ); + + JavaToolchainImpl.KEY_JAVAHOME + " configuration element." ); } File normal = new File( FileUtils.normalize( javahome.getValue() ) ); if ( normal.exists() ) http://git-wip-us.apache.org/repos/asf/maven/blob/e661aa87/maven-core/src/main/java/org/apache/maven/toolchain/java/JavaToolchainImpl.java ---------------------------------------------------------------------- diff --git a/maven-core/src/main/java/org/apache/maven/toolchain/java/JavaToolchainImpl.java b/maven-core/src/main/java/org/apache/maven/toolchain/java/JavaToolchainImpl.java new file mode 100644 index 0000000..71c2ce8 --- /dev/null +++ b/maven-core/src/main/java/org/apache/maven/toolchain/java/JavaToolchainImpl.java @@ -0,0 +1,87 @@ +package org.apache.maven.toolchain.java; + +/* + * 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. + */ + +import java.io.File; + +import org.apache.maven.toolchain.DefaultToolchain; +import org.apache.maven.toolchain.model.ToolchainModel; +import org.codehaus.plexus.logging.Logger; +import org.codehaus.plexus.util.FileUtils; +import org.codehaus.plexus.util.Os; + +/** + * JDK toolchain implementation. + * + * @author Milos Kleint + * @since 2.0.9, renamed from DefaultJavaToolChain in 3.2.4 + */ +public class JavaToolchainImpl + extends DefaultToolchain + implements JavaToolchain +{ + private String javaHome; + + public static final String KEY_JAVAHOME = "jdkHome"; //NOI18N + + public JavaToolchainImpl( ToolchainModel model, Logger logger ) + { + super( model, "jdk", logger ); + } + + public String getJavaHome() + { + return javaHome; + } + + public void setJavaHome( String javaHome ) + { + this.javaHome = javaHome; + } + + public String toString() + { + return "JDK[" + getJavaHome() + "]"; + } + + public String findTool( String toolName ) + { + File toRet = findTool( toolName, new File( FileUtils.normalize( getJavaHome() ) ) ); + if ( toRet != null ) + { + return toRet.getAbsolutePath(); + } + return null; + } + + private static File findTool( String toolName, File installFolder ) + { + File bin = new File( installFolder, "bin" ); //NOI18N + if ( bin.exists() ) + { + File tool = new File( bin, toolName + ( Os.isFamily( "windows" ) ? ".exe" : "" ) ); // NOI18N + if ( tool.exists() ) + { + return tool; + } + } + return null; + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/maven/blob/e661aa87/maven-core/src/site/apt/index.apt ---------------------------------------------------------------------- diff --git a/maven-core/src/site/apt/index.apt b/maven-core/src/site/apt/index.apt index 316f695..390215c 100644 --- a/maven-core/src/site/apt/index.apt +++ b/maven-core/src/site/apt/index.apt @@ -70,6 +70,6 @@ Maven Core to manage toolchain selection, * internal JDK toolchain implementation: <<<JavaToolchain>>> interface ({{{./apidocs/org/apache/maven/toolchain/java/JavaToolchain.html}javadoc}}), - with its <<<DefaultJavaToolchain>>> implementation - ({{{./xref/org/apache/maven/toolchain/java/DefaultJavaToolchain.html}source}}) and <<<JavaToolchainFactory>>> + with its <<<JavaToolchainImpl>>> implementation + ({{{./xref/org/apache/maven/toolchain/java/JavaToolchainImpl.html}source}}) and <<<JavaToolchainFactory>>> factory ({{{./xref/org/apache/maven/toolchain/java/JavaToolchainFactory.html}source}}). http://git-wip-us.apache.org/repos/asf/maven/blob/e661aa87/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainTest.java ---------------------------------------------------------------------- diff --git a/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainTest.java b/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainTest.java index c0470cd..da0318c 100644 --- a/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainTest.java +++ b/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainTest.java @@ -24,7 +24,7 @@ import static org.junit.Assert.assertTrue; import java.io.InputStream; -import org.apache.maven.toolchain.java.DefaultJavaToolchain; +import org.apache.maven.toolchain.java.JavaToolchainImpl; import org.apache.maven.toolchain.model.PersistedToolchains; import org.apache.maven.toolchain.model.ToolchainModel; import org.apache.maven.toolchain.model.io.xpp3.MavenToolchainsXpp3Reader; @@ -48,8 +48,8 @@ public class DefaultToolchainTest PersistedToolchains jdks = reader.read( jdksIS ); PersistedToolchains jdksExtra = reader.read( jdksExtraIS ); - DefaultJavaToolchain tc1 = new DefaultJavaToolchain( jdks.getToolchains().get( 0 ), null ); - DefaultJavaToolchain tc2 = new DefaultJavaToolchain( jdksExtra.getToolchains().get( 0 ), null ); + JavaToolchainImpl tc1 = new JavaToolchainImpl( jdks.getToolchains().get( 0 ), null ); + JavaToolchainImpl tc2 = new JavaToolchainImpl( jdksExtra.getToolchains().get( 0 ), null ); assertTrue( tc1.equals( tc1 ) ); assertFalse( tc1.equals( tc2 ) );