Skip to content

Commit bfc2c5c

Browse files
authored
chore!: remove support for client-side binding generation (#1366)
Part of #1318. In favor of server-side bindings in a form of Maven artifacts.
1 parent 11834bf commit bfc2c5c

File tree

12 files changed

+5
-665
lines changed

12 files changed

+5
-665
lines changed

action-binding-generator/api/action-binding-generator.api

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -83,21 +83,12 @@ public final class io/github/typesafegithub/workflows/actionbindinggenerator/gen
8383

8484
public final class io/github/typesafegithub/workflows/actionbindinggenerator/generation/ClientType : java/lang/Enum {
8585
public static final field BUNDLED_WITH_LIB Lio/github/typesafegithub/workflows/actionbindinggenerator/generation/ClientType;
86-
public static final field CLIENT_SIDE_GENERATION Lio/github/typesafegithub/workflows/actionbindinggenerator/generation/ClientType;
8786
public static final field VERSIONED_JAR Lio/github/typesafegithub/workflows/actionbindinggenerator/generation/ClientType;
8887
public static fun getEntries ()Lkotlin/enums/EnumEntries;
8988
public static fun valueOf (Ljava/lang/String;)Lio/github/typesafegithub/workflows/actionbindinggenerator/generation/ClientType;
9089
public static fun values ()[Lio/github/typesafegithub/workflows/actionbindinggenerator/generation/ClientType;
9190
}
9291

93-
public final class io/github/typesafegithub/workflows/actionbindinggenerator/generation/ExtractUsedActionsFromWorkflowKt {
94-
public static final fun extractUsedActionsFromWorkflow (Ljava/lang/String;)Ljava/util/List;
95-
}
96-
97-
public final class io/github/typesafegithub/workflows/actionbindinggenerator/generation/GenerateActionBindingsCliHelperKt {
98-
public static final fun generateActionBindings ([Ljava/lang/String;Ljava/nio/file/Path;)V
99-
}
100-
10192
public final class io/github/typesafegithub/workflows/actionbindinggenerator/generation/GenerationKt {
10293
public static final fun generateBinding (Lio/github/typesafegithub/workflows/actionbindinggenerator/domain/ActionCoords;Lio/github/typesafegithub/workflows/actionbindinggenerator/domain/MetadataRevision;Lio/github/typesafegithub/workflows/actionbindinggenerator/metadata/Metadata;Lkotlin/Pair;Lio/github/typesafegithub/workflows/actionbindinggenerator/generation/ClientType;)Lio/github/typesafegithub/workflows/actionbindinggenerator/generation/ActionBinding;
10394
public static synthetic fun generateBinding$default (Lio/github/typesafegithub/workflows/actionbindinggenerator/domain/ActionCoords;Lio/github/typesafegithub/workflows/actionbindinggenerator/domain/MetadataRevision;Lio/github/typesafegithub/workflows/actionbindinggenerator/metadata/Metadata;Lkotlin/Pair;Lio/github/typesafegithub/workflows/actionbindinggenerator/generation/ClientType;ILjava/lang/Object;)Lio/github/typesafegithub/workflows/actionbindinggenerator/generation/ActionBinding;

action-binding-generator/src/main/kotlin/io/github/typesafegithub/workflows/actionbindinggenerator/generation/ExtractUsedActionsFromWorkflow.kt

Lines changed: 0 additions & 40 deletions
This file was deleted.

action-binding-generator/src/main/kotlin/io/github/typesafegithub/workflows/actionbindinggenerator/generation/GenerateActionBindingsCliHelper.kt

Lines changed: 0 additions & 57 deletions
This file was deleted.

action-binding-generator/src/main/kotlin/io/github/typesafegithub/workflows/actionbindinggenerator/generation/Generation.kt

Lines changed: 5 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,6 @@ public enum class ClientType {
5050
*/
5151
BUNDLED_WITH_LIB,
5252

53-
/**
54-
* The binding is going to be generated on the client side, and consumed
55-
* via `@file:Import(...)`.
56-
*/
57-
CLIENT_SIDE_GENERATION,
58-
5953
/**
6054
* The binding is going to be provided in a versioned JAR.
6155
*/
@@ -91,7 +85,7 @@ public fun ActionCoords.generateBinding(
9185

9286
val className = this.buildActionClassName(includeVersion = clientType == ClientType.BUNDLED_WITH_LIB)
9387
val actionBindingSourceCode =
94-
generateActionBindingSourceCode(metadataProcessed, this, inputTypings.first, className, clientType)
88+
generateActionBindingSourceCode(metadataProcessed, this, inputTypings.first, className)
9589
val packageName = owner.toKotlinPackageName()
9690
return ActionBinding(
9791
kotlinCode = actionBindingSourceCode,
@@ -119,15 +113,10 @@ private fun generateActionBindingSourceCode(
119113
coords: ActionCoords,
120114
inputTypings: Map<String, Typing>,
121115
className: String,
122-
clientType: ClientType,
123116
): String {
124117
val fileSpec =
125118
FileSpec.builder(
126-
if (clientType != ClientType.CLIENT_SIDE_GENERATION) {
127-
"io.github.typesafegithub.workflows.actions.${coords.owner.toKotlinPackageName()}"
128-
} else {
129-
""
130-
},
119+
"io.github.typesafegithub.workflows.actions.${coords.owner.toKotlinPackageName()}",
131120
className,
132121
)
133122
.addFileComment(
@@ -137,20 +126,12 @@ private fun generateActionBindingSourceCode(
137126
See https://github.com/typesafegithub/github-workflows-kt for more info.
138127
""".trimIndent(),
139128
)
140-
.addType(generateActionClass(metadata, coords, inputTypings, className, clientType))
129+
.addType(generateActionClass(metadata, coords, inputTypings, className))
141130
.addSuppressAnnotation(metadata, coords)
142131
.indent(" ")
143132
.build()
144133
return buildString {
145134
fileSpec.writeTo(this)
146-
}.let {
147-
if (clientType == ClientType.CLIENT_SIDE_GENERATION) {
148-
it.lines()
149-
.filter { !it.startsWith("import io.github.typesafegithub.workflows.actions.") }
150-
.joinToString(separator = "\n")
151-
} else {
152-
it
153-
}
154135
}
155136
}
156137

@@ -179,18 +160,12 @@ private fun generateActionClass(
179160
coords: ActionCoords,
180161
inputTypings: Map<String, Typing>,
181162
className: String,
182-
clientType: ClientType,
183163
): TypeSpec {
184164
return TypeSpec.classBuilder(className)
185165
.addModifiers(KModifier.DATA)
186-
.apply {
187-
if (clientType == ClientType.CLIENT_SIDE_GENERATION) {
188-
addExperimentalAnnotation()
189-
}
190-
}
191166
.addKdoc(actionKdoc(metadata, coords))
192167
.addMaybeDeprecated(coords)
193-
.inheritsFromRegularAction(coords, metadata, className, clientType)
168+
.inheritsFromRegularAction(coords, metadata, className)
194169
.primaryConstructor(metadata.primaryConstructor(inputTypings, coords, className))
195170
.properties(metadata, coords, inputTypings, className)
196171
.addFunction(metadata.secondaryConstructor(inputTypings, coords, className))
@@ -201,13 +176,6 @@ private fun generateActionClass(
201176
.build()
202177
}
203178

204-
private fun TypeSpec.Builder.addExperimentalAnnotation() {
205-
addAnnotation(
206-
AnnotationSpec.builder(ClassName("io.github.typesafegithub.workflows.annotations", "ExperimentalClientSideBindings"))
207-
.build(),
208-
)
209-
}
210-
211179
private fun TypeSpec.Builder.addCustomTypes(
212180
typings: Map<String, Typing>,
213181
coords: ActionCoords,
@@ -354,7 +322,6 @@ private fun TypeSpec.Builder.inheritsFromRegularAction(
354322
coords: ActionCoords,
355323
metadata: Metadata,
356324
className: String,
357-
clientType: ClientType,
358325
): TypeSpec.Builder {
359326
val superclass =
360327
ClassName("io.github.typesafegithub.workflows.domain.actions", "RegularAction")
@@ -363,11 +330,7 @@ private fun TypeSpec.Builder.inheritsFromRegularAction(
363330
OutputsBase
364331
} else {
365332
ClassName(
366-
if (clientType != ClientType.CLIENT_SIDE_GENERATION) {
367-
"io.github.typesafegithub.workflows.actions.${coords.owner.toKotlinPackageName()}"
368-
} else {
369-
""
370-
},
333+
"io.github.typesafegithub.workflows.actions.${coords.owner.toKotlinPackageName()}",
371334
className,
372335
"Outputs",
373336
)

action-binding-generator/src/main/kotlin/io/github/typesafegithub/workflows/actionbindinggenerator/generation/GitHubWorkflowModel.kt

Lines changed: 0 additions & 18 deletions
This file was deleted.

0 commit comments

Comments
 (0)