Commit Graph

543 Commits (4f2ead9f167af0eb1a435d0015cd9d22185910b0)

Author SHA1 Message Date
modmuss50 0cfa88f73b Always fork the java compiler 2021-06-13 11:23:46 +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 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 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 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 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 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 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 ed08e47aab
Record javadoc support. (#366)
* Record javadoc support

* Ensure we dont add JD twice
2021-03-25 22:58:20 +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 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 5171c9bbde Try and fix fernflower forking for the final time. Hopefully helps with #355 2021-03-06 14:07:37 +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
modmuss50 24c166fc79 Generate IDE run configs on a per config basis. Allows for much finer grain control over what run configs are generated.
Defaults to generate all run configs on the root project.
2021-02-11 18:50:25 +00:00
modmuss50 6b481fbcd6 Revert previous change, somewhat. I didnt understand the issue correctly. 2021-02-11 18:32:01 +00:00
modmuss50 4daec03a0f Rename `runs` -> `runConfigs` 2021-02-11 18:18:07 +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
Jason 671328795e
Generate fabric.mod.json for included submodule jars (#343)
* Generate fabric.mod.json for included submodule jars

* Appease checkstyle
2021-02-02 23:03:57 +00:00
modmuss50 5b3222e9b9 Rename mode -> environment + Hopefully fix a regression with the run tasks 2021-01-31 00:12:10 +00:00
modmuss50 6a315be278
Improve run configs (#318) (#338)
Co-authored-by: ShadewRG <onankman@gmail.com>
Co-authored-by: UndeadCat | Shadew <redgalaxysw@gmail.com>
Co-authored-by: liach <7806504+liach@users.noreply.github.com>
2021-01-29 18:04:39 +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
modmuss50 48d4243be6 Merge remote-tracking branch 'FabricMC/dev/0.6' into dev/0.6 2021-01-28 21:17:12 +00:00
modmuss50 c1fcd93a89 Dont add the mojang maven repo twice.
Might speed some things up as well due to ordering
2021-01-28 21:16:56 +00:00
Bytzo 16f72e1c95
Set classpath before compileJava task (#330) (#333) 2021-01-26 18:08:19 +00:00
Chocohead ba3a1e4d9c
Use the given manifest version hash if possible (#337) 2021-01-24 14:39:52 +00:00
modmuss50 f7efac5d18 Revert previous attempt at fixing genSources when loom is applied via buildSrc 2021-01-21 21:47:32 +00:00
modmuss50 34a9d2316c Improve error handling around access widener remapping. Closes #311 2021-01-21 20:30:08 +00:00
modmuss50 d91b722c35 Another attempt at fixing issues with fernflower's classpath 2021-01-21 20:09:48 +00:00
modmuss50 4a30993da7 Apply all buildscript configurations across all parent projects to try and fix fernflower classpath issues again.
If you have any better suggestions please let me know.
2021-01-21 19:40:59 +00:00
modmuss50 b622544cbe Dont remap dependency sources when building on CI services.
Use `-Dfabric.loom.ci=false` to force disable
2021-01-19 22:15:23 +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 a436eb7690 1 Infinite Loop 2021-01-18 22:10:44 +00:00
modmuss50 47097c65ce
Gradle 7 (and hopefully 8) support (#332)
* First pass on gradle 7 support

* Fix Gradle 8 deprecation warnings

* Add a deprecated compile constant
2021-01-17 18:34:22 +00:00
modmuss50 9de836b2c4 Remove usage of internal kotlin class, should fix crash with kotlin 1.4. Closes #324 2021-01-07 20:35:43 +00:00
modmuss50 11b62989e7 Cleanup output files when remap fails. Fixes #321 2020-12-30 20:34:34 +00:00
modmuss50 841fc5a4db Fix classifier handling for remapped dependencies 2020-12-30 20:12:33 +00:00
modmuss50 792a64e2ef
Optimise loom configuration, saves 1.2 seconds in my testing. #319 2020-12-27 16:25:30 +00:00
modmuss50 c95e3459a4 Remove jcenter as a default maven repo. This will make builds faster and more reliable. It is trivial to add back manually for projects that require it.
Closes #314
2020-12-26 15:15:31 +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
i509VCB b0860c36d6
Add ability to specify additional tiny remapper options in remapJar (#292)
* Add ability to specify additional tiny remapper options in remapJar

* Imports go brr

* Fix checkstyle

Co-authored-by: modmuss50 <modmuss50@gmail.com>
2020-12-21 21:02:39 +00:00
modmuss50 e20993daf8 Allow setting the RemapJarTask classpath. Closes #307 2020-12-21 20:42:23 +00:00
solonovamax c96396fb27
Fix genSources not working when root project doesnt have loom applied#308. (#309)
loom now runs genSources on root project if the plugin exists in the root project, else it will build in the current project.

Signed-off-by: solonovamax <solonovamax@12oclockpoint.com>
2020-12-21 19:48:26 +00:00
Cool_Mineman 7e5053b0c5
Respect reproducibleFileOrder and preserveFileTimestamps (#304)
* Respect reproducibleFileOrder and preserveFileTimestamps

* Also Respect On Sources Jars

* java 8

* checkstyle

* Please Rerun Actions
2020-12-21 19:47:08 +00:00
user11681 9f6c8486fb
Add nogui to server program arguments (#310)
Closes #276
2020-12-21 19:44:39 +00:00
modmuss50 b27bc3d39a Use launcher metadata manifest v2. Closes #290 2020-12-21 19:37:35 +00:00
modmuss50 3bdccee02e
Refactor and fix game/loader library handling (#298)
Update fernflower
2020-12-21 19:34:00 +00:00
modmuss50 78c934aed5
Move remapped mods into a full local maven repo (#300) 2020-12-21 19:33:23 +00:00
modmuss50 dd68c84226 Allow specifying natives directory with the `fabric.loom.natives.dir` gradle property.
Note this is designed to allow easy usage of custom natives, thus will not populate the directory with the default natives.
2020-12-02 20:18:12 +00:00
modmuss50 d1281be741
Migrate to access-widener library (#294) 2020-11-15 16:15:02 +00:00
Kitlith 62e89395f9
Configure build task dependencies as each subproject comes up. (#299) 2020-11-15 16:05:35 +00:00
Jamie Mansfield db623157aa
Use Mercury 0.1.0-rc1 (#301) 2020-11-15 16:03:16 +00:00
zml 9b8f1b7233
eclipse: Fix run configuration generation (#285)
Fixes #283
2020-11-07 13:18:11 +00:00
modmuss50 99d7ccd477 Remove debug log out 2020-10-28 16:52:50 +00:00
modmuss50 42a0cbd3b3 Dont throw when annotationDependency is not resloved. 2020-10-21 08:59:20 +01:00
modmuss50 5c4d89bd0d Ugly fix to mercury classpath not having jetbrains annotations 2020-10-21 08:58:07 +01:00
modmuss50 a8e0c8edbb Potentially fix memory leak with the mixin AP 2020-10-21 08:57:13 +01:00
modmuss50 e545a92166 Revert "Ugly fix to mercury classpath not having jetbrains annotations"
This reverts commit 33fdd9ff
2020-10-12 19:24:11 +01:00
modmuss50 33fdd9ffb2 Ugly fix to mercury classpath not having jetbrains annotations 2020-10-10 21:13:12 +01:00
Hephaestus-Dev 86577525cd
Mark auto-generated mods with a custom value (#271)
* Make the barebones `fabric.mod.json` generated for non-mod dependencies an API for ModMenu purposes to prevent large mods with many dependencies from cluttering the menu.

* Changed from providing `modmenu:api` to `fabric-loom:generated` to be agnostic about third party mod usage.
2020-10-08 20:42:07 +01:00
modmuss50 9917f30518
Export rumtime remap classpath to DLI (#277)
* Export rumtime remap classpath for https://github.com/FabricMC/fabric-loader/pull/241

* Fix bad merge
2020-09-26 18:46:35 +01:00
i509VCB 21a9209b86
Split out some constants (#267)
This pull request also reorganizes parts of the constants class into categories.
2020-09-21 20:22:31 +01:00
modmuss50 d5ed659e7d Fix nested jar stripping not working reliability 2020-09-19 14:57:17 +01:00
modmuss50 80aaf63832 Fix race condition with mixin's output mappings across source sets 2020-09-06 20:21:08 +01:00
modmuss50 20be96e733 Fix mixin mapping being shared between all projects. 2020-09-04 22:41:11 +01:00
modmuss50 545b0c946b Fix to #265
Slightly ugly but works
2020-09-04 19:12:04 +01:00
modmuss50 8b1268abe7 Fix and improve error handling around access widener remapping with shared caches 2020-08-26 20:15:21 +01:00
zml c0ef536be4
Include exclusions in the poms generated for mods (#262) 2020-08-26 19:33:40 +01:00