diff --git a/README.txt b/README.txt index 4963694..bb78669 100644 --- a/README.txt +++ b/README.txt @@ -101,21 +101,16 @@ Building olap4j from source 1. Unzip olap4j--src.zip. -2. Update buildOnJdk.[sh|bat]. - - If you are building on a Linux/Unix/Whatever machine, you only need to create - symlinks to /usr/lib/jvm/${jdkVersion} where jdkVersion is one of 1.5, 1.6 or 1.7. - - If you are building on a Windows system, including Cygwin users, edit the Batch - file and set the properties JAVA_HOME_1* to the paths of the corresponding JVM - installation paths. You can also set these variables in your system environment. +2. Make sure that you are running JDK 1.7, the JAVA_HOME variable is + set, and $JAVA_HOME/bin is on your path. 3. Run a test build: $ ant clean-all dist Writing a simple program ------------------------ -You can now write and run a simple program against olap4j. For example, under Java 6, +You can now write and run a simple program against olap4j. For example, under +Java 1.6 or later, import org.olap4j.*; import org.olap4j.metadata.Member; diff --git a/RELEASE_CHECKLIST.txt b/RELEASE_CHECKLIST.txt index 0d62303..3543347 100644 --- a/RELEASE_CHECKLIST.txt +++ b/RELEASE_CHECKLIST.txt @@ -10,40 +10,18 @@ olap4j release check-list - Edit test.properties and run the test suite. Make sure everything is green. Also make sure to run both the Mondrian and the XMLA TCKs. - - Make sure that you have all of the following Java JVMs installed - separately: - - * Java 1.5 - * Java 1.6 - * Java 1.7 - - If you are building on a Linux/Unix/Whatever machine, you should create - symlinks /usr/lib/jvm/${jdkVersion} where jdkVersion is one of 1.5, 1.6 or - 1.7. - - - Update buildOnJdk.sh (or buildOnJdk.bat if you are building on Windows). - - Important: Uncomment the "case" expression that sets JAVA_HOME. (These days - buildOnJdk is configured to work out-of-the-box for developers building for - just one JDK, whereas for a release you need it to build for 3 JDKs.) - - If you are building on a Windows system, including Cygwin users, edit the - Batch file and set the properties JAVA_HOME_1* to the paths of the - corresponding JVM installation paths. You can also set these variables in - your system environment. - - - Make sure that the Java 1.5 is the default JDK on the system path. + - Make sure that you have the following Java 1.7 installed and it is the + default JDK on the system path. - Run a test build: $ ant clean-all dist - Pay close attention to the Ant targets named compileJdk1.5, compileJdk1.6 - and compileJdk1.7, and ensure that each JVM compilation phase has compiled - the files it needed to. The JDK 1.5 should compile about 700+ files. The JDK - 1.6 must compile the JDBC 4.0 classes (2 files) and JDK 1.7 should compile - the JDBC 4.1 driver (1 file). In each compileJdk1.x target, the first target - is called "apologise:", and must produce no output. + Pay close attention to the Ant targets named compileJdk15, compileJdk16 and + compileJdk17, and ensure that each JVM compilation phase has compiled the + files it needed to. The JDK 1.5 should compile about 700+ files. The JDK 1.6 + must compile the JDBC 4.0 classes (2 files) and JDK 1.7 should compile the + JDBC 4.1 driver (1 file). Check the Javadoc warnings, and make sure that the only warnings are related to the JDBC 4 and 4.1 classes. Any other error/warning must be fixed. diff --git a/build.xml b/build.xml index 5259ab2..411cfb3 100644 --- a/build.xml +++ b/build.xml @@ -19,7 +19,6 @@ --> - - - + + - - - - - - - - - - - - - - - - - + + + - - - - - - - - + + + @@ -117,7 +96,7 @@ src/org/olap4j/driver/xmla/XmlaOlap4jDriverVersion.java" /> - + - - - - - - - + + + + + + + + + - - - - - - + + + + + + + + - - - - - - + + + + + + + @@ -263,8 +271,6 @@ xmla-cache/**, .project, build.properties, build.xml, -buildOnJdk.bat, -buildOnJdk.sh, checkFile.sh, checkFile.awk, ivy.xml, @@ -397,34 +403,7 @@ class XmlaOlap4jDriverVersion { - - Actual JVM Version (${java.runtime.version}) does not match -requested (${requested.java.version}); skipping compile for this JDK. -If you wish to build for this JDK, modify ${unix.script}. - - - - - - - - - - - - - - - - - - - + diff --git a/buildOnJdk.bat b/buildOnJdk.bat deleted file mode 100755 index 0ba9f1b..0000000 --- a/buildOnJdk.bat +++ /dev/null @@ -1,80 +0,0 @@ -@echo off -rem $Id$ -rem -rem Licensed to Julian Hyde under one or more contributor license -rem agreements. See the NOTICE file distributed with this work for -rem additional information regarding copyright ownership. -rem -rem Julian Hyde licenses this file to you under the Apache License, -rem Version 2.0 (the "License"); you may not use this file except in -rem compliance with the License. You may obtain a copy of the License at: -rem -rem http://www.apache.org/licenses/LICENSE-2.0 -rem -rem Unless required by applicable law or agreed to in writing, software -rem distributed under the License is distributed on an "AS IS" BASIS, -rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -rem See the License for the specific language governing permissions and -rem limitations under the License. - -rem **** This program takes 1 argument and a series of other arguments to pass to Ant. -rem **** - buildOnJdk.bat [jdk version] [ant arguments] - -rem **** The value of [jdk version] must be one of: -rem **** - jdk1.5 -rem **** - jdk1.6 -rem **** - jdk1.7 - -rem **** It assumes the following environment variables are set. -rem **** - JAVA_HOME_15: Home directory of a JDK 1.5.X. -rem **** - JAVA_HOME_16: Home directory of a JDK 1.6.X. -rem **** - JAVA_HOME_17: Home directory of a JDK 1.7.X. - -rem **** It also assumes that Ant is on the classpath. - -rem ============================================================================= -rem ===== You can set some environment variables right here if needed =========== - -rem Change the following line to point to your JDK 1.5 home. -set JAVA_HOME_15=C:\apps\java\jdk1.5.0_22 - -rem Change the following line to point to your JDK 1.6 home. -set JAVA_HOME_16=C:\apps\java\jdk1.6.0_27 - -rem Change the following line to point to your JDK 1.7 home. -set JAVA_HOME_17=C:\apps\java\jdk1.7.0_01 - -rem Change the following line to point to your ant home. -rem set ANT_HOME=C:\apps\ant\1.7.1 -rem set ANT_HOME=C:\apps\ant\1.8.1 - -rem ====================================================== -rem ===== Don't touch anything below this line =========== - -if %1==jdk1.5 ( -set JAVA_HOME=%JAVA_HOME_15% -) -if %1==jdk1.6 ( -set JAVA_HOME=%JAVA_HOME_16% -) -if %1==jdk1.7 ( -set JAVA_HOME=%JAVA_HOME_17% -) - -set ANT_ARGUMENTS=-Drequested.java.version=%1 -for %%A in (%*) do ( -set ANT_ARGUMENTS=%ANT_ARGUMENTS% %%A -) - -rem We set JAVACMD for the benefit of Ant. -set JAVACMD=%JAVA_HOME%\bin\java.exe - -rem Some debug info -echo Using ANT_HOME: %ANT_HOME% -echo Using JAVA_HOME: %JAVA_HOME% -echo Using JAVACMD: %JAVACMD% -echo Using Ant arguments: %ANT_ARGUMENTS% - -ant %ANT_ARGUMENTS% - -rem End buildOnJdk.bat diff --git a/buildOnJdk.sh b/buildOnJdk.sh deleted file mode 100755 index 2c12f17..0000000 --- a/buildOnJdk.sh +++ /dev/null @@ -1,123 +0,0 @@ -#!/bin/bash -# -# $Id$ -# -# Licensed to Julian Hyde under one or more contributor license -# agreements. See the NOTICE file distributed with this work for -# additional information regarding copyright ownership. -# -# Julian Hyde 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. -# -# ============================================================================== -# Called recursively from 'ant release' to build the files which can only be -# built under a particular JDK version. -# -# Usage: -# buildOnJdk.sh -# -# For example: -# buildOnJdk.sh jdk1.6 compile.java - -jdkVersion=$1 -shift - -# Version number without jdk prefix. E.g. '1.6'. -versionSansJdk=`echo "${jdkVersion}" | sed 's/jdk\([0-9]\.[0-9]\)/\1/'` - -# Chooses a JAVA_HOME to match the required JDK version. -# -# If you are building olap4j for a single JDK (most likely the case), it -# doesn't matter if this method cannot find a valid JAVA_HOME for the JDK -# version. It will keep the existing JAVA_HOME, ant will report that the JDK -# version is not the one required, and will not compile any files. You will -# still end up with a valid build for all the classes needed by your JDK -# version. -# -# If you are building a release, you must compile different parts of olap4j's -# source code under different JDKs. You will need to do one of the following: -# -# 1. Specify environment variables JAVA_HOME_15, JAVA_HOME_16 and JAVA_HOME_17 -# before invoking 'ant'. -# -# 2. Install a JDK in (or create a symbolic link as) one of the standard -# locations: /usr/lib/jvm/jdk1.x on Linux/Unix/Cygwin; or -# /System/Library/Frameworks/JavaVM.framework/Versions/1.x/Home on MacOS. -# -# 3. Customize this method with the correct JDK location. -# -chooseJavaHome() { - # If JAVA_HOME_xx is specified in the environment, use it. - case "$jdkVersion" in - (jdk1.5) - if [ -d "$JAVA_HOME_15" ]; then - export JAVA_HOME="$JAVA_HOME_15" - return - fi - ;; - (jdk1.6) - if [ -d "$JAVA_HOME_16" ]; then - export JAVA_HOME="$JAVA_HOME_16" - return - fi - ;; - (jdk1.7) - if [ -d "$JAVA_HOME_17" ]; then - export JAVA_HOME="$JAVA_HOME_17" - return - fi - ;; - esac - - # 2. Look in default location based on the operating system and JDK - # version. If the directory exists, we presume that it is a valid JDK, and - # override JAVA_HOME. - defaultJavaHome= - case $(uname) in - (Darwin) - defaultJavaHome=/System/Library/Frameworks/JavaVM.framework/Versions/${versionSansJdk}/Home;; - (*) - defaultJavaHome=/usr/lib/jvm/${jdkVersion};; - esac - - if [ -d "$defaultJavaHome" ]; then - export JAVA_HOME="$defaultJavaHome" - return - fi - - # 3. If JDK is installed in a non-standard location, customize here. - # - #case ${jdkVersion} in - #(jdk1.5) export JAVA_HOME=...; return ;; - #(jdk1.6) export JAVA_HOME=...; return ;; - #(jdk1.7) export JAVA_HOME=...; return ;; - #esac - - # 4. Leave JAVA_HOME unchanged. If it does not match the required version, - # ant will no-op. -} - -chooseJavaHome - -if [ ! -d "$JAVA_HOME" ]; then - echo "$0: Invalid JAVA_HOME $JAVA_HOME; skipping compile." - exit 1 -fi - -export PATH=$JAVA_HOME/bin:$PATH - -echo Using JAVA_HOME: $JAVA_HOME -echo Using Ant arguments: -Drequested.java.version="$jdkVersion" $@ - -ant -Drequested.java.version="$jdkVersion" "$@" - -# End buildOnJdk.sh diff --git a/ivy.xml b/ivy.xml index 0028a07..55ebf96 100644 --- a/ivy.xml +++ b/ivy.xml @@ -48,12 +48,11 @@ - - - + + diff --git a/subfloor.xml b/subfloor.xml index 7adab5f..449f321 100644 --- a/subfloor.xml +++ b/subfloor.xml @@ -1284,7 +1284,8 @@ TYPICAL TARGET SEQUENCE optimize="false" source="${javac.source}" target="${javac.target}" - fork="true"> + fork="true" + includeantruntime="false">