File: project.clj

package info (click to toggle)
ssl-utils-clojure 3.1.0-4
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 564 kB
  • sloc: java: 1,264; sh: 25; makefile: 22
file content (74 lines) | stat: -rw-r--r-- 3,829 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
(defn deploy-info
  [url]
  { :url url
    :username :env/clojars_jenkins_username
    :password :env/clojars_jenkins_password
    :sign-releases false})

(defproject puppetlabs/ssl-utils "3.1.0"
  :url "http://www.github.com/puppetlabs/jvm-ssl-utils"

  :description "SSL certificate management on the JVM."

  :min-lein-version "2.9.1"

  ;; Abort when version ranges or version conflicts are detected in
  ;; dependencies. Also supports :warn to simply emit warnings.
  :pedantic? :abort

  :dependencies [[org.clojure/clojure "1.10.x"]
                 [org.clojure/tools.logging "debian"]
                 [commons-codec "debian"]
                 [clj-time "debian"]
                 [puppetlabs/i18n "debian"]
                 [prismatic/schema "debian"]

                 [com.fasterxml.jackson.core/jackson-core "2.x"]
                 [com.fasterxml.jackson.dataformat/jackson-dataformat-smile "2.x"]
                 [com.fasterxml.jackson.dataformat/jackson-dataformat-cbor "2.x"]]

  :source-paths ["src/clojure"]
  :java-source-paths ["src/java"]
  :jar-exclusions [#".*\.java$"]

  ;; By declaring a classifier here and a corresponding profile below we'll get an additional jar
  ;; during `lein jar` that has all the source code (including the java source). Downstream projects can then
  ;; depend on this source jar using a :classifier in their :dependencies.
  :classifiers [["sources" :sources-jar]]

  :profiles {:dev {:dependencies [[org.bouncycastle/bcpkix "debian"]]
                   :resource-paths ["test-resources"]}

             ;; per https://github.com/technomancy/leiningen/issues/1907
             ;; the provided profile is necessary for lein jar / lein install
             :provided {:dependencies [[org.bouncycastle/bcpkix "debian"]]
                        :resource-paths ["test-resources"]}

             :fips {:dependencies [[org.bouncycastle/bctls-fips]
                                   [org.bouncycastle/bcpkix-fips]
                                   [org.bouncycastle/bc-fips]]
                    ;; this only ensures that we run with the proper profiles
                    ;; during testing. This JVM opt will be set in the puppet module
                    ;; that sets up the JVM classpaths during installation.
                    :jvm-opts ~(let [version (System/getProperty "java.version")
                                     [major minor _] (clojure.string/split version #"\.")
                                     unsupported-ex (ex-info "Unsupported major Java version. Expects 8 or 11."
                                                      {:major major
                                                       :minor minor})]
                                 (condp = (java.lang.Integer/parseInt major)
                                   1 (if (= 8 (java.lang.Integer/parseInt minor))
                                       ["-Djava.security.properties==jdk8-fips-security"]
                                       (throw unsupported-ex))
                                   11 ["-Djava.security.properties==jdk11-fips-security"]
                                   (throw unsupported-ex)))
                    :resource-paths ["test-resources"]}

             :sources-jar {:java-source-paths ^:replace []
                           :jar-exclusions ^:replace []
                           :source-paths ^:replace ["src/clojure" "src/java"]}}

  :plugins [[puppetlabs/i18n "debian" :exclusions [[org.clojure/clojure]
                                                   [com.fasterxml.jackson.core/jackson-core]
                                                   [com.fasterxml.jackson.dataformat/jackson-dataformat-smile]
                                                   [com.fasterxml.jackson.dataformat/jackson-dataformat-cbor]]]]
  :local-repo "debian/maven-repo")