You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

143 lines
8.1 KiB

5 years ago
language: java
5 years ago
sudo: required
5 years ago
dist: trusty
env:
global:
- ORACLE_COOKIE=sqldev
- ORACLE_FILE=oracle11g/xe/oracle-xe-11.2.0-1.0.x86_64.rpm.zip
- ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
- ORACLE_SID=XE
5 years ago
- ORACLE_DOWNLOAD_DIR=$HOME/.traviscache
- DATABASE_NAME=XE
services:
- postgresql
5 years ago
- docker
addons:
mariadb: '10.2'
before_script:
- psql -c 'create database test_db;' -U postgres || travis_terminate 1;
- mysql -u root -e 'CREATE DATABASE IF NOT EXISTS test_db;' || travis_terminate 1;
- if [[ "${JDK}" != 'OpenJDK 6' ]]; then
docker pull microsoft/mssql-server-linux:2017-latest;
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=<YourStrong!Passw0rd>' -p 1433:1433 -d microsoft/mssql-server-linux:2017-latest;
fi
- echo "CREATE USER travis_test IDENTIFIED BY travis_test;" | "$ORACLE_HOME/bin/sqlplus" -L -S / AS SYSDBA || travis_terminate 1;
- echo "grant CREATE SESSION, ALTER SESSION, CREATE DATABASE LINK, CREATE MATERIALIZED VIEW, CREATE PROCEDURE, CREATE PUBLIC SYNONYM, CREATE ROLE, CREATE SEQUENCE, CREATE SYNONYM, CREATE TABLE, CREATE TRIGGER, CREATE TYPE, CREATE VIEW, UNLIMITED TABLESPACE to travis_test;" | "$ORACLE_HOME/bin/sqlplus" -L -S / AS SYSDBA || travis_terminate 1;
5 years ago
script:
- mvn -v
# java8+ supports everything
- ./test/runSnapshotTests.sh --offline || travis_terminate 1;
# everything against BIND
- mvn --offline -B -pl test clean test -DjdbcMapper.databaseType=BIND -P oracle '-DjdbcUrl1=jdbc:postgresql:test_db' '-DjdbcUrl2=jdbc:mariadb://127.0.0.1:3306/test_db?user=root' '-DjdbcUrl3=jdbc:oracle:thin:travis_test/travis_test@127.0.0.1:1521/xe' '-DjdbcUrl4=jdbc:sqlserver://localhost:1433;databaseName=master;username=sa;password=<YourStrong!Passw0rd>;' || travis_terminate 1;
# everything against BIND jdbcMapper, but OPTIMAL queryMapper
- mvn --offline -B -pl test clean test -DjdbcMapper.databaseType=BIND -DqueryMapper.databaseType=OPTIMAL -P oracle '-DjdbcUrl1=jdbc:postgresql:test_db' '-DjdbcUrl2=jdbc:mariadb://127.0.0.1:3306/test_db?user=root' '-DjdbcUrl3=jdbc:oracle:thin:travis_test/travis_test@127.0.0.1:1521/xe' '-DjdbcUrl4=jdbc:sqlserver://localhost:1433;databaseName=master;username=sa;password=<YourStrong!Passw0rd>;' || travis_terminate 1;
# h2 and postgre against ANY
- mvn --offline -B -pl test clean test -DjdbcMapper.databaseType=ANY '-DjdbcUrl=h2' '-DjdbcUrl1=jdbc:postgresql:test_db' || travis_terminate 1;
# oracle against ORACLE
- mvn --offline -B -pl test clean test -DjdbcMapper.databaseType=ORACLE -P oracle '-DjdbcUrl=jdbc:oracle:thin:travis_test/travis_test@127.0.0.1:1521/xe' || travis_terminate 1;
# hsql against UNNEST
- mvn --offline -B -pl test clean test -DjdbcMapper.databaseType=UNNEST '-DjdbcUrl=hsqldb' || travis_terminate 1;
matrix:
include:
- env: JDK='OpenJDK 6'
addons:
apt:
packages:
- ca-certificates-java
- openjdk-7-jre-headless
script:
# java6 doesn't support ms-sql at all, and doesn't support h2 with ANY
- mvn -v
- ./test/runSnapshotTests.sh --offline || travis_terminate 1;
- mvn --offline -B -pl test clean test -DjdbcMapper.databaseType=BIND -P oracle '-DjdbcUrl1=jdbc:postgresql:test_db' '-DjdbcUrl2=jdbc:mariadb://127.0.0.1:3306/test_db?user=root' '-DjdbcUrl3=jdbc:oracle:thin:travis_test/travis_test@127.0.0.1:1521/xe' || travis_terminate 1;
- mvn --offline -B -pl test clean test -DjdbcMapper.databaseType=BIND -DqueryMapper.databaseType=OPTIMAL -P oracle '-DjdbcUrl1=jdbc:postgresql:test_db' '-DjdbcUrl2=jdbc:mariadb://127.0.0.1:3306/test_db?user=root' '-DjdbcUrl3=jdbc:oracle:thin:travis_test/travis_test@127.0.0.1:1521/xe' || travis_terminate 1;
- mvn --offline -B -pl test clean test -DjdbcMapper.databaseType=ANY '-DjdbcUrl=jdbc:postgresql:test_db' || travis_terminate 1;
- mvn --offline -B -pl test clean test -DjdbcMapper.databaseType=ORACLE -P oracle '-DjdbcUrl=jdbc:oracle:thin:travis_test/travis_test@127.0.0.1:1521/xe' || travis_terminate 1;
- mvn --offline -B -pl test clean test -DjdbcMapper.databaseType=UNNEST '-DjdbcUrl=hsqldb' || travis_terminate 1;
- env: JDK='OpenJDK 7'
jdk: openjdk7
script:
# java7 doesn't support h2 with ANY
- mvn -v
- ./test/runSnapshotTests.sh --offline || travis_terminate 1;
- mvn --offline -B -pl test clean test -DjdbcMapper.databaseType=BIND -P oracle '-DjdbcUrl1=jdbc:postgresql:test_db' '-DjdbcUrl2=jdbc:mariadb://127.0.0.1:3306/test_db?user=root' '-DjdbcUrl3=jdbc:oracle:thin:travis_test/travis_test@127.0.0.1:1521/xe' '-DjdbcUrl4=jdbc:sqlserver://localhost:1433;databaseName=master;username=sa;password=<YourStrong!Passw0rd>;' || travis_terminate 1;
- mvn --offline -B -pl test clean test -DjdbcMapper.databaseType=BIND -DqueryMapper.databaseType=OPTIMAL -P oracle '-DjdbcUrl1=jdbc:postgresql:test_db' '-DjdbcUrl2=jdbc:mariadb://127.0.0.1:3306/test_db?user=root' '-DjdbcUrl3=jdbc:oracle:thin:travis_test/travis_test@127.0.0.1:1521/xe' '-DjdbcUrl4=jdbc:sqlserver://localhost:1433;databaseName=master;username=sa;password=<YourStrong!Passw0rd>;' || travis_terminate 1;
- mvn --offline -B -pl test clean test -DjdbcMapper.databaseType=ANY '-DjdbcUrl=jdbc:postgresql:test_db' || travis_terminate 1;
- mvn --offline -B -pl test clean test -DjdbcMapper.databaseType=ORACLE -P oracle '-DjdbcUrl=jdbc:oracle:thin:travis_test/travis_test@127.0.0.1:1521/xe' || travis_terminate 1;
- mvn --offline -B -pl test clean test -DjdbcMapper.databaseType=UNNEST '-DjdbcUrl=hsqldb' || travis_terminate 1;
- env: JDK='OpenJDK 8'
jdk: openjdk8
- env: JDK='OracleJDK 8'
jdk: oraclejdk8
- env: JDK='OpenJDK 9'
install: . ./install-jdk.sh -F 9 -L GPL
- env: JDK='OracleJDK 9'
jdk: oraclejdk9
- env: JDK='OpenJDK 10'
install: . ./install-jdk.sh -F 10 -L GPL
- env: JDK='OpenJDK 11'
install: . ./install-jdk.sh -F 11 -L GPL
- env: JDK='OpenJDK 12'
install: . ./install-jdk.sh -F 12 -L GPL
- env: JDK='OpenJDK 13'
install: . ./install-jdk.sh -F 13 -L GPL
- env: JDK='OpenJDK 14'
install: . ./install-jdk.sh -F 14 -L GPL
- env: JDK='OpenJDK 15'
install: . ./install-jdk.sh -F 15 -L GPL
- env: JDK='OpenJDK 16'
install: . ./install-jdk.sh -F 16 -L GPL
5 years ago
before_install:
- mv .travis/settings.xml $HOME/.m2/settings.xml
5 years ago
- wget https://raw.githubusercontent.com/sormuras/bach/master/install-jdk.sh
5 years ago
- mkdir -p $HOME/.traviscache
- if [[ "${JDK}" == 'OpenJDK 6' ]]; then
[ -f $HOME/.traviscache/jdk6-6u45-6-x86_64.pkg.tar.xz ] || wget -q -O$HOME/.traviscache/jdk6-6u45-6-x86_64.pkg.tar.xz https://www.moparisthebest.com/jdk6-6u45-6-x86_64.pkg.tar.xz;
sudo tar xJvf $HOME/.traviscache/jdk6-6u45-6-x86_64.pkg.tar.xz -C /;
export JAVA_HOME=/usr/lib/jvm/java-6-jdk;
fi
- if [ ! -f $HOME/.m2/repository/org/sonatype/oss/oss-parent/9/oss-parent-9.pom ]; then
set -euxo pipefail;
wget -q -O- https://github.com/moparisthebest/travis-ci-cache/raw/master/repository.tar.gz | tar xzf - -C $HOME/.m2/;
set +euxo pipefail;
fi
- .travis/oracle/download.sh
5 years ago
- .travis/oracle/install.sh
5 years ago
install:
- if [[ "${JDK}" == 'OpenJDK 6' ]]; then
export CUSTOM_MVN_VERION="3.2.5";
5 years ago
echo "Download Maven ${CUSTOM_MVN_VERION}....";
5 years ago
export M2_HOME=$HOME/.traviscache/apache-maven-${CUSTOM_MVN_VERION};
[ -d $M2_HOME ] || wget -q https://archive.apache.org/dist/maven/maven-3/${CUSTOM_MVN_VERION}/binaries/apache-maven-${CUSTOM_MVN_VERION}-bin.zip;
5 years ago
[ -d $M2_HOME ] || unzip -qq apache-maven-${CUSTOM_MVN_VERION}-bin.zip;
[ -d $M2_HOME ] || mv apache-maven-${CUSTOM_MVN_VERION} $M2_HOME;
5 years ago
export PATH=$M2_HOME/bin:$PATH;
mvn -v;
5 years ago
fi
after_success:
- if [ "${JDK}" == 'OpenJDK 8' ] || [ "${JDK}" == 'OpenJDK 6' ]; then
mvn -v;
if [ "${TRAVIS_PULL_REQUEST_BRANCH:-$TRAVIS_BRANCH}" == 'master' ];then
mvn deploy -DskipTests=true -B || travis_terminate 1;
fi
5 years ago
fi
before_cache:
- rm -rf $HOME/.m2/repository/com/moparisthebest/jdbcmapper
cache:
timeout: 3000
directories:
- $HOME/.m2/repository
5 years ago
- $HOME/.traviscache