Commit Graph

736 Commits (587db4abae792ef4467c889cabc9a699723e6785)

Author SHA1 Message Date
Juuxel 587db4abae
Add localRuntime and modLocalRuntime configurations (#526)
Closes #481.

Co-authored-by: modmuss50 <modmuss50@gmail.com>
2021-10-29 22:26:59 +01:00
modmuss50 e409f13b8c
Add dev config with default jar task on it, to aid with depending on … (#525)
* Add dev config with default jar task on it, to aid with depending on sub projects.

* Rename to `namedElements`

* Update src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java

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

Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>
2021-10-29 13:29:29 +01:00
modmuss50 177264420e Fix misleading error message when decompiling fails. 2021-10-28 18:15:59 +01:00
shedaniel 5c190cc3ef
Use NIO instead of ZipUtil (#513)
* Use nio for zip utils

* Make tests work

* Please work

* Fix some issues with tests

* Fix more issues with tests

* NIOZipUtils -> ZipUtils

* Resolve Juuxel's reviews

* Use our own FS utils

* Improve error handling, add loom Pair

* Add Unit tests + fixes

Co-authored-by: modmuss50 <modmuss50@gmail.com>
2021-10-26 13:08:17 +01:00
modmuss50 b7142ae468 Ensure path exists when loading transitive access wideners. 2021-10-25 18:13:28 +01:00
modmuss50 13f4b29d12 Alter TransitiveAccessWidenerJarProcessor to use the same logic used in ModCompileRemapper for resolving mod jars. 2021-10-25 16:34:06 +01:00
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