From cf1c8f13db463afbfec33ab5b56656307d5f2f9e Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Sun, 1 Jun 2025 23:16:50 +0600 Subject: [PATCH] add publish_all_script --- extensions.gradle | 10 ++++++++++ publish_all_script | 24 ++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100755 publish_all_script diff --git a/extensions.gradle b/extensions.gradle index 2b5e461e41f..d8025e42efe 100644 --- a/extensions.gradle +++ b/extensions.gradle @@ -30,3 +30,13 @@ allprojects { } } } + +tasks.register("getPublishableModules") { + doLast { + rootProject.subprojects.each { project -> + if (project.plugins.hasPlugin('maven-publish')) { + println(":${project.name}") + } + } + } +} diff --git a/publish_all_script b/publish_all_script new file mode 100755 index 00000000000..fbc9d92971e --- /dev/null +++ b/publish_all_script @@ -0,0 +1,24 @@ +#!/bin/bash + +function send_notification() { + echo "$1" +} + +function assert_success() { + "${@}" + local status=${?} + if [ ${status} -ne 0 ]; then + send_notification "### Error ${status} at: ${BASH_LINENO[*]} ###" + exit ${status} + fi +} + +readarray -t projects <<< "`./gradlew getPublishableModules --quiet`" +for project in "${projects[@]}"; do + echo "Start publishing of $project" + assert_success ./gradlew "$project:publishAllPublicationsToSonatypeRepository" --no-parallel --quiet + echo "Complete publishing of $project" + echo "Start uploading of $project" + assert_success ./gradlew uploadSonatypePublication --quiet + echo "Complete uploading of $project" +done