[#389] feature flag for java.time

This commit is contained in:
Michiel Borkent 2020-04-30 12:39:44 +02:00
parent 6f14479749
commit 2a44b9f9dd
4 changed files with 52 additions and 48 deletions

View file

@ -21,38 +21,37 @@ then
exit 1 exit 1
fi fi
$GRAALVM_HOME/bin/gu install native-image "$GRAALVM_HOME/bin/gu" install native-image
export JAVA_HOME=$GRAALVM_HOME export JAVA_HOME=$GRAALVM_HOME
SVM_JAR=$(find "$GRAALVM_HOME" | grep svm.jar) SVM_JAR=$(find "$GRAALVM_HOME" | grep svm.jar)
$GRAALVM_HOME/bin/javac -cp "$SVM_JAR" resources/CutOffCoreServicesDependencies.java "$GRAALVM_HOME/bin/javac" -cp "$SVM_JAR" resources/CutOffCoreServicesDependencies.java
BABASHKA_FEATURE_HSQLDB=${BABASHKA_FEATURE_HSQLDB:-} BABASHKA_FEATURE_HSQLDB=${BABASHKA_FEATURE_HSQLDB:-}
BABASHKA_BINARY=${BABASHKA_BINARY:-"bb"} BABASHKA_BINARY=${BABASHKA_BINARY:-"bb"}
args=( -jar $BABASHKA_JAR \ args=( "-jar" "$BABASHKA_JAR"
-H:Name=$BABASHKA_BINARY \ "-H:Name=$BABASHKA_BINARY"
-H:+ReportExceptionStackTraces \ "-H:+ReportExceptionStackTraces"
-J-Dclojure.spec.skip-macros=true \ "-J-Dclojure.spec.skip-macros=true"
-J-Dclojure.compiler.direct-linking=true \ "-J-Dclojure.compiler.direct-linking=true"
"-H:IncludeResources=BABASHKA_VERSION" \ "-H:IncludeResources=BABASHKA_VERSION"
"-H:IncludeResources=SCI_VERSION" \ "-H:IncludeResources=SCI_VERSION"
-H:ReflectionConfigurationFiles=reflection.json \ "-H:ReflectionConfigurationFiles=reflection.json"
--initialize-at-run-time=java.lang.Math\$RandomNumberGeneratorHolder \ "--initialize-at-run-time=java.lang.Math\$RandomNumberGeneratorHolder"
--initialize-at-build-time \ "--initialize-at-build-time"
-H:Log=registerResource: \ "-H:Log=registerResource:"
-H:EnableURLProtocols=http,https \ "-H:EnableURLProtocols=http,https"
--enable-all-security-services \ "--enable-all-security-services"
-H:+JNI \ "-H:+JNI"
--verbose \ "--verbose"
--no-fallback \ "--no-fallback"
--no-server \ "--no-server"
--report-unsupported-elements-at-runtime \ "--report-unsupported-elements-at-runtime"
"--initialize-at-run-time=org.postgresql.sspi.SSPIClient" \ "--initialize-at-run-time=org.postgresql.sspi.SSPIClient"
"$BABASHKA_XMX" ) "$BABASHKA_XMX" )
BABASHKA_STATIC=${BABASHKA_STATIC:-} BABASHKA_STATIC=${BABASHKA_STATIC:-}
@ -63,9 +62,11 @@ fi
BABASHKA_FEATURE_HSQLDB=${BABASHKA_FEATURE_HSQLDB:-} BABASHKA_FEATURE_HSQLDB=${BABASHKA_FEATURE_HSQLDB:-}
if [ "$BABASHKA_FEATURE_HSQLDB" = "true" ]; then if [ "$BABASHKA_FEATURE_HSQLDB" = "true" ]; then
args+=("-H:IncludeResources=org/hsqldb/.*\.properties", "-H:IncludeResources=org/hsqldb/.*\.sql") args+=("-H:IncludeResources=org/hsqldb/.*\.properties" "-H:IncludeResources=org/hsqldb/.*\.sql")
fi fi
BABASHKA_LEAN=${BABASHKA_LEAN:-}
if [ "$BABASHKA_LEAN" = "true" ] if [ "$BABASHKA_LEAN" = "true" ]
then then
export BABASHKA_FEATURE_JDBC=false export BABASHKA_FEATURE_JDBC=false
@ -78,4 +79,4 @@ then
export BABAHSKA_FEATURE_TRANSIT=false export BABAHSKA_FEATURE_TRANSIT=false
fi fi
$GRAALVM_HOME/bin/native-image "${args[@]}" "$GRAALVM_HOME/bin/native-image" "${args[@]}"

View file

@ -12,6 +12,7 @@ then
export BABASHKA_FEATURE_CORE_ASYNC=false export BABASHKA_FEATURE_CORE_ASYNC=false
export BABASHKA_FEATURE_CSV=false export BABASHKA_FEATURE_CSV=false
export BABAHSKA_FEATURE_TRANSIT=false export BABAHSKA_FEATURE_TRANSIT=false
export BABAHSKA_FEATURE_JAVA_TIME=false
fi fi
BABASHKA_LEIN_PROFILES="+uberjar" BABASHKA_LEIN_PROFILES="+uberjar"

View file

@ -151,27 +151,28 @@
java.nio.file.attribute.PosixFilePermission java.nio.file.attribute.PosixFilePermission
java.nio.file.attribute.PosixFilePermissions java.nio.file.attribute.PosixFilePermissions
java.security.MessageDigest java.security.MessageDigest
java.time.format.DateTimeFormatter ~@(when features/java-time?
java.time.Clock '[java.time.format.DateTimeFormatter
java.time.DateTimeException java.time.Clock
java.time.DayOfWeek java.time.DateTimeException
java.time.Duration java.time.DayOfWeek
java.time.Instant java.time.Duration
java.time.LocalDate java.time.Instant
java.time.LocalDateTime java.time.LocalDate
java.time.LocalTime java.time.LocalDateTime
java.time.Month java.time.LocalTime
java.time.MonthDay java.time.Month
java.time.OffsetDateTime java.time.MonthDay
java.time.OffsetTime java.time.OffsetDateTime
java.time.Period java.time.OffsetTime
java.time.Year java.time.Period
java.time.YearMonth java.time.Year
java.time.ZonedDateTime java.time.YearMonth
java.time.ZoneId java.time.ZonedDateTime
java.time.ZoneOffset java.time.ZoneId
java.time.temporal.ChronoUnit java.time.ZoneOffset
java.time.temporal.TemporalAccessor java.time.temporal.ChronoUnit
java.time.temporal.TemporalAccessor])
java.util.regex.Pattern java.util.regex.Pattern
java.util.Base64 java.util.Base64
java.util.Base64$Decoder java.util.Base64$Decoder
@ -186,8 +187,8 @@
java.util.zip.GZIPInputStream java.util.zip.GZIPInputStream
java.util.zip.GZIPOutputStream java.util.zip.GZIPOutputStream
~(symbol "[B") ~(symbol "[B")
~@(when features/yaml? [`org.yaml.snakeyaml.error.YAMLException]) ~@(when features/yaml? '[org.yaml.snakeyaml.error.YAMLException])
~@(when features/hsqldb? [`org.hsqldb.jdbcDriver])] ~@(when features/hsqldb? '[org.hsqldb.jdbcDriver])]
:constructors [clojure.lang.Delay :constructors [clojure.lang.Delay
clojure.lang.MapEntry clojure.lang.MapEntry
clojure.lang.LineNumberingPushbackReader clojure.lang.LineNumberingPushbackReader

View file

@ -7,6 +7,7 @@
(def core-async? (not= "false" (System/getenv "BABASHKA_FEATURE_CORE_ASYNC"))) (def core-async? (not= "false" (System/getenv "BABASHKA_FEATURE_CORE_ASYNC")))
(def csv? (not= "false" (System/getenv "BABASHKA_FEATURE_CSV"))) (def csv? (not= "false" (System/getenv "BABASHKA_FEATURE_CSV")))
(def transit? (not= "false" (System/getenv "BABASHKA_FEATURE_TRANSIT"))) (def transit? (not= "false" (System/getenv "BABASHKA_FEATURE_TRANSIT")))
(def java-time? (not= "false" (System/getenv "BABASHKA_FEATURE_JAVA_TIME")))
;; excluded by default ;; excluded by default
(def jdbc? (= "true" (System/getenv "BABASHKA_FEATURE_JDBC"))) (def jdbc? (= "true" (System/getenv "BABASHKA_FEATURE_JDBC")))