lonefelidae16 / extra-sounds

**UNOFFICIAL** port of ExtraSounds
https://artifactory.kow08absty.com/ui/native/fabricmc/dev/stashy/extra-sounds/
Creative Commons Zero v1.0 Universal
54 stars 2 forks source link

AccessWidener wouldn’t be converted from named to intermediary on loom 1.7.1 #19

Closed lonefelidae16 closed 3 months ago

lonefelidae16 commented 3 months ago

Caused on v3/1.21-build.2

After changing fabric-loom from 1.6-SNAPSHOT to 1.7-SNAPSHOT.

[main/ERROR]: Uncaught exception in thread "main"
java.lang.RuntimeException: Failed to read accessWidener file from mod extrasounds-logics
    at net.fabricmc.loader.impl.FabricLoaderImpl.loadAccessWideners(FabricLoaderImpl.java:514) ~[fabric-loader-0.15.11.jar:?]
    at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:149) ~[fabric-loader-0.15.11.jar:?]
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:68) ~[fabric-loader-0.15.11.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.15.11.jar:?]
Caused by: net.fabricmc.loader.impl.lib.accesswidener.AccessWidenerFormatException: Namespace (named) does not match current runtime namespace (intermediary)
    at net.fabricmc.loader.impl.lib.accesswidener.AccessWidenerReader.error(AccessWidenerReader.java:285) ~[fabric-loader-0.15.11.jar:?]
    at net.fabricmc.loader.impl.lib.accesswidener.AccessWidenerReader.read(AccessWidenerReader.java:84) ~[fabric-loader-0.15.11.jar:?]
    at net.fabricmc.loader.impl.FabricLoaderImpl.loadAccessWideners(FabricLoaderImpl.java:512) ~[fabric-loader-0.15.11.jar:?]
    ... 3 more

I’m investigating the cause...

lonefelidae16 commented 3 months ago

It appears that to use loom 1.7, I need to declare dependencies separately in DEV and PROD for all subprojects.

https://github.com/lonefelidae16/extra-sounds/blob/4bf343e62cea082a8dfa5b7597e912088ca2d0ce/build.gradle#L97-L129

  // Extra Sounds modules
- implementation include(project(path: 'logics', configuration: 'namedElements'))
+ compileOnly include(project(path: 'logics'))  // for PROD
+ runtimeOnly project(path: 'logics', configuration: 'namedElements')  // for DEV
  // 1.21 family 
- implementation include(project(path: 'versioned:es1.21', configuration: 'namedElements')) 
+ compileOnly include(project(path: 'versioned:es1.21'))
+ runtimeOnly project(path: 'versioned:es1.21', configuration: 'namedElements')
  // 1.20 family
...snip...

I’ll continue to use loom 1.6 for a while.

lonefelidae16 commented 3 months ago

Closing with commit e68a077f1ddecb632a1bfe4596cfc7a4f37e5969