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:
- 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)
- The CI release build downloads the artifacts from a CloudFront distribution to the CI build machine. (This is part of the opensearch-build project)
- The CI release signs the downloaded artifacts.
- 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.
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-apiproject to push to Maven Central.Update this code to support other groupIds and get all the artifacts from those group ids:
opensearch-build/jenkins/data-prepper/release-data-prepper-all-artifacts.jenkinsfile
Lines 194 to 200 in 2bdbbc3
Describe alternatives you've considered
None
Additional context
The current build process is generally as follows:
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
artifactIdand theversion.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.