Merge "Fix: Update Gradle publish job"
[releng/global-jjb.git] / jjb / lf-gradle-jobs.yaml
index 301770b..a7ba72b 100644 (file)
     git-url: "$GIT_URL/$PROJECT"
     github-url: https://github.com
     java-version: openjdk17
+    publish-credential: ""
+    publish-directory: ""
+    publish-file-extension: jar
+    publish-url: ""
     stream: master
     submodule-recursive: true
     submodule-timeout: 10
       - lf-infra-wrappers:
           build-timeout: "{build-timeout}"
           jenkins-ssh-credential: "{jenkins-ssh-credential}"
-
+      - credentials-binding:
+          - username-password-separated:
+              credential-id: "{publish-credential}"
+              username: NEXUS_USERNAME
+              password: NEXUS_PASSWORD
     publishers:
       - lf-infra-publish
 
-    gerrit_gradle_triggers:
+    gerrit_gradle_verify_triggers:
       - patchset-created-event:
           exclude-drafts: true
           exclude-trivial-rebase: false
       - comment-added-contains-event:
           comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
 
+    gerrit_gradle_merge_triggers:
+      - change-merged-event
+      - comment-added-contains-event:
+          comment-contains-value: '^Patch Set\s+\d+:\s+remerge\s*$'
+
     gerrit_trigger_file_paths:
       - compare-type: REG_EXP
         pattern: ".*"
           submodule-recursive: "{submodule-recursive}"
           submodule-timeout: "{submodule-timeout}"
           submodule-disable: "{submodule-disable}"
-          choosing-strategy: default
+          choosing-strategy: gerrit
 
     triggers:
       - timed: "{obj:cron}"
       - gerrit:
           server-name: "{gerrit-server-name}"
-          trigger-on: "{obj:gerrit_gradle_triggers}"
+          trigger-on: "{obj:gerrit_gradle_verify_triggers}"
           projects:
             - project-compare-type: ANT
               project-pattern: "{project}"
           executable: true
           tasks: |
             shadowJar
-            publish
-
+      - inject:
+          properties-content: |
+            NEXUS_URL={publish-url}
+            DIRECTORY={publish-directory}
+            FILE_EXTENSION={publish-file-extension}
+      - shell: !include-raw-escape:
+          - ../shell/nexus-upload.sh
     scm:
       - lf-infra-gerrit-scm:
           jenkins-ssh-credential: "{jenkins-ssh-credential}"
       - timed: "{obj:cron}"
       - gerrit:
           server-name: "{gerrit-server-name}"
-          trigger-on: "{obj:gerrit_gradle_triggers}"
+          trigger-on: "{obj:gerrit_gradle_merge_triggers}"
           projects:
             - project-compare-type: ANT
               project-pattern: "{project}"