Skip to content

Commit 4854c57

Browse files
committed
Generate IntelliJ run configurations on sync
1 parent 8fa0e2c commit 4854c57

File tree

4 files changed

+25
-4
lines changed

4 files changed

+25
-4
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package org.spongepowered.gradle.impl;
2+
3+
public class IdeHelper {
4+
5+
public static boolean isIdeaActive() {
6+
return Boolean.getBoolean("idea.active");
7+
}
8+
9+
public static boolean isIdeaSync() {
10+
return Boolean.getBoolean("idea.sync.active");
11+
}
12+
}

build.gradle.kts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,22 +22,22 @@ val recommendedVersion: String by project
2222
val organization: String by project
2323
val projectUrl: String by project
2424

25+
version = spongeImpl.generateImplementationVersionString(apiVersion, minecraftVersion, recommendedVersion)
26+
2527
val commonManifest = java.manifest {
2628
attributes(
2729
"Specification-Title" to "Sponge",
2830
"Specification-Vendor" to "SpongePowered",
2931
"Specification-Version" to apiVersion,
3032
"Implementation-Title" to project.name,
31-
"Implementation-Version" to spongeImpl.generateImplementationVersionString(apiVersion, minecraftVersion, recommendedVersion),
33+
"Implementation-Version" to version,
3234
"Implementation-Vendor" to "SpongePowered"
3335
)
3436
// These two are included by most CI's
3537
System.getenv()["GIT_COMMIT"]?.apply { attributes("Git-Commit" to this) }
3638
System.getenv()["GIT_BRANCH"]?.apply { attributes("Git-Branch" to this) }
3739
}
3840

39-
version = spongeImpl.generateImplementationVersionString(apiVersion, minecraftVersion, recommendedVersion)
40-
4141
// SpongeCommon configurations
4242
val applaunchConfig by configurations.register("applaunch")
4343

forge/build.gradle.kts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
22
import net.minecraftforge.gradle.userdev.UserDevExtension
3+
import org.gradle.internal.DefaultTaskExecutionRequest
34
import org.spongepowered.gradle.impl.AWToAT
5+
import org.spongepowered.gradle.impl.IdeHelper
46

57
buildscript {
68
repositories {
@@ -384,6 +386,12 @@ tasks {
384386
}
385387
}
386388

389+
if (IdeHelper.isIdeaSync()) {
390+
afterEvaluate {
391+
gradle.startParameter.taskRequests.add(DefaultTaskExecutionRequest(listOf(":SpongeForge:genIntellijRuns")))
392+
}
393+
}
394+
387395
sourceSets {
388396
main {
389397
blossom.resources {

vanilla/build.gradle.kts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
2+
import org.spongepowered.gradle.impl.IdeHelper
23

34
plugins {
45
id("org.spongepowered.gradle.vanilla")
@@ -272,7 +273,7 @@ minecraft {
272273
targetVersion(apiJavaTarget.toInt())
273274
workingDirectory(project.file("run/"))
274275

275-
if (org.spongepowered.gradle.vanilla.internal.util.IdeConfigurer.isIdeaImport()) { // todo(zml): promote to API... eventually
276+
if (IdeHelper.isIdeaActive()) {
276277
// IntelliJ does not properly report its compatibility
277278
jvmArgs("-Dterminal.ansi=true", "-Djansi.mode=force")
278279
}

0 commit comments

Comments
 (0)