1
0
mirror of synced 2025-12-19 10:00:34 -05:00
Files
airbyte/buildSrc/build.gradle
Davin Chia 18e6370fc1 chore: non-dagger builds. (#59716)
Introduce the airbyte gradle docker plugin to build JVM connectors.
Add logic to allow us to slowly migrate from one build set up to the other.

The majority of the work is taking in the metadata.yaml file, and converting that to buildArgs to be injected into the airbyte gradle docker plugin.

In particular, we extract the base image from the metadata file. We also add the connector name by referencing the module. This outputs a file buildArgs.properties into the build folder. This is done by the DockerGenerateConnectorBuildArgs task.

The AirbyteDockerConventionPlugin then takes in the generated buildArgs.properties file and feeds it into the Platform Docker plugin. It also feeds in the top-level Dockerfile, so the Docker plugin can copy it into the build folder.

I tried to migrate this to Kotlin, however the repo needs to be upgraded to the same Kotlin and KSP version as the gradle plugin repos for this to be worth while. Otherwise we end up writing kotlin plugins with reflection, which is worse than the current groovy plugins.
2025-05-08 20:04:22 -04:00

18 lines
465 B
Groovy

plugins {
id 'groovy-gradle-plugin'
}
repositories {
// Gradle looks for dependency artifacts in repositories listed in 'repositories' blocks in descending order.
gradlePluginPortal()
}
dependencies {
// Note this dependency version needs to line up with the generateJsonSchema2Pojo plugin used in the project.
implementation 'org.yaml:snakeyaml:1.33'
}
tasks.withType(Jar).configureEach {
duplicatesStrategy DuplicatesStrategy.INCLUDE
}