forked from lutzroeder/netron
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
147 lines (125 loc) · 5.64 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
.PHONY: test coverage
build: clean lint build_python build_electron
publish: clean lint publish_electron publish_python publish_web publish_cask publish_winget
install:
@[ -d node_modules ] || npm install
clean:
rm -rf ./dist
rm -rf ./node_modules
rm -rf ./package-lock.json
reset: clean
rm -rf ./third_party/env
rm -rf ./third_party/source
update: install
@./tools/armnn sync schema
@./tools/bigdl sync schema
@./tools/caffe sync schema
@./tools/circle sync schema metadata
@./tools/cntk sync schema
@./tools/coreml sync schema
@./tools/dlc schema
@./tools/dnn schema
@./tools/mnn sync schema
@./tools/mslite sync schema metadata
@./tools/nnabla sync schema metadata
@./tools/onnx sync install schema metadata
@./tools/om schema
@./tools/rknn schema
@./tools/paddle sync schema
@./tools/pytorch sync install schema metadata
@./tools/sklearn sync install metadata
@./tools/tf sync install schema metadata
@./tools/uff schema
@./tools/xmodel sync schema
build_python: install
python -m pip install --user build wheel --quiet
rm -rf ./source/__pycache__
rm -rf ./dist/pypi
mkdir -p ./dist/pypi/netron
cp -R ./source/* ./dist/pypi/netron
cp ./publish/setup.py ./dist/pypi
rm ./dist/pypi/netron/electron.* ./dist/pypi/netron/app.js
python publish/version.py
python -m build --no-isolation --wheel --outdir ./dist/pypi dist/pypi
install_python: build_python
pip install --force-reinstall dist/pypi/*.whl
build_electron: install
npx electron-builder --mac --universal --publish never -c.mac.identity=null
npx electron-builder --win --x64 --arm64 --publish never
npx electron-builder --linux appimage --x64 --publish never
npx electron-builder --linux snap --x64 --publish never
start: install
npx electron .
lint: install
npx eslint source/*.js test/*.js publish/*.js tools/*.js
test: install
node ./test/models.js
coverage:
rm -rf .nyc_output ./coverage ./dist/nyc
mkdir -p ./dist/nyc
cp ./package.json ./dist/nyc
cp -R ./source ./dist/nyc
nyc instrument --compact false ./source ./dist/nyc/source
nyc --reporter=lcov --instrument npx electron ./dist/nyc
publish_python: build_python
python -m pip install --user twine
python -m twine upload --non-interactive --skip-existing --verbose dist/pypi/*.whl
publish_electron: install
npx electron-builder --mac --universal --publish always
npx electron-builder --win --x64 --arm64 --publish always
npx electron-builder --linux appimage --x64 --publish always
npx electron-builder --linux snap --x64 --publish always
build_web:
mkdir -p ./dist/web
rm -rf ./dist/web/*
cp -R ./source/*.html ./dist/web
cp -R ./source/*.css ./dist/web
cp -R ./source/*.js ./dist/web
cp -R ./source/*.json ./dist/web
cp -R ./source/*.ico ./dist/web
cp -R ./source/*.png ./dist/web
rm -rf ./dist/web/electron.* ./dist/web/app.js
sed -i "s/0\.0\.0/$$(grep '"version":' package.json -m1 | cut -d\" -f4)/g" ./dist/web/index.html
publish_web: build_web
rm -rf ./dist/gh-pages
git clone --depth=1 https://x-access-token:$(GITHUB_TOKEN)@github.com/$(GITHUB_USER)/netron.git --branch gh-pages ./dist/gh-pages 2>&1 > /dev/null
cp -R ./dist/web/* ./dist/gh-pages
git -C ./dist/gh-pages add --all
git -C ./dist/gh-pages commit --amend --no-edit
git -C ./dist/gh-pages push --force origin gh-pages
publish_cask:
curl -s -H "Authorization: token ${GITHUB_TOKEN}" -X "DELETE" https://api.github.com/repos/${GITHUB_USER}/homebrew-cask 2>&1 > /dev/null
sleep 4
curl -s -H "Authorization: token $(GITHUB_TOKEN)" https://api.github.com/repos/Homebrew/homebrew-cask/forks -d '' 2>&1 > /dev/null
rm -rf ./dist/homebrew-cask
sleep 4
git clone --depth=2 https://x-access-token:$(GITHUB_TOKEN)@github.com/$(GITHUB_USER)/homebrew-cask.git ./dist/homebrew-cask
node ./publish/cask.js ./dist/homebrew-cask/Casks/netron.rb
git -C ./dist/homebrew-cask add --all
git -C ./dist/homebrew-cask commit -m "Update $$(node -pe "require('./package.json').productName") to $$(node -pe "require('./package.json').version")"
git -C ./dist/homebrew-cask push
curl -H "Authorization: token $(GITHUB_TOKEN)" https://api.github.com/repos/Homebrew/homebrew-cask/pulls -d "{\"title\":\"Update $$(node -pe "require('./package.json').name") to $$(node -pe "require('./package.json').version")\",\"base\":\"master\",\"head\":\"$(GITHUB_USER):master\",\"body\":\"\"}" 2>&1 > /dev/null
rm -rf ./dist/homebrew-cask
publish_winget:
curl -s -H "Authorization: token ${GITHUB_TOKEN}" -X "DELETE" https://api.github.com/repos/${GITHUB_USER}/winget-pkgs 2>&1 > /dev/null
sleep 4
curl -s -H "Authorization: token $(GITHUB_TOKEN)" https://api.github.com/repos/microsoft/winget-pkgs/forks -d '' 2>&1 > /dev/null
rm -rf ./dist/winget-pkgs
sleep 4
git clone --depth=2 https://x-access-token:$(GITHUB_TOKEN)@github.com/$(GITHUB_USER)/winget-pkgs.git ./dist/winget-pkgs
node ./publish/winget.js ./dist/winget-pkgs/manifests
git -C ./dist/winget-pkgs add --all
git -C ./dist/winget-pkgs commit -m "Update $$(node -pe "require('./package.json').name") to $$(node -pe "require('./package.json').version")"
git -C ./dist/winget-pkgs push
curl -H "Authorization: token $(GITHUB_TOKEN)" https://api.github.com/repos/microsoft/winget-pkgs/pulls -d "{\"title\":\"Update $$(node -pe "require('./package.json').productName") to $$(node -pe "require('./package.json').version")\",\"base\":\"master\",\"head\":\"$(GITHUB_USER):master\",\"body\":\"\"}" 2>&1 > /dev/null
rm -rf ./dist/winget-pkgs
version:
node ./publish/version.js ./package.json
git add ./package.json
git commit -m "Update to $$(node -pe "require('./package.json').version")"
git tag v$$(node -pe "require('./package.json').version")
git push
git push --tags
pull:
git fetch --prune origin "refs/tags/*:refs/tags/*"
git pull --prune --rebase