Commit graph

39 commits

Author SHA1 Message Date
modmuss50
9d9be1b842
Migrate fully to mapping-io + Add comments about transitive access widners to generated sources (#495)
* Add comments about transitive access widners to generated sources

* Migrate fully to mapping io

* Use release version of lorenz-tiny

* Review comment
2021-09-16 15:28:06 +01:00
shartte
d48c74161e
Access Widener 2.0 with support for Transitive Access Wideners (#484)
* Added global access widener support.

* Adapt loom to changed API of latest AW PR.

* Fix expected access widener to fix the test. Since the access widener is now streamed directly into the writer, the expanded rules (i.e. accessible field makes the owning class also accessible) are no longer found in the remapped file.

* Add basic transitive accesswidener test

* Extracted applying transitive access wideners into their own jar processor since they also need to be applied if there is no AW in the mod itself.

* Misc assortment of fixes

* Set up the processor lazily to allow for adding the intermediary MC jar, which is needed to correctly remap intermediary AWs to named.

* Rework to setup the tiny remapper classpath with the mc jar
Add an extension prop to disable

* Add TransitiveDetectorVisitor

* Minor refactoring.

* Use release-version of access-widener.

Co-authored-by: modmuss50 <modmuss50@gmail.com>
2021-09-14 22:40:47 +01:00
modmuss50
08e548b6c6
Expose layered mappings as an API (#490)
* Expose layered mappings as an API

* Add FileSpec

* Cleanup and support DependencyFileSpec
2021-09-13 17:58:52 +01:00
modmuss50
aaf8653bee Disable ANSI when gradle's --console plain arg is used Fixes #486 2021-09-07 12:24:57 +01:00
modmuss50
8da2da8aed Update checkstyle to prevent using var expect for new instance creation. 2021-09-07 11:55:05 +01:00
shedaniel
6165576521
Make --refresh-dependencies work by creating the directory after clearing it (#482) 2021-08-31 14:54:17 +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
Logic
9a470a49d8
update mapping-io, fix #473 (#474) 2021-08-22 15:03:09 +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
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
e6793b5ed7 Revert "Fix MojangMappingsSpec having the same hash version for each mc version."
This reverts commit 61fa4d9f
2021-07-21 23:30:40 +01:00
modmuss50
61fa4d9fb6 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.
2021-07-21 22:29:23 +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
8ce991dadc Fix build... 2021-07-04 01:00:18 +01:00
modmuss50
3a51777b4b Use a detached configuration to add jetbrains annotations to the source remapper classpath. 2021-07-04 00:58:09 +01:00
shedaniel
54d6ef7896
Fix typo "officalMojangMappings" (#420)
Signed-off-by: shedaniel <daniel@shedaniel.me>
2021-06-20 13:24:10 +01:00
modmuss50
1f9f48052b
Basic layered mappings with @ParchmentMC support (#413) 2021-06-14 18:39:03 +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
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
modmuss50
2f38c747a1 Catch all when merging jars 2021-05-12 20:31:05 +01:00
modmuss50
9303dc39c3 Cleanup merged jar on failure 2021-05-12 19:03:42 +01:00
modmuss50
ce19467121 Fix last commit, oops 2021-03-31 13:28:26 +01:00
modmuss50
a3c90aca19 Ensure output is deleted before remapping the game. 2021-03-31 13:14:24 +01:00
modmuss50
759cac2e6b
Constant unpicking (#328)
* Start adding constant unpicking

* Update to use unpick cli

* Fix build?

* Fix?

* Fix log spam when unpicking

* Improve unpick tests
2021-03-25 19:03:35 +00:00
modmuss50
e6ac2afc7b
Ensure outputs are reproducable across all OS's. (#363) 2021-03-15 23:31:18 +00:00
modmuss50
679026ef31 Minor cleanup/optimisations to downloading, should help a little bit more with asset downloading.
Closes #359
2021-03-04 23:50:02 +00:00
Shadowfacts
4540b3af33
Add log4jConfigs to Loom extension (#356)
Allows mod build scripts to specify custom Log4j config files that will
be combined together when running Minecraft in the dev-env. For example:

    loom {
        log4jConfigs.from "MyCustomConfig.xml"
    }

See: https://logging.apache.org/log4j/2.x/manual/configuration.html#CompositeConfiguration
2021-02-26 21:19:26 +00:00
modmuss50
46957df360
Run tests against gradle 7 and fail on deprecation. Fix gradle 8 support again. 2021-02-14 13:56:22 +00:00
Juuxel
dd440acb8e
Add dev runtime dependencies to runtimeClasspath instead of runtimeOnly (#350)
This stops them from incorrectly showing up in Gradle module metadata
when a software component is used.
2021-02-13 16:53:44 +00:00
modmuss50
0d1f40aee4
Rewrite minecraft game data handling.
Much faster asset and native validation logic.
Simplfied game metadata model.
2021-02-12 17:50:54 +00:00
modmuss50
409f5f8e93
Update MCE - Remove auto population of minVersion in mixins - Drop some log levels. 2021-02-11 18:12:27 +00:00
modmuss50
b8058c693d Fix CME, Closes #345 2021-02-03 19:56:41 +00:00
shedaniel
17fb2b4656
Cache the checksum of asset index files. (#335)
* Cache the checksum of asset index files.

* Resolve reviews
2021-01-29 15:38:46 +00:00
Chocohead
ba3a1e4d9c
Use the given manifest version hash if possible (#337) 2021-01-24 14:39:52 +00:00
modmuss50
58e94f2db3 Centralise refreshDeps variable.
Makes it easier to hack it to always enable for profiling.
2021-01-19 21:58:39 +00:00
modmuss50
792a64e2ef
Optimise loom configuration, saves 1.2 seconds in my testing. #319 2020-12-27 16:25:30 +00:00
modmuss50
03444f26b0
General code cleanup (#313)
* First general cleanup pass

* Review feedback

* Fix build

* Fix tests
2020-12-24 20:58:30 +00:00