Skip to content

Commit e87dc2d

Browse files
authored
Merge pull request #5 from liquidz/dev
ver 0.3.2
2 parents d7a9c61 + 931b510 commit e87dc2d

File tree

19 files changed

+233
-96
lines changed

19 files changed

+233
-96
lines changed

.clj-kondo/config.edn

+5-11
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,10 @@
1-
{
2-
:linters {:unresolved-symbol
3-
{:exclude [(clojure.test/is [testdoc])]}
4-
5-
:unused-binding
6-
{:exclude-destructured-keys-in-fn-args true
7-
}
8-
}
1+
{:linters {:unused-binding
2+
{:exclude-destructured-keys-in-fn-args true}}
93

104
:lint-as {merr.core/-> clojure.core/->
11-
merr.core/->> clojure.core/->>
12-
}
5+
merr.core/->> clojure.core/->>}
136

147
:hooks {:analyze-call {merr.core/let hooks.merr/merr-let}}
15-
}
168

9+
:config-paths ["testdoc/testdoc"]
10+
:output {:exclude-files [".cljs_node_repl"]}}

.clj-kondo/testdoc/testdoc/config.edn

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
{:linters {:unresolved-symbol
2+
{:exclude [(clojure.test/is [testdoc])]}}}

.cljstyle

+8-10
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
1-
{
2-
:list-indent-size 1
3-
:insert-padding-lines? false
4-
:indents {core-let [[:block 1]]
5-
s/fdef [[:block 1]]
6-
}
7-
:file-ignore #{".cljs_node_repl"
8-
".cljs_graaljs_repl"}
9-
}
10-
; vim:ft=clojure
1+
{:rules {:indentation {:list-indent 1
2+
:indents {core-let [[:block 1]]
3+
s/fdef [[:block 1]]}}
4+
:blank-lines {:insert-padding? false}
5+
:namespaces {:indent-size 1}}
6+
7+
:files {:ignore #{".cljs_node_repl"
8+
".cljs_graaljs_repl"}}}

.github/workflows/coverage.yml

+4-1
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,13 @@ jobs:
55
runs-on: ubuntu-latest
66
steps:
77
- uses: actions/checkout@v2
8+
- uses: DeLaGuardo/setup-clojure@91054c3b9dc15fdc6a2f45be47405d891e672ef0
9+
with:
10+
tools-deps: '1.10.1.727'
811
- uses: actions/cache@v2
912
with:
1013
path: ~/.m2
11-
key: v1-m2-${{ hashFiles('project.clj') }}
14+
key: coverage-m2-${{ hashFiles('deps.edn') }}-v1
1215
- name: Run cloverage
1316
env:
1417
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

.github/workflows/lint.yml

+8-12
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,19 @@ on: [push]
33
jobs:
44
clj-kondo:
55
runs-on: ubuntu-latest
6-
# container:
7-
# image: borkdude/clj-kondo
8-
# steps:
9-
# - uses: actions/checkout@v2
10-
# - name: lint by clj-kondo
11-
# run: clj-kondo --lint src:test
126
steps:
137
- uses: actions/checkout@v2
14-
# c.f. https://github.com/borkdude/clj-kondo/blob/master/doc/ci-integration.md#linter-output-integration
8+
- uses: DeLaGuardo/setup-clj-kondo@master
9+
with:
10+
version: '2021.01.20'
1511
- name: Lint by clj-kondo
16-
run: docker run --rm -v $(pwd):/tmp/work -w /tmp/work borkdude/clj-kondo clj-kondo --lint src:test --config '{:output {:pattern "::{{level}} file={{filename}},line={{row}},col={{col}}::{{message}}"}}'
12+
run: clj-kondo --lint src:test --config '{:output {:pattern "::{{level}} file={{filename}},line={{row}},col={{col}}::{{message}}"}}'
1713

1814
cljstyle:
1915
runs-on: ubuntu-latest
2016
steps:
2117
- uses: actions/checkout@v2
22-
- run: |
23-
curl -sfLo cljstyle.tar.gz https://github.com/greglook/cljstyle/releases/download/0.12.0/cljstyle_0.12.0_linux.tar.gz
24-
tar xvf cljstyle.tar.gz
25-
./cljstyle check
18+
- uses: 0918nobita/[email protected]
19+
with:
20+
cljstyle-version: 0.14.0
21+
- run: cljstyle check

.github/workflows/test.yml

+28-4
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,37 @@ name: test
22
on: [push]
33

44
jobs:
5-
test:
5+
test-clj:
6+
strategy:
7+
matrix:
8+
java: ['8', '11', '14', '15']
9+
610
runs-on: ubuntu-latest
711
steps:
812
- uses: actions/checkout@v2
13+
- uses: actions/setup-java@v1
14+
with:
15+
java-version: ${{ matrix.java }}
16+
- run: java -version
17+
- uses: DeLaGuardo/setup-clojure@91054c3b9dc15fdc6a2f45be47405d891e672ef0
18+
with:
19+
tools-deps: '1.10.1.727'
20+
- uses: actions/cache@v2
21+
with:
22+
path: ~/.m2
23+
key: test-m2-${{ hashFiles('deps.edn') }}-v1
24+
- name: run test
25+
run: make test-clj
26+
27+
test-cljs:
28+
runs-on: ubuntu-latest
29+
steps:
30+
- uses: actions/checkout@v2
31+
- uses: DeLaGuardo/setup-clojure@91054c3b9dc15fdc6a2f45be47405d891e672ef0
32+
with:
33+
tools-deps: '1.10.1.727'
934
- uses: actions/cache@v2
1035
with:
1136
path: ~/.m2
12-
key: v1-m2-${{ hashFiles('project.clj') }}
13-
- run: lein deps
14-
- run: make test
37+
key: test-m2-${{ hashFiles('deps.edn') }}-v1
38+
- run: make test-cljs

.gitignore

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
/target
22
/classes
33
/checkouts
4-
pom.xml
54
pom.xml.asc
65
*.jar
76
*.class
@@ -16,3 +15,6 @@ pom.xml.asc
1615
.cljs_node_repl
1716
/node_modules
1817
/out
18+
.shadow-cljs
19+
.nrepl.edn
20+
.lsp

Makefile

+31-10
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,19 @@
11
.PHONY: repl prepare clean outdated coverage
22
.PHONY: test test-clj test-cljs
33

4-
VERSION := 1.10.1
5-
POM_FILE=pom.xml
4+
CP=$(shell clojure -A:dev -Spath)
5+
ARTIFACT=target/merr.jar
66

7-
$(POM_FILE):
7+
pom.xml:
88
clj -Spom
99

1010
repl:
11-
iced repl --with-kaocha
11+
iced repl -A:dev --with-kaocha --force-clojure-cli
12+
repl-cljs:
13+
iced repl --force-shadow-cljs app
14+
15+
inspect:
16+
node --inspect target/js/compiled/index.js
1217

1318
node_modules/ws:
1419
npm install
@@ -17,21 +22,37 @@ prepare: node_modules/ws
1722
test: test-clj test-cljs
1823

1924
test-clj:
20-
lein test-clj
25+
clojure -M:dev:1.9:test --focus :unit-clj
26+
clojure -M:dev:test --focus :unit-clj
2127

2228
test-cljs: prepare
23-
lein test-cljs
29+
clojure -M:dev:test --focus :unit-cljs
2430

2531
clean:
26-
lein clean
27-
rm -rf node_modules
32+
rm -rf node_modules target .cpcache .clj-kondo/.cache
2833

2934
lint:
35+
@clj-kondo --no-warnings --lint "$(CP)"
3036
clj-kondo --lint src:test
3137
cljstyle check
3238

3339
outdated:
34-
lein with-profile +antq run -m antq.core
40+
clojure -M:outdated --upgrade
41+
42+
pom:
43+
clojure -Spom
44+
45+
$(ARTIFACT): pom
46+
clojure -X:depstar jar :jar $@
47+
jar: clean $(ARTIFACT)
48+
49+
install: clean $(ARTIFACT)
50+
clojure -X:deploy :installer :local :artifact $(ARTIFACT)
51+
52+
deploy: clean $(ARTIFACT)
53+
echo "Testing if CLOJARS_USERNAME environmental variable exists."
54+
test $(CLOJARS_USERNAME)
55+
clojure -X:deploy :installer :remote :sign-releases? true :artifact $(ARTIFACT)
3556

3657
coverage:
37-
lein cloverage --codecov
58+
clojure -M:coverage:dev --src-ns-path=src --test-ns-path=test --codecov

README.adoc

+12-4
Original file line numberDiff line numberDiff line change
@@ -86,19 +86,27 @@ This library is based on https://adambard.com/blog/acceptable-error-handling-in-
8686

8787
== Integration
8888

89-
=== clj-kondo hooks
89+
=== clj-kondo
9090

91-
See link:.clj-kondo/hooks/merr.clj[.clj-kondo/hooks/merr.clj] for `merr.core/let` macro.
91+
merr provies clj-kondo's configuration and hooks.
92+
To import configurations, run the following command.
93+
94+
[source,console]
95+
----
96+
clj-kondo --no-warnings --lint "$(clojure -Spath -Sdeps '{:deps {merr/merr {:mvn/version "LATEST"}}}')"
97+
----
98+
99+
And update `:config-paths` as below.
92100

93101
[source,clojure]
94102
----
95103
{
96-
:hooks {:analyze-call {merr.core/let hooks.merr/merr-let}}
104+
:config-paths ["testdoc/testdoc"]
97105
}
98106
----
99107

100108
== License
101109

102-
Copyright © 2018-2020 https://twitter.com/uochan[Masashi Iizuka]
110+
Copyright © 2018-2021 https://twitter.com/uochan[Masashi Iizuka]
103111

104112
Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.

deps.edn

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
{:paths ["src" "resources"]
2+
:deps {org.clojure/clojure {:mvn/version "1.10.2"}}
3+
4+
:aliases
5+
{:dev
6+
{:extra-paths ["dev" "test"]
7+
:extra-deps {lambdaisland/kaocha {:mvn/version "1.0.732"}
8+
lambdaisland/kaocha-cljs {:mvn/version "0.0-71"}
9+
testdoc/testdoc {:mvn/version "1.4.1"}
10+
orchestra/orchestra {:mvn/version "2021.01.01-1"}
11+
org.clojure/test.check {:mvn/version "1.1.0"}}}
12+
13+
:1.9
14+
{:override-deps {org.clojure/clojure {:mvn/version "1.9.0"}}}
15+
16+
:test
17+
{:main-opts ["-m" "kaocha.runner"]}
18+
19+
:outdated
20+
{:extra-deps {antq/antq {:mvn/version "RELEASE"}}
21+
:main-opts ["-m" "antq.core"]}
22+
23+
:coverage
24+
{:extra-deps {cloverage/cloverage {:mvn/version "RELEASE"}}
25+
:main-opts ["-m" "cloverage.coverage"]}
26+
27+
:depstar
28+
{:extra-deps {seancorfield/depstar {:mvn/version "RELEASE"}}
29+
:ns-default hf.depstar
30+
:exec-args {}}
31+
32+
:deploy
33+
{:extra-deps {slipset/deps-deploy {;:mvn/version "RELEASE"
34+
:git/url "https://github.com/slipset/deps-deploy"
35+
:sha "49f1da003208d615d52c06164401e6fb3d9ba853"}}
36+
:exec-fn deps-deploy.deps-deploy/deploy
37+
:exec-args {}}}}

dev-cljs/main.cljs

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
(ns main)
2+
3+
(defn -main
4+
[]
5+
nil)

pom.xml

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3+
<modelVersion>4.0.0</modelVersion>
4+
<groupId>merr</groupId>
5+
<artifactId>merr</artifactId>
6+
<packaging>jar</packaging>
7+
<version>0.3.2</version>
8+
<name>merr</name>
9+
<description>Minimal and good enough error handling library for Clojure/ClojureScript</description>
10+
<url>https://github.com/liquidz/merr</url>
11+
<licenses>
12+
<license>
13+
<name>Eclipse Public License</name>
14+
<url>http://www.eclipse.org/legal/epl-v10.html</url>
15+
</license>
16+
</licenses>
17+
<scm>
18+
<url>https://github.com/liquidz/merr</url>
19+
<connection>scm:git:git://github.com/liquidz/merr.git</connection>
20+
<developerConnection>scm:git:ssh://[email protected]/liquidz/merr.git</developerConnection>
21+
</scm>
22+
<build>
23+
<sourceDirectory>src</sourceDirectory>
24+
<testSourceDirectory>test</testSourceDirectory>
25+
<resources>
26+
<resource>
27+
<directory>resources</directory>
28+
</resource>
29+
</resources>
30+
<testResources>
31+
<testResource>
32+
<directory>resources</directory>
33+
</testResource>
34+
</testResources>
35+
<directory>target</directory>
36+
<outputDirectory>target/classes</outputDirectory>
37+
<plugins/>
38+
</build>
39+
<repositories>
40+
<repository>
41+
<id>clojars</id>
42+
<url>https://repo.clojars.org/</url>
43+
</repository>
44+
</repositories>
45+
<dependencyManagement>
46+
<dependencies/>
47+
</dependencyManagement>
48+
<dependencies>
49+
<dependency>
50+
<groupId>org.clojure</groupId>
51+
<artifactId>clojure</artifactId>
52+
<version>1.10.2</version>
53+
</dependency>
54+
</dependencies>
55+
</project>

project.clj

-37
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{:lint-as {merr.core/-> clojure.core/->
2+
merr.core/->> clojure.core/->>}
3+
:hooks {:analyze-call {merr.core/let hooks.merr/merr-let}}}

0 commit comments

Comments
 (0)