Commit Graph

13 Commits

Author SHA1 Message Date
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
e7bee0daa8 Store minecraft jars in a maven repo instead of an ivy repo.
Improve intelij support for attaching sources.
2022-10-26 12:51:08 +01:00
modmuss50
3700fad9ca ARM64 Windows & Linux support for MC versions that have classpath natives. Closes #675 2022-06-26 00:02:46 +01:00
Jared
ff6e7a23b9 Ensure the Mojang maven repo is added before maven central. Close #621 (#625) 2022-04-13 23:35:27 +01:00
modmuss50
d4be1e7bdc Fix issues resolving libraries and natives for old mc versions down to 1.3.2. (#584)
* Fix issues resolving libraries and natives for old mc versions.

Add a simple integration tests.

Fixes #583 and #582

* Test 1.6.4 and 1.3.2
2022-01-25 15:37:03 +00:00
modmuss50
9e46f0d389 Ignore gradle metadata in Mojang's maven repo. 2022-01-20 20:25:45 +00:00
shedaniel
2277b93f8d Fix compile for b320c4199a (#480)
* Fix compile for b320c4199a

* Fix checkstyle
2021-08-26 11:22:55 +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
shedaniel
97a629eef9 File Structure Changes (#462)
* File Structure changes

* Fix checkstyle

* Fix processed jars

* Fix unpick tests

* Resolve reviews

* Fix merge conflicts
2021-08-13 21:02:45 +01:00
Logic
2f4cf35abf Remove the Cache class in the LoomRepositoryPlugin, use LoomFiles instead. (#464)
* refactor LoomFiles to support Settings

* remove Cache class, use LoomFiles class

* fix checkstyle
2021-07-31 23:43:46 +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
210938d749 Fix local ivy layout not respecting classifiers. Fixes #407 2021-05-28 11:31:19 +01:00
LogicFan
e955ebb8c5 add support for new dependencyResolutionManagement (#400)
* move repo declartions

- Move repository declartions in MavenConfiguration.java to LoomRepositoryPlugin.java

* move repo declartions

- Move repository declartions in MinecraftMappedProvider.java to LoomRepositoryPlugin.java

* move repo declartions

- Move repository declarations in MinecraftProcessedProvider.java to LoomRepositoryPlugin.java

* do not add repositories if dependencyResolutionManagement is used

* Simplify the change on LoomGradlePlugin

- this is the suggestion from liach

* change name to follow fabric naming convension

- change getProjectUUID to getProjectUuid
- change PROJECT_MAPPED_CLASSIFIER to projectMappedClassifier

* remove MavenConfiguration.java

- the file currently do nothing.

* clean-up for all `instanceof` clause

* add DependencyResolutionManagementTest

* code cleanup

* Update src/test/resources/projects/dependencyResolutionManagement/projmap/src/main/resources/modid.accesswidener

* change project uuid to project full name

Co-authored-by: modmuss50 <modmuss50@gmail.com>
2021-05-22 23:28:42 +01:00