Commit Graph

129 Commits

Author SHA1 Message Date
modmuss
186b774a2e Verify the minecraft jar signature (#1282)
* Verify the minecraft jar cert

* Don't verify old server jars.

* Checkstyle

* Unit test fixes

* Add a list of known version hashes for versions that we cannot verify the jar signature.

Either the versions arent signed, or are signed with a SHA-1.

* Only verify minecraft jars when they were actually downloaded again.

* Add property to disable verification

* Fix import

* Fix bundled jars
2025-04-07 11:53:55 +01:00
modmuss50
74795b0250 Add "productionRuntimeMods" configuration 2025-01-27 11:06:43 +00:00
modmuss
8b6658c559 Production run tasks (#1241)
* Production run tasks

* Fix

* Add some docs
2025-01-02 14:25:32 +00:00
modmuss
6492178eaf Add decompile cache rules properties. (#1217)
Closes #1206
2024-11-22 10:25:56 +00:00
modmuss
bc9ce581e4 Add a Gradle property to override the runtime java compat version. (#1178) 2024-09-26 19:03:53 +01:00
modmuss
b533dacba8 Remove multi project optimisation (#1159)
* Remove multi project optimisation

* Fix build

* Fix FAPI test
2024-08-14 10:59:18 +01:00
modmuss
db65759c88 Experimental Sandbox support (#1107) 2024-05-09 09:10:05 +01:00
Luke Bemish
63ebc35e1d Improve how include configuration works (#1080)
* Initial work on better include configuration

* Remove unused members

* Substantially simplify

* Only process configuration once

* Hopefully fix tests

* Make platform dependencies work again

* Fix edge case where include or super configuration has withDependencies action

* Fix including subproject/composite jars and add test

* Remove needless following of external result

* Change priority for module location discovery

* Fix failing test

* Apply suggestions from code review

Co-authored-by: modmuss <modmuss50@gmail.com>

---------

Co-authored-by: modmuss <modmuss50@gmail.com>
2024-05-04 18:16:32 +01:00
modmuss
2c3a0adb5b Add manifest entry allowing deps to define known bsms (#1111) 2024-04-26 11:52:09 +01:00
Space Walker
3670ccb959 Support merging pre 1.3 Minecraft versions. (#1026)
Co-authored-by: modmuss50 <modmuss50@gmail.com>
2024-03-19 17:25:57 +00:00
modmuss
99380d98e5 Add Fabric-Loom-Mixin-Remap-Type manifest entry (#980) 2023-11-20 15:19:48 +00:00
modmuss
3a090917ff Update to Gradle 8.3, and update all other deps. (#946)
* Update to Gradle 8.3, and update all other deps.

* Fix tests

* Lazily download decompilers, generate version constants to ensure they are synced between the build and Gradle.

Each decompiler has a configuration, this allows the version to be changed at a later date if needed.

* Fix typo :)

* Oh so many versions
2023-08-24 10:18:25 +01:00
modmuss50
89d09600c5 Rewrite Kotlin metadata remapping to support the latest kotlin metadata library. (#866) 2023-04-17 23:46:45 +01:00
modmuss50
c16303b9b2 Rewrite Minecraft Library handling. (#857)
This PR rewrites the Minecraft library processing with a more structured and testable set of "library processors". The old code is a mess of special cases and work arounds for various issues on various platforms.

Previously this was only really used on lesser used platforms/versions so wasnt a major issue if things broke, however current shipping Minecraft versions (1.19.4) use an LWJGL version that does not work well on Java versions new than 19. With this change LWJGL is upgraded when using Java 19 or later.

Upgraded libraries are also now only placed on the runtime classpath, this prevents you from using newer library features in your mod.
2023-04-17 00:07:52 +01:00
modmuss50
5094a8af86 Update MCE (#818) 2023-01-24 10:54:37 +00:00
modmuss50
b22c66f0be Update dependencies 2023-01-22 13:34:28 +00:00
modmuss50
69d25b7f60 Include projects in jar processor inputs (#771)
* Include projects in jar processor inputs

* Add option to disable + tests
2022-12-30 15:09:30 +00:00
modmuss50
e16d9b0fa2 Update mercury, use the java release version to set the merucry source compat version (#773) 2022-12-16 10:48:58 +00:00
modmuss50
f87320fae8 Add multi project optimisation option to allow opt into shared tiny remapper. (#747)
* Add multi project optimisation option to allow opting into shared tiny remapper.

* Review feedback and fixes
2022-11-01 21:36:41 +00:00
modmuss50
aa77ad8c4c Support Mixin 0.8.5's configurable AP message levels.
Same API as MixinGradle. Closes #671
2022-07-03 21:23:36 +01:00
modmuss50
5f09152e9f Merge branch 'dev/0.12' into exp/0.13 2022-07-02 23:42:41 +01:00
modmuss50
da2992e7d9 Configurable remap configs. (#674)
* First pass at configurable remap configs.

* No benefit to making it lazy: https://github.com/gradle/gradle/blob/v7.4.2/subprojects/plugins/src/main/java/org/gradle/api/plugins/BasePlugin.java#L104 ... fixes some stuff to make it work.
2022-06-25 21:38:43 +01:00
modmuss50
9b2b857b38 Update MC manifest url. 2022-06-21 19:05:09 +01:00
modmuss50
07ded449ee Update mercury and set source compatibility version to 17 2022-05-26 11:21:53 +01:00
modmuss50
23dfe606bb Fix mod settings for sourcesets from other projects. (#642) 2022-05-18 22:56:35 +01:00
modmuss50
b8687c87ce Support 1.19-pre1, natives are now all loaded via the classpath. 2022-05-18 18:27:11 +01:00
modmuss50
f632dee2df Mod provided javadoc (#627) 2022-04-19 23:30:28 +01:00
modmuss50
fff4afe405 Initial support for split client/common sourcesets. (#606) 2022-03-04 15:01:45 +00:00
modmuss50
c406d24856 Update MCE, set the quiet Mixin AP flag. (#604) 2022-02-27 12:27:16 +00:00
modmuss50
2c5baf95cb Cleanup runtime only log4j, allow it on any version. 2022-01-19 22:41:12 +00:00
modmuss50
e180e39575 Fix typo 2022-01-19 21:47:34 +00:00
modmuss50
b31ce4e525 Remove log4j from compile classpath starting with Minecraft 22w03a.
This is done to force modders to use SLF4J as Mojang have the ability to remove it at anytime. An option is provided to disable this.
2022-01-19 20:04:10 +00:00
modmuss50
5a16440c1e Support ARM natives, rewrite native handling and misc cleanup. (#554)
* Rewrite natives handling, upgrade LWJGL on ARM machines.

* Remove old natives override hack, should now always be done via gradle.

* Use "idea" everywhere

* Add server specific libraries onto their own classpath. Includes misc code cleanup.

* Start on writing the excluded server libs.

* Gradle deprecation fixes, and misc cleanup

* Add support mod.

* Make native support mod none transitive.

* Update gradle.
2021-12-17 15:37:00 +00:00
modmuss50
6d65e120e7 Remove deprecated stuff 2021-12-04 19:00:47 +00:00
modmuss50
337d17bb92 Java 17 and update libs. Closes #545 2021-12-04 19:00:47 +00:00
Juuxel
9ddff5f31a Fix gradle module metadatas not including api deps in runtimeElements (#540) 2021-11-23 18:35:08 +00:00
Juuxel
587db4abae Add localRuntime and modLocalRuntime configurations (#526)
Closes #481.

Co-authored-by: modmuss50 <modmuss50@gmail.com>
2021-10-29 22:26:59 +01:00
modmuss50
e409f13b8c Add dev config with default jar task on it, to aid with depending on … (#525)
* Add dev config with default jar task on it, to aid with depending on sub projects.

* Rename to `namedElements`

* Update src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java

Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>

Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>
2021-10-29 13:29:29 +01:00
Juuxel
4f2ead9f16 Remove unused Constants.SOFTWARE_COMPONENT_NAME (#493)
This was a leftover from removed code, oops
2021-09-12 11:39:12 +01:00
modmuss50
1818ff03ab Update dependencies 2021-09-07 12:31:16 +01:00
modmuss50
2bdeb869ab Update MCE and test deps 2021-09-05 16:22:51 +01:00
Juuxel
08f055489b Fix the java software component not working with Loom and fix #200 (#460)
* Add modCompileOnlyApi, modRuntimeOnly; deprecate modRuntime

* begin

* continue

* Make RemapSourcesJarTask use properties

* finish

* Remove cursed version hack 😉

* Finish for real

* Add missing header

* Clarify a comment

* Fix tests

* Use Gradle's own *Elements and remove -dev jars

* Fix maven test

* Put mappingsFinal onto runtimeClasspath instead of implementation

* Make non-mod dependencies work with the legacy pom magic too

* Be a bit more clever when removing dev artifacts
2021-09-05 16:08:16 +01:00
hanbings
b320c4199a Allow developer set the site where to download game resource.(0.9 branch) (#442)
* Add mirrors util and mirror configuration

* Fix NPE in MirrorConfiguration;
Add constants in Constants;
Rename Mirrors.java to MirrorUtil.java

* Bump gradle nightly version

* Apply mirror to download assets.
Need fix settings in LoomRepositoryPlugin.java

* Fix MojangMappingsSpec having the same hash version for each mc version.

I dont think this would be a real cause for concern as the jar would have had the mc version in it anyway.

* Revert "Fix MojangMappingsSpec having the same hash version for each mc version."

This reverts commit 61fa4d9f

* Remove MirrorConfiguration and move to MirrorUtil

* StyleCheck.

* Fix "IllegalStateException: The root project is not yet available for build."

* Remove some of the extra content.

Co-authored-by: BreakIce <suibing112233@outlook.com>
Co-authored-by: modmuss50 <modmuss50@gmail.com>
2021-08-22 15:19:58 +01:00
Juuxel
a0c2d877af Add modCompileOnlyApi, modRuntimeOnly; deprecate modRuntime (#458) 2021-07-31 23:46:42 +01:00
shedaniel
75234f4cbd Use Property in LoomGradleExtension & Move task groups to constants (#445)
* Use Property in LoomGradleExtension

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Fix customMinecraftManifest

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Add deprecation messages, let's wait for the tests to run to fix the tests that are using deprecated apis

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Apply license

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Update src/main/java/net/fabricmc/loom/util/DeprecationHelper.java

Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>

* Fix some tests, move mixinRefmapName -> mixin.defaultRefmapName

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Move back to the api

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Fix some tests

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Apply reviews

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Update src/main/java/net/fabricmc/loom/api/LoomGradleExtensionAPI.java

Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>

Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>
Co-authored-by: modmuss50 <modmuss50@gmail.com>
2021-07-26 20:08:03 +01:00
modmuss50
69caaccb07 Fallback to fabric's experimental version manifest for versions that are not in the launchermeta. 2021-07-16 23:22:03 +01:00
modmuss50
e439a1b354 Refactor LoomGradleExtension (#431)
* First pass at refactoring the extension

* Fix inital issues.

* Combine some interfaces

* Checkstyle

* Fix years

* Add isShareCaches to api
2021-07-14 00:03:21 +01:00
modmuss50
54fe0909ff Use spotless for header validation, years have been back-filled from git history 2021-07-10 21:50:53 +01:00
modmuss50
93b2aebaf8 Update MCE to 0.4.4 2021-05-18 21:00:08 +01:00
modmuss50
9fb167d506 General cleanup by making use of java 16 features (#397)
* General cleanup by making use of java 16 features

* use jackson-databind in place of gson when reading to a record

* Fixes

* cleanup

* dep updates

* Replace commons IOUtils usage with native java

* Update fernflower
2021-05-13 22:06:34 +01:00