Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
TBubba committed Jun 19, 2020
1 parent 8bae223 commit 32b3f7e
Showing 1 changed file with 32 additions and 12 deletions.
44 changes: 32 additions & 12 deletions README.md
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,26 +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.

## Linux Dependencies
## Building from source

### External 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 Setup
Recommended setup for development:
1. Clone the repository with ``git clone --recurse-submodules https://github.com/FlashpointProject/launcher.git launcher``
2. At the root of the repository install all dependencies with ``npm install``. (Linux users see above for additional dependencies)
3. At the root of the repository run ``npm run build``. If you want changes to source and static files to continuously build then use ``npm run watch`` instead.
4. Open a second command prompt and run ``npm run start`` to start the launcher.
5. **Optional** If you have an existing Bluemaxima's Flashpoint package and want to use its data during development, go to the Config tab in the launcher and select the same folder then press Save and Restart at the bottom. (Data, Server, FPSoftware at its root)
### 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 32b3f7e

Please sign in to comment.