- job-template:
- name: 'PROJECT-clm-{stream}'
+ name: 'PROJECT_SHORTNAME-clm-{stream}'
project-type: maven
node: dynamic_verify
postbuilders:
- check-clm:
- application-name: PROJECT
+ application-name: PROJECT_SHORTNAME
publishers:
- email-notification:
- email-prefix: '[PROJECT]'
+ email-prefix: '[PROJECT_SHORTNAME]'
- job-template:
- name: 'PROJECT-daily-{stream}'
+ name: 'PROJECT_SHORTNAME-daily-{stream}'
# Job template for daily builders
#
publishers:
- email-notification:
- email-prefix: '[PROJECT]'
+ email-prefix: '[PROJECT_SHORTNAME]'
- jacoco-report
- job-template:
- name: 'PROJECT-distribution-{stream}'
+ name: 'PROJECT_SHORTNAME-distribution-{stream}'
# Required variables:
# stream: release stream (eg. stable-lithium or beryllium)
- job-template:
- name: 'PROJECT-integration-{stream}'
+ name: 'PROJECT_SHORTNAME-integration-{stream}'
disabled: DISABLED
# Job template for ODL integration verify jobs
- job-template:
- name: 'PROJECT-merge-{stream}'
+ name: 'PROJECT_SHORTNAME-merge-{stream}'
# Job template for ODL merge jobs
#
triggers:
- gerrit-trigger-patch-merged:
- name: 'PROJECT'
+ name: 'PROJECT_PATH'
branch: '{branch}'
prebuilders:
publishers:
ARCHIVE_ARTIFACTS
- email-notification:
- email-prefix: '[PROJECT]'
+ email-prefix: '[PROJECT_SHORTNAME]'
- maven-deploy:
id: ''
unique-version: true
# ODL Releng build templates
- project:
- name: PROJECT
+ name: PROJECT_SHORTNAME
jobs:
JOB_TEMPLATES
# stream: release stream (eg. stable-lithium or beryllium)
# branch: git branch (eg. stable/lithium or master)
STREAMS
- project: 'PROJECT'
+ project: 'PROJECT_PATH'
# For the Job templates below replace instances of:
-# PROJECT with your project name (eg. controller)
+# 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: 'PROJECT-sonar'
+ name: 'PROJECT_SHORTNAME-sonar'
project-type: maven
node: dynamic_verify
triggers:
- timed: 'H H * * *'
- gerrit-trigger-patch-sonar:
- name: 'PROJECT'
+ name: 'PROJECT_PATH'
prebuilders:
- wipe-org-opendaylight-repo
language: 'java'
maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
- email-notification:
- email-prefix: '[PROJECT]'
+ email-prefix: '[PROJECT_SHORTNAME]'
- jacoco-report
- job-template:
- name: 'PROJECT-verify-{stream}'
+ name: 'PROJECT_SHORTNAME-verify-{stream}'
# Job template for ODL verify jobs
#
triggers:
- gerrit-trigger-patch-submitted:
- name: 'PROJECT'
+ name: 'PROJECT_PATH'
branch: '{branch}'
builders:
publishers:
- findbugs
- email-notification:
- email-prefix: '[PROJECT]'
+ email-prefix: '[PROJECT_SHORTNAME]'
- jacoco-report
for line in infile:
if not re.match("\s*#", line):
line = re.sub("JOB_TEMPLATES", job_templates_yaml, line)
- line = re.sub("PROJECT", project.project, line)
+ line = re.sub("PROJECT_SHORTNAME", project.project, line)
+ line = re.sub("PROJECT_PATH", project.path, line)
line = re.sub("JENKINS_SETTINGS", jenkins_settings, line)
line = re.sub("DISABLED", disabled, line)
line = re.sub("STREAMS", str_streams, line)
class Project:
+ """Represents a Gerrit Project
+
+ Attributes:
+ path(str): The full Gerrit path to a project
+ meta_project(str): The top-level project name in Gerrit
+ project(str): The subproject name or project shortname
+ """
+
def __init__(self, project):
+ self.path = project
self.meta_project = None
self.project = project