Skip to content
This repository was archived by the owner on Aug 18, 2020. It is now read-only.

Commit 9b1f920

Browse files
committed
Update installation guide
See: codeoverflow-org/chatoverflow#63
1 parent ccd893f commit 9b1f920

File tree

4 files changed

+69
-46
lines changed

4 files changed

+69
-46
lines changed

README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,11 @@ For more information about the chat overflow project, please visit [codeoverflow
1919
2. [Credentials value encrypted with wrong auth key](usage/Frequent-Issues.md#Credentials-value-encrypted-with-wrong-auth-key)
2020

2121
**Development:**
22-
1. [Writing a plugin](development/Writing-a-plugin.md)
23-
2. [Adding a new platform source](development/Adding-a-new-platform-source.md)
24-
3. [Deploy ChatOverflow](development/Deploy-ChatOverflow.md)
25-
4. [Structure](development/Structure.md)
22+
1. [Build Environment](development/Setting-up-the-Build-Environment.md)
23+
2. [Writing a plugin](development/Writing-a-plugin.md)
24+
3. [Adding a new platform source](development/Adding-a-new-platform-source.md)
25+
4. [Deploy ChatOverflow](development/Deploy-ChatOverflow.md)
26+
5. [Structure](development/Structure.md)
2627

2728
**Services:**
2829
1. [Twitch Chat](services/Twitch-Chat.md)

_Sidebar.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,11 @@
1414
2. [Credentials value encrypted with wrong auth key](usage/Frequent-Issues.md#Credentials-value-encrypted-with-wrong-auth-key)
1515

1616
**Development:**
17-
1. [Writing a plugin](development/Writing-a-plugin.md)
18-
2. [Adding a new platform source](development/Adding-a-new-platform-source.md)
19-
3. [Deploy ChatOverflow](development/Deploy-ChatOverflow.md)
20-
4. [Structure](development/Structure.md)
17+
1. [Build Environment](development/Setting-up-the-Build-Environment.md)
18+
2. [Writing a plugin](development/Writing-a-plugin.md)
19+
3. [Adding a new platform source](development/Adding-a-new-platform-source.md)
20+
4. [Deploy ChatOverflow](development/Deploy-ChatOverflow.md)
21+
5. [Structure](development/Structure.md)
2122

2223
**Services:**
2324
1. [Twitch Chat](services/Twitch-Chat.md)
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
This short tutorial is meant for developers and shows how to setup the build environment.
2+
If you want to install and run ChatOverflow head over to [Installation](usage/Installation.md).
3+
4+
## Prerequisites
5+
6+
For working on chatoverflow the following tools must be installed on your PC:
7+
8+
* Java 8 version `1.8.0_161` or newer
9+
* [git - version control system](https://git-scm.com/downloads)
10+
* [sbt - Scala build tool](https://www.scala-sbt.org/download.html)
11+
* [yarn](https://yarnpkg.com/) or [npm](https://www.npmjs.com/get-npm) - pakage manager
12+
13+
## Windows
14+
15+
1. Save the [📄 install.bat](https://raw.githubusercontent.com/codeoverflow-org/chatoverflow-setup/master/install.bat) to the directory where you want to install the build environment.
16+
17+
2. Execute the script, use the `--dev` argument if you want to check out the development branch automatically.
18+
19+
3. Drink some coffee while the script clones all repositories, sets up sbt and installs the gui.
20+
21+
4. Start developing!
22+
23+
## UNIX operating systems (MacOs / Linux)
24+
25+
1. Save the [📄 install.sh](https://raw.githubusercontent.com/codeoverflow-org/chatoverflow-setup/master/install.sh) to the directory where you want to install the build environment.
26+
27+
2. Execute the script, use the `--dev` argument if you want to check out the development branch automatically.
28+
29+
3. Drink some coffee while the script clones all repositories, sets up sbt and installs the gui.
30+
31+
4. Start developing!
32+
33+
### Alternative
34+
35+
This command downloads the script and executes it:
36+
```shell script
37+
bash <(curl -s https://raw.githubusercontent.com/codeoverflow-org/chatoverflow-setup/master/install.sh)
38+
```

usage/Installation.md

Lines changed: 21 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,34 @@
1-
This tutorial shows how to install the chat overflow framework. By now, working with the development environment is the only way. Currently, there are **no builds available.**
1+
This short tutorial is meant for end users of ChatOverflow and shows how to install and run the framework with all dependencies.
2+
If you want to set up a build environment for developing plugins or contributing to the framework,
3+
head over to [Build Environment](development/Setting-up-the-Build-Environment.md).
24

3-
### Pro
5+
## Prerequisites
46

5-
1. Clone the main repository. Then clone the api into folder `codeoverflow/api`, the gui into folder `codeoverflow/gui` and public plugins repository into `codeoverflow/plugins-public`.
6-
2. Setup the main repository as imported scala project, e.g. using IntelliJ. Make sure to refresh all sbt content and load the custom run configurations.
7-
3. You're done. Happy coding!
7+
For running Chatoverflow you need Java 8, version `1.8.0_161` or newer.
8+
[Download it form here.](https://www.java.com/en/download/)
89

9-
### Not so Pro
10+
## Windows
1011

11-
0. Download and install [git](https://git-scm.com/) (obviously) and [Node.js](https://nodejs.org/en/download/). Make sure that you can run it using the console.
12-
1. Clone the main repository using `git clone https://github.com/codeoverflow-org/chatoverflow.git`.
13-
2. Navigate to the created chatoverflow-folder, e.g. using `cd chatoverflow`.
14-
3. Clone the [api repository](https://github.com/codeoverflow-org/chatoverflow-api) into a folder named "api". using `git clone https://github.com/codeoverflow-org/chatoverflow-api.git api`.
15-
4. Clone the [gui repository](https://github.com/codeoverflow-org/chatoverflow-gui) into a folder named "gui". using `git clone https://github.com/codeoverflow-org/chatoverflow-gui.git gui`.
16-
5. Clone the [public plugins repository](https://github.com/codeoverflow-org/chatoverflow-plugins) into a folder named "plugins-public" using `git clone https://github.com/codeoverflow-org/chatoverflow-plugins.git plugins-public`.
12+
1. Head over to the [releases](https://github.com/codeoverflow-org/chatoverflow/releases/latest)
13+
and download the ChatOverflow `.zip` file from the assets section of the latest release.
1714

18-
Site note: You can name the folders whatever you want. But if you do so, update the names in the main [build-file](https://github.com/codeoverflow-org/chatoverflow/blob/42b9469fe489fe5efeb4aa70f278e3558fccab7d/build.sbt#L64).
15+
2. Extract the zip file (it's clever to extract it in a folder called chatoverflow 😉)
1916

20-
6. Open up your most favorite IDE for java (and scala) development. I recommend using [IntelliJ IDEA](https://www.jetbrains.com/idea/). There is also a free community version available!
21-
7. Make sure, IntelliJ IDEA and the scala plugin are up to date. Every time I open this software, a new update is available...
22-
8. Choose open project and select the freshly cloned `chatoverflow` folder (with the main build.sbt) in it. Make sure, auto-import is NOT enabled.
23-
9. Click on `Refresh sbt project`. Make sure to use a up-to-date java 1.8 SDK, do not change any other settings in the dialog window.
24-
10. Wait for 5.2 years. In the background, 3 projects are build, ressources will be downloaded and a lot of magic happens!
25-
11. When the process finished, you should see the project and its children in the project view. Get to know them (or wait till I introduce them later).
17+
3. Execute the `ChatOverflow.bat`.
2618

27-
Site note: The run configurations contain a lot of sbt commands and presets for plugin development. You will probably never need more. Brief documentation can be found in the main build.sbt file.
19+
4. Wait for the launcher to download all dependencies ⏳
2820

29-
12. Select the run configuration `Fetch plugins (sbt fetch)` and execute it. A file named `plugins.sbt` should be generated, containing all references to plugins and the api project.
30-
13. Use sbt reload (the refresh icon in the upper left corner of the sbt window, opened e.g. by View -> Tool Windows -> SBT) to reload the whole project. Now, the child projects should be recognized correctly.
31-
14. Have a look at the application run configurations. Do they have an red X? Then they are broken. Click on `Edit configurations` and select `root` as module ("Use classpath as module"). Now, they should be happy.
32-
15. Execute the run configuration `[Advanced] Full Reload and Run ChatOverflow` (and pray). This is only needed for the first startup and when you create a new plugin!
21+
5. The framework will start. When executing the `ChatOverflow.bat` again it will skipp downloading the dependencies.
3322

34-
* A lot happens now. First, all target folders and the build environment is cleaned.
35-
* Then, the project is freshly build and all plugins are fetched. The plugins.sbt file is generated. Then, the whole build environment is reloaded.
36-
* Next, all plugin versions and the api version are printed for debug reasons.
37-
* Last, all plugins compiled code is packaged into several .JAR-Archives and copied to the `plugins`-folder.
38-
* Everything is set up, and the chat overflow framework is executed. It checks the plugin folder and tries to load the plugins. Done!
23+
## UNIX operating systems (MacOs / Linux)
3924

40-
Site note: You do not have to repeat this step after each simple change. There is also a `[Simple]` run configuration for this.
25+
1. Head over to the [releases](https://github.com/codeoverflow-org/chatoverflow/releases/latest)
26+
and download the ChatOverflow `.zip` file from the assets section of the latest release.
4127

42-
Yet another site note: The projects folder structure is realy easy.
28+
2. Extract the zip file (it's clever to extract it in a folder called chatoverflow 😉)
4329

44-
* the api folder contains the API-project with all common chat overflow modelling.
45-
* the plugins folder contains packaged plugins. Just leave him alone.
46-
* the plugins-public folder contains all official/public chat overflow plugins. Each plugin has its own sub project.
47-
* the project folder contains build code for the plugin framework.
48-
* the src folder contains the chat overflow framework code.
49-
* the target folder contains the build framework.
30+
3. Execute the `ChatOverflow.sh`.
5031

51-
16. You're done. Happy coding!
32+
4. Wait for the launcher to download all dependencies ⏳
33+
34+
5. The framework will start. When executing the `ChatOverflow.sh` again it will skipp downloading the dependencies.

0 commit comments

Comments
 (0)