Differences

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

Link to this comparison view

Next revision
Previous revision
plugin:gradle_configurations [2023/02/01 22:21] – created 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 23: Line 23:
  
   * ''include'': Bundles a mod or a library within your mod.   * ''include'': Bundles a mod or a library within your mod.
-  * ''forgeRuntimeLibrary'' (added by Architectury Loom in Forge mode):\\ Adds a library to the runtime classpath for Forge (Note: mods should not added to it! Use one of the configurations above instead.)+  * ''forgeRuntimeLibrary'' (added by Architectury Loom in Forge mode): 
 +    * Adds a library to the runtime classpath for Forge
 +    * 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)''\\ Used in platform modules for the common module in Architectury mods so that Architectury Transformer can apply its changes (''@ExpectPlatform'' etc.) +  * ''development(Fabric|Forge|Quilt|NeoForge)'' 
-  * ''transformProduction(Fabric|Forge|Quilt)''\\ 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!+    * 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|NeoForge)'' 
 +    * 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! 
 + 
 +===== 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]]