You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+5-1Lines changed: 5 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,13 +18,15 @@ This build script was heavily inspired by the build script created by GT New Hor
18
18
- Jabel for Java 17 language features while still targeting Java 8
19
19
- JUnit 5 added automatically
20
20
- Spotless auto-formatting with default formatter configurations, or user-specified configurations
21
-
- API and Source deployment along side obf and deobf jars
21
+
- API and Source deployment alongside obf and deobf jars
22
22
- Deployment testing options, so that you can ensure your tokens and other variables are set up properly
23
23
- Custom username setting for development, that can be set either project-wide or via an environment variable for shared projects
24
24
- Ships with Jetbrains annotations by default, so you have another option over `javax`
25
25
- Scala support
26
26
- Custom Maven publishing location support, with all secrets held by system environment variables
27
27
- Automatic mixin JSON generation, as well as mcmod.info and pack.mcmeta if they are missing
28
+
- Dependency shadowing for releasing dependencies in your builds, more info [here](https://github.com/GregTechCEu/Buildscripts/blob/master/docs/shadow.md)
29
+
- Automatic changelog generation by generating a list of all commits between the current tag and the previous tag
28
30
29
31
And many more to come! And of course, all of these features are toggleable via an option in `gradle.properties`.
30
32
@@ -35,6 +37,7 @@ And many more to come! And of course, all of these features are toggleable via a
35
37
- Ensure your project is initialized in git. For example, you can run `git init; git commit --message "initial commit"`
36
38
- Replace placeholder values, such as `gradle.properties`, package/class names for your `src/main` directory, etc.
37
39
- Run `./gradlew setupDecompWorkspace`
40
+
- Run `./gradlew updateBuildScript` to ensure that you are on the latest version
38
41
- You are good to go! You can now run the `runClient` run configuration or run `./gradlew runClient` to launch the game
39
42
40
43
## How to Install (Existing Project)
@@ -54,6 +57,7 @@ And many more to come! And of course, all of these features are toggleable via a
54
57
1. JEI
55
58
2. The One Probe
56
59
- Delete the `build.gradle.old` file
60
+
- And lastly, run `./gradlew updateBuildScript` to ensure that you are on the latest version
57
61
58
62
### Advanced
59
63
- If your project was using Mixins, you may get a new mixin config file generated as `mixins.{modid}.json`, if yours was not named this way. Currently, you will have to move your Mixin config options to this newly generated file. If this behavior does not suit your needs, feel free to open an issue and start a discussion on different behavior
Shadowing is a useful tool which allows you to include other projects into your builds, so that users of your mod do not need to manually install them some other way.
4
+
5
+
Some use-cases for this include:
6
+
- Using Java libraries which are not normally available in an MC environment
7
+
- Including a non-released mod, such as a library mod of yours that you do not want to separately manage releases of
8
+
- Using newer versions of certain Java libraries than MC provides
9
+
10
+
However, this feature should be used carefully. Some common issues that can occur:
11
+
- If you include a shadowed mod in your project, and a modpack contains that mod, the game will not launch as Forge will see them as duplicate mods (matching mod id)
12
+
- If you include a shadowed Java library in your project, users creating addon mods for your mod may have difficulties with their environment if the 'relocateShadowedDependencies' option is enabled, as import paths will be changed
0 commit comments