Skip to content

Release Data Prepper plugin artifacts to Maven #5586

@dlvenable

Description

@dlvenable

Is your feature request related to a problem? Please describe

We have some users who would like to use Data Prepper plugins as libraries. To support, we'd like to publish Data Prepper plugins to Maven Central.

Describe the solution you'd like

Data Prepper's Gradle build now produces artifacts for these plugins. However, the build system currently only downloads the data-prepper-api project to push to Maven Central.

Update this code to support other groupIds and get all the artifacts from those group ids:

mavenPath = "${DATA_PREPPER_ARTIFACT_STAGING_SITE}/${VERSION}/${DATA_PREPPER_BUILD_NUMBER}/maven"
group = "org/opensearch/dataprepper"
artifacts = ["data-prepper-api"]
fileTypes = ["-javadoc.jar", ".jar", ".pom", "-sources.jar", ".module"]
checksums = ["", ".md5", ".sha1", ".sha256", ".sha512"]
downloadArtifacts()

  • org.opensearch.dataprepper.plugins

Describe alternatives you've considered

None

Additional context

The current build process is generally as follows:

  1. Our GitHub Actions builds the Maven artifacts and publishes them to an S3 bucket for staging them. (This is part of the Data Prepper project)
  2. The CI release build downloads the artifacts from a CloudFront distribution to the CI build machine. (This is part of the opensearch-build project)
  3. The CI release signs the downloaded artifacts.
  4. The CI release uploads the signed artifacts to Maven (probably via Nexus)

It is step 2 where we will need help and modifications. This step is tied to values that are known in advanced such as the artifactId and the version.

Data Prepper has dozens of plugins that we want to publish. And we add new ones for most releases. So maintaining a list in both projects would be unmaintainable and error-prone.

Metadata

Metadata

Assignees

Type

No type

Projects

Status

✅ Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions