mirror of
https://github.com/penpot/penpot.git
synced 2025-05-03 13:55:54 +02:00
🎉 Add build date and changelog to the bundle
This commit is contained in:
parent
2af057a79f
commit
b2607b28ff
8 changed files with 37 additions and 3 deletions
|
@ -42,6 +42,9 @@
|
||||||
|
|
||||||
io.sentry/sentry {:mvn/version "5.6.1"}
|
io.sentry/sentry {:mvn/version "5.6.1"}
|
||||||
|
|
||||||
|
dawran6/emoji {:mvn/version "0.1.5"}
|
||||||
|
markdown-clj/markdown-clj {:mvn/version "1.11.0"}
|
||||||
|
|
||||||
;; Pretty Print specs
|
;; Pretty Print specs
|
||||||
pretty-spec/pretty-spec {:mvn/version "0.1.4"}
|
pretty-spec/pretty-spec {:mvn/version "0.1.4"}
|
||||||
software.amazon.awssdk/s3 {:mvn/version "2.17.136"}}
|
software.amazon.awssdk/s3 {:mvn/version "2.17.136"}}
|
||||||
|
|
|
@ -8,6 +8,7 @@ rm -rf target;
|
||||||
mkdir -p target/classes;
|
mkdir -p target/classes;
|
||||||
mkdir -p target/dist;
|
mkdir -p target/dist;
|
||||||
echo "$CURRENT_VERSION" > target/classes/version.txt;
|
echo "$CURRENT_VERSION" > target/classes/version.txt;
|
||||||
|
cp ../CHANGES.md target/classes/changelog.md;
|
||||||
|
|
||||||
clojure -T:build jar;
|
clojure -T:build jar;
|
||||||
mv target/penpot.jar target/dist/penpot.jar
|
mv target/penpot.jar target/dist/penpot.jar
|
||||||
|
|
|
@ -145,6 +145,7 @@
|
||||||
|
|
||||||
["/dbg" {:middleware [(:middleware session)]}
|
["/dbg" {:middleware [(:middleware session)]}
|
||||||
["" {:handler (:index debug)}]
|
["" {:handler (:index debug)}]
|
||||||
|
["/changelog" {:handler (:changelog debug)}]
|
||||||
["/error-by-id/:id" {:handler (:retrieve-error debug)}]
|
["/error-by-id/:id" {:handler (:retrieve-error debug)}]
|
||||||
["/error/:id" {:handler (:retrieve-error debug)}]
|
["/error/:id" {:handler (:retrieve-error debug)}]
|
||||||
["/error" {:handler (:retrieve-error-list debug)}]
|
["/error" {:handler (:retrieve-error-list debug)}]
|
||||||
|
|
|
@ -22,8 +22,11 @@
|
||||||
[clojure.spec.alpha :as s]
|
[clojure.spec.alpha :as s]
|
||||||
[cuerdas.core :as str]
|
[cuerdas.core :as str]
|
||||||
[datoteka.core :as fs]
|
[datoteka.core :as fs]
|
||||||
|
[emoji.core :as emj]
|
||||||
[fipp.edn :as fpp]
|
[fipp.edn :as fpp]
|
||||||
[integrant.core :as ig]
|
[integrant.core :as ig]
|
||||||
|
[markdown.core :as md]
|
||||||
|
[markdown.transformers :as mdt]
|
||||||
[promesa.core :as p]
|
[promesa.core :as p]
|
||||||
[promesa.exec :as px]
|
[promesa.exec :as px]
|
||||||
[yetti.request :as yrq]
|
[yetti.request :as yrq]
|
||||||
|
@ -213,6 +216,18 @@
|
||||||
(db/exec-one! conn ["select count(*) as count from server_prop;"])
|
(db/exec-one! conn ["select count(*) as count from server_prop;"])
|
||||||
(yrs/response 200 "OK")))
|
(yrs/response 200 "OK")))
|
||||||
|
|
||||||
|
(defn changelog
|
||||||
|
[_ _]
|
||||||
|
(letfn [(transform-emoji [text state]
|
||||||
|
[(emj/emojify text) state])
|
||||||
|
(md->html [text]
|
||||||
|
(md/md-to-html-string text :replacement-transformers (into [transform-emoji] mdt/transformer-vector)))]
|
||||||
|
(if-let [clog (io/resource "changelog.md")]
|
||||||
|
(yrs/response :status 200
|
||||||
|
:headers {"content-type" "text/html; charset=utf-8"}
|
||||||
|
:body (-> clog slurp md->html))
|
||||||
|
(yrs/response :status 404 :body "NOT FOUND"))))
|
||||||
|
|
||||||
(defn- wrap-async
|
(defn- wrap-async
|
||||||
[{:keys [executor] :as cfg} f]
|
[{:keys [executor] :as cfg} f]
|
||||||
(fn [request respond raise]
|
(fn [request respond raise]
|
||||||
|
@ -230,4 +245,5 @@
|
||||||
:retrieve-file-changes (wrap-async cfg retrieve-file-changes)
|
:retrieve-file-changes (wrap-async cfg retrieve-file-changes)
|
||||||
:retrieve-error (wrap-async cfg retrieve-error)
|
:retrieve-error (wrap-async cfg retrieve-error)
|
||||||
:retrieve-error-list (wrap-async cfg retrieve-error-list)
|
:retrieve-error-list (wrap-async cfg retrieve-error-list)
|
||||||
:file-data (wrap-async cfg file-data)})
|
:file-data (wrap-async cfg file-data)
|
||||||
|
:changelog (wrap-async cfg changelog)})
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
window.penpotTranslations = JSON.parse({{& translations}});
|
window.penpotTranslations = JSON.parse({{& translations}});
|
||||||
window.penpotThemes = {{& themes}};
|
window.penpotThemes = {{& themes}};
|
||||||
window.penpotVersion = "%version%";
|
window.penpotVersion = "%version%";
|
||||||
|
window.penpotBuildDate = "%buildDate%";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
{{# manifest}}
|
{{# manifest}}
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
CURRENT_VERSION=$1;
|
CURRENT_VERSION=$1;
|
||||||
|
BUILD_DATE=$(date -R);
|
||||||
CURRENT_HASH=${CURRENT_HASH:-$(git rev-parse --short HEAD)};
|
CURRENT_HASH=${CURRENT_HASH:-$(git rev-parse --short HEAD)};
|
||||||
EXTRA_PARAMS=$SHADOWCLJS_EXTRA_PARAMS;
|
EXTRA_PARAMS=$SHADOWCLJS_EXTRA_PARAMS;
|
||||||
|
|
||||||
|
@ -14,4 +15,4 @@ npx gulp dist:clean || exit 1;
|
||||||
npx gulp dist:copy || exit 1;
|
npx gulp dist:copy || exit 1;
|
||||||
|
|
||||||
sed -i -re "s/\%version\%/$CURRENT_VERSION/g" ./target/dist/index.html;
|
sed -i -re "s/\%version\%/$CURRENT_VERSION/g" ./target/dist/index.html;
|
||||||
|
sed -i -re "s/\%buildDate\%/$BUILD_DATE/g" ./target/dist/index.html;
|
||||||
|
|
|
@ -68,6 +68,13 @@
|
||||||
(-> (obj/get global "penpotVersion")
|
(-> (obj/get global "penpotVersion")
|
||||||
(v/parse)))
|
(v/parse)))
|
||||||
|
|
||||||
|
(defn parse-build-date
|
||||||
|
[global]
|
||||||
|
(let [date (obj/get global "penpotBuildDate")]
|
||||||
|
(if (= date "%buildDate%")
|
||||||
|
"unknown"
|
||||||
|
date)))
|
||||||
|
|
||||||
;; --- Globar Config Vars
|
;; --- Globar Config Vars
|
||||||
|
|
||||||
(def default-theme "default")
|
(def default-theme "default")
|
||||||
|
@ -83,6 +90,7 @@
|
||||||
(def sentry-dsn (obj/get global "penpotSentryDsn"))
|
(def sentry-dsn (obj/get global "penpotSentryDsn"))
|
||||||
(def onboarding-form-id (obj/get global "penpotOnboardingQuestionsFormId"))
|
(def onboarding-form-id (obj/get global "penpotOnboardingQuestionsFormId"))
|
||||||
|
|
||||||
|
(def build-date (parse-build-date global))
|
||||||
(def flags (atom (parse-flags global)))
|
(def flags (atom (parse-flags global)))
|
||||||
(def version (atom (parse-version global)))
|
(def version (atom (parse-version global)))
|
||||||
(def target (atom (parse-target global)))
|
(def target (atom (parse-target global)))
|
||||||
|
|
|
@ -33,7 +33,10 @@
|
||||||
(log/set-level! :app :info)
|
(log/set-level! :app :info)
|
||||||
|
|
||||||
(when (= :browser @cf/target)
|
(when (= :browser @cf/target)
|
||||||
(log/info :message "Welcome to penpot" :version (:full @cf/version) :public-uri (str cf/public-uri)))
|
(log/info :message "Welcome to penpot"
|
||||||
|
:version (:full @cf/version)
|
||||||
|
:build-date cf/build-date
|
||||||
|
:public-uri (str cf/public-uri)))
|
||||||
|
|
||||||
(declare reinit)
|
(declare reinit)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue