Skip to content

Commit 916c4b9

Browse files
committed
added Makefile for maintaining version, updated codemeta.json
1 parent 03424f1 commit 916c4b9

File tree

5 files changed

+144
-28
lines changed

5 files changed

+144
-28
lines changed

CITATION.cff

+10-20
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,10 @@
1-
# YAML 1.2
2-
---
3-
authors:
4-
-
5-
affiliation: "Caltech Library"
6-
family-names: Doiel
7-
given-names: Robert
8-
orcid: "https://orcid.org/0000-0003-0900-6903"
9-
cff-version: "0.0.0"
10-
date-released: 2021-07-13
11-
doi:
12-
keywords:
13-
- libguides
14-
- xml
15-
- json
16-
message: "If you use this software, please cite it using these metadata."
17-
repository-code: "https://github.com/caltechlibrary/pairtree"
18-
title: "pairtree"
19-
version: "1.0.0"
20-
...
1+
2+
cff-version: 1.1.0
3+
message: "If you use this software, please cite it as below."
4+
authors:
5+
- family-names: Doiel
6+
given-names: R. S.
7+
orcid: https://orcid.org/0000-0003-0900-6903
8+
version: 1.0.1
9+
title: pairtree
10+
date-released: 2021-07-27

Makefile

+126
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
#
2+
# Simple Makefile for Golang based Projects.
3+
#
4+
PROJECT = pairtree
5+
6+
PROGRAMS =
7+
8+
PACKAGE = $(shell ls -1 *.go)
9+
10+
#VERSION = $(shell jq .version codemeta.json | cut -d\" -f 2)
11+
VERSION = $(shell grep '"version":' codemeta.json | cut -d\" -f 4)
12+
13+
BRANCH = $(shell git branch | grep '* ' | cut -d\ -f 2)
14+
15+
OS = $(shell uname)
16+
17+
#PREFIX = /usr/local/bin
18+
PREFIX = $(HOME)
19+
20+
ifneq ($(prefix),)
21+
PREFIX = $(prefix)
22+
endif
23+
24+
EXT =
25+
ifeq ($(OS), Windows)
26+
EXT = .exe
27+
endif
28+
29+
build: version.go $(PROGRAMS)
30+
31+
version.go: .FORCE
32+
@echo "package $(PROJECT)" >version.go
33+
@echo '' >>version.go
34+
@echo 'const Version = "$(VERSION)"' >>version.go
35+
@echo '' >>version.go
36+
@git add version.go
37+
@if [ -f bin/codemeta ]; then ./bin/codemeta; fi
38+
39+
$(PROGRAMS): $(PACKAGE)
40+
@mkdir -p bin
41+
go build -o "bin/$@$(EXT)" cmd/$@/*.go
42+
43+
test: $(PACKAGE)
44+
go test
45+
46+
website:
47+
./mk_website.py
48+
49+
status:
50+
git status
51+
52+
save:
53+
@if [ "$(msg)" != "" ]; then git commit -am "$(msg)"; else git commit -am "Quick Save"; fi
54+
git push origin $(BRANCH)
55+
56+
refresh:
57+
git fetch origin
58+
git pull origin $(BRANCH)
59+
60+
publish:
61+
./mk_website.py
62+
bash publish.bash
63+
64+
clean:
65+
@if [ -f version.go ]; then rm version.go; fi
66+
@if [ -d bin ]; then rm -fR bin; fi
67+
@if [ -d dist ]; then rm -fR dist; fi
68+
@if [ -d man ]; then rm -fR man; fi
69+
70+
install: build
71+
@echo "Installing programs in $(PREFIX)/bin"
72+
@for FNAME in $(PROGRAMS); do if [ -f "./bin/$${FNAME}$(EXT)" ]; then cp -v "./bin/$${FNAME}$(EXT)" "$(PREFIX)/bin/$${FNAME}$(EXT)"; fi; done
73+
@echo ""
74+
@echo "Make sure $(PREFIX)/bin is in your PATH"
75+
76+
uninstall: .FORCE
77+
@echo "Removing programs in $(PREFIX)/bin"
78+
@for FNAME in $(PROGRAMS); do if [ -f "$(PREFIX)/bin/$${FNAME}$(EXT)" ]; then rm -v "$(PREFIX)/bin/$${FNAME}$(EXT)"; fi; done
79+
80+
81+
dist/linux-amd64: $(PROGRAMS)
82+
@mkdir -p dist/bin
83+
@for FNAME in $(PROGRAMS); do env GOOS=linux GOARCH=amd64 go build -o "dist/bin/$${FNAME}" cmd/$${FNAME}/*.go; done
84+
@cd dist && zip -r $(PROJECT)-$(VERSION)-linux-amd64.zip LICENSE codemeta.json CITATION.cff *.md bin/*
85+
@rm -fR dist/bin
86+
87+
88+
dist/macos-amd64: $(PROGRAMS)
89+
@mkdir -p dist/bin
90+
@for FNAME in $(PROGRAMS); do env GOOS=darwin GOARCH=amd64 go build -o "dist/bin/$${FNAME}" cmd/$${FNAME}/*.go; done
91+
@cd dist && zip -r $(PROJECT)-$(VERSION)-macos-amd64.zip LICENSE codemeta.json CITATION.cff *.md bin/*
92+
@rm -fR dist/bin
93+
94+
95+
dist/macos-arm64: $(PROGRAMS)
96+
@mkdir -p dist/bin
97+
@for FNAME in $(PROGRAMS); do env GOOS=darwin GOARCH=arm64 go build -o "dist/bin/$${FNAME}" cmd/$${FNAME}/*.go; done
98+
@cd dist && zip -r $(PROJECT)-$(VERSION)-macos-arm64.zip LICENSE codemeta.json CITATION.cff *.md bin/*
99+
@rm -fR dist/bin
100+
101+
102+
dist/windows-amd64: $(PROGRAMS)
103+
@mkdir -p dist/bin
104+
@for FNAME in $(PROGRAMS); do env GOOS=windows GOARCH=amd64 go build -o "dist/bin/$${FNAME}.exe" cmd/$${FNAME}/*.go; done
105+
@cd dist && zip -r $(PROJECT)-$(VERSION)-windows-amd64.zip LICENSE codemeta.json CITATION.cff *.md bin/*
106+
@rm -fR dist/bin
107+
108+
109+
dist/raspberry_pi_os-arm7: $(PROGRAMS)
110+
@mkdir -p dist/bin
111+
@for FNAME in $(PROGRAMS); do env GOOS=linux GOARCH=arm GOARM=7 go build -o "dist/bin/$${FNAME}" cmd/$${FNAME}/*.go; done
112+
@cd dist && zip -r $(PROJECT)-$(VERSION)-raspberry_pi_os-arm7.zip LICENSE codemeta.json CITATION.cff *.md bin/*
113+
@rm -fR dist/bin
114+
115+
distribute_docs:
116+
@mkdir -p dist/
117+
@cp -v codemeta.json dist/
118+
@cp -v CITATION.cff dist/
119+
@cp -v README.md dist/
120+
@cp -v LICENSE dist/
121+
@cp -v INSTALL.md dist/
122+
123+
release: distribute_docs dist/linux-amd64 dist/macos-amd64 dist/macos-arm64 dist/windows-amd64 dist/raspberry_pi_os-arm7
124+
125+
126+
.FORCE:

codemeta.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
"codeRepository": "https://github.com/caltechlibrary/pairtree",
77
"issueTracker": "https://github.com/caltechlibrary/pairtree/issues",
88
"license": "https://github.com/caltechlibrary/pairtree/blob/main/LICENSE",
9-
"version": "1.0.0",
9+
"version": "1.0.1",
1010
"author": [
1111
{
1212
"@type": "Person",
13-
"givenName": "Robert",
13+
"givenName": "R. S.",
1414
"familyName": "Doiel",
1515
"affiliation": "California Institute of Technology Library",
1616
"email": "rsdoiel@caltech.edu",
@@ -23,9 +23,9 @@
2323
"science"
2424
],
2525
"maintainer": "https://orcid.org/0000-0003-0900-6903",
26-
"funder": {
26+
"funder": [{
2727
"@id": "https://doi.org/10.13039/100006961",
2828
"@type": "Organization",
2929
"name": "Caltech Library"
30-
}
30+
}]
3131
}

pairtree.go

-4
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,6 @@ import (
2424
"strings"
2525
)
2626

27-
const (
28-
Version = `v0.0.4`
29-
)
30-
3127
var (
3228
stepOneEncoding = map[rune][]rune{
3329
' ': []rune("^20"),

version.go

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package pairtree
2+
3+
const Version = "1.0.1"
4+

0 commit comments

Comments
 (0)