Skip to content

Commit b6bafce

Browse files
authored
Merge pull request utPLSQL#473 from utPLSQL/release/v3.0.3
Release/v3.0.3
2 parents d21a0fd + 008debd commit b6bafce

File tree

385 files changed

+6004
-1091
lines changed

Some content is hidden

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

385 files changed

+6004
-1091
lines changed

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,14 @@
44
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
55
# User-specific stuff:
66
.idea/
7+
.vscode/
78
.sonar/
89
site/
910
pages/
1011
release/
1112
*.gz
1213
*.zip
1314
node_modules/
15+
utPLSQL_latest_release/
16+
utPLSQL-cli/
17+
development/env.sh

.travis.yml

Lines changed: 34 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,17 @@ env:
2323
global:
2424
- UT3_OWNER=ut3
2525
- UT3_OWNER_PASSWORD=ut3
26+
- UT3_RELEASE_VERSION_SCHEMA=UT3_LATEST_RELEASE
2627
- UT3_USER="UT3\$USER#"
2728
- UT3_USER_PASSWORD=ut3
29+
- UT3_TESTER=ut3_tester
30+
- UT3_TESTER_PASSWORD=ut3
2831
- UT3_TABLESPACE=users
2932
# Environment for building a release
3033
- CURRENT_BRANCH=${TRAVIS_BRANCH}
3134
- UTPLSQL_REPO="utPLSQL/utPLSQL"
3235
- UTPLSQL_BUILD_NO="${TRAVIS_BUILD_NUMBER:-0}"
33-
- UTPLSQL_VERSION_PLACEHOLDER='utPLSQL - Version'
36+
- UTPLSQL_VERSION_PATTERN='v?([0-9X]+\.){3}[0-9X]+'
3437
- UTPLSQL_VERSION=$(. .travis/get_project_version.sh)
3538
- UTPLSQL_BUILD_VERSION=$(. .travis/get_project_build_version.sh)
3639
- UTPLSQL_SOURCES_DIR='source'
@@ -39,18 +42,38 @@ env:
3942
# Database Env
4043
- SQLCLI="$HOME/sqlcl/bin/sql"
4144
- ORACLE_PWD="oracle"
45+
- UT3_DOCKER_REPO="utplsqlv3/oracledb"
46+
- DOCKHER_HUB_REPO="${DOCKER_BASE_TAG:-$UT3_DOCKER_REPO}"
47+
#utPLSQL released version directory
48+
- UTPLSQL_DIR="utPLSQL_latest_release"
49+
- UTPLSQL_CLI_FILE="utPLSQL-cli-develop-test3.zip"
4250
matrix:
43-
- ORACLE_VERSION="11g-xe-r2" CONNECTION_STR='127.0.0.1:1521/XE' DOCKER_OPTIONS='--shm-size=1g'
44-
- ORACLE_VERSION="12c-se2-r1-v2" CONNECTION_STR='127.0.0.1:1521/ORCLPDB1' DOCKER_OPTIONS="-v /dev/pdbs:/opt/oracle/oradata/pdbs"
45-
- ORACLE_VERSION="12c-se-r2-v4" CONNECTION_STR='127.0.0.1:1521/ORCLPDB1' DOCKER_OPTIONS="-v /dev/pdbs:/opt/oracle/oradata/pdbs"
51+
- ORACLE_VERSION="${DOCKER_TAG_11G:-11g-r2-xe}" CONNECTION_STR='127.0.0.1:1521/XE' DOCKER_OPTIONS='--shm-size=1g'
52+
- ORACLE_VERSION="${DOCKER_TAG_12C:-12c-r1-se2}" CONNECTION_STR='127.0.0.1:1521/ORCLPDB1' DOCKER_OPTIONS="-v /dev/pdbs:/opt/oracle/oradata/pdbs"
53+
- ORACLE_VERSION="${DOCKER_TAG_12C2:-12c-r2-se2}" CONNECTION_STR='127.0.0.1:1521/ORCLPDB1' DOCKER_OPTIONS="-v /dev/pdbs:/opt/oracle/oradata/pdbs"
4654

4755
cache:
4856
pip: true
4957
directories:
5058
- $CACHE_DIR
5159
- node_modules
5260

61+
before_install:
62+
#The update_project_version is done before deployment to validate that the change of project files does not break installation
63+
- bash .travis/update_project_version.sh
64+
- git config --global user.email "builds@travis-ci.com"
65+
- git config --global user.name "${UTPLSQL_BUILD_USER_NAME}"
66+
- git remote rm origin
67+
- git remote add origin https://${github_api_token}@github.com/${UTPLSQL_REPO}
68+
# download latest utPLSQL release
69+
#- curl -LOk $(curl --silent https://api.github.com/repos/utPLSQL/utPLSQL/releases/latest | awk '/browser_download_url/ { print $2 }' | grep ".zip" | sed 's/"//g')
70+
- git clone --depth=1 --branch=${SELFTESTING_BRANCH:-master} https://github.com/utPLSQL/utPLSQL.git $UTPLSQL_DIR
71+
# download utPLSQL-cli develop
72+
- curl -Lk -o utPLSQL-cli.zip https://bintray.com/viniciusam/utPLSQL-cli/download_file?file_path=${UTPLSQL_CLI_FILE}
73+
5374
install:
75+
#- unzip utPLSQL.zip
76+
- unzip utPLSQL-cli.zip && chmod -R u+x utPLSQL-cli
5477
- pip install mkdocs
5578
- bash .travis/install_sqlcl.sh
5679
- sudo mkdir -p /dev/pdbs
@@ -59,17 +82,15 @@ install:
5982
- df -h
6083

6184
before_script:
62-
#The update_project_version is done before deployment to validate that the change of project files does not break installation
63-
- bash .travis/update_project_version.sh
64-
- git config --global user.email "builds@travis-ci.com"
65-
- git config --global user.name "${UTPLSQL_BUILD_USER_NAME}"
66-
- git remote rm origin
67-
- git remote add origin https://${github_api_token}@github.com/${UTPLSQL_REPO}
85+
- if [ "${TRAVIS_TAG}" = "" ]; then bash .travis/install.sh; fi
86+
- if [ "${TRAVIS_TAG}" = "" ]; then bash .travis/install_utplsql_release.sh; fi
87+
- if [ "${TRAVIS_TAG}" = "" ]; then bash .travis/create_additional_grants_for_old_tests.sh; fi
88+
- if [ "${TRAVIS_TAG}" = "" ]; then bash .travis/run_examples.sh; fi
89+
- if [ "${TRAVIS_TAG}" = "" ]; then bash .travis/run_old_tests.sh; fi
6890

6991
script:
70-
- if [ "${TRAVIS_TAG}" = "" ]; then bash .travis/install.sh; fi
71-
- if [ "${TRAVIS_TAG}" = "" ]; then bash .travis/run_examples_and_tests.sh; fi
72-
- if [ "${TRAVIS_TAG}" = "" ] && [ "${TRAVIS_REPO_SLUG}" = "${UTPLSQL_REPO}" ]; then sonar-scanner; fi
92+
- if [ "${TRAVIS_TAG}" = "" ]; then bash test/install_and_run_tests.sh; fi
93+
- if [ "${TRAVIS_TAG}" = "" ] && [ "${TRAVIS_REPO_SLUG}" = "${UTPLSQL_REPO}" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then sonar-scanner; fi
7394
- if [ "${TRAVIS_TAG}" = "" ]; then bash .travis/coveralls_uploader.sh; fi
7495
- bash .travis/build_docs.sh
7596
- if [ "${TRAVIS_TAG}" = "" ]; then bash .travis/push_release_version.sh; fi

.travis/coveralls_uploader.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ if (process.env.COVERALLS_URL_BASE) {
99
url = 'https://coveralls.io/api/v1/jobs';
1010
}
1111

12-
fs.readFile('../tests/coverage.json',function (err,data) {
12+
fs.readFile('../old_tests/coverage.json',function (err,data) {
1313
if (err) {
1414
return console.log(err);
1515
}
@@ -19,13 +19,13 @@ fs.readFile('../tests/coverage.json',function (err,data) {
1919
if (process.env.COVERALLS_REPO_TOKEN) {
2020
req.repo_token = process.env.COVERALLS_REPO_TOKEN;
2121
}
22-
22+
2323
for (var i in req.source_files) {
2424
req.source_files[i].source_digest = md5File.sync("../" + req.source_files[i].name);
2525
}
2626

2727
var requestStr = JSON.stringify(req);
28-
28+
2929
request.post({url : url, form : { json:requestStr}}, function(err, response, body){process.stdout.write(body);});
3030

31-
});
31+
});
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#!/bin/bash
2+
3+
cd source
4+
set -ev
5+
6+
#additional privileges to run scripted tests
7+
"$SQLCLI" sys/$ORACLE_PWD@//$CONNECTION_STR AS SYSDBA <<-SQL
8+
set feedback on
9+
--needed for Mystats script to work
10+
grant select any dictionary to $UT3_OWNER;
11+
--Needed for testing a coverage outside ut3_owner.
12+
grant create any procedure, drop any procedure, execute any procedure to $UT3_OWNER;
13+
14+
exit
15+
SQL
16+
17+
#Create additional users
18+
"$SQLCLI" sys/$ORACLE_PWD@//$CONNECTION_STR AS SYSDBA <<-SQL
19+
set feedback off
20+
@create_utplsql_owner.sql $UT3_USER $UT3_USER_PASSWORD $UT3_TABLESPACE
21+
22+
exit
23+
SQL

.travis/install.sh

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,35 @@
11
#!/bin/bash
22

3-
cd "$(dirname "$(readlink -f "$0")")"
3+
cd source
44
set -ev
55
#install core of utplsql
66
"$SQLCLI" sys/$ORACLE_PWD@//$CONNECTION_STR AS SYSDBA <<-SQL
7-
pwd
87
set feedback off
98
set verify off
109
11-
@../source/install_headless.sql $UT3_OWNER $UT3_OWNER_PASSWORD
10+
@install_headless.sql $UT3_OWNER $UT3_OWNER_PASSWORD
1211
SQL
1312

13+
#additional privileges to run scripted tests
1414
"$SQLCLI" sys/$ORACLE_PWD@//$CONNECTION_STR AS SYSDBA <<-SQL
1515
set feedback on
1616
--needed for Mystats script to work
1717
grant select any dictionary to $UT3_OWNER;
1818
--Needed for testing a coverage outside ut3_owner.
1919
grant create any procedure, drop any procedure, execute any procedure to $UT3_OWNER;
2020
21-
set feedback off
22-
@../source/create_utplsql_owner.sql $UT3_USER $UT3_USER_PASSWORD $UT3_TABLESPACE
23-
24-
cd ..
25-
26-
--enable plsql debug
27-
--cd development
28-
--@ut_debug_enable.sql
29-
--cd ..
30-
31-
--cd source
32-
--@install.sql $UT3_OWNER
33-
--@create_synonyms_and_grants_for_user.sql $UT3_OWNER $UT3_USER
34-
--cd ..
35-
36-
cd development
3721
conn $UT3_OWNER/$UT3_OWNER_PASSWORD@//$CONNECTION_STR
38-
@utplsql_style_check.sql
22+
@../development/utplsql_style_check.sql
23+
exit
24+
SQL
3925

26+
#Create additional users
27+
"$SQLCLI" sys/$ORACLE_PWD@//$CONNECTION_STR AS SYSDBA <<-SQL
28+
set feedback off
29+
@create_utplsql_owner.sql $UT3_TESTER $UT3_TESTER_PASSWORD $UT3_TABLESPACE
30+
31+
set feedback on
32+
--Needed for testing coverage outside of main UT3 schema.
33+
grant create any procedure, drop any procedure, execute any procedure, create any type, drop any type, execute any type, under any type, select any table, update any table, insert any table, delete any table, create any table, drop any table, alter any table, select any dictionary to $UT3_TESTER;
4034
exit
4135
SQL

.travis/install_utplsql_release.sh

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#!/bin/bash
2+
3+
set -ev
4+
5+
cd $UTPLSQL_DIR/source
6+
7+
"$SQLCLI" sys/$ORACLE_PWD@//$CONNECTION_STR AS SYSDBA <<SQL
8+
set serveroutput on
9+
set linesize 200
10+
set trimspool on
11+
declare
12+
i integer := 0;
13+
begin
14+
dbms_output.put_line('Dropping synonyms pointing to schema '||upper('${UT3_OWNER}'));
15+
for syn in (
16+
select
17+
case when owner = 'PUBLIC'
18+
then 'public synonym '
19+
else 'synonym ' || owner || '.' end || synonym_name as syn_name,
20+
table_owner||'.'||table_name as for_object
21+
from all_synonyms s
22+
where table_owner = upper('${UT3_OWNER}') and table_owner != owner
23+
)
24+
loop
25+
i := i + 1;
26+
begin
27+
execute immediate 'drop '||syn.syn_name;
28+
dbms_output.put_line('Dropped '||syn.syn_name||' for object '||syn.for_object);
29+
exception
30+
when others then
31+
dbms_output.put_line('FAILED to drop '||syn.syn_name||' for object '||syn.for_object);
32+
end;
33+
end loop;
34+
dbms_output.put_line(i||' synonyms dropped');
35+
end;
36+
/
37+
SQL
38+
39+
"$SQLCLI" sys/$ORACLE_PWD@//$CONNECTION_STR AS SYSDBA @install_headless.sql ${UT3_RELEASE_VERSION_SCHEMA}
40+
41+
"$SQLCLI" sys/$ORACLE_PWD@//$CONNECTION_STR AS SYSDBA <<SQL
42+
grant select any dictionary to ${UT3_RELEASE_VERSION_SCHEMA};
43+
exit
44+
SQL

.travis/run_examples_and_tests.sh renamed to .travis/run_examples.sh

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,6 @@ whenever oserror exit failure rollback
99
cd examples
1010
@RunAllExamplesAsTests.sql
1111
12-
conn $UT3_USER/$UT3_USER_PASSWORD@//$CONNECTION_STR
13-
@RunUserExamples.sql
14-
1512
exit
1613
17-
SQL
18-
19-
"$SQLCLI" $UT3_OWNER/$UT3_OWNER_PASSWORD@//$CONNECTION_STR <<SQL
20-
cd tests
21-
@RunAll.sql
22-
exit
23-
SQL
14+
SQL

.travis/run_old_tests.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/bin/bash
2+
3+
set -ev
4+
5+
cd old_tests
6+
7+
"$SQLCLI" $UT3_OWNER/$UT3_OWNER_PASSWORD@//$CONNECTION_STR <<SQL
8+
@RunAll.sql
9+
exit
10+
SQL

.travis/start_db.sh

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
#!/bin/bash
22
set -e
33

4-
DOCKER_BASE_TAG="viniciusam/oracledb"
5-
64
# Private Repo Login
75
if [ ! -f $CACHE_DIR/.docker/config.json ]; then
86
docker login -u "$DOCKER_USER" -p "$DOCKER_PASSWORD"
@@ -12,6 +10,6 @@ else
1210
mkdir -p $HOME/.docker && cp $CACHE_DIR/.docker/config.json $HOME/.docker/
1311
fi
1412

15-
docker pull $DOCKER_BASE_TAG:$ORACLE_VERSION
16-
docker run -d --name $ORACLE_VERSION $DOCKER_OPTIONS -p 1521:1521 $DOCKER_BASE_TAG:$ORACLE_VERSION
13+
docker pull $DOCKHER_HUB_REPO:$ORACLE_VERSION
14+
docker run -d --name $ORACLE_VERSION $DOCKER_OPTIONS -p 1521:1521 $DOCKHER_HUB_REPO:$ORACLE_VERSION
1715
docker logs -f $ORACLE_VERSION | grep -m 1 "DATABASE IS READY TO USE!" --line-buffered

.travis/update_project_version.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
echo Current branch is "${CURRENT_BRANCH}"
44

55
echo Update version in project source files
6-
find ${UTPLSQL_SOURCES_DIR} -type f -name '*' -exec sed -i -r "s/(${UTPLSQL_VERSION_PLACEHOLDER} )[^']*(')?/\1${UTPLSQL_BUILD_VERSION}\2/" {} \;
6+
find ${UTPLSQL_SOURCES_DIR} -type f -name '*' -exec sed -i -r "s/${UTPLSQL_VERSION_PATTERN}/${UTPLSQL_BUILD_VERSION}/" {} \;
77
echo Source files updated with version tag: ${UTPLSQL_BUILD_VERSION}
88

99
echo Update of sonar-project.properties sonar.projectVersion

0 commit comments

Comments
 (0)