From 7362d44e45125f5062eed2b20a66af8d465d8d7e Mon Sep 17 00:00:00 2001 From: Eric Bariaux <375613+ebariaux@users.noreply.github.com> Date: Wed, 8 Apr 2026 17:08:38 +0200 Subject: [PATCH] Publish protobuf jar --- ORLib/build.gradle | 2 +- protobuf/build.gradle | 70 +++++++++++++++++++++++++++++++++++++++++++ settings.gradle | 2 ++ 3 files changed, 73 insertions(+), 1 deletion(-) diff --git a/ORLib/build.gradle b/ORLib/build.gradle index fd933f5..17acd3a 100644 --- a/ORLib/build.gradle +++ b/ORLib/build.gradle @@ -77,7 +77,7 @@ dependencies { implementation 'com.github.iammohdzaki:Password-Generator:0.6' - api project(':protobuf') + api project(':orlib-protobuf') } diff --git a/protobuf/build.gradle b/protobuf/build.gradle index 92c4122..7ad762f 100644 --- a/protobuf/build.gradle +++ b/protobuf/build.gradle @@ -1,5 +1,7 @@ plugins { id 'java-library' + id 'maven-publish' + id 'signing' } java { @@ -42,3 +44,71 @@ sourceSets { tasks.withType(ProcessResources) { duplicatesStrategy = DuplicatesStrategy.EXCLUDE } + +task sourcesJar(type: Jar) { + dependsOn tasks.named('generateProto') + from sourceSets.main.java.srcDirs + archiveClassifier = 'sources' +} + +afterEvaluate { + publishing { + publications { + release(MavenPublication) { + from components.java + + artifact sourcesJar + + group = "io.openremote" + artifactId = "orlib-protobuf" + + pom { + name = 'OpenRemote Android Library Protobuf classes' + description = 'Provides the Protobuf classes used by the Android OpenRemote Library' + url = 'https://github.com/openremote/console-android' + licenses { + license { + name = 'GNU Affero General Public License v3.0' + url = 'https://www.gnu.org/licenses/agpl-3.0.en.html' + } + } + developers { + developer { + id = 'developers' + name = 'Developers' + email = 'developers@openremote.io' + organization = 'OpenRemote' + organizationUrl = 'https://openremote.io' + } + } + scm { + connection = 'scm:git:git://github.com/openremote/console-android.git' + developerConnection = 'scm:git:ssh://github.com:openremote/console-android.git' + url = 'https://github.com/openremote/console-android/tree/main' + } + } + } + } + + repositories { + maven { + if (!version.endsWith('-LOCAL')) { + credentials { + username = findProperty("publishUsername") + password = findProperty("publishPassword") + } + } + url = version.endsWith('-LOCAL') ? layout.buildDirectory.dir('repo') : version.endsWith('-SNAPSHOT') ? findProperty("snapshotsRepoUrl") : findProperty("releasesRepoUrl") + } + } + } + + signing { + def signingKey = findProperty("signingKey") + def signingPassword = findProperty("signingPassword") + if (signingKey && signingPassword) { + useInMemoryPgpKeys(signingKey, signingPassword) + sign publishing.publications + } + } +} diff --git a/settings.gradle b/settings.gradle index 8467761..8f3134a 100644 --- a/settings.gradle +++ b/settings.gradle @@ -5,3 +5,5 @@ fileTree(dir: rootDir, include: "**/build.gradle") .each { include it.parent.replace(rootDir.canonicalPath, "").replace("\\", ":").replace("/", ":") } + +project(':protobuf').name = 'orlib-protobuf'