├── script
├── closure-library-release
│ ├── .gitignore
│ ├── google-closure-library.pom.template
│ ├── google-closure-library-third-party.pom.template
│ └── closure-library-release.sh
├── closure_deps_graph.sh
└── closure_deps_graph.clj
├── README.md
├── .github
└── workflows
│ └── closure.yml
└── pom.template.xml
/script/closure-library-release/.gitignore:
--------------------------------------------------------------------------------
1 | closure-library/
2 | tmp-build/
3 |
--------------------------------------------------------------------------------
/script/closure_deps_graph.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | set -e
4 |
5 | if [[ -z "$CLJS_SCRIPT_QUIET" ]]; then
6 | set -x
7 | fi
8 |
9 | FILE_SEP='/'
10 | PATH_SEP=':'
11 | OS_ID=`uname | tr [:upper:] [:lower:]`
12 | CLJS_SCRIPT_MVN_OPTS=${CLJS_SCRIPT_MVN_OPTS:-""}
13 |
14 | if [[ $OS_ID == *mingw* ]]
15 | then
16 | echo "MINGW detected"
17 | # Refer to http://www.mingw.org/wiki/Posix_path_conversion
18 | FILE_SEP='//'
19 | PATH_SEP=';'
20 | fi
21 |
22 | CP_FILE=`mktemp /tmp/cljs_cp.txt.XXXXXXXXXXX`
23 |
24 | mvn -ntp -B -f ../../pom.template.xml dependency:build-classpath -Dmdep.outputFile=$CP_FILE -Dmdep.fileSeparator=$FILE_SEP -Dmdep.pathSeparator=$PATH_SEP $CLJS_SCRIPT_MVN_OPTS
25 |
26 | CLJS_CP=`cat $CP_FILE`
27 |
28 | # For Hudson server
29 | if [ "$HUDSON" = "true" ]; then
30 | $JAVA_HOME/bin/java -server -cp "$CLJS_CP""$PATH_SEP""src/main/clojure" clojure.main ../closure_deps_graph.clj
31 | else
32 | java -server -cp "$CLJS_CP""$PATH_SEP""src/main/clojure" clojure.main ../closure_deps_graph.clj
33 | fi
34 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # build.closure
2 |
3 | ClojureScript depends on the Google Closure JavaScript Libraries,
4 | but Google does not publish those libraries in a Maven repository.
5 | The github action in this repo generates Maven projects for the
6 | Google Closure Library and, optionally, deploys them.
7 |
8 | The Google Closure Libraries are divided into two parts: the main
9 | library and third-party extensions. The main library is Apache
10 | licensed; the third-party extensions have a variety of different
11 | licenses. However, code in the main library depends on the
12 | third-party extensions, not the other way around. See CLJS-418 for
13 | details.
14 |
15 | To manage this, we build two JARs, google-closure-library and
16 | google-closure-library-third-party, with the former declaring an
17 | explicit dependency on the latter. This permits consumers to exclude
18 | the third-party libraries (and their various licenses) if they know
19 | they don't need them.
20 |
21 | To match this structure, we need to alter the deps.js file that the
22 | Google Closure Compiler uses to resolve dependencies. See CLJS-276
23 | for details.
24 |
25 | The last release ZIP made by Google was 20130212-95c19e7f0f5f. To
26 | get newer versions, we have to go to the Git repository.
27 |
28 |
29 |
--------------------------------------------------------------------------------
/.github/workflows/closure.yml:
--------------------------------------------------------------------------------
1 | name: Build Google closure library
2 |
3 | on:
4 | workflow_dispatch:
5 | inputs:
6 | deploy:
7 | description: "Deploy to Maven Central"
8 | required: true
9 | default: false
10 | type: boolean
11 |
12 | jobs:
13 | build:
14 | runs-on: ubuntu-latest
15 | steps:
16 | - name: Check out
17 | uses: actions/checkout@v3
18 | - name: Set Github identity
19 | run: |
20 | git config --global user.name clojure-build
21 | git config --global user.email "clojure-build@users.noreply.github.com"
22 | - name: Set up Java
23 | uses: actions/setup-java@v3
24 | with:
25 | java-version: 8
26 | distribution: 'temurin'
27 | server-id: sonatype-nexus-staging
28 | server-username: MAVEN_USERNAME
29 | server-password: MAVEN_PASSWORD
30 | gpg-private-key: ${{ secrets.OSSRH_GPG_SECRET_KEY }}
31 | gpg-passphrase: GPG_PASSPHRASE
32 | - name: Release
33 | run: |
34 | cd script/closure-library-release
35 | ./closure-library-release.sh
36 | env:
37 | MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
38 | MAVEN_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
39 | GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }}
40 | HUDSON: ${{ github.event.inputs.deploy }}
--------------------------------------------------------------------------------
/script/closure_deps_graph.clj:
--------------------------------------------------------------------------------
1 | (ns closure-deps-graph
2 | (:require [clojure.java.io :as io])
3 | (:import [java.io File]
4 | [com.google.javascript.jscomp SourceFile BasicErrorManager]
5 | [com.google.javascript.jscomp.deps
6 | BrowserModuleResolver
7 | DepsGenerator DepsGenerator$InclusionStrategy ModuleLoader
8 | ModuleLoader$PathResolver]))
9 |
10 | (defn js-files-in
11 | "Return a sequence of all .js files in the given directory."
12 | [dir]
13 | (filter
14 | #(let [name (.getName ^File %)]
15 | (and (.endsWith name ".js")
16 | (not= \. (first name))))
17 | (file-seq dir)))
18 |
19 | (spit (io/file "closure-library/closure/goog/deps.js")
20 | (.computeDependencyCalls
21 | (DepsGenerator.
22 | []
23 | (map #(SourceFile/fromFile (.getAbsolutePath %))
24 | (mapcat (comp js-files-in io/file)
25 | ["closure-library/closure/goog" "closure-library/third_party/closure/goog"]))
26 | DepsGenerator$InclusionStrategy/ALWAYS
27 | (.getAbsolutePath (io/file "closure-library/closure/goog"))
28 | (proxy [BasicErrorManager] []
29 | (report [level error]
30 | (println error))
31 | (println [level error]
32 | (println error)))
33 | (-> (ModuleLoader/builder)
34 | (.setErrorHandler nil)
35 | (.setModuleRoots [])
36 | (.setInputs [])
37 | (.setFactory BrowserModuleResolver/FACTORY)
38 | (.setPathResolver ModuleLoader$PathResolver/ABSOLUTE)
39 | (.build)))))
40 |
--------------------------------------------------------------------------------
/script/closure-library-release/google-closure-library.pom.template:
--------------------------------------------------------------------------------
1 |
4 | 4.0.0
5 | org.clojure
6 | google-closure-library
7 | RELEASE_VERSION
8 | jar
9 | Google Closure Library
10 |
11 |
12 | org.clojure
13 | pom.contrib
14 | 1.3.0
15 |
16 |
17 | https://github.com/google/closure-library
18 |
19 |
20 | The Google Closure Library is a collection of JavaScript code
21 | designed for use with the Google Closure JavaScript Compiler.
22 |
23 | This non-official distribution was prepared by the ClojureScript
24 | team at https://clojure.org/
25 |
26 |
27 |
28 |
29 | org.clojure
30 | google-closure-library-third-party
31 | RELEASE_VERSION
32 |
33 |
34 |
35 |
36 |
37 | The Apache Software License, Version 2.0
38 | https://www.apache.org/licenses/LICENSE-2.0.html
39 | repo
40 |
41 |
42 |
43 |
44 | Google
45 | https://www.google.com
46 |
47 |
48 |
49 |
50 | Google, Inc.
51 |
52 |
53 | Mohamed Mansour
54 | hello@mohamedmansour.com
55 |
56 |
57 | Bjorn Tipling
58 | bjorn.tipling@gmail.com
59 |
60 |
61 | SameGoal LLC
62 | help@samegoal.com
63 |
64 |
65 | Guido Tapia
66 | guido.tapia@gmail.com
67 |
68 |
69 | Andrew Mattie
70 | amattie@gmail.com
71 |
72 |
73 | Ilia Mirkin
74 | ibmirkin@gmail.com
75 |
76 |
77 | Ivan Kozik
78 | ivan.kozik@gmail.com
79 |
80 |
81 | Rich Dougherty
82 | rich@rd.gen.nz
83 |
84 |
85 |
86 |
87 | scm:https://github.com/google/closure-library.git
88 |
89 |
90 | scm:git:https://github.com/google/closure-library.git
91 |
92 | https://github.com/google/closure-library
93 |
94 |
95 |
96 | code.google.com
97 | https://github.com/google/closure-library/issues
98 |
99 |
100 |
101 |
--------------------------------------------------------------------------------
/script/closure-library-release/google-closure-library-third-party.pom.template:
--------------------------------------------------------------------------------
1 |
4 | 4.0.0
5 | org.clojure
6 | google-closure-library-third-party
7 | RELEASE_VERSION
8 | jar
9 | Google Closure Library Third-Party Extensions
10 |
11 |
12 | org.clojure
13 | pom.contrib
14 | 1.3.0
15 |
16 |
17 | https://github.com/google/closure-library
18 |
19 |
20 | The Google Closure Library is a collection of JavaScript code
21 | designed for use with the Google Closure JavaScript Compiler.
22 |
23 | This non-official distribution was prepared by the ClojureScript
24 | team at https://clojure.org/
25 |
26 | This package contains extensions to the Google Closure Library
27 | using third-party components, which may be distributed under
28 | licenses other than the Apache license. Licenses for individual
29 | library components may be found in source-code comments.
30 |
31 |
32 |
33 |
34 | The Apache Software License, Version 2.0
35 | https://www.apache.org/licenses/LICENSE-2.0.html
36 | repo
37 |
38 | Note: the Google Closure library third-party extensions
39 | contain code under a variety of licenses, which may be found
40 | in source-code comments in each file.
41 |
42 |
43 |
44 |
45 |
46 | Google
47 | https://www.google.com
48 |
49 |
50 |
51 |
52 | Google, Inc.
53 |
54 |
55 | Mohamed Mansour
56 | hello@mohamedmansour.com
57 |
58 |
59 | Bjorn Tipling
60 | bjorn.tipling@gmail.com
61 |
62 |
63 | SameGoal LLC
64 | help@samegoal.com
65 |
66 |
67 | Guido Tapia
68 | guido.tapia@gmail.com
69 |
70 |
71 | Andrew Mattie
72 | amattie@gmail.com
73 |
74 |
75 | Ilia Mirkin
76 | ibmirkin@gmail.com
77 |
78 |
79 | Ivan Kozik
80 | ivan.kozik@gmail.com
81 |
82 |
83 | Rich Dougherty
84 | rich@rd.gen.nz
85 |
86 |
87 |
88 |
89 | scm:https://github.com/google/closure-library.git
90 |
91 |
92 | scm:git:https://github.com/google/closure-library.git
93 |
94 | https://github.com/google/closure-library
95 |
96 |
97 |
98 | code.google.com
99 | https://github.com/google/closure-library/issues
100 |
101 |
102 |
103 |
--------------------------------------------------------------------------------
/script/closure-library-release/closure-library-release.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | set -e
4 |
5 | ### Constants
6 |
7 | POM_TEMPLATE_FILE="google-closure-library.pom.template"
8 | THIRD_PARTY_POM_TEMPLATE_FILE="google-closure-library-third-party.pom.template"
9 | GIT_CLONE_URL="https://github.com/clojure/closure-library.git"
10 |
11 | ### Functions
12 |
13 | function print_usage {
14 | echo "Usage: ./make-closure-library-jars.sh
15 |
16 | is the root directory of the Google Closure library
17 | Git repository."
18 | }
19 |
20 | ### MAIN SCRIPT BEGINS HERE
21 |
22 | ## Command-line validation
23 |
24 | if [[ ! -e $POM_TEMPLATE_FILE || ! -e $THIRD_PARTY_POM_TEMPLATE_FILE ]]; then
25 | echo "This script must be run from the directory containing
26 | google-closure-library.pom.template and
27 | google-closure-library-third-party.pom.template"
28 | exit 1
29 | fi
30 |
31 | ## Fetch the Git repo
32 |
33 | closure_library_dir="closure-library"
34 |
35 | if [[ ! -d $closure_library_dir ]]; then
36 | git clone "$GIT_CLONE_URL" "$closure_library_dir"
37 | fi
38 |
39 | (
40 | cd "$closure_library_dir"
41 | git clean -fdx
42 | git checkout master
43 | git pull
44 | )
45 |
46 | closure_library_base="$closure_library_dir/closure"
47 | third_party_base="$closure_library_dir/third_party/closure"
48 |
49 | if [[ ! -d $closure_library_base || ! -d $third_party_base ]]; then
50 | echo "$closure_library_dir does not look like the Closure library"
51 | exit 1
52 | fi
53 |
54 | ## Working directory
55 |
56 | now=$(date "+%Y%m%d%H%M%S")
57 | work_dir="tmp-build"
58 |
59 | echo "Working directory: $work_dir"
60 |
61 | rm -rf "$work_dir"
62 | mkdir "$work_dir"
63 |
64 | ## Git parsing for release version
65 |
66 | commit_details=$(cd "$closure_library_dir"; git log -n 1 '--pretty=format:%H %ci')
67 |
68 | commit_short_sha=${commit_details:0:8}
69 | commit_date="${commit_details:41:4}${commit_details:46:2}${commit_details:49:2}"
70 | release_version="0.0-${commit_date}-${commit_short_sha}"
71 |
72 | echo "HEAD commit: $commit_details"
73 | echo "Date: $commit_date"
74 | echo "Short SHA: $commit_short_sha"
75 | echo "Release version: $release_version"
76 |
77 | ## Creating directories
78 |
79 | project_dir="$work_dir/google-closure-library"
80 | src_dir="$project_dir/src/main/resources"
81 |
82 | third_party_project_dir="$work_dir/google-closure-library-third-party"
83 | third_party_src_dir="$third_party_project_dir/src/main/resources"
84 |
85 | mkdir -p "$src_dir" "$third_party_src_dir"
86 |
87 | ## Generate deps.js
88 | ../closure_deps_graph.sh
89 |
90 | ## Normalize deps.js
91 | perl -p -i -e 's/\]\);/\], \{\}\);/go' \
92 | "$closure_library_base/goog/deps.js"
93 |
94 | perl -p -i -e 's/..\/..\/third_party\/closure\/goog\///go' \
95 | "$closure_library_base/goog/deps.js"
96 |
97 | perl -p -i -e "s/goog.addDependency\('base.js', \[\], \[\], \{\}\);/goog.addDependency\(\'base.js\', \[\'goog\'\], \[\], \{\}\);/go" \
98 | "$closure_library_base/goog/deps.js"
99 |
100 | ## Copy Closure sources
101 |
102 | cp -r \
103 | "$closure_library_dir/AUTHORS" \
104 | "$closure_library_dir/LICENSE" \
105 | "$closure_library_dir/README.md" \
106 | "$closure_library_dir/closure/goog" \
107 | "$src_dir"
108 |
109 | cp -r \
110 | "$closure_library_dir/AUTHORS" \
111 | "$closure_library_dir/LICENSE" \
112 | "$closure_library_dir/README.md" \
113 | "$closure_library_dir/third_party/closure/goog" \
114 | "$third_party_src_dir"
115 |
116 | ## Modify main deps.js for third-party JAR; see CLJS-276:
117 |
118 | perl -p -i -e 's/..\/..\/third_party\/closure\/goog\///go' \
119 | "$src_dir/goog/deps.js"
120 |
121 | ## Remove empty third-party deps.js and base.js
122 |
123 | rm -f \
124 | "$third_party_src_dir/goog/deps.js" \
125 | "$third_party_src_dir/goog/base.js"
126 |
127 | ## Generate the POM files:
128 |
129 | perl -p -e "s/RELEASE_VERSION/$release_version/go" \
130 | "$POM_TEMPLATE_FILE" \
131 | > "$project_dir/pom.xml"
132 |
133 | perl -p -e "s/RELEASE_VERSION/$release_version/go" \
134 | "$THIRD_PARTY_POM_TEMPLATE_FILE" \
135 | > "$third_party_project_dir/pom.xml"
136 |
137 | ## Deploy the files if we are on Hudson
138 |
139 | if [ "$HUDSON" = "true" ]; then
140 | (
141 | cd "$third_party_project_dir"
142 | mvn -ntp -B --fail-at-end \
143 | -Psonatype-oss-release \
144 | -Dsource.skip=true \
145 | clean deploy
146 | )
147 |
148 | (
149 | cd "$project_dir"
150 | mvn -ntp -B --fail-at-end \
151 | -Psonatype-oss-release \
152 | -Dsource.skip=true \
153 | clean deploy
154 | )
155 |
156 | echo "Now log in to https://oss.sonatype.org/ to release"
157 | echo "the staging repository."
158 | else
159 | echo "Not on Hudson, local Maven install"
160 | (
161 | cd "$third_party_project_dir"
162 | mvn clean
163 | mvn -ntp -B package
164 | mvn -B install:install-file -Dfile=./target/google-closure-library-third-party-$release_version.jar -DpomFile=pom.xml
165 | )
166 | (
167 | cd "$project_dir"
168 | mvn clean
169 | mvn -ntp -B package
170 | mvn -B install:install-file -Dfile=./target/google-closure-library-$release_version.jar -DpomFile=pom.xml
171 | )
172 | fi
173 |
--------------------------------------------------------------------------------
/pom.template.xml:
--------------------------------------------------------------------------------
1 |
2 | 4.0.0
3 | org.clojure
4 | clojurescript
5 |
6 | CLOJURESCRIPT_VERSION
7 | jar
8 | ClojureScript
9 |
10 | https://github.com/clojure/clojurescript
11 |
12 |
13 | ClojureScript compiler and core runtime library.
14 |
15 |
16 |
17 |
18 | Eclipse Public License 1.0
19 | http://opensource.org/licenses/eclipse-1.0.php
20 | repo
21 |
22 |
23 |
24 |
25 |
26 | org.clojure
27 | clojure
28 | 1.10.0
29 |
30 |
31 | com.google.javascript
32 | closure-compiler-unshaded
33 | v20220502
34 |
35 |
36 | org.clojure
37 | google-closure-library
38 | 0.0-20230227-c7c0a541
39 |
40 |
41 | org.clojure
42 | tools.reader
43 | 1.3.6
44 |
45 |
46 | com.cognitect
47 | transit-java
48 | 1.0.362
49 |
50 |
51 | org.clojure
52 | clojure
53 |
54 |
55 |
56 |
57 | org.clojure
58 | test.check
59 | 1.1.1
60 | test
61 |
62 |
63 | org.clojure
64 | clojure
65 |
66 |
67 |
68 |
69 |
70 |
71 | Aaron Bedra
72 | Alan Dipert
73 | Alex Dowad
74 | Alan Malloy
75 | Alen Ribic
76 | Alex Redington
77 | Ambrose Bonnaire-Sergeant
78 | Andrew Rosa
79 | Antonin Hildebrand
80 | Ben Moss
81 | Benjamin Meyer
82 | Bo Jeanes
83 | Bobby Calderwood
84 | Brandon Bloom
85 | Brenton Ashworth
86 | Brian Jenkins
87 | Brian Kim
88 | Brian Taylor
89 | Bruce Hauman
90 | Chad Taylor
91 | Chas Emerick
92 | Charles Duffy
93 | Chris Granger
94 | Chris Pickard
95 | Chris Houser
96 | Chris Truter
97 | Christopher Redinger
98 | Colin Jones
99 | Creighton Kirkendall
100 | David Nolen
101 | Daniel Compton
102 | Daniel Skarda
103 | Dave Sann
104 | Devin Walters
105 | Dylan Butman
106 | Edward Tsech
107 | Eric Normand
108 | Eric Thorsen
109 | Erik Ouchterlony
110 | Evan Mezeske
111 | Francis Avila
112 | Frank Failla
113 | Francoise De Serre
114 | Gary Fredericks
115 | Gary Trakhman
116 | Herwig Hochleitner
117 | Hubert Iwaniuk
118 | Hugo Duncan
119 | Immo Heikkinen
120 | Ivan Willig
121 | J. Pablo Fernandez
122 | Jamie Brandon
123 | Jeff Dik
124 | Jess Martin
125 | Joel Holdbrooks
126 | Joel Martin
127 | John Li
128 | Jonas De Vuyst
129 | Jonas Enlund
130 | Jonathan Boston
131 | Jozef Wagner
132 | Juergen Hoetzel
133 | Juho Teperi
134 | Julian Eluard
135 | Justin Tirrell
136 | Kovas Boguta
137 | Kevin J. Lynagh
138 | Laszlo Toeroek
139 | Leon Grapenthin
140 | Luke VanderHart
141 | Maria Geller
142 | Martin Klepsch
143 | Matjaz Gregoric
144 | Max Gonzih
145 | Max Penet
146 | Max Veytsman
147 | Michael Ballantyne
148 | Michael Fogus
149 | Michael Glaesemann
150 | Michael Griffiths
151 | Michael O. Church
152 | Michał Marczyk
153 | Michiel Borkent
154 | Mike Fikes
155 | Moritz Ulrich
156 | Murphy McMahon
157 | Nelson Morris
158 | Nicola Mometto
159 | Nikita Prokopov
160 | Osbert Feng
161 | Paul Michael Bauer
162 | Paul deGrandis
163 | Peter Schuck
164 | Peter Stephens
165 | Peter Taoussanis
166 | Pieter van Prooijen
167 | Raphaël Amiard
168 | Raymond Huang
169 | Rich Hickey
170 | Roman Gonzalez
171 | Roman Scherer
172 | Rupa Shankar
173 | Russ Olsen
174 | Sam Umbach
175 | Samuel Miller
176 | Sean Grove
177 | Sebastien Bensusan
178 | Sean LeBron
179 | Steven Kallstrom
180 | Stuart Halloway
181 | Stuart Mitchell
182 | Stuart Sierra
183 | Takahiro Hozumi
184 | Thomas Heller
185 | Thomas Scheiblauer
186 | Tim Griesser
187 | Timothy Pratley
188 | Toby Crawley
189 | Tom Hickey
190 | Tom Jack
191 | Tom Marble
192 | Travis Thieman
193 | Travis Vachon
194 | Wilkes Joiner
195 | Zachary Allaun
196 | Zach Oakes
197 | Zubair Quraishi
198 |
199 |
200 |
201 | scm:git:git://github.com/clojure/clojurescript.git
202 | scm:git:git@github.com:clojure/clojurescript.git
203 | https://github.com/clojure/clojurescript
204 |
205 |
206 |
207 | UTF-8
208 | src/main/clojure
209 | src/main/cljs
210 | src/main/cljs
211 | resources
212 | true
213 |
214 |
215 |
216 |
217 | central
218 | https://central.sonatype.com
219 |
220 |
221 | central-snapshot
222 | https://central.sonatype.com/repository/maven-snapshots/
223 |
224 |
225 |
226 |
227 |
228 |
229 | org.apache.maven.plugins
230 | maven-source-plugin
231 | 3.3.1
232 |
233 |
234 | attach-sources
235 | package
236 |
237 | jar
238 |
239 |
240 |
241 |
242 |
243 |
244 |
245 | org.codehaus.mojo
246 | build-helper-maven-plugin
247 | 3.0.0
248 |
249 |
250 | add-clojure-source-dirs
251 | generate-sources
252 |
253 | add-source
254 | add-resource
255 |
256 |
257 |
258 | ${clojure.source.dir}
259 | ${cljs.source.dir}
260 |
261 |
262 |
263 | ${clojure.source.dir}
264 |
265 |
266 | ${cljs.source.dir}
267 |
268 |
269 | ${resources.dir}
270 |
271 |
272 |
273 |
274 |
275 |
276 |
277 | com.theoryinpractise
278 | clojure-maven-plugin
279 | 1.8.3
280 |
281 | false
282 |
283 |
284 |
285 | clojure-compile
286 | compile
287 |
288 | compile
289 |
290 |
291 | true
292 |
293 | !cljs.vendor.bridge
294 |
295 |
296 |
297 |
298 |
299 |
300 | maven-jar-plugin
301 | 3.4.2
302 |
303 |
304 |
305 | cljs.main
306 |
307 |
308 |
309 |
310 |
311 | default-jar
312 | package
313 |
314 | jar
315 |
316 |
317 |
318 | **/*.clj
319 | **/*.cljc
320 | **/*.cljs
321 | **/*.js
322 | **/*.map
323 | **/*.edn
324 | **/*.svg
325 | **/*.png
326 |
327 |
328 |
329 |
330 | javadoc-jar
331 | package
332 |
333 | jar
334 |
335 |
336 |
337 | **
338 |
339 | javadoc
340 |
341 |
342 |
343 |
344 |
345 | maven-assembly-plugin
346 | 3.7.1
347 |
348 |
349 | aot-jar
350 | package
351 |
352 | single
353 |
354 |
355 | false
356 |
357 | src/assembly/aot.xml
358 |
359 |
360 |
361 |
362 | slim-jar
363 | package
364 |
365 | single
366 |
367 |
368 |
369 | src/assembly/slim.xml
370 |
371 |
372 |
373 |
374 |
375 |
376 | org.apache.maven.plugins
377 | maven-gpg-plugin
378 | 3.1.0
379 |
380 |
381 | --pinentry-mode
382 | loopback
383 |
384 |
385 |
386 |
387 | org.apache.maven.plugins
388 | maven-compiler-plugin
389 | 3.8.1
390 |
391 | 21
392 | 21
393 |
394 |
395 |
396 |
397 |
401 | org.apache.maven.plugins
402 | maven-release-plugin
403 | 2.5.3
404 |
405 |
406 |
407 |
408 |
409 |
410 | org.sonatype.central
411 | central-publishing-maven-plugin
412 | 0.7.0
413 | true
414 |
415 | central
416 | true
417 |
418 |
419 |
420 |
421 |
422 |
423 |
424 |
425 | sign
426 |
427 |
428 |
429 |
430 | org.apache.maven.plugins
431 | maven-gpg-plugin
432 | 1.5
433 |
434 |
435 | sign-artifacts
436 | verify
437 |
438 | sign
439 |
440 |
441 |
442 |
443 |
444 |
445 |
446 |
447 |
448 |
--------------------------------------------------------------------------------