Skip to content

Commit 3ddf77e

Browse files
committed
Added automated version to code as well
1 parent 2cfd062 commit 3ddf77e

4 files changed

Lines changed: 21 additions & 8 deletions

File tree

build.clj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
(ns build
22
(:require
3+
[clojure.java.io :as io]
34
[clojure.tools.build.api :as b]))
45

56
(def lib 'practitest/practitest-firecracker)
@@ -32,7 +33,10 @@
3233
:ns-compile '[practitest-firecracker.core]
3334
:class-dir class-dir})
3435
(println "Packing JAR file")
36+
(spit (io/file class-dir "practitest_firecracker" "firecracker_version.txt")
37+
version)
3538
(b/uber {:class-dir class-dir
3639
:uber-file uber-file
3740
:basis @basis
41+
:manifest {"Implementation-Version" version}
3842
:main 'practitest-firecracker.core}))

src/practitest_firecracker/api.clj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
[throttler.core :refer [fn-throttler]]
66
[clojure.tools.logging :as log]
77
[practitest-firecracker.const :refer :all]
8-
[practitest-firecracker.utils :refer [exit group-errors pformat transform-keys]]))
8+
[practitest-firecracker.utils :refer [exit group-errors pformat transform-keys get-current-version]]))
99

1010
(def backoff-timeout "Backoff timeout in seconds" 20)
1111
(def max-attempts "Number of attempts to run" 10)
@@ -30,8 +30,8 @@
3030
params (cond-> {:basic-auth credentials
3131
:throw-exceptions false
3232
:as :json}
33-
query-params (assoc :query-params (conj query-params {:source "firecracker" :firecracker-version fc-version}))
34-
form-params (assoc :form-params (conj form-params {:source "firecracker" :firecracker-version fc-version}) :content-type :json))]
33+
query-params (assoc :query-params (conj query-params {:source "firecracker" :firecracker-version (get-current-version)}))
34+
form-params (assoc :form-params (conj form-params {:source "firecracker" :firecracker-version (get-current-version)}) :content-type :json))]
3535
(if (nil? uri)
3636
results
3737
(let [{:keys [status body]} (method uri params)]

src/practitest_firecracker/core.clj

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,11 @@
1010
[practitest-firecracker.parser.core :refer [send-directory parse-files]]
1111
[practitest-firecracker.parser.gherkin :as gherkin]
1212
[practitest-firecracker.api :refer [make-client]]
13-
[practitest-firecracker.utils :refer [exit]]
13+
[practitest-firecracker.utils :refer [exit get-current-version]]
1414
[clojure.pprint :as pprint]
1515
[clojure.java.io :as io]
1616
[clj-time.core :as t]
17-
[clojure.tools.logging :as log]
18-
[practitest-firecracker.const :refer [fc-version]])
17+
[clojure.tools.logging :as log])
1918
(:import (org.slf4j LoggerFactory)
2019
(ch.qos.logback.classic Level Logger))
2120
(:gen-class))
@@ -74,11 +73,11 @@
7473
(pprint/pprint {"=============== args: ===============" args}))
7574

7675
"version"
77-
(log/info "Version: " fc-version)
76+
(log/info "Version:" (get-current-version))
7877

7978
"create-and-populate-testset"
8079
(do
81-
(log/info "Start Running Firecracker, Version: " fc-version)
80+
(log/info "Start Running Firecracker, Version: " (get-current-version))
8281
(timef
8382
"create-and-populate-testset"
8483
(-> (create-testsets client options additional-reports)

src/practitest_firecracker/utils.clj

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
(ns practitest-firecracker.utils
22
(:require
33
[clj-time.core :as t]
4+
[clojure.java.io :as io]
45
[clojure.pprint :as pprint]
56
[clojure.string :as string]
67
[cheshire.core :as json]))
@@ -53,3 +54,12 @@
5354
(assoc a (apply f k args) v))
5455
{}
5556
m)))
57+
58+
(let [version-holder (atom nil)]
59+
(defn get-current-version []
60+
(if-let [cached-version @version-holder]
61+
cached-version
62+
(let [version (if-let [version-file (io/resource "practitest_firecracker/firecracker_version.txt")]
63+
(slurp version-file)
64+
"2.0-Devel")]
65+
(reset! version-holder version)))))

0 commit comments

Comments
 (0)