From 2d9b3d8d2a2a325d4c11b8327a923a22afea1d16 Mon Sep 17 00:00:00 2001
From: coulbeck <coulbeck@localhost>
Date: Thu, 03 May 2007 19:47:06 +0000
Subject: [PATCH] Issue a build warning if the java version is too old.
---
opends/build.xml | 33 ++++++++++++++++
opends/src/build-tools/org/opends/build/tools/ValidJavaVersion.java | 68 ++++++++++++++++++++++++++++++++++
2 files changed, 100 insertions(+), 1 deletions(-)
diff --git a/opends/build.xml b/opends/build.xml
index 58ad521..032a421 100644
--- a/opends/build.xml
+++ b/opends/build.xml
@@ -197,6 +197,37 @@
+ <!-- Set the property valid.java.version if the java version is valid. -->
+ <target name="validjavaversion"
+ depends="buildtools" >
+
+ <property name="min.java.version" value="1.5.0_08" />
+
+ <typedef name="validjavaversion"
+ classname="org.opends.build.tools.ValidJavaVersion" >
+ <classpath>
+ <fileset dir="${build.dir}/build-tools">
+ <include name="*.jar" />
+ </fileset>
+ </classpath>
+ </typedef>
+
+ <condition property="valid.java.version">
+ <validjavaversion minVersion="${min.java.version}" />
+ </condition>
+
+ </target>
+
+ <!-- Warn if the build java version is too old. -->
+ <target name="checkjavaversion"
+ depends="validjavaversion"
+ unless="valid.java.version" >
+ <echo level="warning"
+ message="WARNING: Java version ${java.version} is too old."/>
+ <echo level="warning"
+ message="Java version ${min.java.version} or later is required to build OpenDS."/>
+ </target>
+
<!-- Perform common initialization common to several targets. -->
<target name="init">
@@ -424,7 +455,7 @@
<!-- Compile the Directory Server source files. -->
<target name="compile"
- depends="init,dynamicconstants,compileadmin"
+ depends="init,checkjavaversion,dynamicconstants,compileadmin"
description="Compile the Directory Server source files.">
<mkdir dir="${classes.dir}" />
diff --git a/opends/src/build-tools/org/opends/build/tools/ValidJavaVersion.java b/opends/src/build-tools/org/opends/build/tools/ValidJavaVersion.java
new file mode 100644
index 0000000..ded06b6
--- /dev/null
+++ b/opends/src/build-tools/org/opends/build/tools/ValidJavaVersion.java
@@ -0,0 +1,68 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying information:
+ * Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ * Portions Copyright 2007 Sun Microsystems, Inc.
+ */
+package org.opends.build.tools;
+
+import org.apache.tools.ant.taskdefs.condition.Condition;
+import org.apache.tools.ant.BuildException;
+
+/**
+ * Ant condition to check whether we have a minimum required Java version.
+ */
+public class ValidJavaVersion implements Condition
+{
+ // The minimum required Java version.
+ String minVersion;
+
+ /**
+ * Set the minVersion attribute.
+ * @param minVersion The minimum required Java version.
+ */
+ public void setMinVersion(String minVersion)
+ {
+ this.minVersion = minVersion;
+ }
+
+
+ /**
+ * Evaluate the condition.
+ */
+ public boolean eval() throws BuildException
+ {
+ if (minVersion == null)
+ {
+ return true;
+ }
+
+ String version = System.getProperty("java.version");
+ if (version == null)
+ {
+ return false;
+ }
+
+ return version.compareTo(minVersion) >= 0;
+ }
+}
--
Gitblit v1.10.0