Skip to content

Commit

Permalink
fix: remove GradleBuilder methods that take an env.
Browse files Browse the repository at this point in the history
We don't want to encourage that. It makes debugging impossible. People can use runner() if they really need
a custom env.
  • Loading branch information
autonomousapps committed Feb 14, 2024
1 parent 4170ad1 commit 3963add
Showing 1 changed file with 4 additions and 84 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,152 +17,72 @@ public object GradleBuilder {
vararg args: String,
): BuildResult = build(GradleVersion.current(), projectDir.toFile(), *args)

@JvmStatic
public fun build(
environment: Map<String, String>,
projectDir: Path,
vararg args: String,
): BuildResult = build(GradleVersion.current(), environment, projectDir.toFile(), *args)

@JvmStatic
public fun build(
projectDir: File,
vararg args: String,
): BuildResult = build(GradleVersion.current(), projectDir, *args)

@JvmStatic
public fun build(
environment: Map<String, String>,
projectDir: File,
vararg args: String,
): BuildResult = build(GradleVersion.current(), environment, projectDir, *args)

@JvmStatic
public fun build(
gradleVersion: GradleVersion,
projectDir: Path,
vararg args: String,
): BuildResult = build(gradleVersion, projectDir.toFile(), *args)

@JvmStatic
public fun build(
gradleVersion: GradleVersion,
environment: Map<String, String>,
projectDir: Path,
vararg args: String,
): BuildResult = build(gradleVersion, environment, projectDir.toFile(), *args)

@JvmStatic
public fun build(
gradleVersion: GradleVersion,
projectDir: File,
vararg args: String,
): BuildResult = runner(gradleVersion, projectDir, *args).build()

@JvmStatic
public fun build(
gradleVersion: GradleVersion,
environment: Map<String, String>,
projectDir: File,
vararg args: String,
): BuildResult = runner(gradleVersion, environment, projectDir, *args).build()

@JvmStatic
public fun buildAndFail(
projectDir: Path,
vararg args: String,
): BuildResult = buildAndFail(GradleVersion.current(), projectDir.toFile(), *args)

@JvmStatic
public fun buildAndFail(
environment: Map<String, String>,
projectDir: Path,
vararg args: String,
): BuildResult = buildAndFail(GradleVersion.current(), environment, projectDir.toFile(), *args)

@JvmStatic
public fun buildAndFail(
projectDir: File,
vararg args: String,
): BuildResult = buildAndFail(GradleVersion.current(), projectDir, *args)

public fun buildAndFail(
environment: Map<String, String>,
projectDir: File,
vararg args: String,
): BuildResult = buildAndFail(GradleVersion.current(), environment, projectDir, *args)

@JvmStatic
public fun buildAndFail(
gradleVersion: GradleVersion,
projectDir: Path,
vararg args: String,
): BuildResult = buildAndFail(gradleVersion, projectDir.toFile(), *args)

@JvmStatic
public fun buildAndFail(
gradleVersion: GradleVersion,
environment: Map<String, String>,
projectDir: Path,
vararg args: String,
): BuildResult = buildAndFail(gradleVersion, environment, projectDir.toFile(), *args)

@JvmStatic
public fun buildAndFail(
gradleVersion: GradleVersion,
projectDir: File,
vararg args: String,
): BuildResult = runner(gradleVersion, null, projectDir, *args).buildAndFail()


@JvmStatic
public fun buildAndFail(
gradleVersion: GradleVersion,
environment: Map<String, String>,
projectDir: File,
vararg args: String,
): BuildResult = runner(gradleVersion, environment, projectDir, *args).buildAndFail()

@JvmStatic
public fun runner(
gradleVersion: GradleVersion,
projectDir: Path,
vararg args: String,
): GradleRunner = runner(gradleVersion, null, projectDir.toFile(), *args)

@JvmStatic
public fun runner(
gradleVersion: GradleVersion,
projectDir: File,
vararg args: String,
): GradleRunner = runner(gradleVersion, null, projectDir, *args)
): BuildResult = runner(gradleVersion, projectDir, *args).buildAndFail()

@JvmStatic
public fun runner(
gradleVersion: GradleVersion,
environment: Map<String, String>?,
projectDir: Path,
vararg args: String,
): GradleRunner = runner(gradleVersion, environment, projectDir.toFile(), *args)
): GradleRunner = runner(gradleVersion, projectDir.toFile(), *args)

@JvmStatic
public fun runner(
gradleVersion: GradleVersion,
environment: Map<String, String>?,
projectDir: File,
vararg args: String,
): GradleRunner = GradleRunner.create().apply {
forwardOutput()
withGradleVersion(gradleVersion.version)
withProjectDir(projectDir)
withArguments(args.toList() + "-s")
environment?.let { withEnvironment(it) }

// Ensure this value is true when `--debug-jvm` is passed to Gradle, and false otherwise
val isDebugJvm = ManagementFactory.getRuntimeMXBean().inputArguments.toString().indexOf("-agentlib:jdwp") > 0
if (environment != null && isDebugJvm) {
// TODO(tsr): throw an exception?
System.err.println("When environment is specified, running with isDebug() is not allowed. Debug mode disabled.")
}
withDebug(environment == null && isDebugJvm)
withDebug(isDebugJvm)
}
}

0 comments on commit 3963add

Please sign in to comment.