aaa maven build job

Change-Id: I0e21b145f070d02b0e9012c894daba5353ae0bc4
diff --git a/jjb/aaa.yaml b/jjb/aaa.yaml
new file mode 100644
index 0000000..398b4ff
--- /dev/null
+++ b/jjb/aaa.yaml
@@ -0,0 +1,38 @@
+---
+# maven job for 'aaa' repo
+
+- project:
+    name: aaa
+    project: '{name}'
+
+    jobs:
+      - 'aaa':
+          branch-regexp: '{supported-branches-regexp}'
+
+- job-group:
+    name: 'aaa'
+    jobs:
+      - 'aaa-gerrit':
+            goals: 'clean install'
+      - 'verify-licensed'
+
+- job-template:
+    name: 'aaa-gerrit'
+    builders:
+        - lf-maven-build:
+           mvn-goals: '{goals}'
+        - 'cord-infra-sonarqube':
+           project: '{name}'
+
+    triggers:
+      - cord-infra-gerrit-trigger-patchset:
+          gerrit-server-name: '{gerrit-server-name}'
+          project-regexp: 'aaa'
+          branch-regexp: '{branch-regexp}'
+          file-include-regexp: '{all-files-regexp}'
+          dependency-jobs: '{dependency-jobs}'
+
+    properties:
+      - cord-infra-properties:
+          build-days-to-keep: '{build-days-to-keep}'
+          artifact-num-to-keep: '{artifact-num-to-keep}'
diff --git a/jjb/cord-macros.yaml b/jjb/cord-macros.yaml
index c287aab..8b3e659 100644
--- a/jjb/cord-macros.yaml
+++ b/jjb/cord-macros.yaml
@@ -35,6 +35,19 @@
             GERRIT_PATCHSET_NUMBER={patchset-number}
       - shell: !include-raw-escape: shell/repopatch.sh
 
+# sonarqube-ongoing-coverage
+- builder:
+    name: cord-infra-sonarqube
+    builders:
+      - shell: 'pylint --version'
+      - sonar:
+          sonar-name: 'sonarqube.opencord.org'
+          java-opts: '-Xmx1280m'
+          properties: |
+            sonar.sources=.
+            sonar.projectKey={project}_$GERRIT_BRANCH
+            sonar.python.pylint=/usr/local/bin/pylint
+
 # trigger on gerrit patchsets and actions
 # docs: https://docs.openstack.org/infra/jenkins-job-builder/triggers.html#triggers.gerrit
 - trigger:
diff --git a/jjb/sonar.yaml b/jjb/sonar.yaml
index b76d557..2c40bce 100644
--- a/jjb/sonar.yaml
+++ b/jjb/sonar.yaml
@@ -70,15 +70,7 @@
 # run `pylint --version` before sonarqube, to expose version in logs and to
 # avoid a timeout when sonarqube runs it during analysis.
     builders:
-      - shell: 'pylint --version'
-      - sonar:
-          sonar-name: 'sonarqube.opencord.org'
-          java-opts: '-Xmx1280m'
-          properties: |
-            sonar.sources=.
-            sonar.projectKey={project}_$GERRIT_BRANCH
-            sonar.python.pylint=/usr/local/bin/pylint
-
+        - 'cord-infra-sonarqube'
 
 # run Sonarqube as a verification jobs on individual patchsets
 - job-template:
@@ -121,12 +113,4 @@
 # run `pylint --version` before sonarqube, to expose version in logs and to
 # avoid a timeout when sonarqube runs it during analysis.
     builders:
-      - shell: 'pylint --version'
-      - sonar:
-          sonar-name: 'sonarqube.opencord.org'
-          java-opts: '-Xmx1280m'
-          properties: |
-            sonar.sources=.
-            sonar.projectKey=verify_{project}_$GERRIT_BRANCH
-            sonar.python.pylint=/usr/local/bin/pylint
-
+        - 'cord-infra-sonarqube'