view tck7/build_all.sh @ 14:711b58cbbb72 draft

Sync with work copy.
author Pavel Tisnovsky <ptisnovs@redhat.com>
date Thu, 17 Apr 2014 17:12:39 +0200
parents 7577d55a0e30
children
line wrap: on
line source

#!/usr/bin/env bash

# Daily test builder.
# 
#    Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014  Red Hat
# 
# This tool is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This tool is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with IcedTea; see the file COPYING.  If not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301 USA.
#
# Linking this library statically or dynamically with other modules is
# making a combined work based on this library.  Thus, the terms and
# conditions of the GNU General Public License cover the whole
# combination.
# 
# As a special exception, the copyright holders of this library give you
# permission to link this library with independent modules to produce an
# executable, regardless of the license terms of these independent
# modules, and to copy and distribute the resulting executable under
# terms of your choice, provided that you also meet, for each linked
# independent module, the terms and conditions of the license of that
# module.  An independent module is a module which is not derived from
# or based on this library.  If you modify this library, you may extend
# this exception to your version of the library, but you are not
# obligated to do so.  If you do not wish to do so, delete this
# exception statement from your version.
#
# Builds all JDKs that need to be tested.
#
# Author: Pavel Tisnovsky
# e-mail: ptisnovs@redhat.com

JCK_ROOT_DIR=`cat jck.dir`
JCK_VERSION=7
JCK_DIR=${JCK_ROOT_DIR}/${JCK_VERSION}
WORK_DIR=${JCK_ROOT_DIR}/work
RESULT_DIR=${JCK_ROOT_DIR}/results
DAILY_TESTS_DIR=`cat dailytests.dir`

DATE=`date +%Y%m%d`

exec > logs/build_$DATE.log 2>&1

# We need to preserve only image of JRE and SDK.
# Other files and directories could be deleted not to waste disk space
# (it will be filled by JCK work files, after all :)
function remove_other_dirs()
{
    rm -rf $1/corba
    rm -rf $1/generated.build
    rm -rf $1/hotspot
    rm -rf $1/jaxp
    rm -rf $1/jaxws
    rm -rf $1/jdk
    rm -rf $1/langtools
    rm -rf $1/make
    rm -rf $1/test
    rm -rf $1/build/linux-amd64/bin
    rm -rf $1/build/linux-amd64/btbins
    rm -rf $1/build/linux-amd64/btclasses
    rm -rf $1/build/linux-amd64/btjars
    rm -rf $1/build/linux-amd64/bundles
    rm -rf $1/build/linux-amd64/classes
    rm -rf $1/build/linux-amd64/corba
    rm -rf $1/build/linux-amd64/demo
    rm -rf $1/build/linux-amd64/democlasses
    rm -rf $1/build/linux-amd64/demos-bundles
    rm -rf $1/build/linux-amd64/docs
    rm -rf $1/build/linux-amd64/gennativesrc
    rm -rf $1/build/linux-amd64/hotspot
    rm -rf $1/build/linux-amd64/impsrc
    rm -rf $1/build/linux-amd64/include
    rm -rf $1/build/linux-amd64/jaxp
    rm -rf $1/build/linux-amd64/jaxws
    rm -rf $1/build/linux-amd64/langtools
    rm -rf $1/build/linux-amd64/lib
    rm -rf $1/build/linux-amd64/sample
    rm -rf $1/build/linux-amd64/source-bundles
    rm -rf $1/build/linux-amd64/symbols
    rm -rf $1/build/linux-amd64/tmp
    rm -rf $1/build/linux-amd64/j2re-image
    rm -rf $1/build/linux-amd64/j2sdk-server-image
}

# Prints version of the JVM built by this script.
function print_java_version()
{
    $!/build/linux-amd64/j2sdk-image//bin/java -version
}

# Builds IcedTea7 forest.
function build_icedtea7_forest()
{
    cp cfg/repo_url_icedtea7_forest.txt cfg/repo_urls.txt
    # This script should report all failures etc.
    ./run.lua
    remove_other_dirs ${DAILY_TESTS_DIR}/builds/Icedtea7_forest/openjdk
    print_java_version ${DAILY_TESTS_DIR}/builds/Icedtea7_forest/openjdk
}

# Builds IcedTea7_2_3.
function build_icedtea7_2_3()
{
    cp cfg/repo_url_icedtea7_forest_2_3.txt cfg/repo_urls.txt
    # This script should report all failures etc.
    ./run.lua
    remove_other_dirs ${DAILY_TESTS_DIR}/builds/Icedtea7_forest_2_3/openjdk
    print_java_version ${DAILY_TESTS_DIR}/builds/Icedtea7_forest/openjdk
}

# Builds IcedTea7_2_4.
function build_icedtea7_2_4()
{
    cp cfg/repo_url_icedtea7_forest_2_4.txt cfg/repo_urls.txt
    # This script should report all failures etc.
    ./run.lua
    remove_other_dirs ${DAILY_TESTS_DIR}/builds/Icedtea7_forest_2_4/openjdk
    print_java_version ${DAILY_TESTS_DIR}/builds/Icedtea7_forest/openjdk
}

# Builds all required IcedTea7.
function build_all()
{
    build_icedtea7_forest
    build_icedtea7_2_3
    build_icedtea7_2_4
}

build_all