Set default mvn-goals for integration job
[releng/builder.git] / jjb / releng-templates-java.yaml
index a0efd78a99c39b7970a83ac4d1c10e8381fe4ce2..259ef196073b5628c9bce72103980f8ce92dfcfe 100644 (file)
@@ -1,71 +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}'
-
-    project-type: freestyle
-    node: '{build-node}'
-    jdk: '{jdk}'
-
-    properties:
-      - opendaylight-infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
+- job-group:
+    name: odl-maven-jobs
 
-    parameters:
-      - opendaylight-infra-parameters:
-          os-cloud: '{os-cloud}'
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
+    jobs:
+      - gerrit-maven-clm
 
-    scm:
-      - git-scm:
-          refspec: ''
-          branch: '{branch}'
+      - gerrit-maven-merge:
+          post_build_trigger:
+            - project:
+                - 'distribution-merge-{stream}'
+              condition: SUCCESS
+              trigger-with-no-params: true
 
-    wrappers:
-      - opendaylight-infra-wrappers:
-          build-timeout: '{build-timeout}'
+      - gerrit-maven-release
+      - gerrit-maven-verify
+      - gerrit-maven-verify-dependencies:
+          build-timeout: 180
 
-    triggers:
-      - timed: '{schedule-saturday}'
+- job-template:
+    name: '{project-name}-integration-{stream}'
 
-    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}'
+    ######################
+    # Default parameters #
+    ######################
 
-    publishers:
-      - email-notification:
-          email-recipients: '{email-recipients}'
-          email-prefix: '[{project-name}]'
-      - lf-infra-publish
+    mvn-goals: clean install
 
-- job-template:
-    name: '{project-name}-integration-{stream}'
+    #####################
+    # Job Configuration #
+    #####################
 
     project-type: freestyle
     node: '{build-node}'
           email-recipients: '{email-recipients}'
           email-prefix: '{email-upstream}'
       - findbugs
-      - jacoco-report
-      - lf-infra-publish
-
-- job-template:
-    name: '{project-name}-merge-{stream}'
-
-    # 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:
-    #     https://issues.apache.org/jira/browse/MNG-5666
-    project-type: maven
-    node: '{build-node}'
-    jdk: '{jdk}'
-
-    properties:
-      - opendaylight-infra-properties:
-          build-days-to-keep: 14
-
-    parameters:
-      - opendaylight-infra-parameters:
-          os-cloud: '{os-cloud}'
-          project: '{project}'
-          branch: '{branch}'
-          refspec: 'refs/heads/{branch}'
-          artifacts: '{archive-artifacts}'
-      - string:
-          name: STREAM
-          default: '{stream}'
-          description: "String representing release name"
-
-    scm:
-      - gerrit-trigger-scm:
-          refspec: ''
-          choosing-strategy: 'default'
-
-    wrappers:
-      - opendaylight-infra-wrappers:
-          build-timeout: '{build-timeout}'
-
-    triggers:
-      - timed: 'H H * * 0'
-      - gerrit-trigger-patch-merged:
-          server-name: '{server-name}'
-          name: '{project}'
-          branch: '{branch}'
-
-    prebuilders:
-      - jacoco-nojava-workaround
-      - provide-maven-settings:
-          global-settings-file: 'global-settings'
-          settings-file: '{mvn-settings}'
-
-    # TODO: Do we want to apply sophisticated checks as in *-distribution-check-*?
-    maven:
-      maven-name: 'mvn33'
-      goals: >
-          {mvn-goals}
-          -Dmerge
-          -Dstream={stream}
-          {opendaylight-infra-mvn-opts}
-      maven-opts: '{mvn-opts}'
-      settings: '{mvn-settings}'
-      settings-type: cfp
-      global-settings: 'global-settings'
-      global-settings-type: cfp
-      post-step-run-condition: UNSTABLE
-
-    postbuilders:
-      - conditional-step:
-          condition-kind: file-exists
-          condition-filename: deploy-site.xml
-          condition-basedir: workspace
-
-          # The strategy here is intentional to run Maven site:deploy twice
-          # once using regular pom.xml to produce a staged-site which is
-          # then used by deploy-site.xml to push to Nexus. This is a
-          # workaround to Maven Site's default linking code which creates
-          # incorrect URLs for sites due to auto-detection assuming your
-          # project is configured in a certain way which ODL is not.
-          steps:
-            - maven-target:
-                maven-version: 'mvn33'
-                pom: pom.xml
-                goals: 'site:deploy -V -B -Dstream={stream}'
-                java-opts:
-                  - '-Xmx2g'
-                settings: '{mvn-settings}'
-                settings-type: cfp
-                global-settings: 'global-settings'
-                global-settings-type: cfp
-            - opendaylight-infra-deploy-maven-site:
-                settings-file: '{mvn-settings}'
-
-    reporters:
-      - findbugs
-
-    publishers:
-      - email-notification:
-          email-recipients: '{email-recipients}'
-          email-prefix: '[{project-name}]'
-      - maven-deploy:
-          id: ''
-          unique-version: true
-          deploy-unstable: false
-      - 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: '{schedule-saturday}'
-      - 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}-verify-{stream}-{maven}-{jdks}'
-
-    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-jacoco-report
       - lf-infra-publish