Skip to content

Commit

Permalink
stashing WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
edgao committed Jan 16, 2025
1 parent 05dd2b7 commit d120052
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
package io.airbyte.cdk

import io.airbyte.cdk.command.ConnectorCommandLinePropertySource
import io.airbyte.cdk.command.FeatureFlag
import io.airbyte.cdk.command.MetadataYamlPropertySource
import io.micronaut.configuration.picocli.MicronautFactory
import io.micronaut.context.ApplicationContext
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ package io.airbyte.cdk.command

import io.micronaut.context.annotation.Factory
import io.micronaut.context.annotation.Value
import io.micronaut.context.condition.Condition
import io.micronaut.context.condition.ConditionContext
import io.micronaut.context.env.Environment
import jakarta.inject.Singleton
import java.util.EnumSet
Expand Down Expand Up @@ -80,3 +82,14 @@ class DeploymentModeFactory(@Value("\${airbyte.core.deployment.mode}") val deplo
}
}
}
class DeploymentModeCloudCondition: Condition {
override fun matches(context: ConditionContext<*>): Boolean {
val deploymentMode = context.getBean(DeploymentMode::class.java)
return deploymentMode == DeploymentMode.CLOUD
}
}
class DeploymentModeOssCondition: Condition {
override fun matches(context: ConditionContext<*>): Boolean {
return !DeploymentModeCloudCondition().matches(context)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,11 @@ data object CliRunner {
config: ConfigurationSpecification? = null,
catalog: ConfiguredAirbyteCatalog? = null,
state: List<AirbyteStateMessage>? = null,
vararg featureFlags: FeatureFlag,
): CliRunnable {
val out = CliRunnerOutputStream()
val runnable: Runnable =
makeRunnable(op, config, catalog, state) { args: Array<String> ->
AirbyteSourceRunner(args, featureFlags.systemEnv, out.beanDefinition)
AirbyteSourceRunner(args, out.beanDefinition)
}
return CliRunnable(runnable, out.results)
}
Expand Down Expand Up @@ -81,7 +80,6 @@ data object CliRunner {
configContents: String? = null,
catalog: ConfiguredAirbyteCatalog? = null,
state: List<AirbyteStateMessage>? = null,
featureFlags: Set<FeatureFlag> = setOf(),
additionalEnvironments: Array<out String>,
additionalProperties: Map<String, String>,
vararg input: AirbyteMessage,
Expand All @@ -101,7 +99,6 @@ data object CliRunner {
catalog,
state,
inputStream,
*featureFlags.toTypedArray(),
additionalEnvironments = additionalEnvironments,
additionalProperties = additionalProperties,
)
Expand Down Expand Up @@ -146,9 +143,6 @@ data object CliRunner {
}
}

private val Array<out FeatureFlag>.systemEnv: Map<String, String>
get() = toSet().map { it.envVar.name to it.requiredEnvVarValue }.toMap()

private fun inputFile(contents: Any?): Path? =
contents?.let { inputFileFromString(Jsons.writeValueAsString(contents)) }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ import com.kjetland.jackson.jsonSchema.annotations.JsonSchemaTitle
import io.airbyte.cdk.command.AIRBYTE_DEPLOYMENT_MODE_PROPERTY
import io.airbyte.cdk.command.ConfigurationSpecification
import io.airbyte.cdk.command.DEPLOYMENT_MODE_CLOUD
import io.airbyte.cdk.command.DeploymentModeCloudCondition
import io.airbyte.cdk.command.DeploymentModeOssCondition
import io.airbyte.cdk.load.spec.DestinationSpecificationExtension
import io.airbyte.protocol.models.v0.DestinationSyncMode
import io.micronaut.context.annotation.Requires
Expand Down Expand Up @@ -47,7 +49,7 @@ sealed class DevNullSpecification : ConfigurationSpecification() {
*/
@JsonSchemaTitle("E2E Test Destination Spec")
@Singleton
@Requires(property = AIRBYTE_DEPLOYMENT_MODE_PROPERTY, notEquals = DEPLOYMENT_MODE_CLOUD)
@Requires(condition = DeploymentModeOssCondition::class)
class DevNullSpecificationOss : DevNullSpecification() {
@JsonProperty("test_destination")
@JsonSchemaTitle("Test Destination")
Expand Down Expand Up @@ -203,7 +205,7 @@ data class FailingDestination(
/** The cloud variant is more restricted: it only allows for a single destination type. */
@JsonSchemaTitle("E2E Test Destination Spec")
@Singleton
@Requires(property = AIRBYTE_DEPLOYMENT_MODE_PROPERTY, value = DEPLOYMENT_MODE_CLOUD)
@Requires(condition = DeploymentModeCloudCondition::class)
class DevNullSpecificationCloud : DevNullSpecification() {
@JsonProperty("test_destination")
@JsonSchemaTitle("Test Destination")
Expand Down

0 comments on commit d120052

Please sign in to comment.