Commit graph

730 commits

Author SHA1 Message Date
modmuss50
640deecd96 Update access-widener 2021-10-24 18:57:29 +01:00
modmuss50
61b5cfa733
Improve run config argument handling, should work with spaces a bit better. (#524) 2021-10-24 14:11:01 +01:00
modmuss50
7359dc4e98 Enable META-INF fixer when remapping mods. 2021-10-24 13:05:42 +01:00
modmuss50
a10307464e
Add AccessWidenerValidator (#518)
* Add AccessWidenerValidator

* Move to task

* Review feedback
2021-10-23 15:04:22 +01:00
modmuss50
0248bacc16 Forward stdin in AbstractRunTask. Fixes begin unable to run server commands. 2021-10-20 23:12:49 +01:00
modmuss50
2b9907e0f0 Fix mappings not begin on test runtime classpath. 2021-10-16 22:20:27 +01:00
modmuss50
0864e0a671 Ensure decompiler worker deamons are stopped after failure. 2021-10-15 22:30:27 +01:00
modmuss50
d834895ff2 Fix null related issues in CFRObfuscationMapping 2021-10-14 18:14:23 +01:00
modmuss50
c380b36739 Update tiny-remapper and enable "inferNameFromSameLvIndex" to fix issues with decompiling some locals. 2021-10-14 17:04:40 +01:00
modmuss50
d8675e056b Don't allow none reproducible dependencies in layered mappings as it breaks the caching guarantee. 2021-10-12 16:11:44 +01:00
modmuss50
6666b95b54 Fix mod* configurations not being on the test compile/runtime configuration. Closes #488 2021-10-12 13:31:12 +01:00
Juuxel
1c208f99b4
Fix regression in TinyJavadocProvider (#516)
This was param.getName using tiny-mappings-parser before #495. It was writing the method name as the parameter name, which doesn't seem too correct...
2021-10-11 21:31:59 +01:00
modmuss50
e2439b7f57
Rewrite GenSources including full support for CFR. (#511)
* Rewrite CFR decompiler interface. Support javadoc

* CFR line numbers and fixes.

* Cleanup and fix

* Use WorkerExecutor to fork, massively cleans up the fernflower code, but does remove the fancy multithreaded logging.

* Use IPC to get logging back from the decompilers.

* Cleanup UnpickJarTask, fix leak in IPCServer

* Used published CFR build

* Handle older windows versions that do not support AF_UNIX.

* Fixes and basic unit test

* Improve memory handling of genSources

* Stop decompile worker JVM
2021-10-11 13:47:16 +01:00
modmuss50
5315d3c5b2
Run tests against Java 17 (#515)
* Run tests against Java 17

* Fix tests on J17
2021-10-09 11:05:38 +01:00
NinjaPhenix
e55763aca2
Use conventions in RemapConfiguration to avoid need for afterEvaluate. (#514) 2021-10-04 21:37:48 +01:00
modmuss50
ce0a3308ff Make Run Config run dir relative to the project and not the root project. Move eclipse launch config files out of the root project. Closes #509 2021-09-30 19:59:46 +01:00
modmuss50
d57f61a38a Add very basic Migrate Mappings test, update lorenz-tiny to fix: https://github.com/FabricMC/fabric-loom/issues/510 2021-09-30 19:26:18 +01:00
modmuss50
782344ac59 Fix crash in JarProcessorManager when the input jar does not have a manifest. 2021-09-29 19:44:26 +01:00
modmuss50
da66abfaef Support 21w39a 2021-09-29 19:33:04 +01:00
modmuss50
f33637aa3c Improve error handling around dep remapping. 2021-09-28 17:22:13 +01:00
modmuss50
80ad300b97 Fix failure when running dependencies task when using layered mappings.
A SelfResolvingDependency has to be a FileCollectionDependency or a ModuleDependency by the looks of it.
2021-09-28 16:34:43 +01:00
shedaniel
c6f51f1dd2
Add -Dloom.refresh=true option (#508)
* Add -Dloom.refresh=true option

* Use Boolean.getBoolean
2021-09-28 12:18:08 +01:00
modmuss50
676a498e0c
Fix record signatures based on data provided by mappings. (#507)
Reads "extras/record_signatures.json" from mappings jar, just works with yarn.

Mojmap:

```
mappings loom.layered {
   officialMojangMappings()
   signatureFix("net.fabricmc🧶21w38a+build.9:v2")
}
```
2021-09-28 10:38:11 +01:00
Juuxel
7d2dad6e46
Support a wider range of parameters in FileSpec (#502)
* Support a wider range of parameters in FileSpec

Now supports
- all Providers (incl. Property)
- groovy template string literal (GString)
- Path and gradle FileSystemLocation

* Use the createFromFile overloads directly

* Use charsequence instead of (g)string

* Update src/main/java/net/fabricmc/loom/api/mappings/layered/spec/FileSpec.java
2021-09-22 22:00:41 +01:00
shedaniel
be17a02e90
Use better gradle conventions, and fix #311 (#503)
* Use better gradle conventions, and fix #311

* Fix checkstyle

* Revert some changes

* Use convention

* Remove set classpath
2021-09-22 21:59:51 +01:00
modmuss50
06e60e5c29
Enable legacy mixin ap by default (#501) 2021-09-20 17:44:08 +01:00
modmuss50
1752659291 Dont add loom to compileOnly config.
I dont think this has been required since MCE is a thing.
2021-09-20 13:05:45 +01:00
modmuss50
256e61ce3c
Rebuild record components from field names, improves decompile (#497) 2021-09-19 08:53:13 +01:00
shartte
98d8f37672
Fixes merging of mappings for cases like: class_1234 is mapped, but class_1234$1 is not. (#498) 2021-09-18 21:15:32 +01:00
modmuss50
ae9a9e120d Update lorenz-tiny 2021-09-17 15:44:41 +01:00
modmuss50
2ec1dd032f Update tiny remapper, register the new LV pattern as invalid with TR. 2021-09-16 20:35:10 +01:00
modmuss50
2a040d03d7 Fix line number remapping not copying all class files. Fixes a runtime crash. 2021-09-16 16:23:33 +01:00
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
Juuxel
4f2ead9f16
Remove unused Constants.SOFTWARE_COMPONENT_NAME (#493)
This was a leftover from removed code, oops
2021-09-12 11:39:12 +01:00
shedaniel
df7f56306b
Fix ParchmentMappingLayerTest test (#491)
* Fix ParchmentMappingLayerTest test

* Update mapping-io

* Remove comment
2021-09-11 14:39:19 +01:00
modmuss50
2c464cdef3
Add loom.modVersion to read the version from the fabric.mod.json file. (#489) 2021-09-10 16:06:37 +01:00
modmuss50
2bc7522a26 Fix reproducible build test, a none legacy test for this should be added at a later date. 2021-09-08 15:59:31 +01:00
modmuss50
1818ff03ab Update dependencies 2021-09-07 12:31:16 +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
modmuss50
5837f95ff8 Fix line endings in fapi patch 2021-09-07 11:30:10 +01:00
Logic
3b0dc7f0f4
Use tiny-remapper to remap mixin annotation. (#441)
* use tiny-remapper 0.5.0

* add property of useLegacyMixinAp and rename mixin to mixinAp

* disable mixin ap if useLegacyMixinAp is false

* fix tests

* remove experimental for mixinAp

* enable mixin remapper

* revert changes on API

* rename MixinAp*** to Mixin***

* move useLegacyMixinAp inside MixinExtension

* cleaner code

* update test

Co-authored-by: modmuss50 <modmuss50@gmail.com>
2021-09-07 11:28:51 +01:00
modmuss50
52873435b7 Fix fabric api build test 2021-09-07 11:20:54 +01:00
Juuxel
ea8ee4c21a
Add option to disable deprecated POM generation and the warnings together with it (#487) 2021-09-05 17:55:42 +01:00
modmuss50
1a060df4bf Revert fabric api patch to fix deprecations, I believe loom is wrong. 2021-09-05 17:06:26 +01:00
modmuss50
216b48337b Fix crash when "sourcesElements" is not present 2021-09-05 17:06:05 +01:00
modmuss50
ffaf893716 Patch fabric api to fix loom deprecations 2021-09-05 16:38:11 +01:00
modmuss50
2bdeb869ab Update MCE and test deps 2021-09-05 16:22:51 +01:00