Skip to content

Commit 9c80e21

Browse files
authored
Develop (#5)
* Changed lowerCase method to use TR * chmod +x executables * Add SQLCLI to apply.env * Add catch block to read branch * Add some osx capabilities * Fix generation of deployment user * Add hooks * Add stage to setup wizard * Format edited * No proxy var * get git diff only from mainfolders (apex, db, reports, rest)
1 parent 45174b8 commit 9c80e21

File tree

2 files changed

+45
-31
lines changed

2 files changed

+45
-31
lines changed

build.sh

Lines changed: 34 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ fi
6969
ALL_SCHEMAS=( ${DATA_SCHEMA} ${LOGIC_SCHEMA} ${APP_SCHEMA} )
7070
SCHEMAS=($(printf "%s\n" "${ALL_SCHEMAS[@]}" | tr '\n' ' '))
7171

72+
MAINFOLDERS=( apex db reports rest )
73+
7274
####
7375
if [[ ${do_exit} == "YES" ]]; then
7476
echo_warning "aborting"
@@ -130,11 +132,11 @@ fi
130132

131133
# at INIT there is no pretreatment or an evaluation of the table_ddl
132134
if [ "${mode}" == "init" ]; then
133-
array=( sequences tables indexes/primaries indexes/uniques indexes/defaults constraints/primaries constraints/foreigns constraints/checks constraints/uniques contexts policies types sources/packages sources/functions sources/procedures views sources/triggers jobs tests/packages ddl/base ddl/init dml/base dml/init)
135+
array=( .hooks/pre sequences tables indexes/primaries indexes/uniques indexes/defaults constraints/primaries constraints/foreigns constraints/checks constraints/uniques contexts policies types sources/packages sources/functions sources/procedures views sources/triggers jobs tests/packages ddl/init dml/base dml/init .hooks/post)
134136
else
135137
# building pre and post based on branches
136-
pres=( ddl/pre_${branch} dml/pre_${branch} ddl/pre dml/pre )
137-
post=( ddl/post_${branch} dml/post_${branch} ddl/post dml/post )
138+
pres=( .hooks/pre ddl/pre_${branch} dml/pre_${branch} ddl/pre dml/pre )
139+
post=( ddl/post_${branch} dml/post_${branch} ddl/post dml/base dml/post .hooks/post )
138140

139141
array=${pres[@]}
140142
array+=( sequences tables tables_ddl indexes/primaries indexes/uniques indexes/defaults constraints/primaries constraints/foreigns constraints/checks constraints/uniques contexts policies types sources/packages sources/functions sources/procedures views sources/triggers jobs tests/packages )
@@ -172,34 +174,43 @@ echo -e "----------------------------------------"
172174
# getting updated files, and
173175
# copy (and overwrite forcefully) in exact directory structure as in git repo
174176
if [ "${mode}" == "init" ]; then
175-
echo "Creating directory $targetpath"
176-
mkdir -p $targetpath
177+
echo "Creating directory $targetpath"
178+
mkdir -p $targetpath
177179

178-
echo "Copy files ..."
180+
echo "Copy files ..."
181+
for folder in "${MAINFOLDERS[@]}"
182+
do
183+
cp -R ${folder} $targetpath
184+
fi
179185

180-
cp -R db $targetpath
181-
cp -R apex $targetpath
182-
cp -R rest $targetpath
183-
[ ! -f build.env ] || cp build.env $targetpath
184-
[ ! -f .gitignore ] || cp .gitignore $targetpath
186+
[ ! -f build.env ] || cp build.env $targetpath
187+
[ ! -f .gitignore ] || cp .gitignore $targetpath
185188
else
186189

187-
if [ $(uname) == "Darwin" ]; then
188-
rsync -R $(git diff-tree -r --name-only --no-commit-id ${from_commit} ${until_commit} --diff-filter=ACMRTUXB) ${targetpath}
189-
else
190-
num_changes=$(git diff-tree -r --name-only --no-commit-id ${from_commit} ${until_commit} --diff-filter=ACMRTUXB | wc -l)
190+
for folder in "${MAINFOLDERS[@]}"
191+
do
192+
193+
num_changes=$(git diff -r --name-only --no-commit-id ${from_commit} ${until_commit} --diff-filter=ACMRTUXB -- ${folder} | wc -l)
194+
195+
if [[ $num_changes > 0 ]]; then
191196

192-
if [[ $num_changes == 0 ]]; then
193-
echo_warning "No changes, nothing to build!"
194-
exit 1
197+
echo "Creating directory $targetpath"
198+
mkdir -p $targetpath
199+
200+
echo "Copy files ..."
201+
if [ $(uname) == "Darwin" ]; then
202+
rsync -R $(git diff -r --name-only --no-commit-id ${from_commit} ${until_commit} --diff-filter=ACMRTUXB -- ${folder}) ${targetpath}
203+
else
204+
yes | cp --parents -Rf $(git diff -r --name-only --no-commit-id ${from_commit} ${until_commit} --diff-filter=ACMRTUXB -- ${folder}) ${targetpath}
205+
fi
206+
else
207+
echo_warning "No changes in folder: ${folder} !"
195208
fi
196209

197-
echo "Creating directory $targetpath"
198-
mkdir -p $targetpath
210+
done
211+
212+
199213

200-
echo "Copy files ..."
201-
cp --parents -rf $(git diff-tree -r --name-only --no-commit-id ${from_commit} ${until_commit} --diff-filter=ACMRTUXB) ${targetpath}
202-
fi
203214

204215
# additionaly we need all triggers belonging to views
205216
# loop through schemas

setup.sh

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -182,11 +182,11 @@ generate() {
182182

183183
# create directories
184184
if [ $(toLowerCase $db_scheme_type) == "m" ]; then
185-
mkdir -p db/{.hooks/{pre,post},${project_name}_data/{.hooks/{pre,post},sequences,tables,tables_ddl,indexes/{primaries,uniques,defaults},constraints/{primaries,foreigns,checks,uniques},contexts,policies,sources/{types,packages,functions,procedures,views,triggers},jobs,tests/packages,ddl/{init,pre,post},dml/{init,pre,post}}}
186-
mkdir -p db/{.hooks/{pre,post},${project_name}_logic/{.hooks/{pre,post},sequences,tables,tables_ddl,indexes/{primaries,uniques,defaults},constraints/{primaries,foreigns,checks,uniques},contexts,policies,sources/{types,packages,functions,procedures,views,triggers},jobs,tests/packages,ddl/{init,pre,post},dml/{init,pre,post}}}
187-
mkdir -p db/{.hooks/{pre,post},${project_name}_app/{.hooks/{pre,post},sequences,tables,tables_ddl,indexes/{primaries,uniques,defaults},constraints/{primaries,foreigns,checks,uniques},contexts,policies,sources/{types,packages,functions,procedures,views,triggers},jobs,tests/packages,ddl/{init,pre,post},dml/{init,pre,post}}}
185+
mkdir -p db/{.hooks/{pre,post},${project_name}_data/{.hooks/{pre,post},sequences,tables,tables_ddl,indexes/{primaries,uniques,defaults},constraints/{primaries,foreigns,checks,uniques},contexts,policies,sources/{types,packages,functions,procedures,triggers},jobs,views,tests/packages,ddl/{init,pre,post},dml/{base,init,pre,post}}}
186+
mkdir -p db/{.hooks/{pre,post},${project_name}_logic/{.hooks/{pre,post},sequences,tables,tables_ddl,indexes/{primaries,uniques,defaults},constraints/{primaries,foreigns,checks,uniques},contexts,policies,sources/{types,packages,functions,procedures,triggers},jobs,views,tests/packages,ddl/{init,pre,post},dml/{base,init,pre,post}}}
187+
mkdir -p db/{.hooks/{pre,post},${project_name}_app/{.hooks/{pre,post},sequences,tables,tables_ddl,indexes/{primaries,uniques,defaults},constraints/{primaries,foreigns,checks,uniques},contexts,policies,sources/{types,packages,functions,procedures,triggers},jobs,views,tests/packages,ddl/{init,pre,post},dml/{base,init,pre,post}}}
188188
elif [ $(toLowerCase $db_scheme_type) == "s" ]; then
189-
mkdir -p db/{.hooks/{pre,post},${project_name}/{.hooks/{pre,post},sequences,tables,tables_ddl,indexes/{primaries,uniques,defaults},constraints/{primaries,foreigns,checks,uniques},contexts,policies,sources/{types,packages,functions,procedures,views,triggers},jobs,tests/packages,ddl/{init,pre,post},dml/{init,pre,post}}}
189+
mkdir -p db/{.hooks/{pre,post},${project_name}/{.hooks/{pre,post},sequences,tables,tables_ddl,indexes/{primaries,uniques,defaults},constraints/{primaries,foreigns,checks,uniques},contexts,policies,sources/{types,packages,functions,procedures,triggers},jobs,views,tests/packages,ddl/{init,pre,post},dml/{base,init,pre,post}}}
190190
else
191191
echo_error "unknown type ${db_scheme_type}"
192192
exit 1
@@ -234,8 +234,11 @@ generate() {
234234
read -p "Enter path to depot [_depot]: " depot_path
235235
depot_path=${depot_path:-"_depot"}
236236

237-
read -p "Enter apex schema [APEX_200200]: " apex_user
238-
apex_user=${apex_user:-"APEX_200200"}
237+
read -p "Enter stage of this configuration mapped to branch (develop, test, master) [develop]: " stage
238+
stage=${stage:-"develop"}
239+
240+
read -p "Enter apex schema [APEX_210100]: " apex_user
241+
apex_user=${apex_user:-"APEX_210100"}
239242

240243
read -p "Do you wish to generate and install default tooling? (Logger, utPLSQL, teplsql, tapi) [Y]: " with_tools
241244
with_tools=${with_tools:-"Y"}
@@ -260,8 +263,8 @@ generate() {
260263
echo "DEPOT_PATH=${depot_path}" >> apply.env
261264
echo "" >> apply.env
262265
echo "# Stage mapped to source branch ( develop test master )" >> apply.env
263-
echo "# this is used to get artifact from depot_path" >> apply.env
264-
echo "STAGE=develop" >> apply.env
266+
echo "# this is used to get artifacts from depot_path" >> apply.env
267+
echo "STAGE=${stage}" >> apply.env
265268
echo "" >> apply.env
266269
echo "" >> apply.env
267270
echo "# ADD this to original APP-NUM" >> apply.env

0 commit comments

Comments
 (0)