mirror of
https://github.com/moparisthebest/JdbcMapper
synced 2024-11-14 13:15:07 -05:00
122 lines
7.5 KiB
YAML
122 lines
7.5 KiB
YAML
language: java
|
|
sudo: required
|
|
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
|
|
- ORACLE_DOWNLOAD_DIR=$HOME/.traviscache
|
|
- DATABASE_NAME=XE
|
|
|
|
services:
|
|
- postgresql
|
|
- 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;
|
|
|
|
|
|
script:
|
|
- docker ps -a
|
|
# java8+ supports everything
|
|
- mvn -B -pl '!test' clean install || travis_terminate 1;
|
|
# everything against BIND
|
|
- mvn -B -pl test clean test -DjdbcMapper.databaseType=BIND --settings .travis-settings.xml -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 -B -pl test clean test -DjdbcMapper.databaseType=BIND -DqueryMapper.databaseType=OPTIMAL --settings .travis-settings.xml -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 -B -pl test clean test -DjdbcMapper.databaseType=ANY '-DjdbcUrl=h2' '-DjdbcUrl1=jdbc:postgresql:test_db' || travis_terminate 1;
|
|
# oracle against ORACLE
|
|
- mvn -B -pl test clean test -DjdbcMapper.databaseType=ORACLE --settings .travis-settings.xml -P oracle '-DjdbcUrl=jdbc:oracle:thin:travis_test/travis_test@127.0.0.1:1521/xe' || travis_terminate 1;
|
|
# hsql against UNNEST
|
|
- mvn -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
|
|
- .travis/dl_java6_maven.sh
|
|
- mvn --offline -B -pl '!test' clean install || travis_terminate 1;
|
|
- mvn --offline -B -pl test clean test -DjdbcMapper.databaseType=BIND --settings .travis-settings.xml -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 --settings .travis-settings.xml -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 --settings .travis-settings.xml -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 -B -pl '!test' clean install || travis_terminate 1;
|
|
- mvn -B -pl test clean test -DjdbcMapper.databaseType=BIND --settings .travis-settings.xml -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 -B -pl test clean test -DjdbcMapper.databaseType=BIND -DqueryMapper.databaseType=OPTIMAL --settings .travis-settings.xml -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 -B -pl test clean test -DjdbcMapper.databaseType=ANY '-DjdbcUrl=jdbc:postgresql:test_db' || travis_terminate 1;
|
|
- mvn -B -pl test clean test -DjdbcMapper.databaseType=ORACLE --settings .travis-settings.xml -P oracle '-DjdbcUrl=jdbc:oracle:thin:travis_test/travis_test@127.0.0.1:1521/xe' || travis_terminate 1;
|
|
- mvn -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='OracleJDK 11'
|
|
install: . ./install-jdk.sh -F 11 -L BCL
|
|
|
|
before_install:
|
|
- wget https://raw.githubusercontent.com/sormuras/bach/master/install-jdk.sh
|
|
- 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
|
|
- .travis/oracle/download.sh
|
|
- .travis/oracle/install.sh
|
|
|
|
install:
|
|
- if [[ "${JDK}" == 'OpenJDK 6' ]]; then
|
|
export CUSTOM_MVN_VERION="3.2.5";
|
|
echo "Download Maven ${CUSTOM_MVN_VERION}....";
|
|
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;
|
|
[ -d $M2_HOME ] || unzip -qq apache-maven-${CUSTOM_MVN_VERION}-bin.zip;
|
|
[ -d $M2_HOME ] || mv apache-maven-${CUSTOM_MVN_VERION} $M2_HOME;
|
|
export PATH=$M2_HOME/bin:$PATH;
|
|
mvn -version;
|
|
fi
|
|
|
|
after_success:
|
|
- if [ "${JDK}" == 'OpenJDK 8' ] || [ "${JDK}" == 'OpenJDK 6' ]; then
|
|
mvn deploy --settings .travis-settings.xml -DskipTests=true -B || travis_terminate 1;
|
|
fi
|
|
- rm -rf $HOME/.m2/repository/com/moparisthebest/jdbcmapper
|
|
|
|
cache:
|
|
directories:
|
|
- $HOME/.m2
|
|
- $HOME/.traviscache
|