File tree Expand file tree Collapse file tree 5 files changed +71
-0
lines changed Expand file tree Collapse file tree 5 files changed +71
-0
lines changed Original file line number Diff line number Diff line change @@ -37,6 +37,7 @@ Here the list of libraries tested:
37
37
| :white_check_mark : | [ ring/jetty] ( ./ring-jetty ) | Web server | |
38
38
| :white_check_mark : | [ safely] ( ./safely ) | Circuit breaker | |
39
39
| :white_check_mark : | [ secure-random] ( ./secure-random ) | ` SecureRandom ` initialization | |
40
+ | :white_check_mark : | [ selmer] ( ./selmer ) | A fast, Django inspired template system for Clojure. | |
40
41
| :x : | [ system] ( ./system ) | Layer on top of components | * Buildtime error, see Readme* |
41
42
42
43
Original file line number Diff line number Diff line change
1
+ /target
2
+ /classes
3
+ /checkouts
4
+ profiles.clj
5
+ pom.xml
6
+ pom.xml.asc
7
+ * .jar
8
+ * .class
9
+ /.lein- *
10
+ /.nrepl-port
11
+ .hgignore
12
+ .hg /
Original file line number Diff line number Diff line change
1
+ # Selmer
2
+
3
+ Testing whether [ Selmer] ( https://github.com/yogthos/Selmer ) can be used in a native binary image with GraalVM.
4
+
5
+ ## Usage
6
+
7
+ Currently testing:
8
+
9
+ [selmer "1.12.18"]
10
+
11
+ Test with:
12
+
13
+ lein do clean, uberjar, native, run-native
14
+
15
+
16
+ ## Results
17
+ ` [selmer.parser] ` :white_check_mark :
18
+ ` [selmer.filters] ` :white_check_mark :
Original file line number Diff line number Diff line change
1
+ (defproject selmer " 0.1.0-SNAPSHOT"
2
+
3
+ :dependencies [[org.clojure/clojure " 1.10.1" ]
4
+ [selmer " 1.12.18" ]]
5
+
6
+ :main simple.main
7
+
8
+ :uberjar-name " simple-main.jar"
9
+
10
+ :profiles {:uberjar {:aot :all }
11
+ :dev {:plugins [[lein-shell " 0.5.0" ]]}}
12
+
13
+ :aliases
14
+ {" native"
15
+ [" shell"
16
+ " native-image" " --report-unsupported-elements-at-runtime" " --no-server"
17
+ " --initialize-at-build-time"
18
+ " -jar" " ./target/${:uberjar-name:-${:name}-${:version}-standalone.jar}"
19
+ " -H:Name=./target/${:name}" ]
20
+
21
+ " run-native" [" shell" " ./target/${:name}" ]})
Original file line number Diff line number Diff line change
1
+ (ns simple.main
2
+ (:require [selmer.parser :refer [render]]
3
+ [selmer.filters :refer [add-filter!]]
4
+ [clojure.string :as str])
5
+ (:gen-class ))
6
+
7
+ (defn -main []
8
+ (add-filter! :embiginate str/upper-case)
9
+ (println (render " Hello {{name}}!" {:name " GraalVM" }))
10
+ (println (render " {{d|date:\" yyyy-MM-dd\" }}" {:d (java.util.Date. )}))
11
+ (println (render " {{number|phone}}" {:number " 01234 567890" }))
12
+ (println (render " {{items|count}} item{{items|pluralize}}" {:items [1 ]}))
13
+ (println (render " {{foo|rand-nth}}" {:foo [1 2 3 ]}))
14
+ (println (render " {{data}}" {:data " <foo>" }))
15
+ (println (render " {{data|safe}}" {:data " <foo>" }))
16
+ (println (render " {{name|default-if-empty:\" I <3 ponies\" }}" {:name " GraalVM" }))
17
+ (println (render " {% if xs|empty? %}foo{% endif %}" {:xs []}))
18
+ (println (render " {{domain|hash:\" md5\" }}" {:domain " example.org" }))
19
+ (println (render " {{shout|embiginate}}" {:shout " graalvm" })))
You can’t perform that action at this time.
0 commit comments