Permalink
8510bbf Apr 19, 2017
1 contributor

Users who have contributed to this file

55 lines (41 sloc) 1.73 KB

Build pipeline

Ember-Electron's build pipeline consists of the following steps:

  • Build Ember app (with Electron shimming/instrumentation)
  • Assemble Electron project (compatible with electron-forge)
  • Package application binaries
  • Make application installers

Each of these steps is broken into an Ember command and through its command-line options can be configured to run all preceding pipeline steps, or to skip some of the first steps, and use the output of a previous (partial) build. For example the following would produce equivalent output:

$ ember electron:build --output-path electron-out/ember
$ ember electron:assemble --build-path electron-out/ember --output-path electron-out/project

and

$ ember electron:assemble --output-path electron-out/project

The only difference is that the latter command will build the Ember app into a temp directory and delete it when it's done.

A similar example of equivalent commands that illustrates the entire pipeline is:

$ ember electron:build --output-path electron-out/ember
$ ember electron:assemble --build-path electron-out/ember --output-path electron-out/project
$ ember electron:package --project-path electron-out/project
$ ember electron:make --skip-package

The electron:make command doesn't match the rest of them because electron-forge handles reusing packaged output itself, so the semantics are a little different.

Each build step will also accept an input path valid for any of the previous steps. For example, the following are equivalent:

$ ember electron:build --output-path electron-out/ember
$ ember electron:make --build-path electron-out/ember

and

$ ember electron:make