Skip to content

Commit 621fa3b

Browse files
committed
feat: Added sql2csv command line tool
1 parent 018bfe7 commit 621fa3b

19 files changed

+646
-71
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,5 +35,5 @@ bin/*
3535
*.snap
3636

3737
# Project ignores
38-
_codemeta.json
38+
*.json
3939
testout

CITATION.cff

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ maintainers:
1616
orcid: "https://orcid.org/0000-0003-0900-6903"
1717

1818
repository-code: "https://github.com/caltechlibrary/datatools"
19-
version: 1.1.5
19+
version: 1.2.0
2020
license-url: "https://data.caltech.edu/license"
21-
keywords: [ "csv", "json", "xlsx", "golang", "bash" ]
22-
date-released: 2022-06-30
21+
keywords: [ "csv", "excel", "sql", "json", "xlsx", "golang", "bash" ]
22+
date-released: 2022-01-05

Makefile

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
#
44
PROJECT = datatools
55

6-
PROGRAMS = $(shell ls -1 cmd/)
6+
PROGRAMS = codemeta2cff csv2json csv2mdtable csv2tab csv2xlsx csvcleaner csvcols csvfind csvjoin csvrows finddir findfile json2toml json2yaml jsoncols jsonjoin jsonmunge jsonrange mergepath range reldate reltime sql2csv string tab2csv timefmt toml2json urlparse xlsx2csv xlsx2json yaml2json
7+
8+
MAN_PAGES = codemeta2cff.1 sql2csv.1
79

810
PACKAGE = $(shell ls -1 *.go)
911

@@ -54,6 +56,12 @@ test: $(PACKAGE)
5456
# cd timefmt && go test
5557
cd codemeta && go test
5658
bash test_cmd.bash
59+
60+
$(MAN_PAGES): .FORCE
61+
mkdir -p man/man1
62+
pandoc $@.md --from markdown --to man -s >man/man1/$@
63+
64+
man: $(MAN_PAGES)
5765

5866
website:
5967
bash gen-nav.bash
@@ -79,58 +87,65 @@ clean:
7987
@if [ -f version.go ]; then rm version.go; fi
8088
@if [ -d bin ]; then rm -fR bin; fi
8189
@if [ -d dist ]; then rm -fR dist; fi
82-
@if [ -d man ]; then rm -fR man; fi
90+
#@if [ -d man ]; then rm -fR man; fi
8391

8492
# NOTE: macOS causes problems if you copy a binary versus move it.
8593
install: build
8694
@echo "Installing programs in $(PREFIX)/bin"
8795
@for FNAME in $(PROGRAMS); do if [ -f ./bin/$$FNAME ]; then mv -v ./bin/$$FNAME $(PREFIX)/bin/$$FNAME; fi; done
8896
@echo ""
8997
@echo "Make sure $(PREFIX)/bin is in your PATH"
98+
@echo "Installing man pages in $(PREFIX)/man/man1"
99+
@mkdir -p $(PREFIX)/man/man1
100+
@for FNAME in $(MAN_PAGES); do cp -v man/man1/$$FNAME $(PREFIX)/man/man1/; done
101+
@echo "Make sure $(PREFIX)/man is in your MANPATH"
90102

91103
uninstall: .FORCE
92104
@echo "Removing programs in $(PREFIX)/bin"
93105
@for FNAME in $(PROGRAMS); do if [ -f $(PREFIX)/bin/$$FNAME ]; then rm -v $(PREFIX)/bin/$$FNAME; fi; done
106+
@echo "Removing man pages in $(PREFIX)/man"
107+
@for FNAME in $(MAN_PAGES); do if [ -f $(PREFIX)/man/man1/$$FNAME ]; then rm -v $(PREFIX)/man/man1/$$FNAME; fi; done
108+
94109

95110

96111
dist/linux-amd64: $(PROGRAMS)
97112
@mkdir -p dist/bin
98113
@for FNAME in $(PROGRAMS); do env GOOS=linux GOARCH=amd64 go build -o dist/bin/$$FNAME cmd/$$FNAME/*.go; done
99-
@cd dist && zip -r $(PROJECT)-v$(VERSION)-linux-amd64.zip LICENSE codemeta.json CITATION.cff *.md bin/* docs/* how-to/* demos/*
114+
@cd dist && zip -r $(PROJECT)-v$(VERSION)-linux-amd64.zip LICENSE codemeta.json CITATION.cff *.md bin/* docs/* how-to/* man/*
100115
@rm -fR dist/bin
101116

102117

103118
dist/macos-amd64: $(PROGRAMS)
104119
@mkdir -p dist/bin
105120
@for FNAME in $(PROGRAMS); do env GOOS=darwin GOARCH=amd64 go build -o dist/bin/$$FNAME cmd/$$FNAME/*.go; done
106-
@cd dist && zip -r $(PROJECT)-v$(VERSION)-macos-amd64.zip LICENSE codemeta.json CITATION.cff *.md bin/* docs/* how-to/* demos/*
121+
@cd dist && zip -r $(PROJECT)-v$(VERSION)-macos-amd64.zip LICENSE codemeta.json CITATION.cff *.md bin/* docs/* how-to/* man/*
107122
@rm -fR dist/bin
108123

109124

110125
dist/macos-arm64: $(PROGRAMS)
111126
@mkdir -p dist/bin
112127
@for FNAME in $(PROGRAMS); do env GOOS=darwin GOARCH=arm64 go build -o dist/bin/$$FNAME cmd/$$FNAME/*.go; done
113-
@cd dist && zip -r $(PROJECT)-v$(VERSION)-macos-arm64.zip LICENSE codemeta.json CITATION.cff *.md bin/* docs/* how-to/* demos/*
128+
@cd dist && zip -r $(PROJECT)-v$(VERSION)-macos-arm64.zip LICENSE codemeta.json CITATION.cff *.md bin/* docs/* how-to/* man/*
114129
@rm -fR dist/bin
115130

116131

117132
dist/windows-amd64: $(PROGRAMS)
118133
@mkdir -p dist/bin
119134
@for FNAME in $(PROGRAMS); do env GOOS=windows GOARCH=amd64 go build -o dist/bin/$$FNAME.exe cmd/$$FNAME/*.go; done
120-
@cd dist && zip -r $(PROJECT)-v$(VERSION)-windows-amd64.zip LICENSE codemeta.json CITATION.cff *.md bin/* docs/* how-to/* demos/*
135+
@cd dist && zip -r $(PROJECT)-v$(VERSION)-windows-amd64.zip LICENSE codemeta.json CITATION.cff *.md bin/* docs/* how-to/* man/*
121136
@rm -fR dist/bin
122137

123138
dist/windows-arm64: $(PROGRAMS)
124139
@mkdir -p dist/bin
125140
@for FNAME in $(PROGRAMS); do env GOOS=windows GOARCH=arm64 go build -o dist/bin/$$FNAME.exe cmd/$$FNAME/*.go; done
126-
@cd dist && zip -r $(PROJECT)-v$(VERSION)-windows-arm64.zip LICENSE codemeta.json CITATION.cff *.md bin/* docs/* how-to/* demos/*
141+
@cd dist && zip -r $(PROJECT)-v$(VERSION)-windows-arm64.zip LICENSE codemeta.json CITATION.cff *.md bin/* docs/* how-to/* man/*
127142
@rm -fR dist/bin
128143

129144

130145
dist/raspbian-arm7: $(PROGRAMS)
131146
@mkdir -p dist/bin
132147
@for FNAME in $(PROGRAMS); do env GOOS=linux GOARCH=arm GOARM=7 go build -o dist/bin/$$FNAME cmd/$$FNAME/*.go; done
133-
@cd dist && zip -r $(PROJECT)-v$(VERSION)-raspberry_pi_os-arm7.zip LICENSE codemeta.json CITATION.cff *.md bin/* docs/* how-to/* demos/*
148+
@cd dist && zip -r $(PROJECT)-v$(VERSION)-raspberry_pi_os-arm7.zip LICENSE codemeta.json CITATION.cff *.md bin/* docs/* how-to/* man/*
134149
@rm -fR dist/bin
135150

136151
#dist/datatools_$(VERSION)_amd64.snap:
@@ -148,6 +163,7 @@ distribute_docs:
148163
@cp -v INSTALL.md dist/
149164
@cp -vR docs dist/
150165
@cp -vR how-to dist/
166+
@cp -vR man dist/
151167

152168
gen_batfiles: .FORCE
153169
@echo '@echo off' >make.bat
@@ -172,7 +188,7 @@ gen_batfiles: .FORCE
172188

173189
snap: dist/datatools_$(VERSION)_amd64.snap
174190

175-
release: clean build gen_batfiles distribute_docs dist/linux-amd64 dist/macos-amd64 dist/macos-arm64 dist/windows-amd64 dist/windows-arm64 dist/raspbian-arm7
191+
release: clean build man gen_batfiles distribute_docs dist/linux-amd64 dist/macos-amd64 dist/macos-arm64 dist/windows-amd64 dist/windows-arm64 dist/raspbian-arm7
176192

177193

178194
.FORCE:

TODO.html

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,19 @@ <h2 id="next">
7373
</h2>
7474
<ul class="task-list">
7575
<li>
76+
<input type="checkbox" disabled="" />ioutil is depreciated, need to
77+
update the code that uses it.
78+
</li>
79+
<li>
80+
<input type="checkbox" disabled="" />Update how docs are generated, see
81+
about dropped cli package, there are better simpler ways to move forward
82+
</li>
83+
<li>
84+
<input type="checkbox" disabled="" />Review <a
85+
href="https://go-app.dev">Go-app.dev</a> and see if I can make a useful
86+
format converted GUI based on the code for all the cli in the project.
87+
</li>
88+
<li>
7689
<input type="checkbox" disabled="" />Create man pages for all cli, adopt
7790
man page structure for usage.
7891
</li>

about.html

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@
4343
<h1 id="about-this-software">
4444
About this software
4545
</h1>
46-
<h2 id="datatools-1.1.4">
47-
datatools 1.1.4
46+
<h2 id="datatools-1.2.0">
47+
datatools 1.2.0
4848
</h2>
4949
<h3 id="authors">
5050
Authors
@@ -54,6 +54,14 @@ <h3 id="authors">
5454
R. S. Doiel
5555
</li>
5656
</ul>
57+
<h3 id="maintainers">
58+
Maintainers
59+
</h3>
60+
<ul>
61+
<li>
62+
R. S. Doiel
63+
</li>
64+
</ul>
5765
<p>
5866
A set of command line tools for working with CSV, Excel Workbooks, JSON
5967
and structured text documents.
@@ -74,7 +82,7 @@ <h3 id="programming-languages">
7482
</h3>
7583
<ul>
7684
<li>
77-
Go 1.19.2
85+
Go 1.19.4
7886
</li>
7987
</ul>
8088
<h3 id="operating-systems">
@@ -96,10 +104,10 @@ <h3 id="software-requiremets">
96104
</h3>
97105
<ul>
98106
<li>
99-
Golang 1.19.2 or better
107+
Golang 1.19 or better
100108
</li>
101109
<li>
102-
Pandoc 2.19.2 or better
110+
Pandoc 2.19 or better
103111
</li>
104112
</ul>
105113
</section>

about.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,16 @@ authors:
1111
orcid: "https://orcid.org/0000-0003-0900-6903"
1212

1313
repository-code: "https://github.com/caltechlibrary/datatools"
14-
version: 1.1.5
14+
version: 1.2.0
1515
license-url: "https://data.caltech.edu/license"
16-
keywords: [ "csv", "json", "xlsx", "golang", "bash" ]
17-
date-released: 2022-06-30
16+
keywords: [ "csv", "excel", "sql", "json", "xlsx", "golang", "bash" ]
17+
date-released: 2022-01-05
1818
---
1919

2020
About this software
2121
===================
2222

23-
## datatools 1.1.5
23+
## datatools 1.2.0
2424

2525
### Authors
2626

0 commit comments

Comments
 (0)