Skip to content

Commit 58afcd0

Browse files
committed
Merge branch 'develop' into main
2 parents 190ade9 + c93271d commit 58afcd0

File tree

92 files changed

+5016
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

92 files changed

+5016
-1
lines changed

Diff for: .gitignore

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Eclipse
2+
.classpath
3+
.project
4+
.settings/
5+
6+
# Intellij
7+
.idea/
8+
*.iml
9+
*.iws
10+
11+
# Mac
12+
.DS_Store
13+
14+
# Bash
15+
*.swp
16+
17+
# Maven
18+
log/
19+
target/
20+
.mvn
21+
log.txt
22+
**/pom.xml.versionsBackup
23+
dependency-reduced-pom.xml
24+
25+
# Docs
26+
doc/

Diff for: .travis.yml

+62
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
sudo: required
2+
language: java
3+
4+
services:
5+
- docker
6+
7+
jdk:
8+
- openjdk8
9+
10+
env:
11+
global:
12+
- DOCKER_CFG=$HOME/.docker
13+
- DOCKER_REPO="utplsqlv3/oracledb"
14+
- CACHE_DIR=$HOME/.cache
15+
- MAVEN_HOME=/usr/local/maven
16+
- MAVEN_CFG=$HOME/.m2
17+
- DB_URL="127.0.0.1:1521:XE"
18+
- DB_UT3_USER=ut3
19+
- DB_UT3_PASS=ut3
20+
- ORACLE_VERSION="11g-r2-xe"
21+
- DOCKER_OPTIONS="--shm-size=1g"
22+
23+
cache:
24+
directories:
25+
- $DOCKER_CFG
26+
- $CACHE_DIR
27+
- $MAVEN_CFG
28+
29+
install:
30+
- bash .travis/maven_cfg.sh
31+
- bash .travis/start_db.sh
32+
- bash .travis/install_utplsql.sh
33+
- bash .travis/install_demo_project.sh
34+
35+
script:
36+
- echo "Run Verify with Coverage"
37+
- mvn org.jacoco:jacoco-maven-plugin:prepare-agent verify -DdbUser="${DB_UT3_USER}" -DdbPass="${DB_UT3_PASS}" -DdbUrl="jdbc:oracle:thin:@${DB_URL}"
38+
39+
before_deploy:
40+
- echo $GPG_SECRET_KEYS | base64 --decode | ${GPG_EXECUTABLE} --import
41+
- echo $GPG_OWNERTRUST | base64 --decode | ${GPG_EXECUTABLE} --import-ownertrust
42+
43+
deploy:
44+
- provider: script
45+
skip_cleanup: true
46+
script: bash .travis/deploy_snapshot.sh
47+
on:
48+
repo: utPLSQL/utPLSQL-maven-plugin
49+
branch: develop
50+
- provider: script
51+
skip_cleanup: true
52+
script: bash .travis/deploy_release.sh
53+
on:
54+
repo: utPLSQL/utPLSQL-maven-plugin
55+
branch: main
56+
57+
notifications:
58+
slack:
59+
rooms:
60+
- secure: "Gz0pGOOM6xbnz8Q/B3RzOFoVr8QGXsDSHcgCloPnO3ZkEOh4JJikqWAVdZrksMxhewIBRpbdIWAZOgsNXvW+cEDXxfml3X9Clj2wg5Uon97UeI+5WEHDhLYHn7t9EYr9QvVSOuQgBIiddk6kURxY4N0eAA4VUti8BDcMRq+gPxF1w/toFJXVR/I/tkLxcHPTbWQ9X87nNWcQgMoHe2AixYpglntmtoLXJ5F8MF08fcyTX7GJQ5xjq7HbYy+/39nEhQo2ZPhHHfk2rS6gIUY0wc+MAqobxvesplgGDybdTQyrdl48VjJ/CiQDedglUbNN9VYTFjPIYMdWCUCLV1uL866aNMiBpB7CQoNhi5WS7RERE9gblVPX2k6tOda27fEWlhjha6OmdK6TQ9qTITU7U4OTSOz41dDPeVfqMHRggxo3ozlLONTiZ1y9fz/Ez9WjiJjtUDt60vgnVIo7BcQV/yDJcqAtQbfWyf0n73g5lMBvLGnO2Agm2N7hNEeCbpr+PZUoqkEM/e4SxdUCQGi8Ppi9Zp0E4v0iG7hyjzol+G4T8JN0bUGg0OOow/bfZa5J2aUsrC1qP/ZLpMA94NI6ZlL2wRHhZ9JtVSDLjtSwq9yW5XF7o7kdqBWBCslbGnYPoCoHOzfZuUvArSlRoGNu75dw/Qhoo9gFl1RG/RlChaU="
61+
on_success: change
62+
on_failure: always

Diff for: .travis/deploy_release.sh

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#!/bin/bash
2+
set -ev
3+
4+
VERSION=$(tr -d "/v/" <<<${TRAVIS_TAG})
5+
mvn org.codehaus.mojo:versions-maven-plugin:2.7:set -DnewVersion=${VERSION}
6+
7+
mvn deploy -DskipTests -U -Prelease

Diff for: .travis/deploy_snapshot.sh

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#!/bin/bash
2+
set -ev
3+
4+
#DATE=`date +%Y%m%d%H%M`
5+
# Using this solution to get version into variable: https://stackoverflow.com/a/26514030/1470603
6+
#OLD_VERSION=$(mvn -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec)
7+
#VERSION=`sed "s/-SNAPSHOT/-${DATE}-SNAPSHOT/g" <<<"${OLD_VERSION}"`
8+
9+
#echo "Changing snapshot version, OLD: ${OLD_VERSION} NEW: ${VERSION}"
10+
#mvn org.codehaus.mojo:versions-maven-plugin:2.7:set -DnewVersion=${VERSION}
11+
12+
mvn deploy -DskipTests -U -Prelease

Diff for: .travis/install_demo_project.sh

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#!/bin/bash
2+
set -ev
3+
4+
DB_URL="//127.0.0.1:1521/XE"
5+
SQLPLUS_IMAGE=${DOCKER_REPO}:${ORACLE_VERSION}
6+
VOLUME="/project"
7+
8+
docker run --rm -v $(pwd):${VOLUME} -w ${VOLUME} --network host --entrypoint sqlplus ${SQLPLUS_IMAGE} \
9+
sys/oracle@${DB_URL} as sysdba @.travis/sql/create_users.sql
10+
11+
docker run --rm -v $(pwd):${VOLUME} -w ${VOLUME} --network host --entrypoint sqlplus ${SQLPLUS_IMAGE} \
12+
app/pass@${DB_URL} @.travis/sql/create_app_objects.sql
13+
14+
docker run --rm -v $(pwd):${VOLUME} -w ${VOLUME} --network host --entrypoint sqlplus ${SQLPLUS_IMAGE} \
15+
code_owner/pass@${DB_URL} @.travis/sql/create_source_owner_objects.sql
16+
17+
docker run --rm -v $(pwd):${VOLUME} -w ${VOLUME} --network host --entrypoint sqlplus ${SQLPLUS_IMAGE} \
18+
tests_owner/pass@${DB_URL} @.travis/sql/create_tests_owner_objects.sql

Diff for: .travis/install_utplsql.sh

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/bin/bash
2+
set -ev
3+
cd $(dirname $(readlink -f $0))
4+
5+
DB_URL="//127.0.0.1:1521/XE"
6+
UTPLSQL_VERSION="v3.1.9"
7+
UTPLSQL_DIR="utPLSQL"
8+
SQLPLUS_IMAGE=${DOCKER_REPO}:${ORACLE_VERSION}
9+
VOLUME="/utPLSQL"
10+
11+
git clone --depth=1 --branch=${UTPLSQL_VERSION} https://github.com/utPLSQL/utPLSQL.git ${UTPLSQL_DIR}
12+
13+
docker run --rm -v $(pwd)/${UTPLSQL_DIR}:${VOLUME} -w ${VOLUME}/source --network host --entrypoint sqlplus ${SQLPLUS_IMAGE} \
14+
sys/oracle@${DB_URL} as sysdba @install_headless.sql ${DB_UT3_USER} ${DB_UT3_PASS} users

Diff for: .travis/maven_cfg.sh

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#!/bin/bash
2+
set -ev
3+
cd $(dirname $(readlink -f $0))
4+
5+
cp settings.xml $MAVEN_CFG/settings.xml

Diff for: .travis/settings.xml

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
5+
6+
<profiles>
7+
<profile>
8+
<id>ossrh</id>
9+
<activation>
10+
<activeByDefault>true</activeByDefault>
11+
</activation>
12+
<properties>
13+
<gpg.executable>${env.GPG_EXECUTABLE}</gpg.executable>
14+
<gpg.passphrase>${env.GPG_PASSPHRASE}</gpg.passphrase>
15+
</properties>
16+
</profile>
17+
</profiles>
18+
19+
<servers>
20+
<server>
21+
<id>ossrh</id>
22+
<username>${env.SONATYPE_USERNAME}</username>
23+
<password>${env.SONATYPE_PASSWORD}</password>
24+
</server>
25+
</servers>
26+
</settings>

Diff for: .travis/sql/create_app_objects.sql

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
whenever sqlerror exit failure rollback
2+
whenever oserror exit failure rollback
3+
4+
@src/test/resources/simple-project/scripts/sources/TO_TEST_ME.tab
5+
@src/test/resources/simple-project/scripts/sources/APP.PKG_TEST_ME.spc
6+
@src/test/resources/simple-project/scripts/sources/APP.PKG_TEST_ME.bdy
7+
8+
@src/test/resources/simple-project/scripts/tests/APP.TEST_PKG_TEST_ME.spc
9+
@src/test/resources/simple-project/scripts/tests/APP.TEST_PKG_TEST_ME.bdy

Diff for: .travis/sql/create_source_owner_objects.sql

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
whenever sqlerror exit failure rollback
2+
whenever oserror exit failure rollback
3+
4+
@src/test/resources/owner-param-project/scripts/sources/foo/tables/TO_TEST_ME.tab
5+
@src/test/resources/owner-param-project/scripts/sources/foo/packages/PKG_TEST_ME.sql
6+
@src/test/resources/owner-param-project/scripts/sources/foo/package_bodies/PKG_TEST_ME.sql

Diff for: .travis/sql/create_tests_owner_objects.sql

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
whenever sqlerror exit failure rollback
2+
whenever oserror exit failure rollback
3+
4+
create synonym TO_TEST_ME for CODE_OWNER.TO_TEST_ME;
5+
create synonym PKG_TEST_ME for CODE_OWNER.PKG_TEST_ME;
6+
@src/test/resources/owner-param-project/scripts/test/bar/packages/TEST_PKG_TEST_ME.sql
7+
@src/test/resources/owner-param-project/scripts/test/bar/package_bodies/TEST_PKG_TEST_ME.sql

Diff for: .travis/sql/create_users.sql

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
whenever sqlerror exit failure rollback
2+
whenever oserror exit failure rollback
3+
set echo off
4+
set verify off
5+
6+
define UTPLSQL_USER = 'UT3';
7+
define APP_USER = 'APP';
8+
define CODE_OWNER = 'CODE_OWNER';
9+
define TESTS_OWNER = 'TESTS_OWNER';
10+
define DB_PASS = 'pass';
11+
12+
grant execute any procedure to &UTPLSQL_USER;
13+
grant create any procedure to &UTPLSQL_USER;
14+
grant execute on dbms_lob to &UTPLSQL_USER;
15+
grant execute on dbms_sql to &UTPLSQL_USER;
16+
grant execute on dbms_xmlgen to &UTPLSQL_USER;
17+
grant execute on dbms_lock to &UTPLSQL_USER;
18+
19+
create user &APP_USER identified by &DB_PASS quota unlimited on USERS default tablespace USERS;
20+
grant create session, create procedure, create type, create table, create sequence, create view to &APP_USER;
21+
grant select any dictionary to &APP_USER;
22+
23+
create user &CODE_OWNER identified by &DB_PASS quota unlimited on USERS default tablespace USERS;
24+
grant create session, create procedure, create type, create table, create sequence, create view to &CODE_OWNER;
25+
26+
create user &TESTS_OWNER identified by &DB_PASS quota unlimited on USERS default tablespace USERS;
27+
grant create session, create procedure, create type, create table, create sequence, create view, create synonym to &TESTS_OWNER;
28+
grant select any dictionary to &TESTS_OWNER;
29+
grant select any table, delete any table, drop any table to &TESTS_OWNER;
30+
grant execute any procedure to &TESTS_OWNER;

Diff for: .travis/start_db.sh

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/bin/bash
2+
set -ev
3+
4+
# If docker credentials are not cached, do the login.
5+
if [ ! -f $DOCKER_CFG/config.json ]; then
6+
docker login -u "$DOCKER_USER" -p "$DOCKER_PASSWORD"
7+
else
8+
echo "Using docker login from cache..."
9+
fi
10+
11+
# Pull the specified db version from docker hub.
12+
docker pull $DOCKER_REPO:$ORACLE_VERSION
13+
docker run -d --name $ORACLE_VERSION $DOCKER_OPTIONS -p 127.0.0.1:1521:1521 $DOCKER_REPO:$ORACLE_VERSION
14+
docker logs -f $ORACLE_VERSION | grep -m 1 "DATABASE IS READY TO USE!" --line-buffered

0 commit comments

Comments
 (0)