From 7e3443bff658172710b85e9c4ba3aeca73f1e0c4 Mon Sep 17 00:00:00 2001 From: Ryan Baxter <524254+ryanjbaxter@users.noreply.github.com> Date: Thu, 23 May 2024 16:10:26 -0400 Subject: [PATCH 1/2] Add gradle command to build antora --- .../releaser/internal/ReleaserProperties.java | 18 +++++++++++++++++- .../project/ProjectCommandExecutor.java | 4 +++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/releaser-core/src/main/java/releaser/internal/ReleaserProperties.java b/releaser-core/src/main/java/releaser/internal/ReleaserProperties.java index 9a33fbce..4c9e022a 100644 --- a/releaser-core/src/main/java/releaser/internal/ReleaserProperties.java +++ b/releaser-core/src/main/java/releaser/internal/ReleaserProperties.java @@ -1113,6 +1113,9 @@ public class ReleaserProperties implements Serializable { private String generateReleaseTrainDocsCommand = "bash release_train.sh " + "--retrieveversions --version {{version}} --ghpages --auto"; + /** + * Command to be executed to run Antora. + */ private String runAntoraCommand = "./mvnw antora {{systemProps}}"; /** @@ -1418,6 +1421,11 @@ public class ReleaserProperties implements Serializable { */ private long waitTimeInMinutes = 20; + /** + * Command to be executed to run Antora. + */ + private String runAntoraCommand = "./gradlew antora {{systemProps}}"; + @Override public String getBuildCommand() { return this.buildCommand; @@ -1502,6 +1510,14 @@ public class ReleaserProperties implements Serializable { this.ignoredGradleRegex = ignoredGradleRegex; } + public String getRunAntoraCommand() { + return runAntoraCommand; + } + + public void setRunAntoraCommand(String runAntoraCommand) { + this.runAntoraCommand = runAntoraCommand; + } + @Override public String toString() { return new StringJoiner(", ", Gradle.class.getSimpleName() + "[", "]") @@ -1511,10 +1527,10 @@ public class ReleaserProperties implements Serializable { .add("deployGuidesCommand='" + deployGuidesCommand + "'") .add("publishDocsCommand=" + publishDocsCommand) .add("generateReleaseTrainDocsCommand='" + generateReleaseTrainDocsCommand + "'") + .add("runAntoraCommand='" + runAntoraCommand + "'") .add("systemProperties='" + systemProperties + "'").add("waitTimeInMinutes=" + waitTimeInMinutes) .toString(); } - } public static class Sagan implements Serializable { diff --git a/releaser-core/src/main/java/releaser/internal/project/ProjectCommandExecutor.java b/releaser-core/src/main/java/releaser/internal/project/ProjectCommandExecutor.java index 40f2fbcc..ff507ddf 100644 --- a/releaser-core/src/main/java/releaser/internal/project/ProjectCommandExecutor.java +++ b/releaser-core/src/main/java/releaser/internal/project/ProjectCommandExecutor.java @@ -335,7 +335,9 @@ class CommandPicker { } String runAntoraCommand(ProjectVersion version) { - // TODO handle gradle and bash? + if (projectType == ProjectType.GRADLE) { + return gradleCommandWithSystemProps(releaserProperties.getGradle().getRunAntoraCommand()); + } return mavenCommandWithSystemProps(releaserProperties.getMaven().getRunAntoraCommand(), version); } From 2a91a11f10f0a7e22f55a1076d825472329d49e1 Mon Sep 17 00:00:00 2001 From: Ryan Baxter <524254+ryanjbaxter@users.noreply.github.com> Date: Fri, 24 May 2024 09:44:56 -0400 Subject: [PATCH 2/2] Moving action runner script to this project --- .../src/main/resources/application.yml | 2 +- .../spring-docs-actions/git/COMMIT_EDITMSG | 2 +- .../projects/spring-docs-actions/git/index | Bin 532 -> 428 bytes .../spring-docs-actions/git/logs/HEAD | 1 + .../git/logs/refs/heads/main | 1 + .../01/8554f12b64fc2fb8a0ea306455c8d0da30b891 | Bin 0 -> 188 bytes .../3f/51ebc9b6a3f84f7e58ffd9097ee9b648f2d1b6 | Bin 0 -> 45 bytes .../50/6e0407dfb53853723a2f3f24a0086d53bdb05c | Bin 0 -> 88 bytes .../a8/8e84ce082bf3ebbcfe497949499e99c6cb2c10 | Bin 0 -> 104 bytes .../ae/f500da0cf73a881df5e7d7ddf0d6533d5f2610 | Bin 0 -> 155 bytes .../spring-docs-actions/git/refs/heads/main | 2 +- .../spring-docs-actions/git/refs/tags/v0.0.16 | 2 +- ...enkins.sh => spring-docs-action-runner.sh} | 0 .../releaser/internal/ReleaserProperties.java | 1 + .../internal/git/ProjectGitHandler.java | 3 +- .../project/ProjectCommandExecutor.java | 41 ++++-- .../resources/spring-docs-action-runner.sh | 122 ++++++++++++++++++ 17 files changed, 162 insertions(+), 15 deletions(-) create mode 100644 projects/spring-cloud/src/test/resources/projects/spring-docs-actions/git/objects/01/8554f12b64fc2fb8a0ea306455c8d0da30b891 create mode 100644 projects/spring-cloud/src/test/resources/projects/spring-docs-actions/git/objects/3f/51ebc9b6a3f84f7e58ffd9097ee9b648f2d1b6 create mode 100644 projects/spring-cloud/src/test/resources/projects/spring-docs-actions/git/objects/50/6e0407dfb53853723a2f3f24a0086d53bdb05c create mode 100644 projects/spring-cloud/src/test/resources/projects/spring-docs-actions/git/objects/a8/8e84ce082bf3ebbcfe497949499e99c6cb2c10 create mode 100644 projects/spring-cloud/src/test/resources/projects/spring-docs-actions/git/objects/ae/f500da0cf73a881df5e7d7ddf0d6533d5f2610 rename projects/spring-cloud/src/test/resources/{projects/spring-docs-actions/rsync-antora-reference/src/jenkins.sh => spring-docs-action-runner.sh} (100%) create mode 100755 releaser-core/src/main/resources/spring-docs-action-runner.sh diff --git a/projects/spring-cloud/src/main/resources/application.yml b/projects/spring-cloud/src/main/resources/application.yml index 8ac51437..a040863f 100644 --- a/projects/spring-cloud/src/main/resources/application.yml +++ b/projects/spring-cloud/src/main/resources/application.yml @@ -104,7 +104,7 @@ releaser: antora: spring-docs-actions-url: https://github.com/ryanjbaxter/spring-doc-actions spring-docs-actions-tag: v0.0.16 - sync-antora-docs-command: "./jenkins.sh --docs-username {{ssh-username}} --docs-ssh-key-path {{ssh-key-path}} --docs-host docs-ip.spring.io --docs-ssh-host-key {{host-key}} --site-path {{site-path}} --github-repository {{github-repo}}" + sync-antora-docs-command: "./spring-docs-action-runner.sh --docs-username {{ssh-username}} --docs-ssh-key-path {{ssh-key-path}} --docs-host docs-ip.spring.io --docs-ssh-host-key {{host-key}} --site-path {{site-path}} --github-repository {{github-repo}}" meta-release: enabled: false release-train-project-name: spring-cloud-release diff --git a/projects/spring-cloud/src/test/resources/projects/spring-docs-actions/git/COMMIT_EDITMSG b/projects/spring-cloud/src/test/resources/projects/spring-docs-actions/git/COMMIT_EDITMSG index 263d6d50..d0d15f93 100644 --- a/projects/spring-cloud/src/test/resources/projects/spring-docs-actions/git/COMMIT_EDITMSG +++ b/projects/spring-cloud/src/test/resources/projects/spring-docs-actions/git/COMMIT_EDITMSG @@ -1 +1 @@ -making jenkins.sh executable +removing jenkins.sh diff --git a/projects/spring-cloud/src/test/resources/projects/spring-docs-actions/git/index b/projects/spring-cloud/src/test/resources/projects/spring-docs-actions/git/index index ea4dc90c6821f0fbdb85b48e6b98dcaba9ab94d1..35a2def9a3c14d85e7c5aa9c2f2166ca0199739f 100644 GIT binary patch delta 144 zcmbQjvWA(*#WTp6fq{Vuh?yty?3}F2SWs@PV92$iujL$v_UG4o{&`kxnP`Q2J>yz6S|M0Ji_yogcSB5-$-3j^lU2JOZdT>Y&$wa#J)KDf0PgNMumAu6 delta 201 zcmV;)05<=u1C#^|L`hOZ0000200004kqo&#L$i%Ekj{N(L$ak4=McmJ000sck{{dv z0D 1715712689 -0400 commit: adding jenkins.sh 9858d6e0d948d69e62cca0e393dfb21cfb4d7781 ba9d397eb47402a7e9d00a6e529285341a35168b Ryan Baxter <524254+ryanjbaxter@users.noreply.github.com> 1715712751 -0400 commit: removed runme ba9d397eb47402a7e9d00a6e529285341a35168b 3c1914e048ad43880aecf0ce0ad4d3a5220df39b Ryan Baxter <524254+ryanjbaxter@users.noreply.github.com> 1715712928 -0400 commit: making jenkins.sh executable +3c1914e048ad43880aecf0ce0ad4d3a5220df39b 018554f12b64fc2fb8a0ea306455c8d0da30b891 Ryan Baxter <524254+ryanjbaxter@users.noreply.github.com> 1716557772 -0400 commit: removing jenkins.sh diff --git a/projects/spring-cloud/src/test/resources/projects/spring-docs-actions/git/logs/refs/heads/main b/projects/spring-cloud/src/test/resources/projects/spring-docs-actions/git/logs/refs/heads/main index 676d9b6f..429a0398 100644 --- a/projects/spring-cloud/src/test/resources/projects/spring-docs-actions/git/logs/refs/heads/main +++ b/projects/spring-cloud/src/test/resources/projects/spring-docs-actions/git/logs/refs/heads/main @@ -6,3 +6,4 @@ c7c3fa38fd33170e7fbb15541066ebe746ba1ad6 18c66e805702c81fc2099cb09d2490f099581f3 b460e89cc9afdb4ecc7c1c3e4e0e1dae0cac7e63 9858d6e0d948d69e62cca0e393dfb21cfb4d7781 Ryan Baxter <524254+ryanjbaxter@users.noreply.github.com> 1715712689 -0400 commit: adding jenkins.sh 9858d6e0d948d69e62cca0e393dfb21cfb4d7781 ba9d397eb47402a7e9d00a6e529285341a35168b Ryan Baxter <524254+ryanjbaxter@users.noreply.github.com> 1715712751 -0400 commit: removed runme ba9d397eb47402a7e9d00a6e529285341a35168b 3c1914e048ad43880aecf0ce0ad4d3a5220df39b Ryan Baxter <524254+ryanjbaxter@users.noreply.github.com> 1715712928 -0400 commit: making jenkins.sh executable +3c1914e048ad43880aecf0ce0ad4d3a5220df39b 018554f12b64fc2fb8a0ea306455c8d0da30b891 Ryan Baxter <524254+ryanjbaxter@users.noreply.github.com> 1716557772 -0400 commit: removing jenkins.sh diff --git a/projects/spring-cloud/src/test/resources/projects/spring-docs-actions/git/objects/01/8554f12b64fc2fb8a0ea306455c8d0da30b891 b/projects/spring-cloud/src/test/resources/projects/spring-docs-actions/git/objects/01/8554f12b64fc2fb8a0ea306455c8d0da30b891 new file mode 100644 index 0000000000000000000000000000000000000000..9e05b4fdbf4ce182bbeff0159580d55551163b26 GIT binary patch literal 188 zcmV;t07L(H0j-WvZo?oDMElJt_CJaR%Mw7Us;Eck4FIoWr!_<+c1S`2ttY-%H+xZ59tOo|5MONo literal 0 HcmV?d00001 diff --git a/projects/spring-cloud/src/test/resources/projects/spring-docs-actions/git/objects/3f/51ebc9b6a3f84f7e58ffd9097ee9b648f2d1b6 b/projects/spring-cloud/src/test/resources/projects/spring-docs-actions/git/objects/3f/51ebc9b6a3f84f7e58ffd9097ee9b648f2d1b6 new file mode 100644 index 0000000000000000000000000000000000000000..5622effbef59dd09f8e27897cf5617074b5f46bd GIT binary patch literal 45 zcmbAXD~D{FgG<-NK7ut%+J#+&S3ZyaKL2Z!oy1EqywM4QkqdH uZhG!DR8etiNohfRad8GnUCb-#fOXmvycaCCY@A?tt>;0QxeWj_d?5rq0VLx9 literal 0 HcmV?d00001 diff --git a/projects/spring-cloud/src/test/resources/projects/spring-docs-actions/git/objects/a8/8e84ce082bf3ebbcfe497949499e99c6cb2c10 b/projects/spring-cloud/src/test/resources/projects/spring-docs-actions/git/objects/a8/8e84ce082bf3ebbcfe497949499e99c6cb2c10 new file mode 100644 index 0000000000000000000000000000000000000000..49762c8a3ff9b9a69607d4fa7be1c9265fb08615 GIT binary patch literal 104 zcmV-u0GI!G0V^p=O;xZkXD~D{Ff%bx&`ZxO$xP47FG^+T-IR26*X(JR7iGn13)>3| zPI>ZE)WiS?6pD%~^OAKF^GfoI5_OAG(^894^O92;>;qq)+_w0Ke_h1?o1Aqow|RWJ KxD5b+ODBX!_%Hnc literal 0 HcmV?d00001 diff --git a/projects/spring-cloud/src/test/resources/projects/spring-docs-actions/git/objects/ae/f500da0cf73a881df5e7d7ddf0d6533d5f2610 b/projects/spring-cloud/src/test/resources/projects/spring-docs-actions/git/objects/ae/f500da0cf73a881df5e7d7ddf0d6533d5f2610 new file mode 100644 index 0000000000000000000000000000000000000000..0532386f561b7e3a36e5639333d2411ed802f777 GIT binary patch literal 155 zcmV;M0A&Ao0X>dE4#FT5L|t/ as the content. The default is to use /\${REPOSITORY_NAME}/reference + from --github-repository +" +} + +__action_usage_error() { + echo "Error: $1" >&2 + __action_usage + exit 1 +} + +__action() { + local docs_username docs_host docs_ssh_key docs_ssh_host_key site_path github_repository httpdocs_path valid_args + local rsync_flag_options='' + if [ ! -z "$BUILD_REFNAME" ]; then + rsync_flag_options="${rsync_flag_options} --build-ref-name $BUILD_REFNAME" + fi + valid_args=$(getopt --options '' --long docs-username:,docs-host:,docs-ssh-key-path:,docs-ssh-host-key:,dry-run,site-path:,github-repository:,httpdocs-path: -- "$@") + if [[ $? -ne 0 ]]; then + __action_usage + exit 1; + fi + + eval set -- "$valid_args" + + while [ : ]; do + case "$1" in + --docs-username) + docs_username="$2" + shift 2 + ;; + --docs-host) + docs_host="$2" + shift 2 + ;; + --docs-ssh-key-path) + docs_ssh_key=$(cat "$2") + shift 2 + ;; + --docs-ssh-host-key) + docs_ssh_host_key="$2" + shift 2 + ;; + --dry-run) + rsync_flag_options="${rsync_flag_options} --dry-run" + shift + ;; + --site-path) + site_path="$2" + shift 2 + ;; + --github-repository) + github_repository="$2" + shift 2 + ;; + --httpdocs-path) + httpdocs_path="$2" + shift 2 + ;; + --) shift; + break + ;; + *) + __action_usage_error "Invalid argument $1 $2" + ;; + esac + done + + if [ -z "$docs_username" ]; then + __action_usage_error "Missing option '--docs-username'" + fi + if [ -z "$docs_host" ]; then + __action_usage_error "Missing option '--docs-host'" + fi + if [ -z "$docs_ssh_key" ]; then + __action_usage_error "Missing option '--docs-ssh-key'" + fi + if [ -z "$docs_ssh_host_key" ]; then + __action_usage_error "Missing option '--docs-ssh-host-key'" + fi + if [ -z "$site_path" ]; then + site_path="build/site" + fi + if [ -z "$github_repository" ]; then + __action_usage_error "Missing option '--github-repository'" + fi + + ( + set -e + set -f + + action.sh --docs-username "$docs_username" --docs-host "$docs_host" --docs-ssh-key "$docs_ssh_key" --docs-ssh-host-key "$docs_ssh_host_key" --site-path "$site_path" --github-repository "$github_repository" $rsync_flag_options + ) + exit_code=$? + + + exit $exit_code +} + +__action "$@"