We do this via our CI system, see the file cider-ci.yml.
See the files project.clj and .mux.yml.
node
and npm
must be installed and in the execution PATH. Run
npm install
Download Electron for your platform. One way to do it is via grunt
./node_modules/grunt/bin/grunt download-electron
There are the following build targets:
- JVM main, the code is located in
jvm_main/
. - Electron main, the code is located in
electron_main/
. - Electron front, also known as the "renderer", the code is located in
electron_front/
. - Stylesheets compiled from sass.
We build each one "continuously" in its own window when developing. A forth window holds the electron app.
rm -rf target
lein repl
# it will open a repl in the main namespace, where we can start the server with
(-main)
rm -rf app/dev/js/out_main app/dev/js/main.js
lein cljsbuild auto electron-main-dev
rm -rf app/dev/js/front.js app/dev/js/out_front.js
lein descjop-figwheel
The Electron front includes stylesheets which we are building continuously with
lein sass watch
Wait until all the three previous ones are ready. Then e.g. on MacOS:
./electron/Electron.app/Contents/MacOS/Electron app/dev
The electron parts can be build with
bin/build-electron-prod
and the jvm withlein uberjar
.
The next steps depend on the OS. On MacOS:
3. bin/build-mac-os
4. ./madek-exporter-darwin-x64/madek-exporter.app/Contents/MacOS/madek-exporter
Madek is (C) Zürcher Hochschule der Künste (Zurich University of the Arts).
Madek is Free Software under the GNU General Public License (GPL) v3, see the included LICENSE file for license details.
Visit our main website at http://www.zhdk.ch and the IT center at http://itz.zhdk.ch