mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2025-02-16 12:21:39 +01:00
Updated Project Setup (markdown)
parent
f1548bdbe2
commit
4112238476
141
Project-Setup.md
141
Project-Setup.md
@ -1,33 +1,63 @@
|
||||
![Plan Header](http://puu.sh/AXSg7/5f2f78c06c.jpg)
|
||||
# Project Set-Up
|
||||
|
||||
### 1. Fork the Plan repository & Clone that repository to your workstation.
|
||||
Page version: **4.5.2**
|
||||
|
||||
1. Fork the Plan repository & Clone that repository to your workstation.
|
||||
Here is a [Tutorial](https://help.github.com/articles/fork-a-repo/).
|
||||
|
||||
### 2. Run Maven install goal for PlanPluginBridge
|
||||
2. Open `/Plan/` project folder inside the repository you just downloaded in your favorite IDE.
|
||||
Most IDEs will sync the workspace and you can start working on the project.
|
||||
|
||||
2.1. Locate `PlanPluginBridge.jar` in the repository you just cloned. It is in `<repository-root>/PlanPluginBridge/`-folder.
|
||||
If you're having issues join [Discord](discord.gg/yXKmjzT) or open an issue and I'll help you out.
|
||||
|
||||
2.2. Run a Maven goal: `mvn install:install-file -Dfile=<path-to-PlanPluginBridge.jar>`
|
||||
This will install the plugin bridge into your local maven repository. The PluginBridge is a separate jar in order to reduce the dependencies that are required to work on the project.
|
||||
You can check [.travis.yml](https://github.com/Rsl1122/Plan-PlayerAnalytics/blob/master/.travis.yml) for up to date install command
|
||||
## Building
|
||||
|
||||
2.3. Rest of the dependencies should be downloaded automatically and you can start working on the project.
|
||||
The project is split into 6 modules.
|
||||
|
||||
> Depending on your IDE there might be additional requirements to work on a Maven project. Check the IDE documentation on how to open a Maven project if you're having trouble.
|
||||
Module | Description
|
||||
-- | --
|
||||
`common` | System related abstractions and main logic is in this package. Most work is done here.
|
||||
`bukkit` | Bukkit/Spigot/Paper related classes
|
||||
`bungee` | BungeeCord related classes
|
||||
`sponge` | Sponge related classes
|
||||
`velocity` | Velocity related classes
|
||||
`plugin` | Module for shading all other modules into a single jar
|
||||
|
||||
## Possible Help
|
||||
Plan uses [Dagger](https://google.github.io/dagger/) for dependency injection.
|
||||
|
||||
- [PlanPluginBridge](https://github.com/Rsl1122/Plan-PlayerAnalytics/tree/master/PlanPluginBridge) (jar Included in the Github repo)
|
||||
Your IDE may be complaining about `DaggerPlanBukkitComponent` or another `Dagger###Component` class not being available.
|
||||
These classes are generated by Dagger and can be fixed by running `mvn compile` on the project root.
|
||||
|
||||
- [Abstract Plugin Framework](https://github.com/Rsl1122/Abstract-Plugin-Framework/) (If not in Maven Central APF can be compiled with no extra dependencies)
|
||||
> If a constructor with an `@Inject` is changed, the generated sources may go out of sync.
|
||||
In this case you will have to run
|
||||
> ```
|
||||
> mvn clean
|
||||
> ```
|
||||
|
||||
[Installing 3rd party Maven artifacts manually](https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html)
|
||||
If you would like to skip tests and build, use
|
||||
```
|
||||
mvn install -DskipTests
|
||||
```
|
||||
|
||||
Other artifacts should exist in either Maven Central Repository or BungeeCord repository and will be downloaded automatically.
|
||||
## Testing
|
||||
|
||||
If you're having issues join [Discord](discord.gg/yXKmjzT) and I'll try to help you out.
|
||||
Tests are performed on Travis, but if you would like to run the tests on your machine, do:
|
||||
```
|
||||
mvn test
|
||||
```
|
||||
|
||||
### Running tests inside IntelliJ IDEA
|
||||
|
||||
Running tests in IntelliJ IDEA requires some extra set-up because of multiple projects being present.
|
||||
|
||||
Testing configuration:
|
||||
![Testing configuration](http://puu.sh/C3eRT/fdd146c153.png)
|
||||
|
||||
#### Possible errors:
|
||||
|
||||
**IntelliJ build window displays hundreds of compile errors and the project compilation fails, with no errors in the editor**
|
||||
This can be fixed by running `mvn package` and then running the test configuration again.
|
||||
|
||||
# PlanPluginBridge Project Setup
|
||||
|
||||
@ -37,85 +67,4 @@ If you're having issues join [Discord](discord.gg/yXKmjzT) and I'll try to help
|
||||
|
||||
Since PlanPluginBridge uses a collection of other plugins, some of them can not be found in any maven repositories.
|
||||
|
||||
I have made a .bat script (Windows) for installing the required dependencies once you have obtained them.
|
||||
- [install_dependencies.bat](https://github.com/Rsl1122/Plan-PlayerAnalytics/blob/master/PlanPluginBridge/install_dependencies.bat)
|
||||
|
||||
Here is a list of dependencies required to run the install script - The install script uses the names listed (with a .jar file format) in the same folder the script is located in.
|
||||
|
||||
```
|
||||
x--------------------------------------------------x
|
||||
| |
|
||||
| Plan Plugin Bridge Dependency download links |
|
||||
| 4.4.5 |
|
||||
x--------------------------------------------------x
|
||||
```
|
||||
|
||||
* AAC-3.5.0-b1
|
||||
Requires a copy of AAC.
|
||||
https://www.spigotmc.org/resources/aac-advanced-anti-cheat-hack-kill-aura-blocker.6442/
|
||||
|
||||
* AdvancedAchievements
|
||||
In Maven Repository
|
||||
|
||||
* AdvancedBan-2.1.5
|
||||
https://www.spigotmc.org/resources/advancedban.8695/
|
||||
|
||||
* ASkyBlock-3.0.9.4
|
||||
https://www.spigotmc.org/resources/askyblock.1220/
|
||||
|
||||
* BanManager-5.15.4
|
||||
https://www.spigotmc.org/resources/banmanager.21927/
|
||||
|
||||
* EssentialsX-2.15.0.1
|
||||
https://www.spigotmc.org/resources/essentialsx.9089/
|
||||
|
||||
* Factions-2.14.0
|
||||
MassiveCore-2.14.0
|
||||
https://www.spigotmc.org/resources/factions.1900/
|
||||
|
||||
* GriefPrevention-16.8
|
||||
In Maven Repository
|
||||
https://github.com/TechFortress/GriefPrevention/releases/
|
||||
|
||||
* GriefPreventionPlus-13.3
|
||||
https://github.com/KaiKikuchi/GriefPreventionPlus/releases
|
||||
|
||||
* Jobs4.7.4
|
||||
https://www.spigotmc.org/resources/jobs-reborn.4216/
|
||||
|
||||
* Kingdoms-13.3.40
|
||||
https://www.spigotmc.org/resources/kingdoms-plugin-demo.6392/
|
||||
|
||||
* LiteBansAPI-0.3
|
||||
https://github.com/ruany/LiteBansAPI/releases
|
||||
|
||||
* mcMMO-1.6.0-SNAPSHOT
|
||||
https://popicraft.net/jenkins/job/mcMMO/
|
||||
|
||||
* PlaceholderAPI
|
||||
In Maven repository
|
||||
|
||||
* ProtocolSupport-4.28
|
||||
https://www.spigotmc.org/resources/protocolsupport.7201/
|
||||
|
||||
* React-6.573
|
||||
Requires a copy of React
|
||||
https://www.spigotmc.org/resources/react-smart-server-performance.21057/
|
||||
|
||||
* RedProtect-7.6.3
|
||||
In Maven Repository
|
||||
|
||||
* SuperbVote-0.5.3
|
||||
https://www.spigotmc.org/resources/superbvote.11626/
|
||||
|
||||
* Towny-0.92.0.0
|
||||
http://towny.palmergames.com/
|
||||
|
||||
* Vault-1.5.6
|
||||
In Maven Repository
|
||||
https://www.spigotmc.org/resources/vault.34315/updates
|
||||
|
||||
* ViaVersion-1.5.0
|
||||
In Maven Repository
|
||||
|
||||
![PlanPluginBridge Dependencies for 4.4.5](http://puu.sh/BlJjn/6b92b8bf8f.png)
|
||||
- [More instructions on setting up PlanPluginBridge maven project](https://github.com/Rsl1122/Plan-PlayerAnalytics/wiki/PlanPluginBridge-Project-Set-Up)
|
Loading…
Reference in New Issue
Block a user