|
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). |
2 | 4 |
|
3 |
| -### Pro |
| 5 | +## Prerequisites |
4 | 6 |
|
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/) |
8 | 9 |
|
9 |
| -### Not so Pro |
| 10 | +## Windows |
10 | 11 |
|
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. |
17 | 14 |
|
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 😉) |
19 | 16 |
|
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`. |
26 | 18 |
|
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 ⏳ |
28 | 20 |
|
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. |
33 | 22 |
|
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) |
39 | 24 |
|
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. |
41 | 27 |
|
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 😉) |
43 | 29 |
|
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`. |
50 | 31 |
|
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