Convert merge|verify|sonar job to regular jjb template
[releng/builder.git] / jjb / yangtools / yangtools.yaml
index f04bee91f7c4369d01b1a440c743580468bc7d32..7f8a882a4dfda32847158d00f83ab7055f1dfcf6 100644 (file)
@@ -1,19 +1,15 @@
-# REMOVE THIS LINE IF YOU WANT TO CUSTOMIZE ANYTHING BELOW
-# Otherwise this file will be automatically overwritten by the template
-# autobuilder.
-
 # ODL Releng build templates
 - project:
     name: yangtools
     jobs:
-        - 'yangtools-merge-{stream}'
-        - 'yangtools-periodic-{stream}'
-        - 'yangtools-distribution-{stream}'
-        - 'yangtools-integration-{stream}'
-        - 'yangtools-sonar'
-        - 'yangtools-clm-{stream}'
-        - 'yangtools-validate-autorelease-{stream}'
-
+        - '{name}-clm-{stream}'
+        - '{name}-distribution-{stream}'
+        - '{name}-distribution-check-{stream}'
+        - '{name}-integration-{stream}'
+        - '{name}-merge-{stream}'
+        - '{name}-periodic-{stream}'
+        - '{name}-sonar'
+        - '{name}-validate-autorelease-{stream}'
 
     # stream:    release stream (eg. stable-lithium or beryllium)
     # branch:    git branch (eg. stable/lithium or master)
                 - openjdk8
             disable_autorelease: True
             disable_distribution_check: True
-        - stable-helium:
-            branch: 'stable/helium'
-            jdk: openjdk7
-            jdks:
-                - openjdk7
-            disable_autorelease: True
-            disable_distribution_check: True
 
     project: 'yangtools'
-
-# For the Job templates below replace instances of:
-# PROJECT_SHORTNAME with your project name (eg. circuitsw)
-# PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
-# MAVEN_GOALS with your maven goals to build
-# MAVEN_OPTS with your maven options to build
-
-- job-template:
-    name: 'yangtools-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. stable-lithium or beryllium)
-    #     branch:    git branch (eg. stable/lithium or master)
-
-    project-type: maven
-    node: dynamic_merge
-    jdk: '{jdk}'
-
-    logrotate:
-        daysToKeep: '14'
-        numToKeep: '10'
-        artifactDaysToKeep: '{build-artifact-days-to-keep}'
-        artifactNumToKeep: '{build-artifact-num-to-keep}'
-
-    parameters:
-        - project-parameter:
-            project: '{project}'
-        - gerrit-parameter:
-            branch: '{branch}'
-        - gerrit-refspec-parameter:
-            refspec: 'refs/heads/{branch}'
-
-    scm:
-        - gerrit-trigger-scm:
-            credentials-id: '{ssh-credentials}'
-            refspec: ''
-            choosing-strategy: 'default'
-
-    wrappers:
-        - build-timeout
-        - ssh-agent-credentials:
-            users:
-                - '{ssh-credentials}'
-
-    triggers:
-        - timed: 'H H * * 0'
-        - gerrit-trigger-patch-merged:
-            name: 'yangtools'
-            branch: '{branch}'
-
-    prebuilders:
-        - wipe-org-opendaylight-repo
-        - jacoco-nojava-workaround
-        - provide-maven-settings:
-            global-settings-file: '{odl-global-settings}'
-            settings-file: '{yangtools-settings}'
-
-    maven:
-        maven-name: '{mvn33}'
-        root-pom: 'pom.xml'
-        goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Djenkins -Dmerge -Dstream={stream}'
-        maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-        settings: '{yangtools-settings}'
-        global-settings: '{odl-global-settings}'
-        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 -Dstream={stream}'
-                java-opts:
-                    - '-Xmx2g'
-                settings: '{yangtools-settings}'
-                global-settings: '{odl-global-settings}'
-            - maven-target:
-                maven-version: '{mvn33}'
-                pom: deploy-site.xml
-                goals: 'site:deploy -Dstream={stream}'
-                java-opts:
-                    - '-Xmx2g'
-                settings: '{yangtools-settings}'
-                global-settings: '{odl-global-settings}'
-
-    reporters:
-        - findbugs
-
-    publishers:
-        - archive-artifacts:
-            artifacts: '**/target/surefire-reports/*-output.txt, '
-        - email-notification:
-            email-prefix: '[yangtools]'
-        - maven-deploy:
-            id: ''
-            unique-version: true
-            deploy-unstable: false
-        - jacoco-report
-
-- job-template:
-    name: 'yangtools-periodic-{stream}'
-    disabled: false
-
-    # Job template for periodic builders
-    #
-    # The purpose of this job template is to setup a periodic
-    # builder.
-    #
-    # Required Variables:
-    #     stream:    release stream (eg. stable-lithium or beryllium)
-    #     branch:    git branch (eg. stable/lithium or master)
-
-    project-type: maven
-    node: dynamic_verify
-    jdk: '{jdk}'
-
-    logrotate:
-        daysToKeep: '14'
-        numToKeep: '10'
-        artifactDaysToKeep: '{build-artifact-days-to-keep}'
-        artifactNumToKeep: '{build-artifact-num-to-keep}'
-
-    parameters:
-        - project-parameter:
-            project: '{project}'
-
-    scm:
-        - git-scm:
-            credentials-id: '{ssh-credentials}'
-            refspec: ''
-            branch: '{branch}'
-
-    wrappers:
-        - build-timeout
-        - ssh-agent-credentials:
-            users:
-                - '{ssh-credentials}'
-
-    triggers:
-        - timed: '@daily'
-
-    prebuilders:
-        - wipe-org-opendaylight-repo
-        - jacoco-nojava-workaround
-        - provide-maven-settings:
-            global-settings-file: '{odl-global-settings}'
-            settings-file: '{yangtools-settings}'
-
-    maven:
-        maven-name: '{mvn33}'
-        root-pom: 'pom.xml'
-        goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Djenkins'
-        maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-        settings: '{yangtools-settings}'
-        global-settings: '{odl-global-settings}'
-
-    reporters:
-        - findbugs
-
-    publishers:
-        - email-notification:
-            email-prefix: '[yangtools]'
-        - jacoco-report
-
-- job-template:
-    name: 'yangtools-distribution-{stream}'
-
-    # Required variables:
-    #     stream:    release stream (eg. stable-lithium or beryllium)
-    #     branch:    git branch (eg. stable/lithium or master)
-
-    project-type: maven
-    node: dynamic_merge
-    jdk: '{jdk}'
-
-    logrotate:
-        daysToKeep: '{build-days-to-keep}'
-        numToKeep: '{build-num-to-keep}'
-        artifactDaysToKeep: '{build-artifact-days-to-keep}'
-        artifactNumToKeep: '{build-artifact-num-to-keep}'
-
-    parameters:
-        - project-parameter:
-            project: 'integration/distribution'
-
-    scm:
-        - git-scm:
-            credentials-id: '{ssh-credentials}'
-            refspec: ''
-            branch: '{branch}'
-
-    wrappers:
-        - build-timeout
-        - ssh-agent-credentials:
-            users:
-                - '{ssh-credentials}'
-
-    triggers:
-        - reverse:
-            jobs: '{project}-merge-{stream}'
-            result: 'success'
-
-    prebuilders:
-        - wipe-org-opendaylight-repo
-        - provide-maven-settings:
-            global-settings-file: '{odl-global-settings}'
-            settings-file: '{yangtools-settings}'
-
-    maven:
-        maven-name: '{mvn33}'
-        root-pom: 'pom.xml'
-        goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
-        maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
-        settings: '{integration-settings}'
-        global-settings: '{odl-global-settings}'
-
-    publishers:
-        - email-notification:
-            email-prefix: '[{project}]'
-        - maven-deploy:
-            id: ''
-            unique-version: true
-            deploy-unstable: false
-
-- job-template:
-    name: 'yangtools-integration-{stream}'
-    disabled: false
-
-    # 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. stable-lithium or beryllium)
-    #     branch:    git branch (eg. stable/lithium or master)
-
-    project-type: maven
-    node: dynamic_merge
-    jdk: '{jdk}'
-
-    logrotate:
-        daysToKeep: '{build-days-to-keep}'
-        numToKeep: '{build-num-to-keep}'
-        artifactDaysToKeep: '{build-artifact-days-to-keep}'
-        artifactNumToKeep: '{build-artifact-num-to-keep}'
-
-    parameters:
-        - project-parameter:
-            project: '{project}'
-
-    scm:
-        - git-scm:
-            credentials-id: '{ssh-credentials}'
-            refspec: ''
-            branch: '{branch}'
-
-    wrappers:
-        - build-timeout
-        - ssh-agent-credentials:
-            users:
-                - '{ssh-credentials}'
-
-    triggers:
-        - reverse:
-            jobs: 'odlparent-merge-{stream}'
-            result: 'success'
-
-    prebuilders:
-        - wipe-org-opendaylight-repo
-        - jacoco-nojava-workaround
-        - provide-maven-settings:
-            global-settings-file: '{odl-global-settings}'
-            settings-file: '{yangtools-settings}'
-
-    maven:
-        maven-name: '{mvn33}'
-        root-pom: 'pom.xml'
-        goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Djenkins'
-        maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-        settings: '{yangtools-settings}'
-        global-settings: '{odl-global-settings}'
-
-    reporters:
-        - findbugs
-
-    publishers:
-        - email-notification:
-            email-prefix: '[yangtools] [odlparent]'
-        - jacoco-report
-
-- job-template:
-    name: 'yangtools-sonar'
-    disabled: false
-
-    project-type: maven
-    node: dynamic_verify
-    jdk: 'openjdk8'
-
-    logrotate:
-        daysToKeep: '7'
-        numToKeep: '10'
-        artifactDaysToKeep: '1'
-        artifactNumToKeep: '1'
-
-    parameters:
-        - project-parameter:
-            project: '{project}'
-
-    scm:
-        - git-scm:
-            credentials-id: '{ssh-credentials}'
-            refspec: ''
-            branch: 'master'
-
-    wrappers:
-        - build-timeout
-        - ssh-agent-credentials:
-            users:
-                - '{ssh-credentials}'
-
-    triggers:
-        - timed: '@weekly'
-        - gerrit-trigger-patch-sonar:
-            name: 'yangtools'
-
-    prebuilders:
-        - wipe-org-opendaylight-repo
-        - jacoco-nojava-workaround
-        - provide-maven-settings:
-            global-settings-file: '{odl-global-settings}'
-            settings-file: '{yangtools-settings}'
-
-    maven:
-        maven-name: '{mvn33}'
-        root-pom: 'pom.xml'
-        goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Djenkins -Dsonar'
-        maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-        settings: '{yangtools-settings}'
-        global-settings: '{odl-global-settings}'
-
-    reporters:
-        - findbugs
-
-    publishers:
-        - sonar:
-            language: 'java'
-            maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
-        - email-notification:
-            email-prefix: '[yangtools]'
-        - jacoco-report
-
-- job-template:
-    name: 'yangtools-clm-{stream}'
-    disabled: false
-
-    project-type: maven
-    node: dynamic_verify
-    jdk: '{jdk}'
-
-    logrotate:
-        daysToKeep: '{build-days-to-keep}'
-        numToKeep: '{build-num-to-keep}'
-        artifactDaysToKeep: '{build-artifact-days-to-keep}'
-        artifactNumToKeep: '{build-artifact-num-to-keep}'
-
-    parameters:
-        - project-parameter:
-            project: '{project}'
-
-    scm:
-        - git-scm:
-            credentials-id: '{ssh-credentials}'
-            refspec: ''
-            branch: '{branch}'
-
-    wrappers:
-        - build-timeout
-        - ssh-agent-credentials:
-            users:
-                - '{ssh-credentials}'
-
-    triggers:
-        - timed: '@weekly'
-
-    prebuilders:
-        - wipe-org-opendaylight-repo
-        - provide-maven-settings:
-            global-settings-file: '{odl-global-settings}'
-            settings-file: '{yangtools-settings}'
-
-    maven:
-        maven-name: '{mvn33}'
-        root-pom: 'pom.xml'
-        goals: 'clean install com.sonatype.clm:clm-maven-plugin:index -Djenkins -DskipTests=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
-        maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
-        settings: '{yangtools-settings}'
-        global-settings: '{odl-global-settings}'
-
-    postbuilders:
-        - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
-        - check-clm:
-            application-name: yangtools
-
-    publishers:
-        - email-notification:
-            email-prefix: '[yangtools]'
-
-- job-template:
-    name: 'yangtools-validate-autorelease-{stream}'
-    disabled: '{obj:disable_autorelease}'
-
-    project-type: maven
-    node: dynamic_verify
-    concurrent: true
-    jdk: '{jdk}'
-
-    logrotate:
-        daysToKeep: '{build-days-to-keep}'
-        numToKeep: '{build-num-to-keep}'
-        artifactDaysToKeep: '{build-artifact-days-to-keep}'
-        artifactNumToKeep: '{build-artifact-num-to-keep}'
-
-    parameters:
-        - project-parameter:
-            project: '{project}'
-        - gerrit-parameter:
-            branch: '{branch}'
-        - autorelease-release-tag:
-            release-tag: 'validate'
-        - autorelease-release-branch:
-            release-branch: '{branch}'
-        - autorelease-release-datestamp:
-            datestamp: true
-
-    scm:
-        - git:
-            url: 'https://git.opendaylight.org/gerrit/releng/autorelease'
-            refspec: ''
-            branches:
-                - 'origin/{branch}'
-            skip-tag: true
-            submodule:
-                recursive: true
-
-    wrappers:
-        - autorelease-build-timeout
-        - ssh-agent-credentials:
-            users:
-                - '{ssh-credentials}'
-
-    triggers:
-        - gerrit:
-            server-name: 'OpenDaylight'
-            trigger-on:
-                - patchset-created-event:
-                    exclude-drafts: 'false'
-                    exclude-trivial-rebase: 'false'
-                    exclude-no-code-change: 'false'
-                - draft-published-event
-                - comment-added-contains-event:
-                    comment-contains-value: 'recheck'
-                - comment-added-contains-event:
-                    comment-contains-value: 'reverify'
-                - comment-added-contains-event:
-                    comment-contains-value: 'revalidate'
-            projects:
-              - project-compare-type: 'ANT'
-                project-pattern: 'yangtools'
-                branches:
-                  - branch-compare-type: 'ANT'
-                    branch-pattern: '**/{branch}'
-
-    prebuilders:
-        - wipe-org-opendaylight-repo
-        - jacoco-nojava-workaround
-        - autorelease-checkout-gerrit-patch
-        - autorelease-generate-taglist
-        - autorelease-generate-release-patches
-        - maven-target:
-            maven-version: '{mvn33}'
-            pom: validate-pom.xml
-            goals: 'clean install -T1.5C -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
-            java-opts:
-            - '-Xmx8g'
-            settings: '{autorelease-settings}'
-            global-settings: '{odl-global-settings}'
-
-    maven:
-        maven-name: '{mvn33}'
-        root-pom: 'pom.xml'
-        goals: 'clean validate -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
-        maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
-        settings: '{autorelease-settings}'
-        global-settings: '{odl-global-settings}'
-        automatic-archiving: false
-        post-step-run-condition: UNSTABLE
-
-    postbuilders:
-        - shell: "./scripts/list-project-dependencies.sh"
-        - autorelease-sys-stats
-
-    publishers:
-        - archive-artifacts:
-            artifacts: '*.log'
-        - email-notification:
-            email-prefix: '[autorelease] [yangtools]'
-
+    mvn-settings: 'yangtools-settings'
+    mvn-goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
+    mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+    dependencies: 'odlparent-merge-{stream}'
+    email-upstream: '[yangtools] [odlparent]'
+    archive-artifacts: ''