scripts/sql-dk.sh
author František Kučera <franta-hg@frantovo.cz>
Sun, 13 Sep 2020 12:01:35 +0200
branchv_0
changeset 253 d8442b266ca8
parent 199 88de2602deb3
permissions -rwxr-xr-x
combatibility with Java 9+, Tested with Java 11; JAXB library
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
85
b9b4e95240e1 sql-dk startup shell script
František Kučera <franta-hg@frantovo.cz>
parents:
diff changeset
     1
#!/bin/bash
b9b4e95240e1 sql-dk startup shell script
František Kučera <franta-hg@frantovo.cz>
parents:
diff changeset
     2
122
0c284726a77d customizable classpath
František Kučera <franta-hg@frantovo.cz>
parents: 121
diff changeset
     3
# include user-defined overrides and customization
102
ff47349e24bf Load ~/.sql-dk/environment.sh if exists
František Kučera <franta-hg@frantovo.cz>
parents: 85
diff changeset
     4
if [ -f ~/.sql-dk/environment.sh ]; then # .sql-dk must match with DIR in Constants.java
150
911b2d55bb08 wrapper script fix: XSL is in .deb package gzipped
František Kučera <franta-hg@frantovo.cz>
parents: 122
diff changeset
     5
	. ~/.sql-dk/environment.sh
911b2d55bb08 wrapper script fix: XSL is in .deb package gzipped
František Kučera <franta-hg@frantovo.cz>
parents: 122
diff changeset
     6
else
911b2d55bb08 wrapper script fix: XSL is in .deb package gzipped
František Kučera <franta-hg@frantovo.cz>
parents: 122
diff changeset
     7
	mkdir -p ~/.sql-dk/
911b2d55bb08 wrapper script fix: XSL is in .deb package gzipped
František Kučera <franta-hg@frantovo.cz>
parents: 122
diff changeset
     8
	# link/copy support files for configuration:
188
54bacc7ed42b jdbc-dk-driver: include main project sources
František Kučera <franta-hg@frantovo.cz>
parents: 150
diff changeset
     9
	[ -f ~/.sql-dk/environment.sh ] || touch ~/.sql-dk/environment.sh
150
911b2d55bb08 wrapper script fix: XSL is in .deb package gzipped
František Kučera <franta-hg@frantovo.cz>
parents: 122
diff changeset
    10
	[ -f ~/.sql-dk/config.xsd ] || ln -s /usr/share/doc/sql-dk/config.xsd ~/.sql-dk/config.xsd
911b2d55bb08 wrapper script fix: XSL is in .deb package gzipped
František Kučera <franta-hg@frantovo.cz>
parents: 122
diff changeset
    11
	[ -f ~/.sql-dk/config.rnc ] || ln -s /usr/share/doc/sql-dk/config.rnc ~/.sql-dk/config.rnc
911b2d55bb08 wrapper script fix: XSL is in .deb package gzipped
František Kučera <franta-hg@frantovo.cz>
parents: 122
diff changeset
    12
	[ -f ~/.sql-dk/config.xsl ] || gunzip < /usr/share/doc/sql-dk/config.xsl.gz > ~/.sql-dk/config.xsl # might not work in www browser if just symlinked
102
ff47349e24bf Load ~/.sql-dk/environment.sh if exists
František Kučera <franta-hg@frantovo.cz>
parents: 85
diff changeset
    13
fi
ff47349e24bf Load ~/.sql-dk/environment.sh if exists
František Kučera <franta-hg@frantovo.cz>
parents: 85
diff changeset
    14
122
0c284726a77d customizable classpath
František Kučera <franta-hg@frantovo.cz>
parents: 121
diff changeset
    15
# Standard JDBC drivers
0c284726a77d customizable classpath
František Kučera <franta-hg@frantovo.cz>
parents: 121
diff changeset
    16
[ -n "$STANDARD_JDBC" ] || STANDARD_JDBC=(
0c284726a77d customizable classpath
František Kučera <franta-hg@frantovo.cz>
parents: 121
diff changeset
    17
	"/usr/share/java/postgresql-jdbc4.jar"
0c284726a77d customizable classpath
František Kučera <franta-hg@frantovo.cz>
parents: 121
diff changeset
    18
	"/usr/share/java/mysql.jar"
0c284726a77d customizable classpath
František Kučera <franta-hg@frantovo.cz>
parents: 121
diff changeset
    19
);
0c284726a77d customizable classpath
František Kučera <franta-hg@frantovo.cz>
parents: 121
diff changeset
    20
253
d8442b266ca8 combatibility with Java 9+, Tested with Java 11; JAXB library
František Kučera <franta-hg@frantovo.cz>
parents: 199
diff changeset
    21
# Standard libraries
d8442b266ca8 combatibility with Java 9+, Tested with Java 11; JAXB library
František Kučera <franta-hg@frantovo.cz>
parents: 199
diff changeset
    22
[ -n "$STANDARD_LIB" ] || STANDARD_LIB=(
d8442b266ca8 combatibility with Java 9+, Tested with Java 11; JAXB library
František Kučera <franta-hg@frantovo.cz>
parents: 199
diff changeset
    23
	"/usr/share/java/jaxb-api.jar"
d8442b266ca8 combatibility with Java 9+, Tested with Java 11; JAXB library
František Kučera <franta-hg@frantovo.cz>
parents: 199
diff changeset
    24
	"/usr/share/java/jaxb-runtime.jar"
d8442b266ca8 combatibility with Java 9+, Tested with Java 11; JAXB library
František Kučera <franta-hg@frantovo.cz>
parents: 199
diff changeset
    25
);
d8442b266ca8 combatibility with Java 9+, Tested with Java 11; JAXB library
František Kučera <franta-hg@frantovo.cz>
parents: 199
diff changeset
    26
# JAXB library is needed since Java 9 (up to Java 8 it was part of the JRE).
d8442b266ca8 combatibility with Java 9+, Tested with Java 11; JAXB library
František Kučera <franta-hg@frantovo.cz>
parents: 199
diff changeset
    27
# By default, we use JARs from the distribution.
d8442b266ca8 combatibility with Java 9+, Tested with Java 11; JAXB library
František Kučera <franta-hg@frantovo.cz>
parents: 199
diff changeset
    28
# Some distributions might contain older versions of the JAXB library (2.3.0)
d8442b266ca8 combatibility with Java 9+, Tested with Java 11; JAXB library
František Kučera <franta-hg@frantovo.cz>
parents: 199
diff changeset
    29
# that work but generate following waringns:
d8442b266ca8 combatibility with Java 9+, Tested with Java 11; JAXB library
František Kučera <franta-hg@frantovo.cz>
parents: 199
diff changeset
    30
#   WARNING: An illegal reflective access operation has occurred
d8442b266ca8 combatibility with Java 9+, Tested with Java 11; JAXB library
František Kučera <franta-hg@frantovo.cz>
parents: 199
diff changeset
    31
#   WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector (file:/usr/share/java/jaxb-runtime.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int)
d8442b266ca8 combatibility with Java 9+, Tested with Java 11; JAXB library
František Kučera <franta-hg@frantovo.cz>
parents: 199
diff changeset
    32
#   WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector
d8442b266ca8 combatibility with Java 9+, Tested with Java 11; JAXB library
František Kučera <franta-hg@frantovo.cz>
parents: 199
diff changeset
    33
#   WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
d8442b266ca8 combatibility with Java 9+, Tested with Java 11; JAXB library
František Kučera <franta-hg@frantovo.cz>
parents: 199
diff changeset
    34
#   WARNING: All illegal access operations will be denied in a future release
d8442b266ca8 combatibility with Java 9+, Tested with Java 11; JAXB library
František Kučera <franta-hg@frantovo.cz>
parents: 199
diff changeset
    35
# In order to get rid of them, the user can use newer JARs from Maven that are copied into the java/sql-dk/target/lib/ directory during build.
d8442b266ca8 combatibility with Java 9+, Tested with Java 11; JAXB library
František Kučera <franta-hg@frantovo.cz>
parents: 199
diff changeset
    36
# This is done by adding them in the STANDARD_LIB variable in his environment.sh file.
d8442b266ca8 combatibility with Java 9+, Tested with Java 11; JAXB library
František Kučera <franta-hg@frantovo.cz>
parents: 199
diff changeset
    37
d8442b266ca8 combatibility with Java 9+, Tested with Java 11; JAXB library
František Kučera <franta-hg@frantovo.cz>
parents: 199
diff changeset
    38
122
0c284726a77d customizable classpath
František Kučera <franta-hg@frantovo.cz>
parents: 121
diff changeset
    39
# Additional JDBC drivers might be specified in CUSTOM_JDBC array
0c284726a77d customizable classpath
František Kučera <franta-hg@frantovo.cz>
parents: 121
diff changeset
    40
# Plugins (formatters etc.) might be specified in PLUGINS array
0c284726a77d customizable classpath
František Kučera <franta-hg@frantovo.cz>
parents: 121
diff changeset
    41
0c284726a77d customizable classpath
František Kučera <franta-hg@frantovo.cz>
parents: 121
diff changeset
    42
# JAR containing SQL-DK application
111
259c0c64321b Starter script: systemwide JAR location (user can override it in environment.sh by JAR variable)
František Kučera <franta-hg@frantovo.cz>
parents: 102
diff changeset
    43
[ -n "$JAR" ] || JAR="/usr/share/sql-dk/sql-dk.jar";
85
b9b4e95240e1 sql-dk startup shell script
František Kučera <franta-hg@frantovo.cz>
parents:
diff changeset
    44
122
0c284726a77d customizable classpath
František Kučera <franta-hg@frantovo.cz>
parents: 121
diff changeset
    45
CLASS_PATH="$JAR";
0c284726a77d customizable classpath
František Kučera <franta-hg@frantovo.cz>
parents: 121
diff changeset
    46
253
d8442b266ca8 combatibility with Java 9+, Tested with Java 11; JAXB library
František Kučera <franta-hg@frantovo.cz>
parents: 199
diff changeset
    47
for e in "${CUSTOM_JDBC[@]}" "${PLUGINS[@]}" "${STANDARD_JDBC[@]}" "${STANDARD_LIB[@]}"; do
122
0c284726a77d customizable classpath
František Kučera <franta-hg@frantovo.cz>
parents: 121
diff changeset
    48
	CLASS_PATH="$CLASS_PATH:$e";
0c284726a77d customizable classpath
František Kučera <franta-hg@frantovo.cz>
parents: 121
diff changeset
    49
done
0c284726a77d customizable classpath
František Kučera <franta-hg@frantovo.cz>
parents: 121
diff changeset
    50
0c284726a77d customizable classpath
František Kučera <franta-hg@frantovo.cz>
parents: 121
diff changeset
    51
85
b9b4e95240e1 sql-dk startup shell script
František Kučera <franta-hg@frantovo.cz>
parents:
diff changeset
    52
MAIN_CLASS="info.globalcode.sql.dk.CLIStarter";
b9b4e95240e1 sql-dk startup shell script
František Kučera <franta-hg@frantovo.cz>
parents:
diff changeset
    53
b9b4e95240e1 sql-dk startup shell script
František Kučera <franta-hg@frantovo.cz>
parents:
diff changeset
    54
LOGGER="-Djava.util.logging.config.class=info.globalcode.sql.dk.logging.LoggerInitializer";
b9b4e95240e1 sql-dk startup shell script
František Kučera <franta-hg@frantovo.cz>
parents:
diff changeset
    55
[ -n "$LOG_LEVEL" ] && LOGGER_LEVEL="-Dinfo.globalcode.sql.dk.logging.LoggerInitializer.level=$LOG_LEVEL";
b9b4e95240e1 sql-dk startup shell script
František Kučera <franta-hg@frantovo.cz>
parents:
diff changeset
    56
199
88de2602deb3 sql-dk.sh: support for JAVA_OPTIONS
František Kučera <franta-hg@frantovo.cz>
parents: 188
diff changeset
    57
java "${JAVA_OPTIONS[@]}" $LOGGER $LOGGER_LEVEL -cp "$CLASS_PATH" $MAIN_CLASS "$@"