diff --git a/Makefile b/Makefile index 2ddb99a7..05a74fe7 100644 --- a/Makefile +++ b/Makefile @@ -94,5 +94,11 @@ installer-linux: release/installers/Etcher-linux-x64.tar.gz release/installers/E installer-win32: release/installers/Etcher-x64.exe release/installers/Etcher.exe installer-all: installer-osx installer-linux installer-win32 +release: + rm -rf node_modules + npm install --force + npm test + make installer-all + clean: rm -rf release/ diff --git a/PUBLISHING.md b/PUBLISHING.md index 1e07982e..0977daf2 100644 --- a/PUBLISHING.md +++ b/PUBLISHING.md @@ -3,23 +3,20 @@ Publishing Etcher This is a small guide to package and publish Etcher to all supported operating systems. -Packaging ---------- +Prequisites +----------- -You need to install [wine](https://www.winehq.org) and [nsis](http://nsis.sourceforge.net/Main_Page) to package the application for Windows. +- [wine](https://www.winehq.org) +- [nsis](http://nsis.sourceforge.net/Main_Page) +- [node](https://nodejs.org) +- [GNU Make](https://www.gnu.org/software/make/) -Make sure you install npm dependencies with `--force` since there might be optional dependencies for an operating system not equal to the host that will not make it to the package otherwise: +Run the following command to make installers for all supported operating systems: ```sh -npm install --force +make release ``` -Run the following command to package Etcher - -```sh -make installer-all -``` - -The resulting packages will be saved to `release/installers`. +The resulting installers will be saved to `release/installers`. You can run `make clean` to start in a fresh state.