-
Notifications
You must be signed in to change notification settings - Fork 2
Developer documentation
The Pipeline App is a NodeJS + Electron + React + Redux project. It relies on the Pipeline Engine to perform document tasks.
In its main process, it starts the Pipeline Engine upon app startup, and interacts with it via HTTP calls to the Pipeline's web service. It gets updates from the Engine both via polling endpoints and subscribing to web socket events.
The app has one main window, consisting of a tabbed job management interface; a settings window, and an about window.
There is also a system tray icon and menu, useful for keeping the Engine running in the background.
- App data: The Pipeline Engine is instructed to use an APPDATA directory for its data directory.
- Job results: Copied by the Pipeline App to a directory that the user sets in Settings.
- Logs: found in these locations.
- Check out this repository
- Run
yarnto install dependencies - Run
yarn devto run the app in development mode
- Configure your machine for code signing and notarizing
- Get credentials (e.g. signing certificate)
- Create a file called
.envin the root with this information:
APPLE_ID=*******
APPLE_ID_PASS=*********
APPLE_ID_TEAM=********
- Build the installer
yarn dist --mac- This creates a
dmgfile, signs the code, and notarizes the app.
- Sign and notarize the installer.
- Run
sign-installer-mac.sh <path-to-installer.pkg>. It will overwrite your installer with a signed and notarized version.
- Run
Build the release version of the application with the following command line: yarn dist --win.
At the moment, manual intervention is required to sign Windows releases.
The Pipeline engine is a separate project. It's in the Pipeline App project as a submodule. It gets built and included in the Pipeline App.
To point to a new engine commit:
cd engine
git fetch
git checkout <commit hash>
To clean the engine before building:
cd engine
rm -rf .make/target
rm -rf .maven-workspace
rm pipeline2....zip
To build the engine by itself
cd engine
make dist-zip-mac
or dist-zip-win
If the engine build errors are really strange
rm -rf .maven-cache
rm -rf `~/.m2`
To incorporate the new engine into the Pipeline App
yarn pipeline:refresh
Confirm the engine version in the Pipeline App's "About" dialog, which will show the engine version and commit hash (for snapshots only, I believe).
LOG_LEVEL: Set the log level (error | warn | info | verbose | debug | silly
). Default to info for releases and debug for betas. Default to silly for dev.
ENABLE_MISTRAL: Enable the Mistral OCR settings (true | false). Defaults to false for releases and betas, and true for dev. Can override on the command line e.g. ENABLE_MISTRAL=false yarn dev.