Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
plugin:gradle_configurations [2023/02/02 17:27] – reformat using nested lists juuzplugin:gradle_configurations [2023/12/26 00:57] (current) – add neoforge juuz
Line 16: Line 16:
 | ''runtimeOnly'' |  ❌  |  ✔  |  ❌  |  ✔  | Java plugin | | ''runtimeOnly'' |  ❌  |  ✔  |  ❌  |  ✔  | Java plugin |
  
-All of these configurations have ''mod*'' variants such as ''modImplementation'' to use when depending on a mod. The dependency will get remapped and added to the correct mod classpaths.+All of these configurations have ''mod*'' variants such as ''modImplementation'' to use when depending on a mod. The dependency will get remapped to the project mappings and added to the correct mod classpaths.
  
 Others **won't** see the configurations marked with "Not published" when they depend on your project. Others **won't** see the configurations marked with "Not published" when they depend on your project.
Line 26: Line 26:
     * Adds a library to the runtime classpath for Forge.     * Adds a library to the runtime classpath for Forge.
     * Note: mods should not added to it! Use one of the configurations above instead.     * Note: mods should not added to it! Use one of the configurations above instead.
 +  * ''namedElements''
 +    * Contains the raw mod jar produced by the current project.
 +    * This is an **outgoing** configuration that is primarily intended for use in project dependencies, e.g. ''project(path: ':common', configuration: 'namedElements')''.
  
 ===== Architectury Plugin configurations ===== ===== Architectury Plugin configurations =====
  
-  * ''development(Fabric|Forge|Quilt)''+  * ''development(Fabric|Forge|Quilt|NeoForge)''
     * Used in platform modules for the common module in Architectury mods so that Architectury Transformer can apply its changes (''@ExpectPlatform'' etc.)     * Used in platform modules for the common module in Architectury mods so that Architectury Transformer can apply its changes (''@ExpectPlatform'' etc.)
-  * ''transformProduction(Fabric|Forge|Quilt)''+  * ''transformProduction(Fabric|Forge|Quilt|NeoForge)''
     * Contains the transformed classes of the common module for bundling in production mod jars for the individual platforms.     * Contains the transformed classes of the common module for bundling in production mod jars for the individual platforms.
     * Note: this is an **outgoing** configuration of common Architectury subprojects. it should only be depended on in platform projects!     * Note: this is an **outgoing** configuration of common Architectury subprojects. it should only be depended on in platform projects!
 +
 +===== Other commonly used configurations ======
 +
 +  * ''shadow'' (added by the [[https://plugins.gradle.org/plugin/com.github.johnrengelman.shadow|Shadow]] plugin)
 +    * Includes runtime dependencies that are **not** bundled into the ''all'' jar created by the ''shadowJar'' task.
 +    * This is often confusing since modders often talk about "shadowing" dependencies when they mean including them using Shadow.
 +    * See also: [[https://imperceptiblethoughts.com/shadow/configuration/#configuring-the-runtime-classpath|Shadow User Guide: Configuring Shadow]]