Skip to content

Commit d88f56f

Browse files
committed
Merge branch 'develop'
2 parents 4e43c07 + 9b78681 commit d88f56f

File tree

78 files changed

+3256
-1270
lines changed

Some content is hidden

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

78 files changed

+3256
-1270
lines changed

.github/workflows/build.yml

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
name: Build and test
2+
3+
on:
4+
push:
5+
6+
pull_request:
7+
branches: [ develop ]
8+
9+
workflow_dispatch:
10+
11+
repository_dispatch:
12+
types: [utPLSQL-build,utPLSQL-java-api-build]
13+
14+
defaults:
15+
run:
16+
shell: bash
17+
18+
jobs:
19+
build:
20+
name: Test on JDK ${{ matrix.jdk }} with utPLSQL ${{ matrix.utplsql_version }}
21+
runs-on: ubuntu-latest
22+
env:
23+
ORACLE_VERSION: "gvenzl/oracle-xe:18.4.0-slim"
24+
UTPLSQL_VERSION: ${{matrix.utplsql_version}}
25+
UTPLSQL_FILE: ${{matrix.utplsql_file}}
26+
ORACLE_PASSWORD: oracle
27+
DB_URL: "127.0.0.1:1521:XE"
28+
DB_USER: app
29+
DB_PASS: app
30+
31+
strategy:
32+
fail-fast: false
33+
matrix:
34+
utplsql_version: ["v3.0.1","v3.0.2","v3.0.3","v3.0.4","v3.1.1","v3.1.2","v3.1.3","v3.1.6","v3.1.7","v3.1.8","v3.1.9","v3.1.10","v3.1.11","develop"]
35+
utplsql_file: ["utPLSQL"]
36+
jdk: ['8']
37+
include:
38+
- utplsql_version: "v3.0.0"
39+
jdk: '8'
40+
utplsql_file: "utPLSQLv3.0.0"
41+
services:
42+
oracle:
43+
image: gvenzl/oracle-xe:18.4.0-slim
44+
env:
45+
ORACLE_PASSWORD: oracle
46+
ports:
47+
- 1521:1521
48+
options: >-
49+
--health-cmd healthcheck.sh
50+
--health-interval 10s
51+
--health-timeout 5s
52+
--health-retries 10
53+
--name oracle
54+
55+
steps:
56+
- uses: actions/checkout@v2
57+
with:
58+
fetch-depth: 0
59+
- uses: actions/setup-java@v2
60+
with:
61+
distribution: 'adopt'
62+
java-version: ${{matrix.jdk}}
63+
64+
- name: Install utplsql
65+
run: .travis/install_utplsql.sh
66+
67+
- name: Install demo project
68+
run: .travis/install_demo_project.sh
69+
70+
- name: Build and Test
71+
run: mvn verify jar:jar appassembler:assemble
72+
73+
slack-workflow-status:
74+
if: always()
75+
name: Post Workflow Status To Slack
76+
needs: [ build ]
77+
runs-on: ubuntu-latest
78+
steps:
79+
- name: Slack Workflow Notification
80+
uses: Gamesight/slack-workflow-status@master
81+
with:
82+
repo_token: ${{secrets.GITHUB_TOKEN}}
83+
slack_webhook_url: ${{secrets.SLACK_WEBHOOK_URL}}
84+
name: 'Github Actions[bot]'
85+
icon_url: 'https://octodex.github.com/images/mona-the-rivetertocat.png'

.github/workflows/release.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags:
6+
- "v*.*.*"
7+
8+
workflow_dispatch:
9+
10+
jobs:
11+
12+
release:
13+
14+
runs-on: ubuntu-latest
15+
16+
steps:
17+
- uses: actions/checkout@v2
18+
with:
19+
fetch-depth: 0
20+
- uses: actions/setup-java@v2
21+
with:
22+
distribution: 'adopt'
23+
java-version: ${{matrix.jdk}}
24+
cache: 'maven'
25+
26+
- name: Build Release
27+
run: mvn package appassembler:assemble assembly:single -DskipTests
28+
29+
- name: Release
30+
uses: softprops/action-gh-release@v1
31+
with:
32+
files: |
33+
target/utPLSQL-cli.zip
34+
35+
slack-workflow-status:
36+
if: always()
37+
name: Post Workflow Status To Slack
38+
needs: [ build ]
39+
runs-on: ubuntu-latest
40+
steps:
41+
- name: Slack Workflow Notification
42+
uses: Gamesight/slack-workflow-status@master
43+
with:
44+
repo_token: ${{secrets.GITHUB_TOKEN}}
45+
slack_webhook_url: ${{secrets.SLACK_WEBHOOK_URL}}
46+
name: 'Github Actions[bot]'
47+
icon_url: 'https://octodex.github.com/images/mona-the-rivetertocat.png'

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,8 @@ buildNumber.properties
1515

1616
# Avoid ignoring Maven wrapper jar file (.jar files are usually ignored)
1717
!/.mvn/wrapper/maven-wrapper.jar
18+
19+
# Project exclude paths
20+
/.gradle/
21+
/build/
22+
/out/

.idea/codeStyles/Project.xml

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/codeStyles/codeStyleConfig.xml

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/dictionaries/utPLSQL.xml

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.travis.yml

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services:
55
- docker
66

77
jdk:
8-
- oraclejdk8
8+
- openjdk8
99

1010
env:
1111
global:
@@ -19,6 +19,22 @@ env:
1919
- DB_PASS=app
2020
- ORACLE_VERSION="11g-r2-xe"
2121
- DOCKER_OPTIONS="--shm-size=1g"
22+
- UTPLSQL_FILE="utPLSQL"
23+
matrix:
24+
- UTPLSQL_VERSION="v3.0.0"
25+
UTPLSQL_FILE="utPLSQLv3.0.0"
26+
- UTPLSQL_VERSION="v3.0.1"
27+
- UTPLSQL_VERSION="v3.0.2"
28+
- UTPLSQL_VERSION="v3.0.3"
29+
- UTPLSQL_VERSION="v3.0.4"
30+
- UTPLSQL_VERSION="v3.1.1"
31+
- UTPLSQL_VERSION="v3.1.2"
32+
- UTPLSQL_VERSION="v3.1.3"
33+
- UTPLSQL_VERSION="v3.1.6"
34+
- UTPLSQL_VERSION="v3.1.7"
35+
- UTPLSQL_VERSION="v3.1.8"
36+
- UTPLSQL_VERSION="develop"
37+
UTPLSQL_FILE="utPLSQL"
2238

2339
cache:
2440
directories:
@@ -27,7 +43,6 @@ cache:
2743
- $MAVEN_CFG
2844

2945
install:
30-
- bash .travis/maven_cfg.sh
3146
- bash .travis/start_db.sh
3247
- bash .travis/install_utplsql.sh
3348
- bash .travis/install_demo_project.sh
@@ -43,11 +58,15 @@ before_deploy:
4358
deploy:
4459
- provider: releases
4560
api_key: $GITHUB_API_TOKEN
46-
file: utPLSQL-cli.zip
61+
file:
62+
- utPLSQL-cli.zip
63+
- utPLSQL-cli.zip.md5
4764
skip_cleanup: true
4865
on:
4966
repository: utPLSQL/utPLSQL-cli
5067
tags: true
68+
# Use only first job "#xxx.1" to publish artifacts
69+
condition: "${TRAVIS_JOB_NUMBER} =~ \\.1$"
5170
- provider: bintray
5271
file: bintray.json
5372
user: ${BINTRAY_USER}
@@ -57,6 +76,8 @@ deploy:
5776
on:
5877
repository: utPLSQL/utPLSQL-cli
5978
branch: develop
79+
# Use only first job "#xxx.1" to publish artifacts
80+
condition: "${TRAVIS_JOB_NUMBER} =~ \\.1$"
6081

6182
notifications:
6283
slack:

.travis/create_api_user.sh

100644100755
File mode changed.

.travis/create_release.sh

100644100755
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,19 @@
22
set -ev
33

44
VERSION=`date +%Y%m%d%H%M`
5+
MVN_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
6+
# Strip -SNAPSHOT if exists
7+
MVN_VERSION=${MVN_VERSION/-SNAPSHOT/}
58

69
#overcome maven assemble issue: https://github.com/mojohaus/appassembler/issues/61
710
sed -i '/CYGWIN\*) cygwin=true/c\ CYGWIN*|MINGW*) cygwin=true ;;' target/appassembler/bin/utplsql
811

912
mkdir dist
1013
mv target/appassembler utPLSQL-cli
11-
# Remove Oracle libraries du to licensing problems
12-
rm -f utPLSQL-cli/lib/ucp*.jar
13-
rm -f utPLSQL-cli/lib/ojdbc8*.jar
14-
rm -f utPLSQL-cli/lib/orai18n*.jar
1514

1615
zip -r -q dist/utPLSQL-cli-${TRAVIS_BRANCH}-${VERSION}.zip utPLSQL-cli
1716
zip -r -q utPLSQL-cli.zip utPLSQL-cli
17+
md5sum utPLSQL-cli.zip --tag > utPLSQL-cli.zip.md5
1818

1919
cat > bintray.json <<EOF
2020
{
@@ -26,7 +26,7 @@ cat > bintray.json <<EOF
2626
"vcs_url": "https://github.com/utPLSQL/utPLSQL-cli.git",
2727
"licenses": [ "MIT" ]
2828
},
29-
"version": { "name": "${TRAVIS_BRANCH}" },
29+
"version": { "name": "${MVN_VERSION}" },
3030
"files": [ { "includePattern": "dist/(.*)", "uploadPattern": "\$1" } ],
3131
"publish": true
3232
}

.travis/install_demo_project.sh

100644100755
Lines changed: 12 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/bin/bash
2-
set -ev
2+
set -evx
33
cd $(dirname $(readlink -f $0))
44

55
PROJECT_FILE="utPLSQL-demo-project"
@@ -13,32 +13,22 @@ grant select any dictionary to ${DB_USER};
1313
exit
1414
SQL
1515
16-
cd ${PROJECT_FILE}
16+
cd /${PROJECT_FILE}
1717
sqlplus -S -L ${DB_USER}/${DB_PASS}@//127.0.0.1:1521/xe <<SQL
1818
whenever sqlerror exit failure rollback
1919
whenever oserror exit failure rollback
20+
@source/install.sql
21+
exit
22+
SQL
2023
21-
@source/award_bonus/employees_test.sql
22-
@source/award_bonus/award_bonus.prc
23-
24-
@source/between_string/betwnstr.fnc
25-
26-
@source/remove_rooms_by_name/rooms.sql
27-
@source/remove_rooms_by_name/remove_rooms_by_name.prc
28-
29-
@test/award_bonus/test_award_bonus.pks
30-
@test/award_bonus/test_award_bonus.pkb
31-
32-
@test/between_string/test_betwnstr.pks
33-
@test/between_string/test_betwnstr.pkb
34-
35-
@test/remove_rooms_by_name/test_remove_rooms_by_name.pks
36-
@test/remove_rooms_by_name/test_remove_rooms_by_name.pkb
37-
24+
sqlplus -S -L ${DB_USER}/${DB_PASS}@//127.0.0.1:1521/xe <<SQL
25+
whenever sqlerror exit failure rollback
26+
whenever oserror exit failure rollback
27+
@test/install.sql
3828
exit
3929
SQL
4030
EOF
4131

42-
docker cp ./$PROJECT_FILE $ORACLE_VERSION:/$PROJECT_FILE
43-
docker cp ./demo_project.sh.tmp $ORACLE_VERSION:/demo_project.sh
44-
docker exec $ORACLE_VERSION bash demo_project.sh
32+
docker cp ./${PROJECT_FILE} oracle:/${PROJECT_FILE}
33+
docker cp ./demo_project.sh.tmp oracle:/demo_project.sh
34+
docker exec oracle bash /demo_project.sh

0 commit comments

Comments
 (0)