| #!/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 |