Summary
Replace esignet-service/Makefile with a shell script that runs on both Linux and Windows (Git Bash). make is not available out-of-the-box on Windows, forcing contributors to install it separately or run commands manually. A portable bash script removes that dependency and gives a single entry point across platforms. The existing Makefile will be removed once the script reaches parity.
Goals
- Single
bash script (e.g. esignet-service/make.sh) exposing the same targets as the Makefile: help, keys, build, run/dev, test, lint, lint-install, smoke, docker-build, docker-run, update-thunder, tidy, clean, distclean.
- Runs unmodified on Linux and Windows Git Bash.
- Loads
.env and honors the same overridable variables (PORT, ISSUER_URL, DATA_DIR, SIGNING_KEY_PATH, AUTHN_PROVIDER, DOCKER_IMAGE, THUNDER_BRANCH, etc.).
help output listing targets and effective environment, matching current behavior.
- Remove
esignet-service/Makefile and update any references (README, CI, docs) to use make.sh.
Non-goals
- Supporting native Windows shells (cmd, PowerShell) — Git Bash only.
- Adding new build targets beyond what the Makefile already provides.
Acceptance criteria
./make.sh help lists all targets and current env values.
./make.sh keys|build|run|test|lint|smoke|tidy|clean|distclean behave equivalently to the matching make targets.
./make.sh docker-build and docker-run produce the same image/run behavior.
./make.sh update-thunder resolves and updates the thunder replace directive in go.mod.
- Verified working on Linux and Windows Git Bash.
esignet-service/Makefile removed and all references updated to make.sh.
Summary
Replace
esignet-service/Makefilewith a shell script that runs on both Linux and Windows (Git Bash).makeis not available out-of-the-box on Windows, forcing contributors to install it separately or run commands manually. A portablebashscript removes that dependency and gives a single entry point across platforms. The existing Makefile will be removed once the script reaches parity.Goals
bashscript (e.g.esignet-service/make.sh) exposing the same targets as the Makefile:help,keys,build,run/dev,test,lint,lint-install,smoke,docker-build,docker-run,update-thunder,tidy,clean,distclean..envand honors the same overridable variables (PORT,ISSUER_URL,DATA_DIR,SIGNING_KEY_PATH,AUTHN_PROVIDER,DOCKER_IMAGE,THUNDER_BRANCH, etc.).helpoutput listing targets and effective environment, matching current behavior.esignet-service/Makefileand update any references (README, CI, docs) to usemake.sh.Non-goals
Acceptance criteria
./make.sh helplists all targets and current env values../make.sh keys|build|run|test|lint|smoke|tidy|clean|distcleanbehave equivalently to the matchingmaketargets../make.sh docker-buildanddocker-runproduce the same image/run behavior../make.sh update-thunderresolves and updates the thunder replace directive ingo.mod.esignet-service/Makefileremoved and all references updated tomake.sh.