Compiler for the Cocoon.io platform. Fetches queued compilations from the Cocoon.io backend and returns the result of the compilation.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
curl -sL https://deb.nodesource.com/setup_11.x | sudo -E bash -
sudo apt install -y nodejs
sudo apt install -y libcairo2-dev libgif-dev imagemagick libjpeg-dev libpixman-1-dev mongodb
First, check that Xcode is installed and you have run the initial setup. Then install:
brew install node
brew install cairo giflib imagemagick jpeg mongodb pixman
choco install visualstudio2017community visualstudio2017-workload-universal
choco install nodejs
choco install imagemagick mongodb
Clone the repository.
git clone [email protected]:CocoonIO/cocoon-compiler.git
And install its dependencies:
npm install
Test for the compiler can be found in its own repository.
To inspect the code style of the source code:
npm run inspect-src
- Cocoon compiler: It can refer to the repository itself or the system running the software of the repository.
- Cocoon service: A process of the Cocoon compiler.
- cocoon-api: Process of the Cocoon compiler responsible for exposing an API where the status of the different processes of the Cocoon compiler can be accessed.
- cocoon-compiler: Process of the Cocoon compiler responsible for keeping track, download and compile the compilations it founds in the queue of the Cocoon backend.
- cocoon-notifier: Process of the Cocoon compiler responsible for notifying the Cocoon backend about the results of the cocoon-compiler compilations.
- cocoon-updater: Process of the Cocoon compiler responsible for synchronizing a S3 bucket containing the private Cordova-based plugins from Cocoon and the Android SDKs with the system.
- cocoon-compiler-tester: Repository containing various test for the Cocoon compiler.
- build.json: Configuration file used by Cordova to configure the signing parameters.
- config.json: Configuration file used by the Cocoon compiler. Contains the code of the compilation, the platforms the compilation will be compiled for, any signing parameters, the location of the config.xml and the source.zip and the cordova-lib version to use.
- config.xml: Configuration file used by Cordova that controls many aspects of a Cordova application's behavior.
- environment: Value used by the Cocoon compiler to choose from a series of default behaviours. Those values are:
- develop: Like testing, but doesn't clean the workspace directory after each compilation.
- production: Uses the sources for products in production that are being used by the clients of Cocoon.io.
- testing: Uses the sources for products that are being tested and developed that are not being used by the clients of Cocoon.io.
- source.zip: Zip file containing a Cordova based project.
To deploy the compiler use the included script deploy.sh.
- Typescript - Language
- TSLint - Linter
- Node - JavaScript Runtime Environment
- NPM - Dependency Management
- PM2 - Process Manager
- Commander - Command-line Interface Solution
- Express - Web Application Framework
- JSZip - Zip Management Library
We use SemVer for versioning.
- Imanol Martín - Initial work - keianhzo
- Jorge Domínguez - Current - BlueSialia