From bc6d85d01557de287754183d62974def2e7b55a9 Mon Sep 17 00:00:00 2001 From: Wang Zuo Date: Wed, 22 Jul 2020 00:11:58 +0800 Subject: [PATCH] makefile with watch --- generators/new/templates/Makefile.tmpl | 24 +++++++++++++++++++++++- packrd/packed-packr.go | 2 +- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/generators/new/templates/Makefile.tmpl b/generators/new/templates/Makefile.tmpl index a984764..05e67c7 100644 --- a/generators/new/templates/Makefile.tmpl +++ b/generators/new/templates/Makefile.tmpl @@ -1,5 +1,8 @@ GOFMT_FILES?=$$(find . -name '*.go' | grep -v vendor) +PID = ./{{ .opts.Name }}.pid +APP = ./bin/{{ .opts.Name }} + all: fmt build fmt: @@ -17,8 +20,27 @@ build: find . -name ".DS_Store" -delete dashi g graphql go mod tidy - go build -ldflags "-X {{ .opts.Package }}/cmd.Version=`git rev-parse HEAD`" -o ./bin/{{ .opts.Name }} + go build -ldflags "-X {{ .opts.Package }}/cmd.Version=`git rev-parse HEAD`" -o $(APP) go install + +serve: kill graphql start watch + +watch: + fswatch -x -o --event Created --latency 5 --event Updated --event Renamed -r -e '.*' -i '.*\.go$$' . | xargs -n1 -I{} make restart & + fswatch -x -o --event Created --latency 5 --event Updated --event Renamed -r -e '.*' -i '\.graphql$$' . | xargs -n1 -I{} make graphql || make kill + +kill: + kill `cat $(PID)` || true + +restart: kill start + graphql: dashi g graphql + +start: + #go mod vendor + go build -o $(APP) + $(APP) server & echo $$! > $(PID) + +.PHONY: start restart kill graphql watch_graphql watch_go serve diff --git a/packrd/packed-packr.go b/packrd/packed-packr.go index aee2a92..28b0de3 100644 --- a/packrd/packed-packr.go +++ b/packrd/packed-packr.go @@ -53,7 +53,7 @@ var _ = func() error { "71b92b5f2ff73651aff7c9f40fca945e": "1f8b08000000000000ff94554d73db3610bdf3576c39d30ce932a08f09677470a5d6f14c6a6b9cf4d4e9010257241a18a081a5a454a3ffdec107f5e1d699c617118bc5dbb70f0feb818b2fbc43e083cc32f934184b506400b9309a7047b9ff56a60bbf1aa9ee8986b0706485d19b3cf38b4e523fae98304ff5fbf72d3ad9695777cfaa435d77960ffdb3caff675edd73dd2ab42ff33bf356f4b216bd7c7da77e926dab70cb2dbe9664acfbf7d66a5cafb932f560626ffb3d30339063cb24cfe150f341d6169d511b4c10ff95d5a146cb09db3c2bb38cbe0e089fd06ed082233b0a827d06208c5ecb0ee06a1e3e32807605e1ef6a30039b1bad5190343a03486a80d79d7d888bec9065eb510b285cc4be8a354af8281da1bed16d081425a0b5c686a22dae3d8b90c8da159b2be3b028fdf5855b6f66d366a4c722265b1a4b19805cc7b4d90cae035e3a368377d7efae3380834752a6634b2b35ad8b5c052e52776074a0dfd4b53282abde386a7e6cf32a2094e9d8af9cb82a429b2fbac89bfca7e43676478617e15835d14d0a951ec8228d568396eaa8d13d6e632745094512aa8aba9467b711425e845ba4782d4519dbf6f11f661e33f57d2a120e4dbdd7357c7e583c34909e4e0c09da79d414633f73f1a5b366d46d804ff7d7cce04d64162b444acd446daa208cd6479ede29f7b83d99a548f7b6e0c457dce177d2f77981a7660f03eaefedfe68ac04e263d68c14bb13bdf4641f432040c73df6bbc3e2f468d9233e8fe8e86ef1ad14aeee96afef7f345d87f65be785d9a0f5294152ebe2fd58e71916e1e361f082bad8f08d52668bed6f48bd695d03007ffce9c84added835be3c62d520567eba5712f02e3e57a810a090fd5798d0fc85bb49735f21b2170a0bc82fc66a4de58f937f7ec7c60ee5da5e9ede7af03e6e750738b2d6a925cb906c88e183c546697aa845ed34c097b690447ff7b598ee38cc55854e4711a830dbc398e443645630e807766133d1b2287e8e31755d8425aefdf0d3a763b558319f8b75bf8c733bd9c79fcadc0acfe02a909ed9a0bdc1f2ad0b8a309f4c8a2023f7c6f6c0751c7128a8b436703e0e469dc91af595e12f542a421e32db2c0351f15a5a17252e81eb7bfec508cc4570a3f891e9f7871d16a79ae7f94bdc88fff1eaba95c79f69ca6e93f4bc7b2d38c736992c559f74f000000ffff7429898fc8070000", "71fb4127cc35ea3659a1ab56afa2ea22": "1f8b08000000000000ff448d310a83401045fb7f8adfa98d39c0aa75aa10728345c720641d19c71058f6eec134e91eaf786f499b9af3217174cea689959d5c0560d475775e35c93d3e853deb86fdc00cd2c40f5b598324bb69790f39b7baf9dede629252bacbe94036010590cfef32c91c8fd73f19f00d0000ffff253ca1cb7f000000", "76d8e5465e89c7b15d16a248bf7d3343": "1f8b08000000000000ff5c91c18edb201086ef3cc5c8176c696bf6b8b2e3bd546aab6ab5dd6dfb02148f632a0c042651a3c8ef5e41ec3ae96d60bef9f9f9474fde0502be0fd28ffa60c45ad493b6b58a91b76c61bea35404437013f090eaadf5390fbdbf2cdd556303dee41ebfa0ec312c88729377162d451183125b9fb78c0d47ab483b0b59e8fde513921a3194cbf14d0639c50a2e0c20201d83852111251f897c2384714a9ad1456a9e1e9f1eaf5f3a18fe90270026a4d1f50d70ef22f1877c37e6c7630317e01f9d25b4f4e1e7d9236f804bef8d56323912bfa3b31ce6ebd02fd79f1bf8fae3db6b1d2968bbd7c3f93f93099cab9a46b46519307a672356d03dc37aa8936459552d9b1953cec62dce940a745066fee6b7657e7dd7eb132823637c951376c59a7af19cdb00bb9bd44993c1ae58950b10ffa86d79d798bbcb7decf3caee44af4fa94c5e5bc6f04fde6d8f833c9a7bd72dfb1b0000ffff08fc1b1a59020000", - "775978b80f0b2d377a8b03201d2e5c1d": "1f8b08000000000000ff64905bcbda401086af33bf6208829f92dddc07a414d4b6d013584aef747527ebea1ed2dd6d34d8fcf79218e8e972de81f77966de7cda7ef8b2dfbe7bbfd9bd5acd662fb576123932272ce17cc9959fe34f54811a642db6e4a40f0b00614c85b54d78fca18d04a86daa20537e88d80d672f7ff42e20eb4470d8044a495340c66e41a7a17e592ef9e3128b4bf4aeb8c47b916291e2bd504134e7efa6e8843545674d3f47c68c57865a327813c10118ed9e4c6c294d088a438a8d385d85a208a0ad50544126fde94ae1698b2ce1e381dc3729f28fc39d7d8f1c605c5690fdf5829caf77fb5df2817264920c25824c8a78d6a870d21c25ac9798b4ecc661e218591ba122e6ecdb6fe2e7a71cf67d79b2927fa510b577ab83d20903b5ac112112beddbc5e1f72641e7979d4aefc5778c468179330066012a9fe57fb150000ffff0247ce0ce0010000", + "775978b80f0b2d377a8b03201d2e5c1d": "1f8b08000000000000ffb4934b6fdb3810c7cf9e4ff15faf103f6032d8c35e046417419d3406da4468daa20502c48c35961953a24a327ec0f6772ff448f3027aeb45e4700633bff9cfe8fdd5f9c7cfb7e7930f67d7ff9f44517fae8b1412a25039a3379499ed618fcc7109b1c28a8bd4ba01513219e304f278b783b465f0f2b28a3f1c64a9533a4d92da79a78b370144ca9818f33ce0ee419b94689e87983a99ad9ec41a51ff19d2803a5be50a948e43d0ec20c4dae950910d8f877277ef47f7de16a37bbf19053f0a7e33ca9c2a173fcc68ab7233dae6e6d08310c66686576cb056ae2032ba686a62c5a12dc1be7a45a9664b95b127d2b9ca38a64e6a674b760d2d44c0eb8e20896a674c9d17ea75e5f8faf63a58c75d88940d07a64eaafc4223438b5943e43645d0e9b636da3a269d1b957974c5b7a78a490387c3e17896a7f22b3baf6d7132cd7480e3952895f38c8bb3d3f1b40b6111f54f936450a7d5850fca1822f2ec561c63a98d79a4800fca05ac55982d88eaa36ac6d737884d954b085e7111f0ceb10a9c56a2aac0c56c8b7f7ff9be9469eb6bec4f5c0991423808464f0e7b10ba3a6f6466a3a80748ecb1512ef310c53f1093dd01c8d592e1b861c2d11f04b991ad00bf67795469bf6fec4a3aa2ea1b53a7d6713a5301513f998c07d32a2cb807266a7b68b5aeef446db2f8ed2a50134d9dbfdb9d68feb6e75bf134d2e6443d4c8723f06c6111457fe1bf96834826175797dfe376b88f82be987badebed2bcb3659e967000000ffff1009d5301b040000", "77c560e11a20ba4efc70c029a1ac396d": "1f8b08000000000000ff54cdb14a04311087f13af3147f52c89d2c7788dd82d5e90b785889c56c329b0d9a64992436cbbebb205a5cfd83ef5bd97d7210786e3c7115a298d6a20d073236c4b6f4e9e44a3ad7757e783cbb32295b3a127db3e22ae22fc9e30977bf70ba949438fb8dcc5b951180ad22de0e64ae4bd136c23eff6df00faf3dbf8c987b7607973cee6f42035843c5fb476d1a733842548b622363545ad78c1cbfc8ec03edf4130000ffff5a415dddc9000000", "781615fcea678b680e71cbb28e5522e2": "1f8b08000000000000ff54ce410ac2400c85e1fd9c22270853412c39845790e804152a19f2625d94de5d2ab8e8f67b6ff1c362b69042d43d5268ac632d4d53af0adbb83d75b25b0a7547dec3b0d97fa76561ef093eebcbd6f5d26c2e446f58ecfe5d818f47dbe1c39142c3e1c4952b0fbf029f848ee51b0000ffffbafb695494000000", "79285e1dc419ff2fce59e159df7bcaeb": "1f8b08000000000000ffaae65250502a284a2d4e2d2956b25288562a2ecf4c2b494e2c2aca2f518ae5aae502040000ffff292c9ead21000000",