Commit graph

540 commits

Author SHA1 Message Date
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
zml
032c815d19
Fix non-mod project dependencies (#263)
This resolves issues in ex. a composite build
2020-08-26 19:32:34 +01:00
modmuss50
2a1aca87cc Update MCE 2020-08-26 18:29:41 +01:00
modmuss50
326224ba91 Fix v2 mappings dir 2020-08-26 12:10:04 +01:00