From b6a75150856492316685241011c176533d1c9da5 Mon Sep 17 00:00:00 2001 From: Pham Ba Thong Date: Thu, 6 Nov 2025 10:52:12 +0900 Subject: [PATCH 1/2] Add publishing for data loader cli --- data-loader/cli/build.gradle | 63 ++++++++++++++++++++++++++++++++---- 1 file changed, 56 insertions(+), 7 deletions(-) diff --git a/data-loader/cli/build.gradle b/data-loader/cli/build.gradle index de56a5d17b..f39d8b1d04 100644 --- a/data-loader/cli/build.gradle +++ b/data-loader/cli/build.gradle @@ -2,11 +2,7 @@ plugins { id 'net.ltgt.errorprone' version "${errorpronePluginVersion}" id 'com.github.johnrengelman.shadow' version "${shadowPluginVersion}" id 'com.github.spotbugs' version "${spotbugsPluginVersion}" - id 'application' -} - -application { - mainClass = 'com.scalar.db.dataloader.cli.DataLoaderCli' + id 'maven-publish' } base { @@ -34,10 +30,9 @@ javadoc { // Build a fat jar shadowJar { - mustRunAfter distZip, distTar archiveClassifier.set("") manifest { - attributes 'Main-Class': 'com.scalar.db.dataloader.DataLoaderCli' + attributes 'Main-Class': 'com.scalar.db.dataloader.cli.DataLoaderCli' } mergeServiceFiles() } @@ -80,3 +75,57 @@ task docker(type: Exec) { workingDir 'build/docker' commandLine 'docker', 'build', "--tag=ghcr.io/scalar-labs/scalardb-data-loader-cli:${project.version}", "." } + +// for archiving and uploading to maven central +if (project.gradle.startParameter.taskNames.any { it.endsWith('publish') } || + project.gradle.startParameter.taskNames.any { it.endsWith('publishToMavenLocal') }) { + // not to publish the fat jar to maven central + shadowJar.enabled = false +} + +publishing { + publications { + mavenJava(MavenPublication) { + artifactId = 'scalardb-data-loader-cli' + from components.java + pom { + name = 'ScalarDB Data Loader CLI' + description = 'CLI application for exporting data from and importing data into ScalarDB' + url = 'https://github.com/scalar-labs/scalardb' + licenses { + license { + name = 'Apache License, Version 2.0' + url = 'http://www.apache.org/licenses/LICENSE-2.0' + } + } + developers { + developer { + id = 'hiroyuki' + name = 'Hiroyuki Yamada' + email = 'hiroyuki.yamada@scalar-labs.com' + } + developer { + id = 'brfrn169' + name = 'Toshihiro Suzuki' + email = 'brfrn169@gmail.com' + } + developer { + id = 'Torch3333' + name = 'Vincent Guilpain' + email = 'vincent.guilpain@scalar-labs.com' + } + } + scm { + connection = 'scm:git:https://github.com/scalar-labs/scalardb.git' + developerConnection = 'scm:git:https://github.com/scalar-labs/scalardb.git' + url = 'https://github.com/scalar-labs/scalardb' + } + } + } + } + repositories { + maven { + url = layout.buildDirectory.dir('staging-deploy') + } + } +} From 790b23ddd11f1e61f8411ff12ad30f361c49670f Mon Sep 17 00:00:00 2001 From: Pham Ba Thong Date: Thu, 6 Nov 2025 11:18:36 +0900 Subject: [PATCH 2/2] Apply suggestions [skip ci] --- build.gradle | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 63bb5dcda1..6bb36fefe4 100644 --- a/build.gradle +++ b/build.gradle @@ -108,7 +108,8 @@ jreleaser { def stagingRepositories = ['core/build/staging-deploy', 'integration-test/build/staging-deploy', 'schema-loader/build/staging-deploy', - 'data-loader/core/build/staging-deploy'] + 'data-loader/core/build/staging-deploy', + 'data-loader/cli/build/staging-deploy'] mavenCentral { sonatype { active = 'RELEASE'