Skip to content

Commit 43dcdf0

Browse files
authored
chore(dsl)!: change type of sourceFile to File (#1439)
Part of #1412.
1 parent b84da76 commit 43dcdf0

File tree

17 files changed

+56
-52
lines changed

17 files changed

+56
-52
lines changed

.github/workflows/end-to-end-tests.main.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ workflow(
5454
yamlConsistencyJobAdditionalSteps = {
5555
publishToMavenLocal()
5656
},
57-
sourceFile = __FILE__.toPath(),
57+
sourceFile = __FILE__,
5858
) {
5959
val GREETING by Contexts.env
6060
val FIRST_NAME by Contexts.env

action-updates-checker/src/main/kotlin/io/github/typesafegithub/workflows/updates/Utils.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ internal fun RegularAction<*>.mavenCoordinatesForAction(version: Version? = null
9595
}
9696

9797
internal fun Workflow.findDependencyDeclaration(action: RegularAction<*>): Pair<Path?, Int?> {
98-
val file = sourceFile?.takeIf { it.exists() }
98+
val file = sourceFile?.toPath()?.takeIf { it.exists() }
9999
val line =
100100
file?.let { sourceFile ->
101101
val currentCoordinates = action.mavenCoordinatesForAction()

action-updates-checker/src/test/kotlin/io/github/typesafegithub/workflows/updates/ReportingTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class ReportingTest : FunSpec(
2929
workflow(
3030
name = "Test workflow",
3131
on = listOf(Push()),
32-
sourceFile = sourceTempFile.toPath(),
32+
sourceFile = sourceTempFile,
3333
) {
3434
job(
3535
id = "test_job",

github-workflows-kt/api/github-workflows-kt.api

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -484,30 +484,30 @@ public abstract interface class io/github/typesafegithub/workflows/domain/WithOu
484484
}
485485

486486
public final class io/github/typesafegithub/workflows/domain/Workflow : io/github/typesafegithub/workflows/dsl/HasCustomArguments {
487-
public fun <init> (Ljava/lang/String;Ljava/util/List;Ljava/util/Map;Ljava/nio/file/Path;Ljava/lang/String;Lio/github/typesafegithub/workflows/domain/Concurrency;Ljava/util/Map;Ljava/lang/String;Ljava/util/Map;Lkotlin/jvm/functions/Function1;Ljava/util/List;Ljava/util/Map;)V
488-
public synthetic fun <init> (Ljava/lang/String;Ljava/util/List;Ljava/util/Map;Ljava/nio/file/Path;Ljava/lang/String;Lio/github/typesafegithub/workflows/domain/Concurrency;Ljava/util/Map;Ljava/lang/String;Ljava/util/Map;Lkotlin/jvm/functions/Function1;Ljava/util/List;Ljava/util/Map;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
487+
public fun <init> (Ljava/lang/String;Ljava/util/List;Ljava/util/Map;Ljava/io/File;Ljava/lang/String;Lio/github/typesafegithub/workflows/domain/Concurrency;Ljava/util/Map;Ljava/lang/String;Ljava/util/Map;Lkotlin/jvm/functions/Function1;Ljava/util/List;Ljava/util/Map;)V
488+
public synthetic fun <init> (Ljava/lang/String;Ljava/util/List;Ljava/util/Map;Ljava/io/File;Ljava/lang/String;Lio/github/typesafegithub/workflows/domain/Concurrency;Ljava/util/Map;Ljava/lang/String;Ljava/util/Map;Lkotlin/jvm/functions/Function1;Ljava/util/List;Ljava/util/Map;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
489489
public final fun component1 ()Ljava/lang/String;
490490
public final fun component10 ()Lkotlin/jvm/functions/Function1;
491491
public final fun component11 ()Ljava/util/List;
492492
public final fun component12 ()Ljava/util/Map;
493493
public final fun component2 ()Ljava/util/List;
494494
public final fun component3 ()Ljava/util/Map;
495-
public final fun component4 ()Ljava/nio/file/Path;
495+
public final fun component4 ()Ljava/io/File;
496496
public final fun component5 ()Ljava/lang/String;
497497
public final fun component6 ()Lio/github/typesafegithub/workflows/domain/Concurrency;
498498
public final fun component7 ()Ljava/util/Map;
499499
public final fun component8 ()Ljava/lang/String;
500500
public final fun component9 ()Ljava/util/Map;
501-
public final fun copy (Ljava/lang/String;Ljava/util/List;Ljava/util/Map;Ljava/nio/file/Path;Ljava/lang/String;Lio/github/typesafegithub/workflows/domain/Concurrency;Ljava/util/Map;Ljava/lang/String;Ljava/util/Map;Lkotlin/jvm/functions/Function1;Ljava/util/List;Ljava/util/Map;)Lio/github/typesafegithub/workflows/domain/Workflow;
502-
public static synthetic fun copy$default (Lio/github/typesafegithub/workflows/domain/Workflow;Ljava/lang/String;Ljava/util/List;Ljava/util/Map;Ljava/nio/file/Path;Ljava/lang/String;Lio/github/typesafegithub/workflows/domain/Concurrency;Ljava/util/Map;Ljava/lang/String;Ljava/util/Map;Lkotlin/jvm/functions/Function1;Ljava/util/List;Ljava/util/Map;ILjava/lang/Object;)Lio/github/typesafegithub/workflows/domain/Workflow;
501+
public final fun copy (Ljava/lang/String;Ljava/util/List;Ljava/util/Map;Ljava/io/File;Ljava/lang/String;Lio/github/typesafegithub/workflows/domain/Concurrency;Ljava/util/Map;Ljava/lang/String;Ljava/util/Map;Lkotlin/jvm/functions/Function1;Ljava/util/List;Ljava/util/Map;)Lio/github/typesafegithub/workflows/domain/Workflow;
502+
public static synthetic fun copy$default (Lio/github/typesafegithub/workflows/domain/Workflow;Ljava/lang/String;Ljava/util/List;Ljava/util/Map;Ljava/io/File;Ljava/lang/String;Lio/github/typesafegithub/workflows/domain/Concurrency;Ljava/util/Map;Ljava/lang/String;Ljava/util/Map;Lkotlin/jvm/functions/Function1;Ljava/util/List;Ljava/util/Map;ILjava/lang/Object;)Lio/github/typesafegithub/workflows/domain/Workflow;
503503
public fun equals (Ljava/lang/Object;)Z
504504
public final fun getConcurrency ()Lio/github/typesafegithub/workflows/domain/Concurrency;
505505
public final fun getEnv ()Ljava/util/Map;
506506
public final fun getJobs ()Ljava/util/List;
507507
public final fun getName ()Ljava/lang/String;
508508
public final fun getOn ()Ljava/util/List;
509509
public final fun getPermissions ()Ljava/util/Map;
510-
public final fun getSourceFile ()Ljava/nio/file/Path;
510+
public final fun getSourceFile ()Ljava/io/File;
511511
public final fun getTargetFileName ()Ljava/lang/String;
512512
public final fun getYamlConsistencyJobAdditionalSteps ()Lkotlin/jvm/functions/Function1;
513513
public final fun getYamlConsistencyJobCondition ()Ljava/lang/String;
@@ -1899,8 +1899,8 @@ public final class io/github/typesafegithub/workflows/dsl/JobBuilder : io/github
18991899
}
19001900

19011901
public final class io/github/typesafegithub/workflows/dsl/WorkflowBuilder {
1902-
public fun <init> (Ljava/lang/String;Ljava/util/List;Ljava/util/Map;Ljava/nio/file/Path;Ljava/lang/String;Lio/github/typesafegithub/workflows/domain/Concurrency;Ljava/nio/file/Path;Ljava/lang/String;Ljava/util/Map;Lkotlin/jvm/functions/Function1;Ljava/util/List;Ljava/util/Map;Ljava/util/Map;)V
1903-
public synthetic fun <init> (Ljava/lang/String;Ljava/util/List;Ljava/util/Map;Ljava/nio/file/Path;Ljava/lang/String;Lio/github/typesafegithub/workflows/domain/Concurrency;Ljava/nio/file/Path;Ljava/lang/String;Ljava/util/Map;Lkotlin/jvm/functions/Function1;Ljava/util/List;Ljava/util/Map;Ljava/util/Map;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
1902+
public fun <init> (Ljava/lang/String;Ljava/util/List;Ljava/util/Map;Ljava/io/File;Ljava/lang/String;Lio/github/typesafegithub/workflows/domain/Concurrency;Ljava/nio/file/Path;Ljava/lang/String;Ljava/util/Map;Lkotlin/jvm/functions/Function1;Ljava/util/List;Ljava/util/Map;Ljava/util/Map;)V
1903+
public synthetic fun <init> (Ljava/lang/String;Ljava/util/List;Ljava/util/Map;Ljava/io/File;Ljava/lang/String;Lio/github/typesafegithub/workflows/domain/Concurrency;Ljava/nio/file/Path;Ljava/lang/String;Ljava/util/Map;Lkotlin/jvm/functions/Function1;Ljava/util/List;Ljava/util/Map;Ljava/util/Map;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
19041904
public final fun build ()Lio/github/typesafegithub/workflows/domain/Workflow;
19051905
public final fun getGitRootDir ()Ljava/nio/file/Path;
19061906
public final fun job ([Lkotlin/Unit;Ljava/lang/String;Ljava/lang/String;Lio/github/typesafegithub/workflows/domain/RunnerType;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/lang/Integer;Lio/github/typesafegithub/workflows/domain/Concurrency;Lio/github/typesafegithub/workflows/domain/Container;Lio/github/typesafegithub/workflows/domain/Environment;Ljava/util/Map;Lio/github/typesafegithub/workflows/domain/JobOutputs;Lkotlin/jvm/functions/Function1;)Lio/github/typesafegithub/workflows/domain/Job;
@@ -1911,8 +1911,8 @@ public final class io/github/typesafegithub/workflows/dsl/WorkflowBuilder {
19111911

19121912
public final class io/github/typesafegithub/workflows/dsl/WorkflowBuilderKt {
19131913
public static final fun toBuilder (Lio/github/typesafegithub/workflows/domain/Workflow;)Lio/github/typesafegithub/workflows/dsl/WorkflowBuilder;
1914-
public static final fun workflow ([Lkotlin/Unit;Ljava/lang/String;Ljava/util/List;Ljava/util/Map;Ljava/nio/file/Path;Ljava/lang/String;Lio/github/typesafegithub/workflows/domain/Concurrency;Ljava/lang/String;Ljava/util/Map;Lkotlin/jvm/functions/Function1;Ljava/util/Map;ZLjava/nio/file/Path;Lio/github/typesafegithub/workflows/yaml/Preamble;Lkotlin/jvm/functions/Function1;Ljava/util/Map;Lkotlin/jvm/functions/Function1;)Lio/github/typesafegithub/workflows/domain/Workflow;
1915-
public static synthetic fun workflow$default ([Lkotlin/Unit;Ljava/lang/String;Ljava/util/List;Ljava/util/Map;Ljava/nio/file/Path;Ljava/lang/String;Lio/github/typesafegithub/workflows/domain/Concurrency;Ljava/lang/String;Ljava/util/Map;Lkotlin/jvm/functions/Function1;Ljava/util/Map;ZLjava/nio/file/Path;Lio/github/typesafegithub/workflows/yaml/Preamble;Lkotlin/jvm/functions/Function1;Ljava/util/Map;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lio/github/typesafegithub/workflows/domain/Workflow;
1914+
public static final fun workflow ([Lkotlin/Unit;Ljava/lang/String;Ljava/util/List;Ljava/util/Map;Ljava/io/File;Ljava/lang/String;Lio/github/typesafegithub/workflows/domain/Concurrency;Ljava/lang/String;Ljava/util/Map;Lkotlin/jvm/functions/Function1;Ljava/util/Map;ZLjava/nio/file/Path;Lio/github/typesafegithub/workflows/yaml/Preamble;Lkotlin/jvm/functions/Function1;Ljava/util/Map;Lkotlin/jvm/functions/Function1;)Lio/github/typesafegithub/workflows/domain/Workflow;
1915+
public static synthetic fun workflow$default ([Lkotlin/Unit;Ljava/lang/String;Ljava/util/List;Ljava/util/Map;Ljava/io/File;Ljava/lang/String;Lio/github/typesafegithub/workflows/domain/Concurrency;Ljava/lang/String;Ljava/util/Map;Lkotlin/jvm/functions/Function1;Ljava/util/Map;ZLjava/nio/file/Path;Lio/github/typesafegithub/workflows/yaml/Preamble;Lkotlin/jvm/functions/Function1;Ljava/util/Map;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lio/github/typesafegithub/workflows/domain/Workflow;
19161916
}
19171917

19181918
public final class io/github/typesafegithub/workflows/dsl/expressions/Contexts : io/github/typesafegithub/workflows/dsl/expressions/contexts/FunctionsContext {

github-workflows-kt/src/main/kotlin/io/github/typesafegithub/workflows/domain/Workflow.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ import io.github.typesafegithub.workflows.domain.triggers.Trigger
44
import io.github.typesafegithub.workflows.dsl.HasCustomArguments
55
import io.github.typesafegithub.workflows.dsl.JobBuilder
66
import kotlinx.serialization.Contextual
7-
import java.nio.file.Path
7+
import java.io.File
88

99
public data class Workflow(
1010
val name: String,
1111
val on: List<Trigger>,
1212
val env: Map<String, String>,
13-
val sourceFile: Path?,
13+
val sourceFile: File?,
1414
val targetFileName: String?,
1515
val concurrency: Concurrency? = null,
1616
val permissions: Map<Permission, Mode>? = null,

github-workflows-kt/src/main/kotlin/io/github/typesafegithub/workflows/dsl/JobBuilder.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ public class JobBuilder<OUTPUT : JobOutputs>(
136136
val id = "step-${job.steps.size}"
137137
val sourceFilePath =
138138
workflowBuilder.gitRootDir?.let {
139-
sourceFile.relativeToAbsolute(it).invariantSeparatorsPathString
139+
sourceFile.toPath().relativeToAbsolute(it).invariantSeparatorsPathString
140140
}
141141
val newStep =
142142
KotlinLogicStep(

github-workflows-kt/src/main/kotlin/io/github/typesafegithub/workflows/dsl/WorkflowBuilder.kt

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import io.github.typesafegithub.workflows.shared.internal.findGitRoot
1414
import io.github.typesafegithub.workflows.yaml.Preamble
1515
import io.github.typesafegithub.workflows.yaml.writeToFile
1616
import kotlinx.serialization.Contextual
17+
import java.io.File
1718
import java.nio.file.Path
1819
import kotlin.io.path.absolute
1920

@@ -23,7 +24,7 @@ public class WorkflowBuilder(
2324
name: String,
2425
on: List<Trigger>,
2526
env: Map<String, String> = mapOf(),
26-
sourceFile: Path?,
27+
sourceFile: File?,
2728
targetFileName: String?,
2829
concurrency: Concurrency? = null,
2930
public val gitRootDir: Path? = null,
@@ -169,15 +170,18 @@ public fun workflow(
169170
name: String,
170171
on: List<Trigger>,
171172
env: Map<String, String> = mapOf(),
172-
sourceFile: Path? = null,
173-
targetFileName: String? = sourceFile?.fileName?.let { it.toString().substringBeforeLast(".main.kts") + ".yaml" },
173+
sourceFile: File? = null,
174+
targetFileName: String? =
175+
sourceFile?.toPath()?.fileName?.let {
176+
it.toString().substringBeforeLast(".main.kts") + ".yaml"
177+
},
174178
concurrency: Concurrency? = null,
175179
yamlConsistencyJobCondition: String? = null,
176180
yamlConsistencyJobEnv: Map<String, String> = mapOf(),
177181
yamlConsistencyJobAdditionalSteps: (JobBuilder<JobOutputs.EMPTY>.() -> Unit)? = null,
178182
permissions: Map<Permission, Mode>? = null,
179183
addConsistencyCheck: Boolean = sourceFile != null,
180-
gitRootDir: Path? = sourceFile?.absolute()?.findGitRoot(),
184+
gitRootDir: Path? = sourceFile?.toPath()?.absolute()?.findGitRoot(),
181185
preamble: Preamble? = null,
182186
getenv: (String) -> String? = { System.getenv(it) },
183187
_customArguments: Map<String, @Contextual Any> = mapOf(),

github-workflows-kt/src/main/kotlin/io/github/typesafegithub/workflows/yaml/ToYaml.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ private fun Workflow.generateYaml(
9999
): String {
100100
val sourceFilePath =
101101
gitRootDir?.let {
102-
sourceFile?.relativeToAbsolute(gitRootDir)?.invariantSeparatorsPathString
102+
sourceFile?.toPath()?.relativeToAbsolute(gitRootDir)?.invariantSeparatorsPathString
103103
}
104104

105105
val jobsWithConsistencyCheck =

github-workflows-kt/src/test/kotlin/io/github/typesafegithub/workflows/IntegrationTest.kt

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class IntegrationTest : FunSpec({
3333
workflow(
3434
name = "Test workflow",
3535
on = listOf(Push()),
36-
sourceFile = sourceTempFile.toPath(),
36+
sourceFile = sourceTempFile,
3737
yamlConsistencyJobEnv = mapOf("GITHUB_TOKEN" to expr("secrets.GITHUB_TOKEN")),
3838
) {
3939
job(
@@ -108,7 +108,7 @@ class IntegrationTest : FunSpec({
108108
hello! workflow
109109
""".trimIndent(),
110110
),
111-
sourceFile = sourceTempFile.toPath(),
111+
sourceFile = sourceTempFile,
112112
addConsistencyCheck = false,
113113
_customArguments =
114114
mapOf(
@@ -233,7 +233,7 @@ class IntegrationTest : FunSpec({
233233
workflow(
234234
name = "Test workflow",
235235
on = listOf(Push()),
236-
sourceFile = sourceTempFile.toPath(),
236+
sourceFile = sourceTempFile,
237237
addConsistencyCheck = false,
238238
concurrency = Concurrency("workflow_staging_environment"),
239239
) {
@@ -295,7 +295,7 @@ class IntegrationTest : FunSpec({
295295
workflow(
296296
name = "Test workflow",
297297
on = listOf(Push()),
298-
sourceFile = sourceTempFile.toPath(),
298+
sourceFile = sourceTempFile,
299299
addConsistencyCheck = false,
300300
) {
301301
job(id = "deploy-dev", runsOn = RunnerType.UbuntuLatest) {
@@ -373,7 +373,7 @@ class IntegrationTest : FunSpec({
373373
workflow(
374374
name = "Test workflow",
375375
on = listOf(Push()),
376-
sourceFile = sourceTempFile.toPath(),
376+
sourceFile = sourceTempFile,
377377
addConsistencyCheck = false,
378378
concurrency = Concurrency("workflow_staging_environment", cancelInProgress = true),
379379
) {
@@ -435,7 +435,7 @@ class IntegrationTest : FunSpec({
435435
name = "Test workflow",
436436
on = listOf(Push()),
437437
yamlConsistencyJobCondition = "\${{ always() }}",
438-
sourceFile = sourceTempFile.toPath(),
438+
sourceFile = sourceTempFile,
439439
) {
440440
job(
441441
id = "test_job",
@@ -538,7 +538,7 @@ class IntegrationTest : FunSpec({
538538
workflow(
539539
name = "test",
540540
on = listOf(Push()),
541-
sourceFile = sourceTempFile.toPath(),
541+
sourceFile = sourceTempFile,
542542
preamble =
543543
Just(
544544
"""
@@ -575,7 +575,7 @@ class IntegrationTest : FunSpec({
575575
workflow(
576576
name = "test",
577577
on = listOf(Push()),
578-
sourceFile = sourceTempFile.toPath(),
578+
sourceFile = sourceTempFile,
579579
preamble =
580580
Just(
581581
"""
@@ -614,7 +614,7 @@ class IntegrationTest : FunSpec({
614614
workflow(
615615
name = "Test workflow",
616616
on = listOf(Push()),
617-
sourceFile = sourceTempFile.toPath(),
617+
sourceFile = sourceTempFile,
618618
preamble =
619619
WithOriginalAfter(
620620
"""
@@ -657,7 +657,7 @@ class IntegrationTest : FunSpec({
657657
workflow(
658658
name = "Test workflow",
659659
on = listOf(Push()),
660-
sourceFile = sourceTempFile.toPath(),
660+
sourceFile = sourceTempFile,
661661
preamble =
662662
WithOriginalBefore(
663663
"""
@@ -700,7 +700,7 @@ class IntegrationTest : FunSpec({
700700
workflow(
701701
name = "test",
702702
on = listOf(Push()),
703-
sourceFile = sourceTempFile.toPath(),
703+
sourceFile = sourceTempFile,
704704
preamble = Just(""),
705705
addConsistencyCheck = false,
706706
) {
@@ -731,7 +731,7 @@ class IntegrationTest : FunSpec({
731731
workflow(
732732
name = "test",
733733
on = listOf(Push()),
734-
sourceFile = sourceTempFile.toPath(),
734+
sourceFile = sourceTempFile,
735735
) {
736736
job(id = "test", runsOn = RunnerType.UbuntuLatest) {
737737
run(name = "Step with Kotlin code in lambda") {

github-workflows-kt/src/test/kotlin/io/github/typesafegithub/workflows/docsnippets/CompensatingLibrarysMissingFeaturesSnippets.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ class CompensatingLibrarysMissingFeaturesSnippets : FunSpec({
2323
// --8<-- [end:custom-arguments-1]
2424
name = "customArguments",
2525
on = listOf(Push()),
26-
sourceFile = sourceTempFile.toPath(),
26+
sourceFile = sourceTempFile,
2727
// --8<-- [start:custom-arguments-2]
2828
// ...
2929
_customArguments =

0 commit comments

Comments
 (0)