Skip to content

Commit

Permalink
chore(abg)!: clean up structure (#1213)
Browse files Browse the repository at this point in the history
Fixes #1209.
  • Loading branch information
krzema12 committed Dec 26, 2023
1 parent 1c6b59c commit 758a084
Show file tree
Hide file tree
Showing 38 changed files with 224 additions and 162 deletions.
170 changes: 85 additions & 85 deletions action-binding-generator/api/action-binding-generator.api

Large diffs are not rendered by default.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.github.typesafegithub.workflows.actionbindinggenerator
package io.github.typesafegithub.workflows.actionbindinggenerator.domain

public data class ActionCoords(
val owner: String,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.github.typesafegithub.workflows.actionbindinggenerator
package io.github.typesafegithub.workflows.actionbindinggenerator.domain

public sealed interface MetadataRevision

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.github.typesafegithub.workflows.actionbindinggenerator
package io.github.typesafegithub.workflows.actionbindinggenerator.domain

public enum class TypingActualSource {
ACTION,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package io.github.typesafegithub.workflows.actionbindinggenerator
package io.github.typesafegithub.workflows.actionbindinggenerator.generation

import io.github.typesafegithub.workflows.actionbindinggenerator.domain.ActionCoords
import io.github.typesafegithub.workflows.actionbindinggenerator.utils.toPascalCase
import java.util.Locale

internal fun ActionCoords.buildActionClassName(includeVersion: Boolean = true): String {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
package io.github.typesafegithub.workflows.actionbindinggenerator
package io.github.typesafegithub.workflows.actionbindinggenerator.generation

import io.github.typesafegithub.workflows.actionbindinggenerator.domain.ActionCoords
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.toActionCoords
import io.github.typesafegithub.workflows.actionbindinggenerator.utils.myYaml
import kotlinx.serialization.decodeFromString

public fun extractUsedActionsFromWorkflow(manifest: String): List<ActionCoords> {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package io.github.typesafegithub.workflows.actionbindinggenerator
package io.github.typesafegithub.workflows.actionbindinggenerator.generation

import io.github.typesafegithub.workflows.actionbindinggenerator.annotations.ExperimentalClientSideBindings
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.NewestForVersion
import io.github.typesafegithub.workflows.shared.internal.findGitRoot
import java.nio.file.Path
import kotlin.io.path.div
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.github.typesafegithub.workflows.actionbindinggenerator
package io.github.typesafegithub.workflows.actionbindinggenerator.generation

import com.squareup.kotlinpoet.AnnotationSpec
import com.squareup.kotlinpoet.ClassName
Expand All @@ -14,8 +14,26 @@ import com.squareup.kotlinpoet.PropertySpec
import com.squareup.kotlinpoet.TypeSpec
import com.squareup.kotlinpoet.asClassName
import com.squareup.kotlinpoet.asTypeName
import io.github.typesafegithub.workflows.actionbindinggenerator.Properties.CUSTOM_INPUTS
import io.github.typesafegithub.workflows.actionbindinggenerator.Properties.CUSTOM_VERSION
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.ActionCoords
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.MetadataRevision
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.TypingActualSource
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.prettyPrint
import io.github.typesafegithub.workflows.actionbindinggenerator.generation.Properties.CUSTOM_INPUTS
import io.github.typesafegithub.workflows.actionbindinggenerator.generation.Properties.CUSTOM_VERSION
import io.github.typesafegithub.workflows.actionbindinggenerator.metadata.Input
import io.github.typesafegithub.workflows.actionbindinggenerator.metadata.Metadata
import io.github.typesafegithub.workflows.actionbindinggenerator.metadata.fetchMetadata
import io.github.typesafegithub.workflows.actionbindinggenerator.metadata.shouldBeNonNullInBinding
import io.github.typesafegithub.workflows.actionbindinggenerator.typing.StringTyping
import io.github.typesafegithub.workflows.actionbindinggenerator.typing.Typing
import io.github.typesafegithub.workflows.actionbindinggenerator.typing.asString
import io.github.typesafegithub.workflows.actionbindinggenerator.typing.buildCustomType
import io.github.typesafegithub.workflows.actionbindinggenerator.typing.getClassName
import io.github.typesafegithub.workflows.actionbindinggenerator.typing.provideTypes
import io.github.typesafegithub.workflows.actionbindinggenerator.typing.suggestAdditionalTypings
import io.github.typesafegithub.workflows.actionbindinggenerator.utils.removeTrailingWhitespacesForEachLine
import io.github.typesafegithub.workflows.actionbindinggenerator.utils.toCamelCase
import io.github.typesafegithub.workflows.actionbindinggenerator.utils.toKotlinPackageName
import java.nio.file.Path

public data class ActionBinding(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.github.typesafegithub.workflows.actionbindinggenerator
package io.github.typesafegithub.workflows.actionbindinggenerator.generation

import kotlinx.serialization.Serializable

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.github.typesafegithub.workflows.actionbindinggenerator
package io.github.typesafegithub.workflows.actionbindinggenerator.metadata

/**
* [Input.required] is in theory a required field in action's metadata, but in practice a lot of actions don't specify
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
package io.github.typesafegithub.workflows.actionbindinggenerator
package io.github.typesafegithub.workflows.actionbindinggenerator.metadata

import io.github.typesafegithub.workflows.actionbindinggenerator.domain.ActionCoords
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.CommitHash
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.FromLockfile
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.MetadataRevision
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.NewestForVersion
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.prettyPrint
import io.github.typesafegithub.workflows.actionbindinggenerator.utils.myYaml
import kotlinx.serialization.Serializable
import kotlinx.serialization.decodeFromString
import java.io.IOException
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.github.typesafegithub.workflows.actionbindinggenerator
package io.github.typesafegithub.workflows.actionbindinggenerator.typing

import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,19 @@
package io.github.typesafegithub.workflows.actionbindinggenerator
package io.github.typesafegithub.workflows.actionbindinggenerator.typing

import com.charleskorn.kaml.Yaml
import io.github.typesafegithub.workflows.actionbindinggenerator.TypingActualSource.ACTION
import io.github.typesafegithub.workflows.actionbindinggenerator.TypingActualSource.TYPING_CATALOG
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.ActionCoords
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.CommitHash
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.FromLockfile
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.MetadataRevision
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.NewestForVersion
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.TypingActualSource
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.TypingActualSource.ACTION
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.TypingActualSource.TYPING_CATALOG
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.repoName
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.subName
import io.github.typesafegithub.workflows.actionbindinggenerator.metadata.fetchUri
import io.github.typesafegithub.workflows.actionbindinggenerator.utils.myYaml
import io.github.typesafegithub.workflows.actionbindinggenerator.utils.toPascalCase
import kotlinx.serialization.Serializable
import kotlinx.serialization.decodeFromString
import java.io.IOException
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.github.typesafegithub.workflows.actionbindinggenerator
package io.github.typesafegithub.workflows.actionbindinggenerator.typing

private fun ActionType.toTyping(fieldName: String): Typing =
when (this.type) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.github.typesafegithub.workflows.actionbindinggenerator
package io.github.typesafegithub.workflows.actionbindinggenerator.typing

public sealed interface Typing

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.github.typesafegithub.workflows.actionbindinggenerator
package io.github.typesafegithub.workflows.actionbindinggenerator.typing

import com.squareup.kotlinpoet.ClassName
import com.squareup.kotlinpoet.FunSpec
Expand All @@ -10,6 +10,9 @@ import com.squareup.kotlinpoet.TypeName
import com.squareup.kotlinpoet.TypeSpec
import com.squareup.kotlinpoet.asClassName
import com.squareup.kotlinpoet.asTypeName
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.ActionCoords
import io.github.typesafegithub.workflows.actionbindinggenerator.utils.toKotlinPackageName
import io.github.typesafegithub.workflows.actionbindinggenerator.utils.toPascalCase

internal fun Typing.getClassName(
actionPackageName: String,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
package io.github.typesafegithub.workflows.actionbindinggenerator
package io.github.typesafegithub.workflows.actionbindinggenerator.typing

import io.github.typesafegithub.workflows.actionbindinggenerator.metadata.Input
import io.github.typesafegithub.workflows.actionbindinggenerator.metadata.Metadata

internal fun Metadata.suggestAdditionalTypings(existingTypings: Set<String>): String? {
val keys =
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.github.typesafegithub.workflows.actionbindinggenerator
package io.github.typesafegithub.workflows.actionbindinggenerator.utils

import java.util.Locale

Expand All @@ -13,3 +13,9 @@ internal fun String.toPascalCase(): String {
}

internal fun String.toCamelCase(): String = toPascalCase().replaceFirstChar { it.lowercase() }

internal fun String.toKotlinPackageName(): String =
replace("-", "")
.lowercase()

internal fun String.removeTrailingWhitespacesForEachLine() = lines().joinToString(separator = "\n") { it.trimEnd() }
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.github.typesafegithub.workflows.actionbindinggenerator
package io.github.typesafegithub.workflows.actionbindinggenerator.utils

import com.charleskorn.kaml.Yaml

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package io.github.typesafegithub.workflows.actionbindinggenerator

import io.github.typesafegithub.workflows.actionbindinggenerator.generation.ActionBinding
import io.kotest.assertions.fail
import io.kotest.matchers.shouldBe
import io.kotest.matchers.shouldNot
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package io.github.typesafegithub.workflows.actionbindinggenerator
package io.github.typesafegithub.workflows.actionbindinggenerator.generation

import io.github.typesafegithub.workflows.actionbindinggenerator.domain.ActionCoords
import io.kotest.core.spec.style.FunSpec
import io.kotest.matchers.shouldBe

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package io.github.typesafegithub.workflows.actionbindinggenerator
package io.github.typesafegithub.workflows.actionbindinggenerator.generation

import io.github.typesafegithub.workflows.actionbindinggenerator.domain.ActionCoords
import io.kotest.assertions.throwables.shouldThrow
import io.kotest.core.spec.style.FunSpec
import io.kotest.matchers.should
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.github.typesafegithub.workflows.actionbindinggenerator
package io.github.typesafegithub.workflows.actionbindinggenerator.generation

import io.github.typesafegithub.workflows.actionbindinggenerator.annotations.ExperimentalClientSideBindings
import io.kotest.core.spec.style.FunSpec
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,19 @@
package io.github.typesafegithub.workflows.actionbindinggenerator

import io.github.typesafegithub.workflows.actionbindinggenerator.TypingActualSource.ACTION
package io.github.typesafegithub.workflows.actionbindinggenerator.generation

import io.github.typesafegithub.workflows.actionbindinggenerator.domain.ActionCoords
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.FromLockfile
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.TypingActualSource.ACTION
import io.github.typesafegithub.workflows.actionbindinggenerator.metadata.Input
import io.github.typesafegithub.workflows.actionbindinggenerator.metadata.Metadata
import io.github.typesafegithub.workflows.actionbindinggenerator.metadata.Output
import io.github.typesafegithub.workflows.actionbindinggenerator.shouldMatchFile
import io.github.typesafegithub.workflows.actionbindinggenerator.typing.BooleanTyping
import io.github.typesafegithub.workflows.actionbindinggenerator.typing.EnumTyping
import io.github.typesafegithub.workflows.actionbindinggenerator.typing.FloatTyping
import io.github.typesafegithub.workflows.actionbindinggenerator.typing.IntegerTyping
import io.github.typesafegithub.workflows.actionbindinggenerator.typing.IntegerWithSpecialValueTyping
import io.github.typesafegithub.workflows.actionbindinggenerator.typing.ListOfTypings
import io.github.typesafegithub.workflows.actionbindinggenerator.typing.StringTyping
import io.kotest.core.spec.style.FunSpec
import io.kotest.matchers.shouldBe

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.github.typesafegithub.workflows.actionbindinggenerator
package io.github.typesafegithub.workflows.actionbindinggenerator.metadata

import io.kotest.core.spec.style.FunSpec
import io.kotest.data.row
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
package io.github.typesafegithub.workflows.actionbindinggenerator
package io.github.typesafegithub.workflows.actionbindinggenerator.typing

import io.github.typesafegithub.workflows.actionbindinggenerator.domain.ActionCoords
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.CommitHash
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.TypingActualSource
import io.kotest.core.spec.style.FunSpec
import io.kotest.matchers.shouldBe
import java.io.IOException
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package io.github.typesafegithub.workflows.actionbindinggenerator
package io.github.typesafegithub.workflows.actionbindinggenerator.typing

import io.github.typesafegithub.workflows.actionbindinggenerator.metadata.Input
import io.github.typesafegithub.workflows.actionbindinggenerator.metadata.Metadata
import io.kotest.core.spec.style.FunSpec
import io.kotest.inspectors.forAll
import io.kotest.matchers.shouldBe
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.github.typesafegithub.workflows.actionbindinggenerator
package io.github.typesafegithub.workflows.actionbindinggenerator.utils

import io.kotest.core.spec.style.FunSpec
import io.kotest.matchers.shouldBe
Expand Down Expand Up @@ -32,4 +32,15 @@ class TextUtilsTest : FunSpec({
}
}
}

context("toKotlinPackageName") {
listOf(
"some-name" to "somename",
"SomeName" to "somename",
).forEach { (input, output) ->
test("should convert '$input' to '$output'") {
input.toKotlinPackageName() shouldBe output
}
}
}
})
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package io.github.typesafegithub.workflows.codegenerator

import io.github.typesafegithub.workflows.actionbindinggenerator.ActionBinding
import io.github.typesafegithub.workflows.actionbindinggenerator.ActionCoords
import io.github.typesafegithub.workflows.actionbindinggenerator.TypingActualSource
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.ActionCoords
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.TypingActualSource
import io.github.typesafegithub.workflows.actionbindinggenerator.generation.ActionBinding
import io.github.typesafegithub.workflows.codegenerator.model.ActionBindingRequest
import io.github.typesafegithub.workflows.codegenerator.model.Version
import java.nio.file.Paths
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package io.github.typesafegithub.workflows.codegenerator

import io.github.typesafegithub.workflows.actionbindinggenerator.ActionCoords
import io.github.typesafegithub.workflows.actionbindinggenerator.prettyPrint
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.ActionCoords
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.prettyPrint
import io.github.typesafegithub.workflows.codegenerator.model.ActionBindingRequest
import java.nio.file.Files
import java.nio.file.Path
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package io.github.typesafegithub.workflows.codegenerator

import arrow.fx.coroutines.parMap
import io.github.typesafegithub.workflows.actionbindinggenerator.ActionBinding
import io.github.typesafegithub.workflows.actionbindinggenerator.FromLockfile
import io.github.typesafegithub.workflows.actionbindinggenerator.generateBinding
import io.github.typesafegithub.workflows.actionbindinggenerator.prettyPrint
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.FromLockfile
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.prettyPrint
import io.github.typesafegithub.workflows.actionbindinggenerator.generation.ActionBinding
import io.github.typesafegithub.workflows.actionbindinggenerator.generation.generateBinding
import io.github.typesafegithub.workflows.codegenerator.model.ActionBindingRequest
import io.github.typesafegithub.workflows.dsl.expressions.generateEventPayloads
import java.nio.file.Paths
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package io.github.typesafegithub.workflows.codegenerator.model

import io.github.typesafegithub.workflows.actionbindinggenerator.ActionCoords
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.ActionCoords

data class ActionBindingRequest(
val actionCoords: ActionCoords,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package io.github.typesafegithub.workflows.codegenerator.updating

import io.github.typesafegithub.workflows.actionbindinggenerator.ActionBinding
import io.github.typesafegithub.workflows.actionbindinggenerator.ActionCoords
import io.github.typesafegithub.workflows.actionbindinggenerator.CommitHash
import io.github.typesafegithub.workflows.actionbindinggenerator.generateBinding
import io.github.typesafegithub.workflows.actionbindinggenerator.isTopLevel
import io.github.typesafegithub.workflows.actionbindinggenerator.prettyPrint
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.ActionCoords
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.CommitHash
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.isTopLevel
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.prettyPrint
import io.github.typesafegithub.workflows.actionbindinggenerator.generation.ActionBinding
import io.github.typesafegithub.workflows.actionbindinggenerator.generation.generateBinding
import io.github.typesafegithub.workflows.codegenerator.bindingsToGenerate
import io.github.typesafegithub.workflows.codegenerator.model.ActionBindingRequest
import io.github.typesafegithub.workflows.codegenerator.versions.GithubRef
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package io.github.typesafegithub.workflows.codegenerator.versions

import io.github.typesafegithub.workflows.actionbindinggenerator.ActionCoords
import io.github.typesafegithub.workflows.actionbindinggenerator.domain.ActionCoords
import io.github.typesafegithub.workflows.codegenerator.model.Version
import io.ktor.client.HttpClient
import io.ktor.client.call.body
Expand Down

0 comments on commit 758a084

Please sign in to comment.