Commit Graph

604 Commits (5315d3c5b24bcce47268ef8962c07aeb934b014b)

Author SHA1 Message Date
modmuss50 2b5d3d4a3a Revert: "Always fork the java compiler" Fixes #453
This reverts 0cfa88f73b as it causes OOM issues when building fabric api.
2021-07-28 18:19:56 +01:00
Logic e124d48387
fix #448 (#451)
* fix #448

* minor fix
2021-07-28 08:50:14 +01:00
modmuss50 32837d71eb Fix NPE when in a mod loader dev env 2021-07-27 20:56:24 +01:00
Juuxel b955affb1a
Expose 'loom' extension as the API, deprecate 'minecraft' extension (#449) 2021-07-26 20:20:23 +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
Juuxel b558ee1a46
Fix loom.accessWidener being a read-only property in Kotlin (#447)
* Re-enable Kotlin test because the related bug has been fixed

* Fix loom.accessWidener being a read-only property in Kotlin

* Remove Kotlin test exclusions
2021-07-26 12:14:31 +01:00
modmuss50 ef2816b0d0
Make SourceRemapper threaded (#446)
Should be a little bit faster, but nothing magicial.
2021-07-25 22:54:22 +01:00
modmuss50 4601cc1db2 Update mercury. Test with Gradle 7.3 nightlys. Bump other deps. 2021-07-24 19:35:53 +01:00
Juuxel 08a797c53b
Use jar processor ids to fix #432 (#444)
* Use jar processor ids to fix #432

* Use full hash string of jar processor ids
2021-07-23 21:51:34 +01:00
modmuss50 606046e719 Ensure files are closed and outputs cleaned up when remapping. 2021-07-23 21:22:59 +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 d32acb3370 Bump gradle nightly version 2021-07-20 08:47:15 +01:00
LogicFan 81fa551382
Better Mixin AP configuration (#423)
* [SPON-15] Apply Mixin AP config for all projects.

* Revert "[SPON-15] Apply Mixin AP config for all projects."

This reverts commit 93576e83b1221949d551b6307938f7dd6dc8fbbe.

* use setter & getter

* fix broken test introduced in 54d6ef7896

* initial commit for mixin extension

* refactor getConfiguration

* apply mixin extension

* [SPON-15] allow across project AP config

* [SPON-15] revert some changes

* [SPON-15] refactor codes

* [SPON-15] fix bugs

* [SPON-15] bring back cross-project apconfig

* [SPON-15] bug fix: move add default sourceSet earlier

* [SPON-15] fix style

* [SPON-15] refactor MixinAPExtension

* add test

* update test

* [SPON-15] fix test

* Update MixinAnnotationProcessorExtension.java

* [SPON-15] fix test

* fix deprecated gradle API

* [SPON-15] refactor ApInvoker

* [SPON-15] refactor ApInvoker

* allow change refmap name in sourceSet bases

* add new condition on test

* [SPON-15] fix wrong suffix

* Revert "[SPON-15] fix wrong suffix"

This reverts commit 98910392d91c26cd0454cca8cfc03c4e3d417fd6.

* fix mixinjson suffix

* use stream instead of collection for mixin json name

* change name for function

* use correct auto-refmap

* fix file name

* add with action

* add test

* refactor some codes

* refactor code

* update test

* fix checkstyle

* better error message

* fix checkstyle

* remove corss project option

* allow mixin inside loom

* remove project0

I should remove all project0. If I forget one please tell me.

* move `mixin` inside `loom`

* fix spotless

* merge attempt

* fix checkstyle

* seperate api & impl

* add experimental annotation for API

* use API

* Fix indentation

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

* fix typo

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

* fix typo

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

* better javadoc

Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>
2021-07-18 14:13:47 +01:00
modmuss50 a73696a83f Fix fabricApi.module does not respecting offline mode. Closes #412 2021-07-16 23:25: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 d271dfadd0 Add CustomManifestTest 2021-07-16 22:59:37 +01:00
modmuss50 34b771f744 Actually handle gzip encoded connections when downloading. 2021-07-16 22:48:50 +01:00
modmuss50 777f30913b Add back customManifest api 2021-07-16 22:36:22 +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 2259a4efc8
Add versions used to compile/build against to jar manifest (#428)
* Add versions used to compile/build against to jar manifest

* checkstyle

* Move to post remap

* Fix build

* Add mc version and mixin group

* Typo

* Make test run across versions better.
2021-07-13 23:10:07 +01:00
modmuss50 e3b2f8610e Update parchment url 2021-07-13 12:43:47 +01:00
Juuxel f26e9e2c7b
Fix AW field remapping (#434)
* Fix AW field remapping

* Fix by updating TR instead

* Fix checkstyle so that tests run
2021-07-13 08:52:42 +01:00
modmuss50 ad5ac78e06 Improve some bad stack traces.
Idk why this happens.
2021-07-13 00:05:33 +01:00
Juuxel f13dc4eea7
Test AW field remapping (#433) 2021-07-12 23:39:32 +01:00
modmuss50 f3b336413c Fix header file from merge.
I should have really waited for the PRs to be merged first thinking about it..
2021-07-10 21:58:15 +01:00
Juuxel e9657d63c4
Fix local file mod dependencies (#430)
* ModProcessor: Add more descriptive error TR output error message

* Fix flatDir/files/fileTree mod dependencies

* Add clarifying comment

* Use hash as a placeholder version

* ProjectTestTrait: Copy instead of reading and writing text

This allows having jars and other binary data in tests.

* Add integration test for local file dependencies

* Use File.bytes instead of Files.copy

* Use truncated SHA256 instead of murmur3
2021-07-10 21:52:38 +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 b24e067215 Fix yet another gradle deprecation, expand tests to cover it 2021-07-05 23:04:08 +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
modmuss50 5bccf43761 Update ReproducibleBuildTest hashes, the tiny remapper update caused this. 2021-06-30 22:54:42 +01:00
modmuss50 bed2031f3b Update ASM and nightly gradle 2021-06-30 22:33:17 +01:00
LogicFan 7fba77d43a
fix broken test introduced in 54d6ef7896 (#424) 2021-06-28 16:33:18 +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
haykam821 60482833b2
Use tabs for indentation in the Fernflower decompiler (#383)
Co-authored-by: modmuss50 <modmuss50@gmail.com>
2021-06-13 14:34:46 +01:00
modmuss50 9278f6c4b9
Fix new gradle 8.0 deprecation added in 7.2 (#416)
* Fix new gradle 8.0 deprecation added in 7.2

* Handle bootstrap tests a bit better

* Fix 0.9 wrapper tests
2021-06-13 13:28:47 +01:00
modmuss50 0cfa88f73b Always fork the java compiler 2021-06-13 11:23:46 +01:00
modmuss50 4763760984 Revert "Update mercury (#408)"
This reverts commit 50d6fd298d.
2021-06-02 23:05:51 +01:00
modmuss50 50d6fd298d
Update mercury (#408) 2021-06-02 09:06:26 +01:00
modmuss50 188bbe57d6 Fix MergedNestedJarProvider not calling the child's prepare 2021-06-01 18:13:59 +01:00
modmuss50 210938d749 Fix local ivy layout not respecting classifiers. Fixes #407 2021-05-28 11:31:19 +01:00
modmuss50 3318a15cc5 Suppress "Inconsistent inner class entries" error when decompiling 2021-05-27 22:08:56 +01:00
modmuss50 8238db1778
Improve error messages when using outdated Java or Gradle. 2021-05-26 11:41:52 +01:00
Mitchell Skaggs 1f80e00e88
Add classifier to "fake" mods' id if they have a classifier specified (#394)
* Remove unused codepath (`RemapJarTask` is an `AbstractArchiveTask`)

* Remove incorrect comment

Comment originally added in 02e9616622

* Add classifier to `DependencyInfo`

* Add classifier to generated mod ID

* Clean up code structure from review

Co-authored-by: haykam821 <haykam821@users.noreply.github.com>

* Inline `file` local variable

Co-authored-by: haykam821 <haykam821@users.noreply.github.com>

Co-authored-by: haykam821 <haykam821@users.noreply.github.com>
2021-05-22 23:29:02 +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 de665ab498 Add SignedProjectTest #404 2021-05-20 23:47:48 +01:00
modmuss50 93b2aebaf8 Update MCE to 0.4.4 2021-05-18 21:00:08 +01:00
modmuss50 90ff811ecd Make the run config api stable 2021-05-15 19:58: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
modmuss50 2f38c747a1 Catch all when merging jars 2021-05-12 20:31:05 +01:00
modmuss50 258578f142 Update MCE to 0.4.3 2021-05-12 20:08:55 +01:00
modmuss50 432e88f354 Add a simple java 16 project test 2021-05-12 19:03:59 +01:00
modmuss50 9303dc39c3 Cleanup merged jar on failure 2021-05-12 19:03:42 +01:00
modmuss50 63bf3aaaa4 Enable `ShowCodeDetailsInExceptionMessages` (Better null pointers) for all run configs 2021-05-12 16:01:00 +01:00
modmuss50 fc3a5ef052 Java 16 2021-05-12 14:03:45 +01:00
modmuss50 927180e36b Make all loom added configurations lazy 2021-05-04 20:06:24 +01:00
modmuss50 7ce072c47a Fix gradle 8 deprecation warning 2021-05-04 19:19:02 +01:00
modmuss50 a5bc38a940 Make remapped configurations lazy 2021-05-04 19:07:21 +01:00
modmuss50 cd17485280 Update to release 7.0 gradle 2021-05-04 18:37:23 +01:00
modmuss50 be0444d261 Merge branch 'dev/0.7' into future/dev
# Conflicts:
#	src/test/groovy/net/fabricmc/loom/test/util/ProjectTestTrait.groovy
2021-05-04 18:29:00 +01:00
modmuss50 7de021e7c1 Revert "Update MCE"
This reverts commit b85659640d.
2021-04-27 18:04:47 +01:00
modmuss50 f409116afd Merge branch 'dev/0.7' of github.com:FabricMC/fabric-loom into dev/0.7 2021-04-27 13:13:15 +01:00
modmuss50 b85659640d Update MCE 2021-04-27 13:12:01 +01:00
ByMartrixX 1d009e155e
Add loom development dependencies to test runtime classpath (#389) 2021-04-21 08:51:56 +01:00
modmuss50 12ac6cfcfe Update mixin-compile-extensions 2021-04-14 20:45:17 +01:00
modmuss50 83eaa0e340 Update to run tests against gradle 7.0 release 2021-04-10 00:07:44 +01:00
modmuss50 816ed93d7a Fix typo 2021-04-09 20:44:18 +01:00
modmuss50 c8df12cf0f
Update to Gradle 7 (#380)
* Gradle 7 part 1

* Fix actions?

* Update actions

* Fix tests not running

* Fix some broken tests

* Update kotlin to try and fix JDK 16 support

* Disable KotlinTest on j16

* exclude kotlin test from actions...
2021-04-04 23:02:00 +01:00
modmuss50 98731532d5
Support Groovy 3's QName in GroovyXmlUtil (#379) 2021-04-02 19:30:43 +01:00
modmuss50 93afc7574d Update UnpickTest to latest snapshot.
This ensures that constants included in the mc jar can be used.
2021-04-02 14:44:18 +01:00
modmuss50 153afc1418
Reorganise tests (#378) 2021-04-02 12:20:03 +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
Octavia Togami 806dd1b840
Fix name comparision in GroovyXmlUtil (#373)
Nodes can also have groovy.xml.QNames, which need to be compared using
their matches(Object) method.
2021-03-29 08:48:52 +01:00
modmuss50 71535fa75f
Add MavenProjectTest (#372) 2021-03-27 20:26:10 +00:00
modmuss50 ed08e47aab
Record javadoc support. (#366)
* Record javadoc support

* Ensure we dont add JD twice
2021-03-25 22:58:20 +00:00
modmuss50 ff6701e817 Add basic groovy code style validation.
IDK how well this would work on a gradle script but might be interesting to try on yarn or something.
2021-03-25 22:57:28 +00: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 43a6b0f65f Revert some of the changes to genSource's.
More work is needed to fix all the issues with it but its not really something I want to get into right now.
2021-03-23 19:08:15 +00:00
modmuss50 c02f436123 Run tests against 7.0-rc-1 2021-03-23 08:51:41 +00:00
modmuss50 72a79ffb9c Fix case where it wont try to download file. 2021-03-18 14:39:30 +00:00
modmuss50 e6ac2afc7b
Ensure outputs are reproducable across all OS's. (#363) 2021-03-15 23:31:18 +00:00
modmuss50 7231b9e053
Mod Remapping Refactor. (#362)
Improved gradle 7 support
General cleanup
2021-03-12 22:16:24 +00:00
modmuss50 e9c7c21ede Add basic MultiProjectTest and a basic RunConfigTest
This should cover most of the main things now.
2021-03-06 23:31:09 +00:00
modmuss50 d1c4082761 Fix tests on windows 2021-03-06 17:36:12 +00:00
modmuss50 5171c9bbde Try and fix fernflower forking for the final time. Hopefully helps with #355 2021-03-06 14:07:37 +00:00
modmuss50 92efb9aa73 Fix ReproducibleBuildTest 2021-03-06 13:18:55 +00:00
modmuss50 87f3743b24
Rewrite tests to be easier to write and maintain (#361) 2021-03-06 11:40:07 +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
modmuss50 d02055eb23
Fix custom sourceset not being correctly set for runconfig tasks (#357) 2021-03-03 21:22:10 +00:00
modmuss50 b1edf7a737 Fix inherit not copying `ideConfigGenerated` 2021-02-27 19:32:31 +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 57c9a8f320 Add loom dev deps to runtimeClasspath instead of runtimeOnly 2021-02-14 14:23:04 +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
modmuss50 2070aeb94a Disable log4j jansi support when compiling, removes a warning about it. 2021-02-13 18:04:16 +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
Juuxel 737c6cbd4f
RunConfigSettings.generateIDEConfig -> ideConfigGenerated + normal getter/setter (#349) 2021-02-12 18:43:05 +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