feature/native-build #4
5 changed files with 29 additions and 16 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -10,6 +10,7 @@ target/
|
||||||
.lein-repl-history
|
.lein-repl-history
|
||||||
.lein-failures
|
.lein-failures
|
||||||
pom.*
|
pom.*
|
||||||
|
reports/*
|
||||||
|
|
||||||
# cljs
|
# cljs
|
||||||
.shadow-cljs
|
.shadow-cljs
|
||||||
|
@ -28,3 +29,4 @@ auth.edn
|
||||||
config.edn
|
config.edn
|
||||||
|
|
||||||
.eastwood
|
.eastwood
|
||||||
|
|
||||||
|
|
BIN
c4k-forgejo-standalone
Executable file
BIN
c4k-forgejo-standalone
Executable file
Binary file not shown.
|
@ -39,26 +39,23 @@ npx shadow-cljs release frontend
|
||||||
## graalvm-setup
|
## graalvm-setup
|
||||||
|
|
||||||
```
|
```
|
||||||
curl -LO https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-21.0.0.2/graalvm-ce-java11-linux-amd64-21.0.0.2.tar.gz
|
curl -LO https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-21.0.2/graalvm-community-jdk-21.0.2_linux-x64_bin.tar.gz
|
||||||
|
|
||||||
# unpack
|
# unpack
|
||||||
tar -xzf graalvm-ce-java11-linux-amd64-21.0.0.2.tar.gz
|
tar -xzf graalvm-community-jdk-21.0.2_linux-x64_bin.tar.gz
|
||||||
|
|
||||||
sudo mv graalvm-ce-java11-21.0.0.2 /usr/lib/jvm/
|
sudo mv graalvm-community-openjdk-21.0.2+13.1 /usr/lib/jvm/
|
||||||
sudo ln -s /usr/lib/jvm/graalvm-ce-java11-21.0.0.2 /usr/lib/jvm/graalvm
|
sudo ln -s /usr/lib/jvm/graalvm-community-openjdk-21.0.2+13.1 /usr/lib/jvm/graalvm-21
|
||||||
sudo ln -s /usr/lib/jvm/graalvm/bin/gu /usr/local/bin
|
sudo ln -s /usr/lib/jvm/graalvm-21/bin/gu /usr/local/bin
|
||||||
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/graalvm/bin/java 2
|
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/graalvm-21/bin/java 2
|
||||||
sudo update-alternatives --config java
|
sudo update-alternatives --config java
|
||||||
|
sudo ln -s /usr/lib/jvm/graalvm-21/bin/native-image /usr/local/bin
|
||||||
# install native-image in graalvm-ce-java11-linux-amd64-21.0.0.2/bin
|
|
||||||
sudo gu install native-image
|
|
||||||
sudo ln -s /usr/lib/jvm/graalvm/bin/native-image /usr/local/bin
|
|
||||||
|
|
||||||
# deps
|
# deps
|
||||||
sudo apt-get install build-essential libz-dev zlib1g-dev
|
sudo apt-get install build-essential libz-dev zlib1g-dev
|
||||||
|
|
||||||
# build
|
# build
|
||||||
cd ~/repo/dda/c4k-cloud
|
cd ~/repo/c4k/c4k-forgejo
|
||||||
lein uberjar
|
lein uberjar
|
||||||
mkdir -p target/graalvm
|
mkdir -p target/graalvm
|
||||||
lein native
|
lein native
|
||||||
|
|
9
graalvm-resource-config.json
Normal file
9
graalvm-resource-config.json
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"resources": {
|
||||||
|
"includes": [
|
||||||
|
{
|
||||||
|
"pattern": ".*.yaml"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
15
project.clj
15
project.clj
|
@ -25,7 +25,8 @@
|
||||||
:dependencies [[org.clojure/tools.cli "1.0.219"]
|
:dependencies [[org.clojure/tools.cli "1.0.219"]
|
||||||
[ch.qos.logback/logback-classic "1.4.14"
|
[ch.qos.logback/logback-classic "1.4.14"
|
||||||
:exclusions [com.sun.mail/javax.mail]]
|
:exclusions [com.sun.mail/javax.mail]]
|
||||||
[org.slf4j/jcl-over-slf4j "2.0.12"]]}}
|
[org.slf4j/jcl-over-slf4j "2.0.12"]
|
||||||
|
[com.github.clj-easy/graal-build-time "0.1.5"]]}}
|
||||||
:release-tasks [["test"]
|
:release-tasks [["test"]
|
||||||
["vcs" "assert-committed"]
|
["vcs" "assert-committed"]
|
||||||
["change" "version" "leiningen.release/bump-version" "release"]
|
["change" "version" "leiningen.release/bump-version" "release"]
|
||||||
|
@ -34,12 +35,16 @@
|
||||||
["change" "version" "leiningen.release/bump-version"]]
|
["change" "version" "leiningen.release/bump-version"]]
|
||||||
:aliases {"native" ["shell"
|
:aliases {"native" ["shell"
|
||||||
"native-image"
|
"native-image"
|
||||||
|
;"--verbose"
|
||||||
|
"--native-image-info"
|
||||||
"--report-unsupported-elements-at-runtime"
|
"--report-unsupported-elements-at-runtime"
|
||||||
"--initialize-at-build-time"
|
"--no-server"
|
||||||
|
"--no-fallback"
|
||||||
|
"-H:IncludeResources=.*.yaml"
|
||||||
|
"-H:Log=registerResource:verbose"
|
||||||
|
"-H:Name=target/graalvm/${:name}"
|
||||||
"-jar" "target/uberjar/c4k-forgejo-standalone.jar"
|
"-jar" "target/uberjar/c4k-forgejo-standalone.jar"
|
||||||
"-H:ResourceConfigurationFiles=graalvm-resource-config.json"
|
]
|
||||||
"-H:Log=registerResource"
|
|
||||||
"-H:Name=target/graalvm/${:name}"]
|
|
||||||
"inst" ["shell"
|
"inst" ["shell"
|
||||||
"sh"
|
"sh"
|
||||||
"-c"
|
"-c"
|
||||||
|
|
Loading…
Reference in a new issue