Commit Graph

774 Commits (03d3950d119830edb65d35bafb90c330aa3a78d1)

Author SHA1 Message Date
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
shedaniel 0633b170fa
Make parchment layer test also test the parameter after being reordered (#483)
* Make parchment mappings layer test also test the parameter after being reordered.

* Switch to using hashCode
2021-09-05 16:08:43 +01:00
Juuxel 08f055489b
Fix the java software component not working with Loom and fix #200 (#460)
* Add modCompileOnlyApi, modRuntimeOnly; deprecate modRuntime

* begin

* continue

* Make RemapSourcesJarTask use properties

* finish

* Remove cursed version hack 😉

* Finish for real

* Add missing header

* Clarify a comment

* Fix tests

* Use Gradle's own *Elements and remove -dev jars

* Fix maven test

* Put mappingsFinal onto runtimeClasspath instead of implementation

* Make non-mod dependencies work with the legacy pom magic too

* Be a bit more clever when removing dev artifacts
2021-09-05 16:08:16 +01:00
modmuss50 b1b395cedf Revert "Make SourceRemapper threaded (#446)"
This reverts commit ef2816b0d0.
2021-09-02 12:50:56 +01:00
shedaniel 6165576521
Make --refresh-dependencies work by creating the directory after clearing it (#482) 2021-08-31 14:54:17 +01:00
modmuss50 3ded0964c4
Refactor and improve tests (#466)
* Install and run a production server in tests

* Small improvements

* Add FabricAPI build test
Create new GradleProjectTestTrait replacing the old trait
Improve groovy code formatting.

* Refactor tests

* Fix MultiProjectTest + fix logging for fabric api test

* Cleanup and fixes

* Update fabric api + run in parallel for speed

* Set server memory + fix error
2021-08-31 11:48:58 +01:00
shedaniel 2277b93f8d
Fix compile for b320c4199a (#480)
* Fix compile for b320c4199a

* Fix checkstyle
2021-08-26 11:22:55 +01:00