#!/bin/sh -
#
# build script for 1.5
#
# If it's given a buildname it creates a subdirectory and places a build in it,
# otherwise it just creates the docs and class files.
#

if [ "${JDKPATH}" = "" ]
then
	JDKPATH=/usr/lib/jvm/java-8-openjdk-amd64
else
	JDKPATH_WAS_SET=yes
fi
if [ "${JDK5PATH}" = "" ]
then
	JDK5PATH=/usr/lib/jvm/java-1.5.0-oracle-i586/
fi

JAVA_HOME=$JDKPATH
export JAVA_HOME

PATH=$JDKPATH/bin:$PATH
export PATH

if [ "${JAVA_VERSION_PREFIX}" = "" ]
then
    if [ "${JDKPATH_WAS_SET}" = "yes" ]
    then
        # JDKPATH was supplied but JAVA_VERSION_PREFIX wasn't: derive the prefix
        # from the JVM's reported version so it matches System.getProperty("java.version").
        # e.g. java.version "1.8.0_492" -> 1.8, "11.0.31" -> 11, "17.0.19" -> 17.
        _javaVersion=`"${JDKPATH}/bin/java" -version 2>&1 | sed -n '1s/.*version "\([^"]*\)".*/\1/p'`
        case "${_javaVersion}" in
            1.*) JAVA_VERSION_PREFIX=`echo "${_javaVersion}" | cut -d. -f1-2` ;;
            ?*)  JAVA_VERSION_PREFIX=`echo "${_javaVersion}" | cut -d. -f1` ;;
        esac
    fi
    if [ "${JAVA_VERSION_PREFIX}" = "" ]
    then
        JAVA_VERSION_PREFIX=1.5
    fi
    export JAVA_VERSION_PREFIX
fi

if [ "$1" = "test" ]
then
    #
    # Note: always do a full build before running test
    #
    JAVA_HOME=$JDK5PATH
    export JAVA_HOME

    PATH=$JDK5PATH/bin:$PATH
    export PATH

    ant -f ant/jdk15+.xml test
elif [ "$1" = "clean" ]
then
    ant -f ant/jdk15+.xml clean
else
    if ant -f ant/jdk15+.xml build-provider
    then
        ant -f ant/jdk15+.xml build
        ant -f ant/jdk15+.xml zip-src
    fi
    # Add the JCA provider service registration (META-INF/services/java.security.Provider)
    # to every provider jar produced. The glob matches bcprov and bcprov-ext, and both the
    # plain jdk15to18 and a debug build's debug-jdk15to18 names, so a release.debug build
    # gets it too (the old fixed 'bcprov-jdk15to18*.jar' glob silently missed the debug jars).
    for provjar in build/artifacts/jdk1.5/jars/bcprov*jdk15to18*.jar
    do
        [ -f "$provjar" ] || continue
        jar uf "$provjar" -C prov/src/main/resources META-INF
    done
fi

