diff --git a/.travis.yml b/.travis.yml
index b3d121407..d5af9a345 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,23 +2,17 @@ language: java
jdk:
- oraclejdk8
services:
- - mongodb
-addons:
- postgresql: "9.3"
+ - docker
env:
matrix:
- MODULE=!querydsl-scala PROFILES=all,travis,examples
- MODULE=!querydsl-jpa-codegen PROFILES=jpa,hibernate5,travis,examples
- MODULE=querydsl-scala PROFILES=all,travis
-install:
- - mvn -B -q --projects ${MODULE} -P${PROFILES} install -DskipTests=true
+install: /bin/true
before_script:
- - mysql -u root -e "source travis/mysql.sql"
- - psql -U postgres -f travis/postgresql.sql
- - psql -c 'create extension postgis;' -d querydsl -U postgres
- - ./travis/cubrid.sh
- - ./travis/firebird.sh
-script: mvn -B test -P${PROFILES} --projects ${MODULE} jacoco:report
+ - sudo /etc/init.d/mysql stop
+ - ./travis/docker_bootstrap.sh
+script: mvn --batch-mode test --activate-profiles ${PROFILES} --projects ${MODULE} jacoco:report
sudo: required
after_success:
- mvn coveralls:report
diff --git a/devops/test-connection/src/test_connection/core.clj b/devops/test-connection/src/test_connection/core.clj
index 9fc1721aa..5f6d1eb0a 100644
--- a/devops/test-connection/src/test_connection/core.clj
+++ b/devops/test-connection/src/test_connection/core.clj
@@ -22,7 +22,7 @@
(def cubrid-db {:classname "cubrid.jdbc.driver.CUBRIDDriver"
:subprotocol "cubrid"
- :subname "localhost:30000:demodb:public::"})
+ :subname "localhost:30000:demodb:dba::"})
(count (j/query oracle-db (s/select * :all_tables)))
(count (j/query postgres-db (s/select * :pg_catalog.pg_tables)))
diff --git a/querydsl-jpa/src/test/resources/META-INF/persistence.xml b/querydsl-jpa/src/test/resources/META-INF/persistence.xml
index 32a59979d..0b67c2e60 100644
--- a/querydsl-jpa/src/test/resources/META-INF/persistence.xml
+++ b/querydsl-jpa/src/test/resources/META-INF/persistence.xml
@@ -253,7 +253,7 @@
-
+
@@ -267,7 +267,7 @@
false
-
+
@@ -285,8 +285,8 @@
-
-
+
+
@@ -311,4 +311,4 @@
-
\ No newline at end of file
+
diff --git a/querydsl-jpa/src/test/resources/com/querydsl/jpa/testutil/mysql.properties b/querydsl-jpa/src/test/resources/com/querydsl/jpa/testutil/mysql.properties
index 828277ab8..619988c92 100644
--- a/querydsl-jpa/src/test/resources/com/querydsl/jpa/testutil/mysql.properties
+++ b/querydsl-jpa/src/test/resources/com/querydsl/jpa/testutil/mysql.properties
@@ -9,4 +9,4 @@ hibernate.connection.password=querydsl
#hibernate.show_sql=true
hibernate.flushMode=FLUSH_AUTO
hibernate.hbm2ddl.auto=update
-#hibernate.use_sql_comments=true
\ No newline at end of file
+#hibernate.use_sql_comments=true
diff --git a/querydsl-jpa/src/test/resources/com/querydsl/jpa/testutil/oracle.properties b/querydsl-jpa/src/test/resources/com/querydsl/jpa/testutil/oracle.properties
index 40bfa2511..389751334 100644
--- a/querydsl-jpa/src/test/resources/com/querydsl/jpa/testutil/oracle.properties
+++ b/querydsl-jpa/src/test/resources/com/querydsl/jpa/testutil/oracle.properties
@@ -3,11 +3,11 @@
hibernate.dialect=com.querydsl.jpa.support.QOracle10gDialect
hibernate.connection.driver_class=oracle.jdbc.driver.OracleDriver
hibernate.connection.url=jdbc:oracle:thin:@localhost:1521:xe
-hibernate.connection.username=querydsl
-hibernate.connection.password=querydsl
+hibernate.connection.username=system
+hibernate.connection.password=oracle
## Common properties
#hibernate.show_sql=true
hibernate.flushMode=FLUSH_AUTO
hibernate.hbm2ddl.auto=update
-#hibernate.use_sql_comments=true
\ No newline at end of file
+#hibernate.use_sql_comments=true
diff --git a/querydsl-jpa/src/test/resources/com/querydsl/jpa/testutil/postgresql.properties b/querydsl-jpa/src/test/resources/com/querydsl/jpa/testutil/postgresql.properties
index c4f587c57..fb0dfa133 100644
--- a/querydsl-jpa/src/test/resources/com/querydsl/jpa/testutil/postgresql.properties
+++ b/querydsl-jpa/src/test/resources/com/querydsl/jpa/testutil/postgresql.properties
@@ -1,7 +1,7 @@
## MySQL
hibernate.dialect=com.querydsl.jpa.support.QPostgreSQL9Dialect
hibernate.connection.driver_class=org.postgresql.Driver
-hibernate.connection.url=jdbc:postgresql://localhost:5432/querydsl
+hibernate.connection.url=jdbc:postgresql://localhost:5433/querydsl
hibernate.connection.username=querydsl
hibernate.connection.password=querydsl
@@ -9,4 +9,4 @@ hibernate.connection.password=querydsl
#hibernate.show_sql=true
hibernate.flushMode=FLUSH_AUTO
hibernate.hbm2ddl.auto=update
-#hibernate.use_sql_comments=true
\ No newline at end of file
+#hibernate.use_sql_comments=true
diff --git a/querydsl-sql-spatial/src/test/java/com/querydsl/sql/spatial/SpatialBase.java b/querydsl-sql-spatial/src/test/java/com/querydsl/sql/spatial/SpatialBase.java
index ad6b0367f..e902f9795 100644
--- a/querydsl-sql-spatial/src/test/java/com/querydsl/sql/spatial/SpatialBase.java
+++ b/querydsl-sql-spatial/src/test/java/com/querydsl/sql/spatial/SpatialBase.java
@@ -1,3 +1,4 @@
+
package com.querydsl.sql.spatial;
import static com.querydsl.core.Target.*;
diff --git a/querydsl-sql/src/test/java/com/querydsl/sql/Connections.java b/querydsl-sql/src/test/java/com/querydsl/sql/Connections.java
index fd41e71ac..d4357d20f 100644
--- a/querydsl-sql/src/test/java/com/querydsl/sql/Connections.java
+++ b/querydsl-sql/src/test/java/com/querydsl/sql/Connections.java
@@ -89,7 +89,7 @@ public final class Connections {
private static Connection getDB2() throws SQLException, ClassNotFoundException {
Class.forName("com.ibm.db2.jcc.DB2Driver");
- String url = "jdbc:db2://db2host:50001/SAMPLE";
+ String url = "jdbc:db2://localhost:50000/sample";
return DriverManager.getConnection(url, "db2inst1", "a3sd!fDj");
}
@@ -101,8 +101,8 @@ public final class Connections {
private static Connection getFirebird() throws SQLException, ClassNotFoundException {
Class.forName("org.firebirdsql.jdbc.FBDriver");
- String url = "jdbc:firebirdsql:localhost/3050:/var/lib/firebird/2.5/data/querydsl.fdb";
- return DriverManager.getConnection(url, "querydsl", "querydsl");
+ String url = "jdbc:firebirdsql:localhost/3050:/databases/querydsl.fdb";
+ return DriverManager.getConnection(url, "sysdba", "masterkey");
}
private static Connection getHSQL() throws SQLException, ClassNotFoundException {
@@ -126,12 +126,12 @@ public final class Connections {
private static Connection getOracle() throws SQLException, ClassNotFoundException {
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@localhost:1521:xe";
- return DriverManager.getConnection(url, "querydsl", "querydsl");
+ return DriverManager.getConnection(url, "system", "oracle");
}
private static Connection getPostgreSQL() throws ClassNotFoundException, SQLException {
Class.forName("org.postgresql.Driver");
- String url = "jdbc:postgresql://localhost:5432/querydsl";
+ String url = "jdbc:postgresql://localhost:5433/querydsl";
return DriverManager.getConnection(url, "querydsl", "querydsl");
}
diff --git a/travis/cubrid.sh b/travis/cubrid.sh
deleted file mode 100755
index 2ce4a41e5..000000000
--- a/travis/cubrid.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-hostname | sed 's/^/127.0.0.1 /g' | cat - /etc/hosts > /tmp/etchoststemp && sudo mv /tmp/etchoststemp /etc/hosts --force
-echo 'yes' | sudo add-apt-repository ppa:cubrid/cubrid
-sudo apt-get update
-sudo apt-get install cubrid
-sudo apt-get install cubrid-demodb
-/etc/profile.d/cubrid.sh
diff --git a/travis/docker-compose.yml b/travis/docker-compose.yml
new file mode 100644
index 000000000..e3323c0f3
--- /dev/null
+++ b/travis/docker-compose.yml
@@ -0,0 +1,59 @@
+mysql:
+ image: mysql:5.6.38
+ ports:
+ - "3306:3306"
+ volumes:
+ - ./mysql.sh:/docker-entrypoint-initdb.d/mysql.sh
+ environment:
+ - MYSQL_ROOT_PASSWORD=querydsl
+ - MYSQL_USER=querydsl
+ - MYSQL_PASSWORD=querydsl
+
+postgresql:
+ image: mdillon/postgis:9.3-alpine
+ ports:
+ - "5433:5432"
+ volumes:
+ - ./postgresql.sql:/docker-entrypoint-initdb.d/postgresql.sql
+ environment:
+ - POSTGRES_USER=querydsl
+ - POSTGRES_PASSWORD=querydsl
+ - POSTGRES_DB=querydsl
+
+oracle:
+ image: wnameless/oracle-xe-11g:16.04
+ ports:
+ - "1521:1521"
+
+cubrid:
+ image: lighthopper/cubrid:9.2.26.0004
+ ports:
+ - "33000:33000"
+ - "30000:30000"
+ - "8001:8001"
+ - "8002:8002"
+ - "1523:1523"
+
+mongo:
+ image: mongo:3.6.1
+ ports:
+ - "27017:27017"
+
+db2:
+ image: ibmcom/db2express-c:10.5.0.5-3.10.0
+ ports:
+ - "50000:50000"
+ environment:
+ - DB2INST1_PASSWORD=a3sd!fDj
+ - LICENSE=accept
+ command: db2start
+
+firebird:
+ image: jacobalberty/firebird:2.5.6-ss
+ ports:
+ - "3050:3050"
+ environment:
+ - ISC_PASSWORD=masterkey
+ - FIREBIRD_DATABASE=querydsl.fdb
+ - FIREBIRD_USER=querydsl
+ - FIREBIRD_PASSWORD=querydsl
diff --git a/travis/docker_bootstrap.sh b/travis/docker_bootstrap.sh
new file mode 100755
index 000000000..95ed039ff
--- /dev/null
+++ b/travis/docker_bootstrap.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+set -ex
+
+docker-compose --file travis/docker-compose.yml up -d mysql postgresql firebird cubrid mongo
+docker exec $(docker-compose --file travis/docker-compose.yml ps -q cubrid) /bin/bash -c 'mkdir -p ~/CUBRID_databases/demodb && cd $_ && cubrid createdb --db-volume-size=100M --log-volume-size=100M demodb en_US.iso88591 && cubrid loaddb -u dba -s $CUBRID/demo/demodb_schema -d $CUBRID/demo/demodb_objects demodb'
+docker exec -d $(docker-compose --file travis/docker-compose.yml ps -q cubrid) /bin/bash -c 'cubrid server start demodb'
+docker ps
diff --git a/travis/firebird.sh b/travis/firebird.sh
deleted file mode 100755
index d4cd1db2a..000000000
--- a/travis/firebird.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-sudo apt-get install -qq firebird2.5-super firebird2.5-dev
-sudo sed /ENABLE_FIREBIRD_SERVER=/s/no/yes/ -i /etc/default/firebird2.5
-cat /etc/default/firebird2.5 | grep ENABLE_FIREBIRD_SERVER
-sudo service firebird2.5-super start
-#PASSWORD=`sudo cat /etc/firebird/2.5/SYSDBA.password | grep PASS | sed -e 's/.*PASSWORD="\([^"]*\)".*/\1/'`
-echo Create user
-#sudo gsec -user sysdba -pass $PASSWORD -add querydsl -pw querydsl
-sudo gsec -user sysdba -pass masterkey -add querydsl -pw querydsl
-echo Create database
-sudo isql-fb -u querydsl -pas querydsl -i travis/firebird.sql -q
-#sudo isql-fb -u sysdba -pas $PASSWORD -i travis/firebird.sql -q
diff --git a/travis/firebird.sql b/travis/firebird.sql
deleted file mode 100644
index 67bccb320..000000000
--- a/travis/firebird.sql
+++ /dev/null
@@ -1,7 +0,0 @@
-SET SQL DIALECT 3;
-
-SET NAMES UNICODE_FSS;
-
-CREATE DATABASE '/var/lib/firebird/2.5/data/querydsl.fdb'
-PAGE_SIZE 16384
-DEFAULT CHARACTER SET UNICODE_FSS;
diff --git a/travis/mysql.sh b/travis/mysql.sh
new file mode 100644
index 000000000..b6a038e9a
--- /dev/null
+++ b/travis/mysql.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+mysql -uroot -p$MYSQL_ROOT_PASSWORD -e "CREATE SCHEMA querydsl"
+mysql -uroot -p$MYSQL_ROOT_PASSWORD -e "CREATE SCHEMA querydsl2"
+
+mysql -uroot -p$MYSQL_ROOT_PASSWORD -e "GRANT ALL PRIVILEGES ON *.* TO 'querydsl'@'%'"
diff --git a/travis/mysql.sql b/travis/mysql.sql
deleted file mode 100644
index b62f71d62..000000000
--- a/travis/mysql.sql
+++ /dev/null
@@ -1,6 +0,0 @@
-create database querydsl;
-create database querydsl2;
-create user 'querydsl'@'localhost' identified by 'querydsl';
-grant all privileges on querydsl.* to 'querydsl'@'localhost';
-grant all privileges on querydsl2.* to 'querydsl'@'localhost';
-
diff --git a/travis/postgresql.sql b/travis/postgresql.sql
index c172a83e9..34de9ea9f 100644
--- a/travis/postgresql.sql
+++ b/travis/postgresql.sql
@@ -1,5 +1,2 @@
-create database querydsl;
create database querydsl2;
-create user querydsl with password 'querydsl';
-grant all privileges on database querydsl to querydsl;
grant all privileges on database querydsl2 to querydsl;