Merge "Revert "Remove unused maven merge job""
[releng/builder.git] / jjb / releng-templates-java.yaml
index 590c2188f6b680b9feda8ae504479c48fb153a8d..25cbf15c2ff0782480eff5ac98f1bdfc9154a78d 100644 (file)
@@ -1,81 +1,34 @@
 ---
-- job-template:
-    # Template used for running CLM scans
-    # Arguements:
-    #   {name}         - Project Shortname
-    #   {project}      - Fully qualified project name
-    #   {mvn-settings} - Project maven settings file
-    #   {stream}
-    #   {jdk}
-    name: '{project-name}-clm-{stream}'
+- job-group:
+    name: odl-maven-jobs
 
-    project-type: freestyle
-    node: '{build-node}'
-    jdk: '{jdk}'
+    jobs:
+      - gerrit-maven-clm
 
-    properties:
-      - opendaylight-infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
+      - gerrit-maven-merge:
+          post_build_trigger:
+            - project:
+                - 'distribution-merge-{stream}'
+              condition: SUCCESS
+              trigger-with-no-params: true
 
-    parameters:
-      - opendaylight-infra-parameters:
-          os-cloud: '{os-cloud}'
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
-
-    scm:
-      - git-scm:
-          refspec: ''
-          branch: '{branch}'
-
-    wrappers:
-      - opendaylight-infra-wrappers:
-          build-timeout: '{build-timeout}'
-
-    triggers:
-      - timed: 'H H * * 6'
-
-    builders:
-      - provide-maven-settings:
-          global-settings-file: 'global-settings'
-          settings-file: '{mvn-settings}'
-      - maven-target:
-          maven-version: 'mvn33'
-          pom: 'pom.xml'
-          goals: |
-              clean install dependency:tree com.sonatype.clm:clm-maven-plugin:index
-              -Pq
-              {opendaylight-infra-mvn-opts}
-          java-opts:
-            - '-Xmx4096m -XX:MaxPermSize=512m'
-          settings: '{mvn-settings}'
-          settings-type: cfp
-          global-settings: 'global-settings'
-          global-settings-type: cfp
-      - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
-      - check-clm:
-          application-name: '{project-name}'
-
-    publishers:
-      - email-notification:
-          email-recipients: '{email-recipients}'
-          email-prefix: '[{project-name}]'
-      - lf-infra-publish
+      - gerrit-maven-release
+      - gerrit-maven-verify
+      - gerrit-maven-verify-dependencies:
+          build-timeout: 180
 
 - job-template:
     name: '{project-name}-integration-{stream}'
 
-    # Job template for ODL integration verify jobs
-    #
-    # This is similar to a normal verify job, but it runs
-    # when a project that's a dependency of your project
-    # is successfully built.
-    #
-    # Required Variables:
-    #     stream:    release stream (eg. boron or carbon)
-    #     branch:    git branch (eg. stable/boron or master)
+    ######################
+    # Default parameters #
+    ######################
+
+    mvn-goals: clean install
+
+    #####################
+    # Job Configuration #
+    #####################
 
     project-type: freestyle
     node: '{build-node}'
           email-recipients: '{email-recipients}'
           email-prefix: '{email-upstream}'
       - findbugs
-      - jacoco-report
+      - lf-jacoco-report
       - lf-infra-publish
 
 - job-template:
     name: '{project-name}-merge-{stream}'
 
-    # Job template for ODL merge jobs
-    #
-    # The purpose of this job template is to setup a ODL merge job
-    # and deploy artifacts to Nexus.
-    #
-    # Required Variables:
-    #     stream:    release stream (eg. boron or carbon)
-    #     branch:    git branch (eg. stable/boron or master)
-
     # Need to keep jobs that deploy to Nexus at end of build as Maven
     # projects. Maybe reconsider this once upstream moves deploy to a
     # separate lifecycle:
     triggers:
       - timed: 'H H * * 0'
       - gerrit-trigger-patch-merged:
-          server-name: '{server-name}'
+          gerrit-server-name: '{gerrit-server-name}'
           name: '{project}'
           branch: '{branch}'
 
           id: ''
           unique-version: true
           deploy-unstable: false
-      - jacoco-report
+      - lf-jacoco-report
       - lf-infra-publish
       - trigger:
           project: 'distribution-merge-{stream}'
           threshold: SUCCESS
-
-- job-template:
-    name: '{project-name}-sonar'
-    disabled: false
-
-    project-type: freestyle
-    node: '{build-node}'
-    jdk: 'openjdk8'
-
-    properties:
-      - opendaylight-infra-properties:
-          build-days-to-keep: 7
-
-    parameters:
-      - opendaylight-infra-parameters:
-          os-cloud: '{os-cloud}'
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
-
-    scm:
-      - git-scm:
-          refspec: ''
-          branch: 'master'
-
-    wrappers:
-      - opendaylight-infra-wrappers:
-          build-timeout: '{build-timeout}'
-
-    triggers:
-      - timed: 'H H * * 6'
-      - gerrit-trigger-patch-sonar:
-          server-name: '{server-name}'
-          name: '{project}'
-          # FIXME: Make sure this does not alter Gerrit votes, then update docs.
-
-    builders:
-      - jacoco-nojava-workaround
-      - provide-maven-settings:
-          global-settings-file: 'global-settings'
-          settings-file: '{mvn-settings}'
-      - maven-target:
-          maven-version: 'mvn33'
-          goals: |
-              {mvn-goals}
-              -Dsonar
-              {opendaylight-infra-mvn-opts}
-          maven-opts:
-            - '{mvn-opts}'
-          settings: '{mvn-settings}'
-          settings-type: cfp
-          global-settings: 'global-settings'
-          global-settings-type: cfp
-      - maven-target:
-          maven-version: 'mvn33'
-          # We should switch to the recommended configuration of sonar once
-          # JJB adds support for configurating the Sonar wrapper:
-          #    http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Jenkins
-          goals: |
-              sonar:sonar
-              -Dsonar
-              -Dsonar.host.url=https://sonar.opendaylight.org
-              {opendaylight-infra-mvn-opts}
-          maven-opts:
-            - '{mvn-opts}'
-          settings: '{mvn-settings}'
-          settings-type: cfp
-          global-settings: 'global-settings'
-          global-settings-type: cfp
-
-    publishers:
-      - email-notification:
-          email-recipients: '{email-recipients}'
-          email-prefix: '[{project-name}]'
-      - jacoco-report
-      - findbugs
-      - lf-infra-publish
-
-- job-template:
-    name: '{project-name}-validate-autorelease-{stream}'
-    disabled: false
-
-    project-type: freestyle
-    node: '{build-node}'
-    concurrent: true
-    jdk: '{jdk}'
-
-    properties:
-      - opendaylight-infra-properties:
-          build-days-to-keep: 7
-
-    parameters:
-      - opendaylight-infra-parameters:
-          os-cloud: '{os-cloud}'
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
-      - autorelease-release-tag:
-          release-tag: 'validate'
-      - autorelease-release-branch:
-          release-branch: '{branch}'
-      - string:
-          name: CLONE_URL
-          default: '{git-url}/releng/autorelease'
-          description: "Autorelease clone URL"
-
-    scm:
-      - git:
-          url: '$CLONE_URL'
-          credentials-id: 'opendaylight-jenkins-ssh'
-          refspec: '$GERRIT_REFSPEC'
-          branches:
-            - 'origin/{branch}'
-          skip-tag: true
-          submodule:
-            recursive: true
-            timeout: 60
-          choosing-strategy: gerrit
-
-    wrappers:
-      - opendaylight-infra-wrappers:
-          build-timeout: '{build-timeout}'
-
-    triggers:
-      - gerrit-trigger-patch-submitted:
-          server: '{server-name}'
-          project: '{project}'
-          branch: '{branch}'
-          files: '**/*.xml'
-
-    builders:
-      - jacoco-nojava-workaround
-      - autorelease-checkout-gerrit-patch
-      - autorelease-generate-release-patches
-      # In a perfect world projects should be releasing separately and we consume them
-      # via a project that pulls the release bits from each project from Nexus.
-      # Keep the patches compatible with that ideal, but apply an edit
-      # to enable building in a single maven reactor afterwards.
-      - autorelease-fix-relative-paths
-      - maven-target:
-          maven-version: 'mvn33'
-          pom: validate-pom.xml
-          goals: |
-              clean install dependency:tree
-              -T1.5C
-              -Pq
-              {opendaylight-infra-mvn-opts}
-          java-opts:
-            - '-Xmx8g'
-          settings: 'autorelease-settings'
-          settings-type: cfp
-          global-settings: 'global-settings'
-          global-settings-type: cfp
-      - maven-target:
-          maven-version: 'mvn33'
-          pom: 'pom.xml'
-          goals: |
-              clean validate
-              -Pq
-              {opendaylight-infra-mvn-opts}
-          java-opts:
-            - '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
-          settings: 'autorelease-settings'
-          settings-type: cfp
-          global-settings: 'global-settings'
-          global-settings-type: cfp
-
-    publishers:
-      - email-notification:
-          email-recipients: '{email-recipients}'
-          email-prefix: '[autorelease] [{project-name}]'
-      - lf-infra-publish
-
-- job-template:
-    name: '{project-name}-verify-{stream}-{maven}-{jdks}'
-
-    # Job template for ODL verify jobs
-    #
-    # The purpose of this job template is to setup a ODL verify job
-    #
-    # Required Variables:
-    #     stream:    release stream (eg. boron or carbon)
-    #     branch:    git branch (eg. stable/boron or master)
-
-    project-type: freestyle
-    node: '{build-node}'
-    concurrent: true
-    jdk: '{jdks}'
-
-    properties:
-      - opendaylight-infra-properties:
-          build-days-to-keep: 7
-
-    parameters:
-      - opendaylight-infra-parameters:
-          os-cloud: '{os-cloud}'
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
-
-    scm:
-      - gerrit-trigger-scm:
-          refspec: '$GERRIT_REFSPEC'
-          choosing-strategy: 'gerrit'
-
-    wrappers:
-      - opendaylight-infra-wrappers:
-          build-timeout: '{build-timeout}'
-
-    triggers:
-      - gerrit-trigger-patch-submitted:
-          server: '{server-name}'
-          project: '{project}'
-          branch: '{branch}'
-          files: '**'
-
-    builders:
-      - jacoco-nojava-workaround
-      - provide-maven-settings:
-          global-settings-file: 'global-settings'
-          settings-file: '{mvn-settings}'
-      - maven-target:
-          maven-version: '{mvn-version}'
-          goals: |
-              {mvn-goals}
-              -Dstream={stream}
-              {opendaylight-infra-mvn-opts}
-          java-opts:
-            - '{mvn-opts}'
-          settings: '{mvn-settings}'
-          settings-type: cfp
-          global-settings: 'global-settings'
-          global-settings-type: cfp
-
-    publishers:
-      - findbugs
-      - email-notification:
-          email-recipients: '{email-recipients}'
-          email-prefix: '[{project-name}]'
-      - jacoco-report
-      - lf-infra-publish