Skip to content
This repository has been archived by the owner on Nov 11, 2024. It is now read-only.
/ GTNH-DevEnv Public archive

Combined multi-project development environment for refactors across GT addons

License

Notifications You must be signed in to change notification settings

GTNewHorizons/GTNH-DevEnv

Repository files navigation

Combined GT5u + GTNH Addons dev workspace

Combines GT5u and many GT addons into one big workspace for easy development of cross-mod changes and large-scale refactoring.

Each individual addon is a git submodule (read the docs here), so you can locally set up separate branches in each of them and push to their respective upstreams for making PRs.

Setup instructions

git clone https://github.com/GTNewHorizons/GTNH-DevEnv.git
cd GTNH-DevEnv
git submodule update --init
./gradlew prepareWorkspace

Now you can open the folder as an IDEA workspace and work on the mods as you wish. Importing the project for the first time might take a significant amount of time, be prepared.

You can cd into the individual mods, add git remotes, push, pull like usual - just make sure to not make PRs to the devenv repository (it will be periodically updated with the latest master versions of mods for convenience).

Tips and tricks

Use the SSH protocol instead of HTTPS locally for this folder

Run the following in your console/git bash:

git config 'url.ssh://[email protected]/.insteadOf' 'https://github.com/'

Verify if dependency substitution is working

./gradlew NHCM:dependencies --configuration=compileClasspath

Output when it works:

...
+--- com.github.GTNewHorizons:TecTech:5.1.7 -> project :TecTech
+--- com.github.GTNewHorizons:bartworks:0.6.10 -> project :bartworks
...

Add a new mod to co-develop

git submodule add https://github.com/GTNewHorizons/NewHorizonsCoreMod.git

And then add it to the list in settings.gradle.kts

About

Combined multi-project development environment for refactors across GT addons

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages