Skip to content

Commit

Permalink
Merge 32b3f7e into a2d58dd
Browse files Browse the repository at this point in the history
  • Loading branch information
colin969 committed Jun 19, 2020
2 parents a2d58dd + 32b3f7e commit 1c893c4
Showing 1 changed file with 31 additions and 15 deletions.
46 changes: 31 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,8 @@ The launcher for BlueMaxima's Flashpoint (the web preservation project).
### Status

[![Flashpoint Launcher](https://github.com/FlashpointProject/launcher/workflows/Build%20and%20Release%20Status/badge.svg)](https://github.com/FlashpointProject/launcher)

[![Flashpoint Launcher](https://github.com/FlashpointProject/launcher/workflows/Build%20Status/badge.svg)](https://github.com/FlashpointProject/launcher)

[![Coverage Status](https://coveralls.io/repos/github/FlashpointProject/launcher/badge.svg?branch=master)](https://coveralls.io/github/FlashpointProject/launcher?branch=master)

[![Crowdin](https://badges.crowdin.net/flashpoint-launcher/localized.svg)](https://crowdin.com/project/flashpoint-launcher)

### Links
Expand All @@ -21,30 +18,49 @@ The launcher for BlueMaxima's Flashpoint (the web preservation project).
## About
The Flashpoint Launcher (FPL) is a desktop application made for browsing, storing and launching other applications (games, animations, web apps etc.). It is specifically made for BlueMaxima's Flashpoint, which is a web preservation project.

## Setup
How to setup a development environment:
1. Download the project (and extract it, if it was downloaded as an archive)
2. Open a command prompt and navigate it to the projects root folder
3. Run ``npm install``
## Building from source

### External Dependencies

## Linux Dependencies
#### Dependencies
* [Git](https://git-scm.com/downloads) (for downloading and updating the source code and sub-modules)
* [Node & NPM](https://nodejs.org/en/download/) (for building and running the source code)

#### Linux Dependencies
* `libgtk-3-0`
* `libnss3`

Install by running ``sudo apt install libgtk-3-0 libnss3``

## Development
Recommended setup for development:
1. Clone the repository with ``git clone --recurse-submodules https://github.com/FlashpointProject/launcher.git launcher``
2. In the new 'launcher' folder run ``npm run watch`` and let the prompt stay open
3. Open a second command prompt and run ``npm run start``
### Development Setup

1. Clone the repository with ``git clone --recurse-submodules https://github.com/FlashpointProject/launcher.git launcher`` (where ``launcher`` is the path of the directory you want to be the root of the repository).

2. Navigate to the root of the repository and run ``npm install`` - this will download and install all the dependencies from npm (it may take a few minutes).

3. Run ``npm run build`` or ``npm run watch`` (at the root of the repository). This will compile the source code and such so the launcher can be executed. If ``watch`` is used, it will rebuild the launcher automatically when a source code or static file is changed.

4. Run ``npm run start`` (at the root of the repository) to start the launcher. It is recommended to do this in a second command prompt / terminal.

5. **Optional** - It is highly recommended to set the launcher's "Flashpoint folder". This is where the launcher will read and write most data to and from. You can set the "Flashpoint folder" path at the "Config" tab in the launcher. Make sure the background of the text field is green (this means the path is valid) and don't forget to hit "Save and Exit"!

Notes:

* You will need to run ``npm install`` whenever a dependency is added or upgraded in ``package.json``.
* The launcher is changing rapidly and does not always support older "Flashpoint folders". Sometimes it does not even support the most recent one.
* It is recommended to have a separate "Flashpoint folder" for launcher development than normal usage.

## Package Scripts
Short descriptions of what the scripts in ``package.json`` do:

* ``build`` - Build the launcher (build main & renderer and copy static files to ``./build/``)
* ``watch`` - Build the launcher and incrementally rebuild it when the source or static files change
* ``pack`` - Pack the latest build (and put the packaged file with the executable electron app in ``./dist/``)
* ``release`` - Build then pack the launcher (same as running ``build`` then ``pack``)
* ``snapshot`` - Build then pack the launcher (same as running ``build`` then ``pack``)
* ``release`` - Build then pack the launcher in release mode (same as ``snapshot`` but with a release flag set)
* ``start`` - Run the latest build of the launcher
* ``test`` - Run the test suite (to find out if anything covered by the tests has been broken)
* ``lint`` - Run the linter

``pack`` and ``release`` will by default pack for the OS and architecture of the machine that runs it.

Expand Down

0 comments on commit 1c893c4

Please sign in to comment.