From 7dc2430ad5c8f2cb7eb47d37cf816f971ddc8f33 Mon Sep 17 00:00:00 2001 From: Peter Donald Date: Sun, 30 Dec 2001 06:13:33 +0000 Subject: [PATCH] Move JavaVersion stuff outside the TaskContext. JavaVersion is now a completely self-contained class. git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@270453 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/myrmidon/api/AbstractTask.java | 5 --- .../org/apache/myrmidon/api/JavaVersion.java | 37 +++++++++++++++++++ .../org/apache/myrmidon/api/TaskContext.java | 8 ---- .../components/embeddor/DefaultEmbeddor.java | 26 ------------- .../workspace/DefaultTaskContext.java | 26 ------------- .../org/apache/tools/ant/taskdefs/Javac.java | 5 +-- .../compilers/DefaultCompilerAdapter.java | 1 - .../tools/ant/taskdefs/optional/Javah.java | 2 +- .../org/apache/tools/ant/taskdefs/Javac.java | 5 +-- .../compilers/DefaultCompilerAdapter.java | 1 - .../tools/ant/taskdefs/optional/Javah.java | 2 +- 11 files changed, 43 insertions(+), 75 deletions(-) diff --git a/proposal/myrmidon/src/java/org/apache/myrmidon/api/AbstractTask.java b/proposal/myrmidon/src/java/org/apache/myrmidon/api/AbstractTask.java index c76372517..19ba5a8e0 100644 --- a/proposal/myrmidon/src/java/org/apache/myrmidon/api/AbstractTask.java +++ b/proposal/myrmidon/src/java/org/apache/myrmidon/api/AbstractTask.java @@ -78,11 +78,6 @@ public abstract class AbstractTask return m_context; } - protected final JavaVersion getJavaVersion() - { - return getContext().getJavaVersion(); - } - protected final Object get( final Object key ) throws ContextException { diff --git a/proposal/myrmidon/src/java/org/apache/myrmidon/api/JavaVersion.java b/proposal/myrmidon/src/java/org/apache/myrmidon/api/JavaVersion.java index 5f7f63bd7..dbf1f5b17 100644 --- a/proposal/myrmidon/src/java/org/apache/myrmidon/api/JavaVersion.java +++ b/proposal/myrmidon/src/java/org/apache/myrmidon/api/JavaVersion.java @@ -23,6 +23,18 @@ public final class JavaVersion public final static JavaVersion JAVA1_2 = new JavaVersion( "Java 1.2", 120 ); public final static JavaVersion JAVA1_3 = new JavaVersion( "Java 1.3", 130 ); + private final static JavaVersion CURRENT = determineCurrentJavaVersion(); + + /** + * Method to retrieve the current JVM version. + * + * @return the current JVM version + */ + public static final JavaVersion getCurrentJavaVersion() + { + return CURRENT; + } + /** * Private constructor so no instance except here can be defined. * @@ -33,4 +45,29 @@ public final class JavaVersion { super( name, value ); } + + /** + * Helper method to retrieve current JVM version. + * + * @return the current JVM version + */ + private static final JavaVersion determineCurrentJavaVersion() + { + JavaVersion version = JavaVersion.JAVA1_0; + + try + { + Class.forName( "java.lang.Void" ); + version = JavaVersion.JAVA1_1; + Class.forName( "java.lang.ThreadLocal" ); + version = JavaVersion.JAVA1_2; + Class.forName( "java.lang.StrictMath" ); + version = JavaVersion.JAVA1_3; + } + catch( final ClassNotFoundException cnfe ) + { + } + + return version; + } } diff --git a/proposal/myrmidon/src/java/org/apache/myrmidon/api/TaskContext.java b/proposal/myrmidon/src/java/org/apache/myrmidon/api/TaskContext.java index 30badc748..57c38ba64 100644 --- a/proposal/myrmidon/src/java/org/apache/myrmidon/api/TaskContext.java +++ b/proposal/myrmidon/src/java/org/apache/myrmidon/api/TaskContext.java @@ -30,17 +30,9 @@ public interface TaskContext ScopeEnum TOP_LEVEL = new ScopeEnum( "TopLevel" ); //these are the names of properties that every TaskContext must contain - String JAVA_VERSION = "myrmidon.java.version"; String BASE_DIRECTORY = "myrmidon.base.directory"; String NAME = "myrmidon.task.name"; - /** - * Retrieve JavaVersion running under. - * - * @return the version of JVM - */ - JavaVersion getJavaVersion(); - /** * Retrieve Name of tasklet. * diff --git a/proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor/DefaultEmbeddor.java b/proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor/DefaultEmbeddor.java index b09a6010a..c39a44d76 100644 --- a/proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor/DefaultEmbeddor.java +++ b/proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor/DefaultEmbeddor.java @@ -20,7 +20,6 @@ import org.apache.avalon.framework.component.DefaultComponentManager; import org.apache.avalon.framework.logger.AbstractLogEnabled; import org.apache.avalon.framework.parameters.Parameterizable; import org.apache.avalon.framework.parameters.Parameters; -import org.apache.myrmidon.api.JavaVersion; import org.apache.myrmidon.interfaces.aspect.AspectManager; import org.apache.myrmidon.interfaces.builder.ProjectBuilder; import org.apache.myrmidon.interfaces.configurer.Configurer; @@ -437,31 +436,6 @@ public class DefaultEmbeddor } } - /** - * Helper method to retrieve current JVM version. - * - * @return the current JVM version - */ - private JavaVersion getJavaVersion() - { - JavaVersion version = JavaVersion.JAVA1_0; - - try - { - Class.forName( "java.lang.Void" ); - version = JavaVersion.JAVA1_1; - Class.forName( "java.lang.ThreadLocal" ); - version = JavaVersion.JAVA1_2; - Class.forName( "java.lang.StrictMath" ); - version = JavaVersion.JAVA1_3; - } - catch( final ClassNotFoundException cnfe ) - { - } - - return version; - } - /** * Create a component that implements an interface. * diff --git a/proposal/myrmidon/src/java/org/apache/myrmidon/components/workspace/DefaultTaskContext.java b/proposal/myrmidon/src/java/org/apache/myrmidon/components/workspace/DefaultTaskContext.java index 1dacd3b76..383644e50 100644 --- a/proposal/myrmidon/src/java/org/apache/myrmidon/components/workspace/DefaultTaskContext.java +++ b/proposal/myrmidon/src/java/org/apache/myrmidon/components/workspace/DefaultTaskContext.java @@ -14,7 +14,6 @@ import org.apache.avalon.excalibur.i18n.Resources; import org.apache.avalon.excalibur.io.FileUtil; import org.apache.avalon.framework.context.ContextException; import org.apache.avalon.framework.context.DefaultContext; -import org.apache.myrmidon.api.JavaVersion; import org.apache.myrmidon.api.TaskContext; import org.apache.myrmidon.api.TaskException; @@ -54,24 +53,6 @@ public class DefaultTaskContext super( parent ); } - /** - * Retrieve JavaVersion running under. - * - * @return the version of JVM - */ - public JavaVersion getJavaVersion() - { - try - { - return (JavaVersion)get( JAVA_VERSION ); - } - catch( final ContextException ce ) - { - final String message = REZ.getString( "no-version.error" ); - throw new IllegalStateException( message ); - } - } - /** * Retrieve Name of tasklet. * @@ -210,7 +191,6 @@ public class DefaultTaskContext context.setProperty( TaskContext.NAME, getName() + "." + name ); context.setProperty( TaskContext.BASE_DIRECTORY, getBaseDirectory() ); - context.setProperty( TaskContext.JAVA_VERSION, getJavaVersion() ); return context; } @@ -237,11 +217,5 @@ public class DefaultTaskContext REZ.getString( "bad-property.error", NAME, String.class.getName() ); throw new TaskException( message ); } - else if( JAVA_VERSION.equals( name ) && !( value instanceof JavaVersion ) ) - { - final String message = - REZ.getString( "bad-property.error", JAVA_VERSION, JavaVersion.class.getName() ); - throw new TaskException( message ); - } } } diff --git a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/Javac.java b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/Javac.java index 4972c4d1f..6759f514f 100644 --- a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/Javac.java +++ b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/Javac.java @@ -10,11 +10,10 @@ package org.apache.tools.ant.taskdefs; import java.io.File; import java.util.ArrayList; import java.util.Iterator; -import org.apache.myrmidon.api.TaskException; import org.apache.myrmidon.api.JavaVersion; +import org.apache.myrmidon.api.TaskException; import org.apache.myrmidon.framework.Os; import org.apache.tools.ant.DirectoryScanner; -import org.apache.tools.ant.Project; import org.apache.tools.ant.taskdefs.compilers.CompilerAdapter; import org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory; import org.apache.tools.ant.types.Argument; @@ -895,7 +894,7 @@ public class Javac extends MatchingTask if( compiler == null ) { - if( JavaVersion.JAVA1_2 != getJavaVersion() ) + if( JavaVersion.JAVA1_2 != JavaVersion.getCurrentJavaVersion() ) { compiler = "modern"; } diff --git a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java index 485f203b9..2aa9c80c3 100644 --- a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java +++ b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java @@ -13,7 +13,6 @@ import java.io.IOException; import java.io.PrintWriter; import org.apache.avalon.framework.logger.AbstractLogEnabled; import org.apache.myrmidon.api.TaskException; -import org.apache.myrmidon.api.JavaVersion; import org.apache.tools.ant.Project; import org.apache.tools.ant.taskdefs.Javac; import org.apache.tools.ant.taskdefs.exec.Execute; diff --git a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/Javah.java b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/Javah.java index 33b2a359a..71f712142 100644 --- a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/Javah.java +++ b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/Javah.java @@ -268,7 +268,7 @@ public class Javah extends Task String compiler = getProject().getProperty( "build.compiler" ); if( compiler == null ) { - if( JavaVersion.JAVA1_2 != getJavaVersion() ) + if( JavaVersion.JAVA1_2 != JavaVersion.getCurrentJavaVersion() ) { compiler = "modern"; } diff --git a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/Javac.java b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/Javac.java index 4972c4d1f..6759f514f 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/Javac.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/Javac.java @@ -10,11 +10,10 @@ package org.apache.tools.ant.taskdefs; import java.io.File; import java.util.ArrayList; import java.util.Iterator; -import org.apache.myrmidon.api.TaskException; import org.apache.myrmidon.api.JavaVersion; +import org.apache.myrmidon.api.TaskException; import org.apache.myrmidon.framework.Os; import org.apache.tools.ant.DirectoryScanner; -import org.apache.tools.ant.Project; import org.apache.tools.ant.taskdefs.compilers.CompilerAdapter; import org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory; import org.apache.tools.ant.types.Argument; @@ -895,7 +894,7 @@ public class Javac extends MatchingTask if( compiler == null ) { - if( JavaVersion.JAVA1_2 != getJavaVersion() ) + if( JavaVersion.JAVA1_2 != JavaVersion.getCurrentJavaVersion() ) { compiler = "modern"; } diff --git a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java index 485f203b9..2aa9c80c3 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java @@ -13,7 +13,6 @@ import java.io.IOException; import java.io.PrintWriter; import org.apache.avalon.framework.logger.AbstractLogEnabled; import org.apache.myrmidon.api.TaskException; -import org.apache.myrmidon.api.JavaVersion; import org.apache.tools.ant.Project; import org.apache.tools.ant.taskdefs.Javac; import org.apache.tools.ant.taskdefs.exec.Execute; diff --git a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/Javah.java b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/Javah.java index 33b2a359a..71f712142 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/Javah.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/Javah.java @@ -268,7 +268,7 @@ public class Javah extends Task String compiler = getProject().getProperty( "build.compiler" ); if( compiler == null ) { - if( JavaVersion.JAVA1_2 != getJavaVersion() ) + if( JavaVersion.JAVA1_2 != JavaVersion.getCurrentJavaVersion() ) { compiler = "modern"; }