blob: 4e78628a5a584a69a716deb2a4a07e446d47642d [file] [log] [blame]
#!/bin/bash -e
#
# Copyright (c) 2020 Oracle and/or its affiliates. All rights reserved.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Distribution License v. 1.0, which is available at
# http://www.eclipse.org/org/documents/edl-v10.php.
#
# SPDX-License-Identifier: BSD-3-Clause
# Script Parameters:
# - ECLIPSELINK_VERSION
# - JPA_TCK_URL
# - JDBC_BUNDLE_URL
echo '-[ Parameters ]------------------------------------------------------------------'
echo "JPA_TCK_URL: ${JPA_TCK_URL}"
echo "ECLIPSELINK_BUNDLE_URL: ${ECLIPSELINK_BUNDLE_URL}"
echo "JDBC_BUNDLE_URL: ${JDBC_BUNDLE_URL}"
echo '-[ Shell Environment ]-----------------------------------------------------------'
. /etc/profile
# Download and extract TCK tests
echo '-[ Downloading and extracting TCK test ]-----------------------------------------'
wget -q ${JPA_TCK_URL} -O persistence-tck.zip && unzip -q persistence-tck.zip
mkdir persistence-tck/JTwork
mkdir persistence-tck/JTreport
# Download and extract EclipseLink bundle
echo '-[ Downloading EclipseLink ]-----------------------------------------------------'
mkdir download
echo '<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.eclipse.ee4j</groupId>
<artifactId>project</artifactId>
<version>1.0.6</version>
</parent>
<dependencies>
<dependency>
<groupId>jakarta.transaction</groupId>
<artifactId>jakarta.transaction-api</artifactId>
<version>2.0.0-RC1</version>
</dependency>
</dependencies>
<groupId>download</groupId>
<artifactId>ri</artifactId>
<version>1.0.0</version>
</project>
' > 'download/pom.xml'
mvn -V -U -C -B -f download/pom.xml \
-Pstaging -Psnapshots \
-Dartifact=org.eclipse.persistence:org.eclipse.persistence.distribution:${ECLIPSELINK_VERSION}:zip \
-DoutputDirectory="${WORKSPACE}/download" \
org.apache.maven.plugins:maven-dependency-plugin:3.1.2:copy \
org.apache.maven.plugins:maven-dependency-plugin:3.1.2:copy-dependencies
(cd "${WORKSPACE}/download" && unzip ${WORKSPACE}/download/org.eclipse.persistence.distribution*.zip)
# Download and extract MySQL JDBC driver
echo '-[ Downloading and extracting MySQL JDBC driver ]--------------------------------'
wget -q ${JDBC_BUNDLE_URL} -O - | tar xfz -
JDBC_JAR="${WORKSPACE}/`ls mysql-connector-*/mysql-connector*[0-9].jar`"
ls -la
TS_HOME="${WORKSPACE}/persistence-tck"
TS_JTE="${TS_HOME}/bin/ts.jte"
JTA_CLASS=`ls ${WORKSPACE}/download/jakarta.transaction-api*.jar`
EL_CLASS=`find ${WORKSPACE}/download/eclipselink -name '*.jar'`
EL_CLASSPATH="${JTA_CLASS}"
for cp in ${EL_CLASS}; do
EL_CLASSPATH="${EL_CLASSPATH}:${cp}"
done
#Configure TCK test
echo '-[ Configuribg TCK test ]--------------------------------------------------------'
mv ${TS_JTE} ${TS_JTE}.orig
sed \
-e '/^jakarta.persistence.provider=.*$/ {
i\
mysql.server=localhost
i\
mysql.port=3306
i\
mysql.dbName=ecltests
}' \
-e "s/^jpa.classes=.*/jpa.classes=${EL_CLASSPATH//\//\\\/}/" \
-e "s/^jdbc.driver.classes=.*/jdbc.driver.classes=${JDBC_JAR//\//\\\/}/" \
-e 's/^jdbc.db=.*/jdbc.db=mysql/' \
-e 's/^jakarta.persistence.provider=.*/jakarta.persistence.provider=org.eclipse.persistence.jpa.PersistenceProvider/' \
-e 's/^jakarta.persistence.jdbc.driver=.*/jakarta.persistence.jdbc.driver=com.mysql.jdbc.Driver/' \
-e 's/^jakarta.persistence.jdbc.url=.*/jakarta.persistence.jdbc.url=jdbc:mysql:\/\/\${mysql.server}:\${mysql.port}\/\${mysql.dbName}\?useSSL=false/' \
-e 's/^jakarta.persistence.jdbc.user=.*/jakarta.persistence.jdbc.user=root/' \
-e 's/^jakarta.persistence.jdbc.password=.*/jakarta.persistence.jdbc.password=root/' \
-e 's/^db.supports.sequence=.*/db.supports.sequence=false/' \
${TS_JTE}.orig > ${TS_JTE}
echo '-[ ts.jte ]----------------------------------------------------------------------'
cat ${TS_JTE}
echo '-[ Starting MySQL database ]-----------------------------------------------------'
# Start MySQL database
/opt/bin/mysql-start.sh
echo "SET GLOBAL sql_mode='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,ANSI_QUOTES';
SELECT @@GLOBAL.sql_mode;
" | mysql -u root --password=root
# Initialize TCK tests
echo '-[ Initializing TCK test ]-------------------------------------------------------'
if [ -f ${TS_HOME}/bin/testsuite.jtd ]; then
mv -v ${TS_HOME}/bin/testsuite.jtd ${TS_HOME}/bin/testsuite.jtd.orig
fi
cd ${TS_HOME}/bin
ant -f initdb.xml