/Sponge

Shared code between SpongeForge and SpongeVanilla

Primary LanguageJavaMIT LicenseMIT

SpongeCommon Build Status

Currently not stable and under heavy development!

Common code for official SpongeAPI implementations. It is licensed under the MIT License.

Prerequisites

Clone

The following steps will ensure your project is cloned properly.

  1. git clone --recursive https://github.com/SpongePowered/SpongeCommon.git
  2. cd SpongeCommon
  3. cp scripts/pre-commit .git/hooks

Setup

Note: SpongeCommon uses Gradle as its build system. The repo includes the Gradle wrapper that will automatically download the correct Gradle version. Local installations of Gradle may work but are untested. To execute the Gradle wrapper, run the ./gradlew script on Unix systems or only gradlew on Windows systems.

Before you are able to build SpongeCommon, you must first prepare the environment:

  • Run ./gradlew setupDecompWorkspace --refresh-dependencies

IDE Setup

For Eclipse

  1. Run ./gradlew eclipse
  2. Import SpongeCommon as an existing project (File > Import > General)
  3. Select the root folder for SpongeCommon and make sure Search for nested projects is enabled
  4. Check SpongeCommon when it finishes building and click Finish

For IntelliJ

  1. Make sure you have the Gradle plugin enabled (File > Settings > Plugins).
  2. Click File > New > Project from Existing Sources > Gradle and select the root folder for SpongeCommon.
  3. Make sure Use default gradle wrapper is selected. Older/newer Gradle versions may work but we only test using the wrapper.

Building

Note: You must Setup the environment before you can build SpongeCommon.

In order to build SpongeCommon you simply need to run the gradlew command. On Windows systems you should run gradlew instead of ./gradlew to invoke the Gradle wrapper. You can find the compiled JAR files in ./build/libs.

Updating your Clone

The following steps will update your clone with the official repo.

  1. git pull
  2. git submodule update --recursive
  3. ./gradlew setupDecompWorkspace --refresh-dependencies

Contributing

Are you a talented programmer looking to contribute some code? We'd love the help!

  • Open a pull request with your changes, following our guidelines.
  • Please follow the above guidelines for your pull request(s) to be accepted.