Skip to content

Commit baab31e

Browse files
committed
add publish workflow, split nrepl into seperate main function
1 parent 9beed08 commit baab31e

File tree

4 files changed

+90
-16
lines changed

4 files changed

+90
-16
lines changed

.github/workflows/publish.yml

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
on:
2+
push:
3+
tags:
4+
- "v*.*.*"
5+
6+
permissions:
7+
contents: write
8+
9+
jobs:
10+
build:
11+
strategy:
12+
matrix:
13+
config:
14+
- name: mobdap-linux-x86_64
15+
os: ubuntu-24.04
16+
# - name: mobdap-linux-arm64
17+
# os: ubuntu-24.04-arm
18+
# - name: mobdap-windows-x86_64
19+
# os: windows-latest
20+
- name: mobdap-macos-arm64
21+
os: macos-latest
22+
runs-on: ${{ matrix.config.os }}
23+
steps:
24+
- uses: actions/checkout@v4
25+
26+
- name: setup graalvm
27+
uses: graalvm/setup-graalvm@v1
28+
with:
29+
distribution: 'graalvm-community'
30+
java-version: '24'
31+
32+
- name: setup clojure
33+
uses: DeLaGuardo/[email protected]
34+
with:
35+
lein: 2.11.2
36+
37+
- name: build ${{ matrix.config.name }}
38+
run: |
39+
lein set-version ${{ github.ref_name }}
40+
lein native-image
41+
42+
- name: "compress unix: ${{ matrix.config.name }}"
43+
if: matrix.config.os != 'windows-latest'
44+
run: |
45+
tar -czvf ${{ matrix.config.name }}.tar.gz target/native-image/mobdap*
46+
47+
- name: "compress windows: ${{ matrix.config.name }}"
48+
if: matrix.config.os == 'windows-latest'
49+
run: |
50+
Compress-Archive -Path target/native-image/mobdap* -Destination ${{ matrix.config.name }}.zip
51+
52+
- name: "upload unix: ${{ matrix.config.name }}"
53+
if: matrix.config.os != 'windows-latest'
54+
uses: softprops/action-gh-release@v2
55+
with:
56+
files: ${{ matrix.config.name }}.tar.gz
57+
58+
- name: "upload windows: ${{ matrix.config.name }}"
59+
if: matrix.config.os == 'windows-latest'
60+
uses: softprops/action-gh-release@v2
61+
with:
62+
files: ${{ matrix.config.name }}.zip

dev/mobdap/dev.clj

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
(ns mobdap.dev
2+
(:require [mobdap.main :as mobdap]
3+
[nrepl.server :as nrepl]))
4+
5+
(defonce nrepl-server (atom {}))
6+
7+
(defn -main [& args]
8+
(reset! nrepl-server (nrepl/start-server :port (or (System/getenv "NREPL_PORT") 45999)))
9+
(apply mobdap/-main args))

project.clj

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,27 @@
22
:description "Debug Adapter for MobDap"
33
:url "https://github.com/atomicptr/mobdap"
44
:license {:name "GPL-3.0-or-later" :url "https://www.gnu.org/licenses/gpl-3.0.en.html"}
5-
:dependencies [[cheshire/cheshire "6.0.0"]
6-
[clj-stacktrace "0.2.8"]
7-
[com.taoensso/timbre "6.7.1"]
8-
[nrepl "1.3.1"]
9-
[org.clojure/clojure "1.12.1"]
10-
[org.clojure/core.async "1.8.741"]
11-
[org.luaj/luaj-jse "3.0.1"]]
12-
:plugins [[io.taylorwood/lein-native-image "0.3.1"]]
13-
:main ^:skip-aot mobdap.main
5+
:dependencies [[cheshire/cheshire "6.0.0"]
6+
[clj-stacktrace "0.2.8"]
7+
[com.taoensso/timbre "6.7.1"]
8+
[org.clojure/clojure "1.12.1"]
9+
[org.clojure/core.async "1.8.741"]
10+
[org.luaj/luaj-jse "3.0.1"]]
11+
:plugins [[io.taylorwood/lein-native-image "0.3.1"]
12+
[lein-set-version/lein-set-version "0.4.1"]]
1413
:omit-source true
14+
:source-paths ["src"]
1515
:target-path "target/%s"
1616
:native-image {:opts ["--verbose"
1717
"--report-unsupported-elements-at-runtime"
1818
"--initialize-at-build-time"]}
19-
:profiles {:dev {:dependencies [[nubank/matcher-combinators "3.9.1"]]}
20-
:uberjar {:aot :all
21-
:jvm-opts ["-Dclojure.compiler.direct-linking=true"]}
22-
:native-image {:jvm-opts ["-Dclojure.compiler.direct-linking=true"]}})
19+
:profiles {:default {:main mobdap.main}
20+
:dev {:main ^:skip-aot mobdap.dev
21+
:source-paths ["src" "dev"]
22+
:dependencies [[nrepl/nrepl "1.3.1"]]}
23+
:test {:dependencies [[nubank/matcher-combinators "3.9.1"]]}
24+
:uberjar {:aot :all
25+
:jvm-opts ["-Dclojure.compiler.direct-linking=true"]}
26+
:native-image {:name "mobdap"
27+
:aot :all
28+
:jvm-opts ["-Dclojure.compiler.direct-linking=true"]}})

src/mobdap/main.clj

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,10 @@
22
(:require
33
[clojure.java.io :as io]
44
[mobdap.handler :as handler]
5-
[nrepl.server :as nrepl]
65
[taoensso.timbre :as log]
76
[taoensso.timbre.appenders.core :as appenders])
87
(:gen-class))
98

10-
(defonce nrepl-server (nrepl/start-server :port (or (System/getenv "NREPL_PORT") 45999)))
11-
129
(defn- cache-dir []
1310
(or
1411
(System/getenv "XDG_CACHE_HOME")

0 commit comments

Comments
 (0)