Merge "new script template and pgass' use"
diff --git a/jjb/dcae/pgaas.yaml b/jjb/dcae/pgaas.yaml
index fa18bce..78643a8 100644
--- a/jjb/dcae/pgaas.yaml
+++ b/jjb/dcae/pgaas.yaml
@@ -3,19 +3,7 @@
 - project:
     name: dcae-pgaas
     project-name: 'dcae-pgaas'
-    jobs:
-      - '{project-name}-{stream}-two-scm-verify-script'
-
-
-    #   script:         build script to execute
-    #   extra-project:  extra gerrit project to checkout
-    #   extra-refspec:  refspec for the extra project
-    #   extra-branch:   branch to checkout for the extra project
-    #   checkout-dir:   directory to checkout the extra project to
-    #                     DO NOT SET THIS TO anything that translates to
-    #                     $WORKSPACE as it will destroy the initial
-    #                     project checkout
-
+    stream: 'master'
     project: 'dcae/pgaas'
     stream:
       - 'master':
@@ -24,9 +12,18 @@
     files: '**'
     archive-artifacts: ''
     build-node: ubuntu1604-basebuild-4c-4g
-    extra-project: 'dcae/utils/buildtools'
-    extra-branch: 'master'
-    extra-refspec: 'refs/heads/{branch}'
-    checkout-dir: 'buildtools'
-    script:
-        !include-raw-escape: 'include-raw-pgaas.sh'
+    mvn-goals: '--version'
+    mvn-goals-versioning: '--version'
+    jobs:
+      - '{project-name}-{stream}-daily-release-scm-mvn-script':
+          maven-deploy-properties: |
+              deployAtEnd=true
+          script:
+              !include-raw-escape: 'script-pgaas-daily-release.sh'
+      - '{project-name}-{stream}-merge-scm-mvn-script':
+          script:
+              !include-raw-escape: 'script-pgaas-merge.sh'
+      - '{project-name}-{stream}-verify-scm-mvn-script':
+          script:
+              !include-raw-escape: 'script-pgaas-verify.sh'
+
diff --git a/jjb/dcae/include-raw-pgaas.sh b/jjb/dcae/script-pgaas-daily-release.sh
old mode 100644
new mode 100755
similarity index 71%
copy from jjb/dcae/include-raw-pgaas.sh
copy to jjb/dcae/script-pgaas-daily-release.sh
index cd84b03..0a4e343
--- a/jjb/dcae/include-raw-pgaas.sh
+++ b/jjb/dcae/script-pgaas-daily-release.sh
@@ -18,14 +18,13 @@
 
 echo $NEXUS_RAW
 
-export REPACKAGEDEBIANUPLOAD="set -x; curl -k \
-    --netrc-file '${NETRC}' \
-    --upload-file '{0}' \
-        '${NEXUS_RAW}/org.openecomp.dcae.pgaas/deb-snapshots/{2}/{1}'"
-export REPACKAGEDEBIANUPLOAD2="set -x; curl -k \
-    --netrc-file '${NETRC}' \
-    --upload-file '{0}' \
-        '${NEXUS_RAW}/org.openecomp.dcae.pgaas/deb-snapshots/{2}/{4}-LATEST.deb'"
+
+REPO="${NEXUS_RAW}/org.openecomp.dcae.pgaas/deb-snapshots"
+
+export REPACKAGEDEBIANUPLOAD="set -x; curl -k --netrc-file '${NETRC}' \
+    --upload-file '{0}' '${REPO}/{2}/{1}'"
+export REPACKAGEDEBIANUPLOAD2="set -x; curl -k --netrc-file '${NETRC}' \
+    --upload-file '{0}' '${REPO}/{2}/{4}-LATEST.deb'"
 make debian
 echo "================= ENDING SCRIPT TO CREATE DEBIAN FILES ================="
 
diff --git a/jjb/dcae/include-raw-pgaas.sh b/jjb/dcae/script-pgaas-merge.sh
old mode 100644
new mode 100755
similarity index 71%
copy from jjb/dcae/include-raw-pgaas.sh
copy to jjb/dcae/script-pgaas-merge.sh
index cd84b03..0a4e343
--- a/jjb/dcae/include-raw-pgaas.sh
+++ b/jjb/dcae/script-pgaas-merge.sh
@@ -18,14 +18,13 @@
 
 echo $NEXUS_RAW
 
-export REPACKAGEDEBIANUPLOAD="set -x; curl -k \
-    --netrc-file '${NETRC}' \
-    --upload-file '{0}' \
-        '${NEXUS_RAW}/org.openecomp.dcae.pgaas/deb-snapshots/{2}/{1}'"
-export REPACKAGEDEBIANUPLOAD2="set -x; curl -k \
-    --netrc-file '${NETRC}' \
-    --upload-file '{0}' \
-        '${NEXUS_RAW}/org.openecomp.dcae.pgaas/deb-snapshots/{2}/{4}-LATEST.deb'"
+
+REPO="${NEXUS_RAW}/org.openecomp.dcae.pgaas/deb-snapshots"
+
+export REPACKAGEDEBIANUPLOAD="set -x; curl -k --netrc-file '${NETRC}' \
+    --upload-file '{0}' '${REPO}/{2}/{1}'"
+export REPACKAGEDEBIANUPLOAD2="set -x; curl -k --netrc-file '${NETRC}' \
+    --upload-file '{0}' '${REPO}/{2}/{4}-LATEST.deb'"
 make debian
 echo "================= ENDING SCRIPT TO CREATE DEBIAN FILES ================="
 
diff --git a/jjb/dcae/include-raw-pgaas.sh b/jjb/dcae/script-pgaas-verify.sh
old mode 100644
new mode 100755
similarity index 71%
rename from jjb/dcae/include-raw-pgaas.sh
rename to jjb/dcae/script-pgaas-verify.sh
index cd84b03..51c802f
--- a/jjb/dcae/include-raw-pgaas.sh
+++ b/jjb/dcae/script-pgaas-verify.sh
@@ -18,14 +18,13 @@
 
 echo $NEXUS_RAW
 
-export REPACKAGEDEBIANUPLOAD="set -x; curl -k \
-    --netrc-file '${NETRC}' \
-    --upload-file '{0}' \
-        '${NEXUS_RAW}/org.openecomp.dcae.pgaas/deb-snapshots/{2}/{1}'"
-export REPACKAGEDEBIANUPLOAD2="set -x; curl -k \
-    --netrc-file '${NETRC}' \
-    --upload-file '{0}' \
-        '${NEXUS_RAW}/org.openecomp.dcae.pgaas/deb-snapshots/{2}/{4}-LATEST.deb'"
+
+REPO="${NEXUS_RAW}/org.openecomp.dcae.devnull/"
+
+export REPACKAGEDEBIANUPLOAD="set -x; curl -k --netrc-file '${NETRC}' \
+    --upload-file '{0}' '${REPO}/{2}/{1}'"
+export REPACKAGEDEBIANUPLOAD2="set -x; curl -k --netrc-file '${NETRC}' \
+    --upload-file '{0}' '${REPO}/{2}/{4}-LATEST.deb'"
 make debian
 echo "================= ENDING SCRIPT TO CREATE DEBIAN FILES ================="
 
diff --git a/jjb/global-templates-script.yaml b/jjb/global-templates-script.yaml
index 8359372..dbe7850 100644
--- a/jjb/global-templates-script.yaml
+++ b/jjb/global-templates-script.yaml
@@ -1,6 +1,427 @@
 ---
 # vim: sw=2 ts=2 sts=2 et :
 
+
+- job-template:
+    # Job template for verify a submission.  triggered on gerrit-trigger-patch-submitted, does
+    # scm, mvn with passed in goals, then run script
+    #
+    # Required Variables:
+    #   branch:         git branch
+    #   build-node:     what build node to run on
+    #   script:         build script to execute
+    #   mvn-settings:   settings file for this specific job
+    #   mvn-goals:      space separated list of maven build goals (e.g. clean, install
+    #                   etc, --version for noop)
+    name: '{project-name}-{stream}-verify-scm-mvn-script'
+
+    project-type: freestyle
+    concurrent: true
+    node: '{build-node}'
+
+    properties:
+      - ecomp-infra-properties:
+          build-days-to-keep: '{build-days-to-keep}'
+
+    parameters:
+      - ecomp-infra-parameters:
+          project: '{project}'
+          branch: '{branch}'
+          refspec: 'refs/heads/{branch}'
+          artifacts: '{archive-artifacts}'
+
+    scm:
+      - gerrit-trigger-scm:
+          refspec: '$GERRIT_REFSPEC'
+          choosing-strategy: 'gerrit'
+
+    wrappers:
+      - ecomp-infra-wrappers:
+          build-timeout: '{build-timeout}'
+
+    triggers:
+      - gerrit-trigger-patch-submitted:
+          server: '{server-name}'
+          project: '{project}'
+          branch: '{branch}'
+          files: '**'
+
+    builders:
+      - provide-maven-settings:
+          global-settings-file: 'global-settings'
+          settings-file: '{mvn-settings}'
+      - maven-target:
+          maven-version: 'mvn33'
+          goals: '{mvn-goals}'
+          settings: '{mvn-settings}'
+          settings-type: cfp
+          global-settings: 'global-settings'
+          global-settings-type: cfp
+      - docker-login
+      - shell: '{script}'
+
+
+
+- job-template:
+    # Job template for merging a submission.  triggered on gerrit-trigger-patch-merged, does
+    # scm, mvn with passed-in goals, then run script
+    #
+    # Required Variables:
+    #   branch:         git branch
+    #   build-node:     what build node to run on
+    #   script:         build script to execute
+    #   mvn-settings:   settings file for this specific job
+    #   mvn-goals:      space separated list of maven build goals (--version for noop,
+    #                   clean deploy for deploy [version must be snapshot])
+    name: '{project-name}-{stream}-merge-scm-mvn-script'
+
+    project-type: freestyle
+    node: '{build-node}'
+
+    properties:
+      - ecomp-infra-properties:
+          build-days-to-keep: '{build-days-to-keep}'
+
+    parameters:
+      - ecomp-infra-parameters:
+          project: '{project}'
+          branch: '{branch}'
+          refspec: 'refs/heads/{branch}'
+          artifacts: '{archive-artifacts}'
+
+    scm:
+      - gerrit-trigger-scm:
+          refspec: ''
+          choosing-strategy: 'default'
+
+    wrappers:
+      - ecomp-infra-wrappers:
+          build-timeout: '{build-timeout}'
+
+    triggers:
+      - gerrit-trigger-patch-merged:
+          server: '{server-name}'
+          project: '{project}'
+          branch: '{branch}'
+          files: '**'
+
+    builders:
+      - provide-maven-settings:
+          global-settings-file: 'global-settings'
+          settings-file: '{mvn-settings}'
+      - maven-target:
+          maven-version: 'mvn33'
+          goals: '{mvn-goals}'
+          settings: '{mvn-settings}'
+          settings-type: cfp
+          global-settings: 'global-settings'
+          global-settings-type: cfp
+      - docker-login
+      - shell: '{script}'
+
+
+
+
+- job-template:
+    # Job template for daily-release a submission.  triggered on timer, does scm,
+    # mvn with passed-in goals, then run script
+    #
+    # Required Variables:
+    #   branch:         git branch
+    #   build-node:     what build node to run on
+    #   script:         build script to execute
+    #   mvn-goals-versioning:    space separated list of maven build goals (--version for no op,
+    #                or    versions:set versions:update-child-modules versions:commit or --version)
+    #   mvn-goals: space separated list of maven build goals (--version for noop, or clean deploy)
+    name: '{project-name}-{stream}-daily-release-scm-mvn-script'
+
+    project-type: freestyle
+    concurrent: true
+    node: '{build-node}'
+
+    properties:
+      - ecomp-infra-properties:
+          build-days-to-keep: '{build-days-to-keep}'
+
+    parameters:
+      - ecomp-infra-parameters:
+          project: '{project}'
+          branch: '{branch}'
+          refspec: 'refs/heads/{branch}'
+          artifacts: '{archive-artifacts}'
+
+    scm:
+      - gerrit-trigger-scm:
+          refspec: ''
+          choosing-strategy: 'default'
+
+    wrappers:
+      - ecomp-infra-wrappers:
+          build-timeout: '{build-timeout}'
+
+    triggers:
+      # 11 AM UTC
+      - timed: 'H 11 * * *'
+
+    builders:
+      - provide-maven-settings:
+          global-settings-file: 'global-settings'
+          settings-file: '{mvn-settings}'
+      - inject:
+          properties-file: version.properties
+      - maven-target:
+          maven-version: 'mvn33'
+          goals: '{mvn-goals-versioning}'
+          properties:
+            - 'newVersion=${{release_version}}'
+          settings: '{mvn-settings}'
+          settings-type: cfp
+          global-settings: 'global-settings'
+          global-settings-type: cfp
+
+      - maven-target:
+          maven-version: 'mvn33'
+          goals: '{mvn-goals}'
+          properties:
+            - '{maven-deploy-properties}'
+          settings: '{mvn-settings}'
+          settings-type: cfp
+          global-settings: 'global-settings'
+          global-settings-type: cfp
+      - docker-login
+      - shell: '{script}'
+
+
+
+
+- job-template:
+    # Job template for verifying a submission.  triggered on gerrit-trigger-patch-submitted,
+    # does scm 2 repos, mvn with passed-in goals, then run script
+    #
+    # Required Variables:
+    #   branch:         git branch
+    #   build-node:     what build node to run on
+    #   script:         build script to execute
+    #   extra-project:  extra gerrit project to checkout
+    #   extra-refspec:  refspec for the extra project
+    #   extra-branch:   branch to checkout for the extra project
+    #   checkout-dir:   directory to checkout the extra project to
+    #                     DO NOT SET THIS TO anything that translates to
+    #                     $WORKSPACE as it will destroy the initial
+    #                     project checkout
+    #   mvn-goals:      space separated list of maven build goals (e.g. clean, install etc,
+    #                   --version for noop)
+
+    name: '{project-name}-{stream}-verify-2scm-mvn-script'
+
+    project-type: freestyle
+    concurrent: true
+    node: '{build-node}'
+
+    properties:
+      - ecomp-infra-properties:
+          build-days-to-keep: '{build-days-to-keep}'
+
+    parameters:
+      - ecomp-infra-parameters:
+          project: '{project}'
+          branch: '{branch}'
+          refspec: 'refs/heads/{branch}'
+          artifacts: '{archive-artifacts}'
+
+    scm:
+      - gerrit-trigger-scm:
+          refspec: '$GERRIT_REFSPEC'
+          choosing-strategy: 'gerrit'
+      - git-extra-project:
+          project: '{extra-project}'
+          refspec: '{extra-refspec}'
+          branch: '{extra-branch}'
+          checkout-dir: '{checkout-dir}'
+
+    wrappers:
+      - ecomp-infra-wrappers:
+          build-timeout: '{build-timeout}'
+
+    triggers:
+      - gerrit-trigger-patch-submitted:
+          server: '{server-name}'
+          project: '{project}'
+          branch: '{branch}'
+          files: '**'
+
+    builders:
+      - provide-maven-settings:
+          global-settings-file: 'global-settings'
+          settings-file: '{mvn-settings}'
+      - maven-target:
+          maven-version: 'mvn33'
+          goals: '{mvn-goals}'
+          settings: '{mvn-settings}'
+          settings-type: cfp
+          global-settings: 'global-settings'
+          global-settings-type: cfp
+      - docker-login
+      - shell: '{script}'
+
+
+
+- job-template:
+    # Job template for merged submission.  triggered on gerrit-trigger-patch-merged,
+    # does scm of 2 repos, mvn with passed in goals, then run script
+    #
+    # Required Variables:
+    #   branch:         git branch
+    #   build-node:     what build node to run on
+    #   script:         build script to execute
+    #   extra-project:  extra gerrit project to checkout
+    #   extra-refspec:  refspec for the extra project
+    #   extra-branch:   branch to checkout for the extra project
+    #   checkout-dir:   directory to checkout the extra project to
+    #                     DO NOT SET THIS TO anything that translates to
+    #                     $WORKSPACE as it will destroy the initial
+    #                     project checkout
+    #   mvn-goals:      space separated list of maven build goals (--version for no op,
+    #                   clean deploy for mvn project)
+
+    name: '{project-name}-{stream}-merge-2scm-mvn-script'
+
+    project-type: freestyle
+    concurrent: true
+    node: '{build-node}'
+
+    properties:
+      - ecomp-infra-properties:
+          build-days-to-keep: '{build-days-to-keep}'
+
+    parameters:
+      - ecomp-infra-parameters:
+          project: '{project}'
+          branch: '{branch}'
+          refspec: 'refs/heads/{branch}'
+          artifacts: '{archive-artifacts}'
+
+    scm:
+      - gerrit-trigger-scm:
+          refspec: ''
+          choosing-strategy: 'default'
+      - git-extra-project:
+          project: '{extra-project}'
+          refspec: '{extra-refspec}'
+          branch: '{extra-branch}'
+          checkout-dir: '{checkout-dir}'
+
+    wrappers:
+      - ecomp-infra-wrappers:
+          build-timeout: '{build-timeout}'
+
+    triggers:
+      - gerrit-trigger-patch-merged:
+          server: '{server-name}'
+          project: '{project}'
+          branch: '{branch}'
+          files: '**'
+
+    builders:
+      - provide-maven-settings:
+          global-settings-file: 'global-settings'
+          settings-file: '{mvn-settings}'
+      - maven-target:
+          maven-version: 'mvn33'
+          goals: '{mvn-goals}'
+          settings: '{mvn-settings}'
+          settings-type: cfp
+          global-settings: 'global-settings'
+          global-settings-type: cfp
+      - docker-login
+      - shell: '{script}'
+
+
+
+- job-template:
+    # Job template for merged submission.  triggered on gerrit-trigger-patch-merged,
+    # does scm x2, mvn with passed-in goals, then run script
+    #
+    # Required Variables:
+    #   branch:         git branch
+    #   build-node:     what build node to run on
+    #   script:         build script to execute
+    #   extra-project:  extra gerrit project to checkout
+    #   extra-refspec:  refspec for the extra project
+    #   extra-branch:   branch to checkout for the extra project
+    #   checkout-dir:   directory to checkout the extra project to
+    #                     DO NOT SET THIS TO anything that translates to
+    #                     $WORKSPACE as it will destroy the initial
+    #                     project checkout
+    #   mvn-goals:      space separated list of maven build goals (--version for no op,
+    #                   clean deploy for mvn project)
+    #   mvn-goals-versioning:      space separated list of maven build goals (--version for no op,
+    #                   clean deploy for mvn project)
+
+    name: '{project-name}-{stream}-daily-release-2scm-mvn-script'
+
+    project-type: freestyle
+    concurrent: true
+    node: '{build-node}'
+
+    properties:
+      - ecomp-infra-properties:
+          build-days-to-keep: '{build-days-to-keep}'
+
+    parameters:
+      - ecomp-infra-parameters:
+          project: '{project}'
+          branch: '{branch}'
+          refspec: 'refs/heads/{branch}'
+          artifacts: '{archive-artifacts}'
+
+    scm:
+      - gerrit-trigger-scm:
+          refspec: ''
+          choosing-strategy: 'default'
+      - git-extra-project:
+          project: '{extra-project}'
+          refspec: '{extra-refspec}'
+          branch: '{extra-branch}'
+          checkout-dir: '{checkout-dir}'
+
+    wrappers:
+      - ecomp-infra-wrappers:
+          build-timeout: '{build-timeout}'
+
+    triggers:
+      - timed: 'H 11 * * *'
+
+    builders:
+      - provide-maven-settings:
+          global-settings-file: 'global-settings'
+          settings-file: '{mvn-settings}'
+      - inject:
+          properties-file: version.properties
+      - maven-target:
+          maven-version: 'mvn33'
+          goals: '{mvn-goals-versioning}'
+          properties:
+            - 'newVersion=${{release_version}}'
+          settings: '{mvn-settings}'
+          settings-type: cfp
+          global-settings: 'global-settings'
+          global-settings-type: cfp
+
+      - maven-target:
+          maven-version: 'mvn33'
+          goals: '{mvn-goals}'
+          settings: '{mvn-settings}'
+          settings-type: cfp
+          global-settings: 'global-settings'
+          global-settings-type: cfp
+      - docker-login
+      - shell: '{script}'
+
+
+
+
+
 - job-template:
     # Job template for basic scm and script trigger
     #
@@ -25,8 +446,6 @@
           branch: '{branch}'
           refspec: 'refs/heads/{branch}'
           artifacts: '{archive-artifacts}'
-      - maven-exec:
-          maven-version: 'mvn33'
 
     scm:
       - gerrit-trigger-scm:
@@ -93,8 +512,6 @@
           branch: '{branch}'
           refspec: 'refs/heads/{branch}'
           artifacts: '{archive-artifacts}'
-      - maven-exec:
-          maven-version: 'mvn33'
 
     scm:
       - gerrit-trigger-scm:
@@ -173,8 +590,6 @@
           branch: '{branch}'
           refspec: 'refs/heads/{branch}'
           artifacts: '{archive-artifacts}'
-      - maven-exec:
-          maven-version: 'mvn33'
 
     scm:
       - gerrit-trigger-scm: