Skip to content

Commit 61e3da6

Browse files
authored
Merge pull request #178 from refinedmods/release/0.18.0
Release v0.18.0
2 parents 4b4aed2 + 33cefc2 commit 61e3da6

File tree

5 files changed

+53
-39
lines changed

5 files changed

+53
-39
lines changed

CHANGELOG.md

+9-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

88
## [Unreleased]
99

10+
## [0.18.0] - 2024-09-09
11+
12+
### Fixed
13+
14+
- Resources not updating correctly on NeoForge.
15+
1016
## [0.17.1] - 2024-08-08
1117

1218
### Fixed
@@ -368,7 +374,9 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
368374
- Gradle helpers for Fabric and Forge projects.
369375
- CI workflows.
370376

371-
[Unreleased]: https://github.com/refinedmods/refinedarchitect/compare/v0.17.1...HEAD
377+
[Unreleased]: https://github.com/refinedmods/refinedarchitect/compare/v0.18.0...HEAD
378+
379+
[0.18.0]: https://github.com/refinedmods/refinedarchitect/compare/v0.17.1...v0.18.0
372380

373381
[0.17.1]: https://github.com/refinedmods/refinedarchitect/compare/v0.17.0...v0.17.1
374382

refinedarchitect-plugin/src/main/kotlin/CommonExtension.kt

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ open class CommonExtension(private val project: Project) : BaseExtension(project
1515
mappingsVersion.set(parchmentVersion)
1616
}
1717
}
18+
project.artifacts.add("commonResources", project.file("src/generated/resources/"))
1819
project.extensions.getByType<JavaPluginExtension>().apply {
1920
sourceSets["main"].resources.srcDir("src/generated/resources")
2021
}

refinedarchitect-plugin/src/main/kotlin/FabricExtension.kt

+12-16
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ open class FabricExtension(private val project: Project) : BaseExtension(project
1212
var modId: String? = null
1313

1414
fun fabric() {
15+
project.configurations["commonJava"].isCanBeResolved = true
16+
project.configurations["commonJava"].isCanBeConsumed = modId == null
17+
project.configurations["commonResources"].isCanBeResolved = true
18+
project.configurations["commonResources"].isCanBeConsumed = modId == null
19+
1520
project.dependencies.add("minecraft", "com.mojang:minecraft:${mcVersion}")
1621
project.dependencies.add("mappings", project.extensions.getByType<LoomGradleExtensionAPI>().layered() {
1722
officialMojangMappings()
@@ -46,25 +51,16 @@ open class FabricExtension(private val project: Project) : BaseExtension(project
4651
}
4752
}
4853
}
49-
project.tasks.withType<Jar>().configureEach {
50-
from("../LICENSE.md")
51-
}
52-
}
53-
54-
fun addProject(dependency: Project) {
55-
project.dependencies.add("api", dependency)
56-
project.dependencies.add("include", dependency)
57-
}
58-
59-
fun compileWithProject(dependency: Project) {
60-
project.evaluationDependsOn(":" + dependency.name)
61-
val sourceSets = dependency.extensions.getByType<JavaPluginExtension>().sourceSets
6254
project.tasks.withType<JavaCompile>().configureEach {
63-
source(sourceSets["main"].allSource)
55+
dependsOn(project.configurations["commonJava"])
56+
source(project.configurations["commonJava"])
6457
}
6558
project.tasks.withType<ProcessResources>().configureEach {
66-
from(sourceSets["main"].resources)
59+
dependsOn(project.configurations["commonResources"])
60+
from(project.configurations["commonResources"])
61+
}
62+
project.tasks.withType<Jar>().configureEach {
63+
from("../LICENSE.md")
6764
}
68-
project.dependencies.add("compileOnly", dependency)
6965
}
7066
}

refinedarchitect-plugin/src/main/kotlin/NeoForgeExtension.kt

+15-22
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,22 @@
1-
import net.neoforged.moddevgradle.dsl.NeoForgeExtension as NfExtension
21
import org.gradle.api.Project
3-
import org.gradle.api.file.DuplicatesStrategy
42
import org.gradle.api.plugins.JavaPluginExtension
3+
import org.gradle.api.tasks.compile.JavaCompile
54
import org.gradle.jvm.tasks.Jar
65
import org.gradle.kotlin.dsl.get
76
import org.gradle.kotlin.dsl.getByType
87
import org.gradle.kotlin.dsl.withType
8+
import org.gradle.language.jvm.tasks.ProcessResources
9+
import net.neoforged.moddevgradle.dsl.NeoForgeExtension as NfExtension
910

1011
open class NeoForgeExtension(private val project: Project) : BaseExtension(project) {
1112
var modId: String? = null
1213

1314
fun neoForge() {
1415
val sourceSets = project.extensions.getByType<JavaPluginExtension>().sourceSets
16+
project.configurations["commonJava"].isCanBeResolved = true
17+
project.configurations["commonJava"].isCanBeConsumed = modId == null
18+
project.configurations["commonResources"].isCanBeResolved = true
19+
project.configurations["commonResources"].isCanBeConsumed = modId == null
1520
project.extensions.getByType<NfExtension>().apply {
1621
version.set(neoForgeVersion)
1722
addModdingDependenciesTo(sourceSets["test"])
@@ -37,10 +42,15 @@ open class NeoForgeExtension(private val project: Project) : BaseExtension(proje
3742
}
3843
}
3944
sourceSets["main"].resources.srcDirs.add(project.file("src/generated/resources"))
45+
project.tasks.withType<JavaCompile>().configureEach {
46+
dependsOn(project.configurations["commonJava"])
47+
source(project.configurations["commonJava"])
48+
}
49+
project.tasks.withType<ProcessResources>().configureEach {
50+
dependsOn(project.configurations["commonResources"])
51+
from(project.configurations["commonResources"])
52+
}
4053
project.tasks.withType<Jar>().configureEach {
41-
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
42-
// These come in from the common API jars but should not end up in the neoforge jar
43-
exclude("fabric.mod.json")
4454
from("../LICENSE.md")
4555
}
4656
}
@@ -79,21 +89,4 @@ open class NeoForgeExtension(private val project: Project) : BaseExtension(proje
7989
}
8090
}
8191
}
82-
83-
fun compileWithProject(dependency: Project) {
84-
project.evaluationDependsOn(":" + dependency.name)
85-
project.dependencies.add("compileOnly", dependency)
86-
project.dependencies.add("testCompileOnly", dependency)
87-
val sourceSets = dependency.extensions.getByType<JavaPluginExtension>().sourceSets
88-
project.tasks.withType<Jar>().configureEach {
89-
from(sourceSets["main"].output)
90-
}
91-
project.extensions.getByType<NfExtension>().apply {
92-
mods {
93-
getByName(modId!!) {
94-
modSourceSets.add(sourceSets["main"])
95-
}
96-
}
97-
}
98-
}
9992
}

refinedarchitect-plugin/src/main/kotlin/refinedarchitect.gradle.kts

+16
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,17 @@ repositories {
99
mavenCentral()
1010
}
1111

12+
configurations {
13+
create("commonJava") {
14+
isCanBeResolved = false
15+
isCanBeConsumed = true
16+
}
17+
create("commonResources") {
18+
isCanBeResolved = false
19+
isCanBeConsumed = true
20+
}
21+
}
22+
1223
version = "0.0.0"
1324

1425
if (System.getenv("GITHUB_SHA") != null) {
@@ -48,3 +59,8 @@ tasks.withType<ProcessResources> {
4859
expand("version" to project.version)
4960
}
5061
}
62+
63+
artifacts {
64+
add("commonJava", sourceSets["main"].java.sourceDirectories.singleFile)
65+
add("commonResources", sourceSets["main"].resources.sourceDirectories.singleFile)
66+
}

0 commit comments

Comments
 (0)