Skip to content

Commit

Permalink
Use Tools Build
Browse files Browse the repository at this point in the history
  • Loading branch information
alexanderkiel committed Dec 11, 2022
1 parent 814ff40 commit ec8e623
Show file tree
Hide file tree
Showing 28 changed files with 209 additions and 97 deletions.
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ RUN apt-get update && apt-get upgrade -y && \
rm -rf /var/lib/apt/lists/

RUN mkdir -p /app/data && chown 1001:1001 /app/data
COPY target/blaze-standalone.jar /app/
COPY target/blaze-0.18.4-standalone.jar /app/

WORKDIR /app
USER 1001
Expand All @@ -16,4 +16,4 @@ ENV INDEX_DB_DIR="/app/data/index"
ENV TRANSACTION_DB_DIR="/app/data/transaction"
ENV RESOURCE_DB_DIR="/app/data/resource"

CMD ["java", "-jar", "blaze-standalone.jar", "-m", "blaze.core"]
CMD ["java", "-jar", "blaze-0.18.4-standalone.jar"]
16 changes: 11 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,10 @@ lint-root:

lint: $(MODULES) lint-root

test-root:
prep:
clojure -X:deps prep

test-root: prep
clojure -M:test:kaocha --profile :ci

test: $(MODULES) test-root
Expand All @@ -20,13 +23,16 @@ clean-root:

clean: $(MODULES) clean-root

uberjar:
clojure -X:depstar uberjar :jar target/blaze-standalone.jar
uberjar: prep
clojure -T:build uber

outdated:
clojure -M:outdated

deps-tree:
clojure -Stree
clojure -X:deps tree

deps-list:
clojure -X:deps list

.PHONY: $(MODULES) lint-root lint test-root test test-coverage clean-root clean uberjar outdated deps-tree
.PHONY: $(MODULES) lint-root lint prep test-root test test-coverage clean-root clean uberjar outdated deps-tree deps-list
41 changes: 41 additions & 0 deletions build.clj
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
(ns build
(:require [clojure.tools.build.api :as b]))

(def lib 'samply/blaze)
(def version "0.18.4")
(def class-dir "target/classes")
(def basis (b/create-basis {:project "deps.edn"}))
(def uber-file (format "target/%s-%s-standalone.jar" (name lib) version))

(defn clean [_]
(b/delete {:path "target"}))

(defn uber [_]
(clean nil)
(b/copy-dir {:src-dirs ["src" "resources"]
:target-dir class-dir})
(b/compile-clj {:basis basis
:src-dirs ["src"]
:class-dir class-dir
:compile-opts
{:direct-linking true
:elide-meta [:doc :file :line :added]}})
(b/uber {:class-dir class-dir
:uber-file uber-file
:basis basis
:main 'blaze.core
:exclude
["^about.html"
"^META-INF/versions/\\d+/module-info.class"
"^HISTORY-JAVA.md"
"^dse_protocol_v\\d.spec"
"^native_protocol_v\\d.spec"
".*-musl.so$"
".*-ppc64le.so$"
".*-s390x.so$"
".*-linux32.so$"
".*.dll$"
".*.jnilib$"]
:conflict-handlers
{"META-INF/io.netty.versions.properties" :append
:default :warn}}))
10 changes: 5 additions & 5 deletions deps.edn
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,11 @@
{:mvn/version "2.0.5"}}

:aliases
{:depstar
{:replace-deps
{com.github.seancorfield/depstar
{:mvn/version "2.1.303"}}
:ns-default hf.depstar}
{:build
{:deps
{io.github.clojure/tools.build
{:git/tag "v0.8.5" :git/sha "9c738da"}}
:ns-default build}

:test
{:extra-paths ["dev" "test"]
Expand Down
6 changes: 3 additions & 3 deletions docs/deployment/manual-deployment.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Blaze runs on the JVM and comes as single JAR file. Download the most recent ver
After the download, you can start blaze with the following command (Linux, macOS):

```sh
java -jar blaze-0.18.4-standalone.jar -m blaze.core
java -jar blaze-0.18.4-standalone.jar
```

Blaze will run with an in-memory, volatile database for testing and demo purposes.
Expand All @@ -17,14 +17,14 @@ Blaze can be run with durable storage by setting the environment variables `STOR
Under Linux/macOS:

```sh
STORAGE=standalone java -jar blaze-0.18.4-standalone.jar -m blaze.core
STORAGE=standalone java -jar blaze-0.18.4-standalone.jar
```

Under Windows, you need to set the Environment variables in the PowerShell before starting Blaze:

```powershell
$Env:STORAGE="standalone"
java -jar blaze-0.18.4-standalone.jar -m blaze.core
java -jar blaze-0.18.4-standalone.jar
```

This will create three directories called `index`, `transaction` and `resource` inside the current working directory, one for each database part used.
Expand Down
2 changes: 1 addition & 1 deletion modules/byte-string/deps.edn
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{:paths ["src" "resources"]
{:paths ["src"]

:deps
{com.google.guava/guava
Expand Down
15 changes: 12 additions & 3 deletions modules/cql/Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
lint:
clj-kondo --lint src test deps.edn

prep:
clojure -X:deps prep

cql-test:
wget http://cql.hl7.org/tests.zip
echo "0d48a7441c43b6ee46e71d73decfa0cf4ea81e2ce70951f20e9163c3bebfc49a tests.zip" | sha256sum --check --status
Expand All @@ -9,13 +12,19 @@ cql-test:
# See: https://github.com/HL7/cql/pull/69
sed -i.bak '277d' cql-test/CqlArithmeticFunctionsTest.xml

test: cql-test
test: cql-test prep
clojure -M:test:kaocha --profile :ci

test-coverage: cql-test
test-coverage: cql-test prep
clojure -M:test:coverage

deps-tree:
clojure -X:deps tree

deps-list:
clojure -X:deps list

clean:
rm -rf .clj-kondo/.cache .cpcache cql-test target

.PHONY: lint test test-coverage clean
.PHONY: lint prep test test-coverage deps-tree deps-list clean
9 changes: 6 additions & 3 deletions modules/db-resource-store-cassandra/Makefile
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
lint:
clj-kondo --lint src test deps.edn

test:
prep:
clojure -X:deps prep

test: prep
clojure -M:test:kaocha --profile :ci

test-coverage:
test-coverage: prep
clojure -M:test:coverage

clean:
rm -rf .clj-kondo/.cache .cpcache target

.PHONY: lint test test-coverage clean
.PHONY: lint prep test test-coverage clean
9 changes: 6 additions & 3 deletions modules/db-resource-store/Makefile
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
lint:
clj-kondo --lint src test deps.edn

test:
prep:
clojure -X:deps prep

test: prep
clojure -M:test:kaocha --profile :ci

test-coverage:
test-coverage: prep
clojure -M:test:coverage

clean:
rm -rf .clj-kondo/.cache .cpcache target

.PHONY: lint test test-coverage clean
.PHONY: lint prep test test-coverage clean
9 changes: 6 additions & 3 deletions modules/db-tx-log-kafka/Makefile
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
lint:
clj-kondo --lint src test deps.edn

test:
prep:
clojure -X:deps prep

test: prep
clojure -M:test:kaocha --profile :ci

test-coverage:
test-coverage: prep
clojure -M:test:coverage

clean:
rm -rf .clj-kondo/.cache .cpcache target

.PHONY: lint test test-coverage clean
.PHONY: lint prep test test-coverage clean
9 changes: 6 additions & 3 deletions modules/db-tx-log/Makefile
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
lint:
clj-kondo --lint src test deps.edn

test:
prep:
clojure -X:deps prep

test: prep
clojure -M:test:kaocha --profile :ci

test-coverage:
test-coverage: prep
clojure -M:test:coverage

clean:
rm -rf .clj-kondo/.cache .cpcache target

.PHONY: lint test test-coverage clean
.PHONY: lint prep test test-coverage clean
9 changes: 6 additions & 3 deletions modules/db/Makefile
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
lint:
clj-kondo --lint src test test-perf deps.edn

test:
prep:
clojure -X:deps prep

test: prep
clojure -M:test:kaocha --profile :ci

test-coverage:
test-coverage: prep
clojure -M:test:coverage

clean:
rm -rf .clj-kondo/.cache .cpcache target

.PHONY: lint test test-coverage clean
.PHONY: lint prep test test-coverage clean
File renamed without changes.
9 changes: 6 additions & 3 deletions modules/interaction/Makefile
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
lint:
clj-kondo --lint src test deps.edn

test:
prep:
clojure -X:deps prep

test: prep
clojure -M:test:kaocha --profile :ci

test-coverage:
test-coverage: prep
clojure -M:test:coverage

clean:
rm -rf .clj-kondo/.cache .cpcache target

.PHONY: lint test test-coverage clean
.PHONY: lint prep test test-coverage clean
9 changes: 6 additions & 3 deletions modules/metrics/Makefile
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
lint:
clj-kondo --lint src test deps.edn

test:
build:
clojure -T:build compile

test: build
clojure -M:test:kaocha --profile :ci

test-coverage:
test-coverage: build
clojure -M:test:coverage

clean:
rm -rf .clj-kondo/.cache .cpcache target

.PHONY: lint test test-coverage clean
.PHONY: lint build test test-coverage clean
12 changes: 12 additions & 0 deletions modules/metrics/build.clj
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
(ns build
(:refer-clojure :exclude [compile])
(:require [clojure.tools.build.api :as b]))


(defn compile [_]
(b/compile-clj
{:basis (b/create-basis
{:project "deps.edn"
:compile-opts {:direct-linking true}})
:class-dir "target/classes"
:ns-compile ['blaze.metrics.Collector]}))
22 changes: 16 additions & 6 deletions modules/metrics/deps.edn
Original file line number Diff line number Diff line change
@@ -1,15 +1,25 @@
{:deps
{:paths ["src" "target/classes"]

:deps
{blaze/module-base
{:local/root "../module-base"}

com.rpl/proxy-plus
{:mvn/version "0.0.8"}

io.prometheus/simpleclient_hotspot
{:mvn/version "0.16.0"}}

:deps/prep-lib
{:alias :build
:fn compile
:ensure "target/classes"}

:aliases
{:test
{:build
{:deps
{io.github.clojure/tools.build
{:git/tag "v0.8.5" :git/sha "9c738da"}}
:ns-default build}

:test
{:extra-paths ["test"]

:extra-deps
Expand All @@ -29,4 +39,4 @@
{:mvn/version "1.2.4"}}

:main-opts ["-m" "cloverage.coverage" "--codecov" "-p" "src" "-s" "test"
"-e" ".*spec$"]}}}
"-e" ".*spec$" -e "blaze.metrics.Collector"]}}}
18 changes: 18 additions & 0 deletions modules/metrics/src/blaze/metrics/Collector.clj
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
(ns blaze.metrics.Collector
(:gen-class
:extends io.prometheus.client.Collector
:constructors {[Object] []}
:init init
:state fn
:main false))


(set! *warn-on-reflection* true)


(defn -init [fn]
[[] fn])


(defn -collect-void [this]
((.-fn ^blaze.metrics.Collector this)))
Loading

0 comments on commit ec8e623

Please sign in to comment.