|
1 | 1 | (ns docker-clojure.docker |
2 | 2 | (:require [clojure.java.shell :refer [sh with-sh-dir]] |
| 3 | + [clojure.spec.alpha :as s] |
3 | 4 | [clojure.string :as str] |
4 | 5 | [docker-clojure.config :as cfg] |
5 | 6 | [docker-clojure.core :as-alias core] |
6 | 7 | [docker-clojure.dockerfile :as df] |
| 8 | + [docker-clojure.log :refer [log]] |
7 | 9 | [docker-clojure.util :refer [get-or-default]] |
8 | | - [docker-clojure.log :refer [log]])) |
| 10 | + [docker-clojure.variant :as-alias variant])) |
9 | 11 |
|
10 | 12 | (defn pull-image [image] |
11 | 13 | (sh "docker" "pull" image)) |
|
98 | 100 | (defn all-tags |
99 | 101 | "Returns all Docker tags for the given variant" |
100 | 102 | [variant] |
101 | | - (let [short-tag (:docker-tag variant) |
102 | | - full-tag (full-tag variant) |
103 | | - base (into #{} [short-tag full-tag])] |
| 103 | + (let [short-tag (:docker-tag variant) |
| 104 | + full-tag (full-tag variant) |
| 105 | + base (into #{} [short-tag full-tag])] |
104 | 106 | (-> base |
105 | 107 | (conj |
106 | 108 | (tag {:omit-jdk? true} variant) |
|
109 | 111 | (tag {:omit-distro? true} variant) |
110 | 112 | (tag {:omit-distro? true, :omit-build-tool-version? true} variant) |
111 | 113 | (tag {:omit-jdk? true, :omit-build-tool-version? true} variant) |
112 | | - (tag {:omit-jdk? true, :omit-distro? true |
| 114 | + (tag {:omit-jdk? true, :omit-distro? true |
113 | 115 | :omit-build-tool-version? true} variant)) |
114 | 116 | vec |
115 | 117 | sort))) |
| 118 | + |
| 119 | +(s/fdef all-tags |
| 120 | + :args (s/cat :variant ::variant/variant) |
| 121 | + :ret (s/coll-of ::cfg/docker-tag)) |
0 commit comments