# For using the alias gw-importOfficeData or gw-importHostingAssets, # copy the file .tc-environment to .environment (ignored by git) # and amend them according to your external DB. gradleWrapper () { if [ ! -f gradlew ]; then echo "No 'gradlew' found. Maybe you are not in the root dir of a gradle project?" return 1 fi TEMPFILE=$(mktemp /tmp/gw.XXXXXX) unbuffer ./gradlew "$@" | tee $TEMPFILE echo grep --color=never "Report:" $TEMPFILE rm $TEMPFILE } postgresAutodoc () { if ! [ -x "$(command -v postgresql_autodoc)" ]; then echo "Program 'postgresql_autodoc' not found. Please install, e.g. via: sudo apt install postgresql-autodoc" >&2 echo "See also https://github.com/cbbrowne/autodoc" >&2 return 1 fi if ! [ -x "$(command -v dot)" ]; then echo "Program 'graphviz dot' not found. Please install, e.g. via: sudo apt install graphviz" >&2 echo "See also https://graphviz.org" >&2 return 1 fi postgresql_autodoc -d postgres -f build/postgres-autodoc -h localhost -u postgres --password=password \ -m '(rbacobject|hs).*' \ -l /usr/share/postgresql-autodoc -t neato && dot -Tsvg build/postgres-autodoc.neato >build/postgres-autodoc-hs.svg && \ echo "generated: $PWD/build/postgres-autodoc-hs.svg" postgresql_autodoc -d postgres -f build/postgres-autodoc -h localhost -u postgres --password=password \ -m '(global|rbac).*' \ -l /usr/share/postgresql-autodoc -t neato && dot -Tsvg build/postgres-autodoc.neato >build/postgres-autodoc-rbac.svg && \ echo "generated $PWD/build/postgres-autodoc-rbac.svg" } alias postgres-autodoc=postgresAutodoc function importLegacyData() { export target=$1 if [ -z "$target" ]; then echo "importLegacyData needs target argument, but none was given" >&2 else source .tc-environment if [ -f .environment ]; then source .environment fi echo "using environment (with ending ';' for use in IntelliJ IDEA):" echo "--- BEGIN: ---" set | grep ^HSADMINNG_ | sed 's/$/;/' echo "---- END. ----" echo echo ./gradlew $target --rerun ./gradlew $target --rerun fi } alias gw-importOfficeData='importLegacyData importOfficeData' alias gw-importHostingAssets='importLegacyData importHostingAssets' alias podman-start='systemctl --user enable --now podman.socket && systemctl --user status podman.socket && ls -la /run/user/$UID/podman/podman.sock' alias podman-stop='systemctl --user disable --now podman.socket && systemctl --user status podman.socket && ls -la /run/user/$UID/podman/podman.sock' alias podman-use='export DOCKER_HOST="unix:///run/user/$UID/podman/podman.sock"; export TESTCONTAINERS_RYUK_DISABLED=true' alias gw=gradleWrapper alias pg-sql-run='docker run --name hsadmin-ng-postgres -e POSTGRES_PASSWORD=password -p 5432:5432 -d postgres:15.5-bookworm' alias pg-sql-stop='docker stop hsadmin-ng-postgres' alias pg-sql-start='docker container start hsadmin-ng-postgres' alias pg-sql-remove='docker rm hsadmin-ng-postgres' alias pg-sql-reset='pg-sql-stop; pg-sql-remove; pg-sql-run' alias pg-sql-backup='docker exec -i hsadmin-ng-postgres /usr/bin/pg_dump --clean --create -U postgres postgres | gzip -9' alias pg-sql-restore='gunzip --stdout | docker exec -i hsadmin-ng-postgres psql -U postgres -d postgres' alias fp='grep -r '@Accepts' src | sed -e 's/^.*@/@/g' | sort -u | wc -l' alias gw-spotless='./gradlew spotlessApply -x pitest -x test -x :processResources' alias gw-test='. .aliases; ./gradlew test' alias gw-check='. .aliases; gw test check -x pitest' # etc/docker-compose.yml limits CPUs+MEM and includes a PostgreSQL config for analysing slow queries alias gw-importOfficeData-in-docker-compose=' docker-compose -f etc/docker-compose.yml down && docker-compose -f etc/docker-compose.yml up -d && sleep 10 && time gw-importHostingAssets' if [ ! -f .environment ]; then cp .tc-environment .environment fi source .environment alias scenario-reports-upload='./gradlew convertMarkdownToHtml && ssh hsh03-hsngdev@h50.hostsharing.net "rm doms/hsngdev.hs-example.de/htdocs-ssl/scenarios/office/*.html" && scp doc/scenarios/*.html hsh03-hsngdev@h50.hostsharing.net:doms/hsngdev.hs-example.de/htdocs-ssl/scenarios/office' alias scenario-reports-online='open https://hsngdev.hs-example.de/scenarios/office'