diff --git a/build.gradle b/build.gradle index 3b47063bc4..3e508098ae 100644 --- a/build.gradle +++ b/build.gradle @@ -20,9 +20,6 @@ allprojects { apply plugin: 'checkstyle' apply plugin: 'com.diffplug.spotless' apply plugin: 'com.github.jk1.dependency-license-report' - apply plugin: 'maven-publish' - - group = 'org.opensearch.dataprepper' ext { mavenPublicationRootFile = file("${rootProject.buildDir}/m2") @@ -42,53 +39,10 @@ allprojects { } } - if(project.name.startsWith('data-prepper') || project.parent != null && project.parent.name.equals('data-prepper-plugins')) { - project.plugins.withType(JavaPlugin).configureEach { - java { - withJavadocJar() - withSourcesJar() - } - - afterEvaluate { - project.publishing { - repositories { - maven { - url "file://${mavenPublicationRootFile.absolutePath}" - } - } - publications { - mavenJava(MavenPublication) { - from project.components.findByName("java") ?: project.components.findByName("javaLibrary") - - groupId = project.group - artifactId = project.name - version = project.version - - pom { - name = project.name - description = "Data Prepper project: ${project.name}" - url = 'https://github.com/opensearch-project/data-prepper' - licenses { - license { - name = 'The Apache Software License, Version 2.0' - url = 'http://www.apache.org/licenses/LICENSE-2.0.txt' - distribution = 'repo' - } - } - developers { - developer { - name = 'OpenSearch' - url = 'https://github.com/opensearch-project' - } - } - scm { - url = 'https://github.com/opensearch-project/data-prepper' - } - } - } - } - } - } + project.plugins.withType(JavaPlugin).configureEach { + java { + withJavadocJar() + withSourcesJar() } } @@ -99,7 +53,6 @@ allprojects { subprojects { apply plugin: 'java' - apply plugin: 'maven-publish' apply plugin: 'jacoco' java { diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle index 9d29afb944..382c8c02c1 100644 --- a/buildSrc/build.gradle +++ b/buildSrc/build.gradle @@ -6,4 +6,5 @@ plugins { id 'java-gradle-plugin' id 'java' + id 'groovy-gradle-plugin' } diff --git a/buildSrc/src/main/groovy/data-prepper.publish.gradle b/buildSrc/src/main/groovy/data-prepper.publish.gradle new file mode 100644 index 0000000000..1b36f25975 --- /dev/null +++ b/buildSrc/src/main/groovy/data-prepper.publish.gradle @@ -0,0 +1,52 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + */ + +plugins { + id 'maven-publish' +} + +group = 'org.opensearch.dataprepper' + +afterEvaluate { + project.publishing { + repositories { + maven { + url "file://${mavenPublicationRootFile.absolutePath}" + } + } + publications { + mavenJava(MavenPublication) { + from project.components.findByName('java') ?: project.components.findByName('javaLibrary') + + groupId = project.group + artifactId = project.name + version = project.version + + pom { + name = project.name + description = "Data Prepper project: ${project.name}" + url = 'https://github.com/opensearch-project/data-prepper' + licenses { + license { + name = 'The Apache Software License, Version 2.0' + url = 'http://www.apache.org/licenses/LICENSE-2.0.txt' + distribution = 'repo' + } + } + developers { + developer { + name = 'OpenSearch' + url = 'https://github.com/opensearch-project' + } + } + scm { + url = 'https://github.com/opensearch-project/data-prepper' + } + } + } + } + } +} + diff --git a/data-prepper-api/build.gradle b/data-prepper-api/build.gradle index 84ebe8e708..d4c10dfa19 100644 --- a/data-prepper-api/build.gradle +++ b/data-prepper-api/build.gradle @@ -3,6 +3,10 @@ * SPDX-License-Identifier: Apache-2.0 */ +plugins { + id 'data-prepper.publish' +} + dependencies { implementation 'io.micrometer:micrometer-core' implementation 'com.fasterxml.jackson.core:jackson-databind' diff --git a/data-prepper-core/build.gradle b/data-prepper-core/build.gradle index 10e7732936..84081f0095 100644 --- a/data-prepper-core/build.gradle +++ b/data-prepper-core/build.gradle @@ -3,6 +3,10 @@ * SPDX-License-Identifier: Apache-2.0 */ +plugins { + id 'data-prepper.publish' +} + sourceSets { main { resources { diff --git a/data-prepper-event/build.gradle b/data-prepper-event/build.gradle index 28e662b5c9..168d330579 100644 --- a/data-prepper-event/build.gradle +++ b/data-prepper-event/build.gradle @@ -3,6 +3,10 @@ * SPDX-License-Identifier: Apache-2.0 */ +plugins { + id 'data-prepper.publish' +} + group = 'org.opensearch.dataprepper.core' dependencies { diff --git a/data-prepper-main/build.gradle b/data-prepper-main/build.gradle index ac4497bc98..04af8f2e07 100644 --- a/data-prepper-main/build.gradle +++ b/data-prepper-main/build.gradle @@ -3,6 +3,10 @@ * SPDX-License-Identifier: Apache-2.0 */ +plugins { + id 'data-prepper.publish' +} + sourceSets { main { resources { diff --git a/data-prepper-pipeline-parser/build.gradle b/data-prepper-pipeline-parser/build.gradle index 58d8982e4e..e5c3d5b07e 100644 --- a/data-prepper-pipeline-parser/build.gradle +++ b/data-prepper-pipeline-parser/build.gradle @@ -3,6 +3,10 @@ * SPDX-License-Identifier: Apache-2.0 */ +plugins { + id 'data-prepper.publish' +} + group = 'org.opensearch.dataprepper.core' dependencies { diff --git a/data-prepper-plugin-framework/build.gradle b/data-prepper-plugin-framework/build.gradle index b26d9565a9..f77212a6b2 100644 --- a/data-prepper-plugin-framework/build.gradle +++ b/data-prepper-plugin-framework/build.gradle @@ -3,6 +3,10 @@ * SPDX-License-Identifier: Apache-2.0 */ +plugins { + id 'data-prepper.publish' +} + group = 'org.opensearch.dataprepper.core' dependencies { diff --git a/data-prepper-plugins/build.gradle b/data-prepper-plugins/build.gradle index 4e2beb7670..6e60c970cc 100644 --- a/data-prepper-plugins/build.gradle +++ b/data-prepper-plugins/build.gradle @@ -7,10 +7,11 @@ plugins { id 'java-library' } -allprojects { +subprojects { + apply plugin: 'data-prepper.publish' group = 'org.opensearch.dataprepper.plugins' } dependencies { subprojects.forEach { api project(':data-prepper-plugins:' + it.name) } -} \ No newline at end of file +} diff --git a/data-prepper-test-common/build.gradle b/data-prepper-test-common/build.gradle index 4ed664b393..121d33196b 100644 --- a/data-prepper-test-common/build.gradle +++ b/data-prepper-test-common/build.gradle @@ -5,6 +5,7 @@ plugins { id 'java' + id 'data-prepper.publish' } group = 'org.opensearch.dataprepper.test' diff --git a/data-prepper-test-event/build.gradle b/data-prepper-test-event/build.gradle index 488ba706b3..39b9d65951 100644 --- a/data-prepper-test-event/build.gradle +++ b/data-prepper-test-event/build.gradle @@ -3,6 +3,10 @@ * SPDX-License-Identifier: Apache-2.0 */ +plugins { + id 'data-prepper.publish' +} + group = 'org.opensearch.dataprepper.test' dependencies {