From ffb33f4169b30e85466598c4ec60fafeee4a2cb2 Mon Sep 17 00:00:00 2001
From: Andreas Jaeger <aj@suse.de>
Date: Sun, 8 Sep 2013 14:53:59 +0200
Subject: [PATCH] Use first template for manual build jobs

This patch creates a first manual template and uses it everywhere
as appropriate.

Change-Id: Idc194ea4ec0762dce94c491e9571bce0b324c4f3
---
 .../config/manuals-jobs.yaml                  |  30 +++
 .../jenkins_job_builder/config/manuals.yaml   | 242 ------------------
 .../jenkins_job_builder/config/projects.yaml  |  15 ++
 .../openstack_project/files/zuul/layout.yaml  |   8 +-
 4 files changed, 49 insertions(+), 246 deletions(-)
 create mode 100644 modules/openstack_project/files/jenkins_job_builder/config/manuals-jobs.yaml

diff --git a/modules/openstack_project/files/jenkins_job_builder/config/manuals-jobs.yaml b/modules/openstack_project/files/jenkins_job_builder/config/manuals-jobs.yaml
new file mode 100644
index 0000000000..0c5ee3ad18
--- /dev/null
+++ b/modules/openstack_project/files/jenkins_job_builder/config/manuals-jobs.yaml
@@ -0,0 +1,30 @@
+- job-template:
+    name: 'openstack-{manual}'
+    project-type: maven
+    node: precise
+    concurrent: false
+
+    prebuilders:
+      - gerrit-git-prep
+
+    properties:
+      - inject:
+          script-file: /usr/local/jenkins/slave_scripts/docbook-properties.sh
+          properties-file: gerrit-doc.properties
+
+    maven:
+      maven-name: Maven3
+      root-module:
+        group-id: org.openstack.docs
+        artifact-id: openstack-guide
+      root-pom: doc/{manual}/pom.xml
+      goals: '-Drelease.path.name=${{DOC_RELEASE_PATH}} -Dcomments.enabled=${{DOC_COMMENTS_ENABLED}} clean generate-sources -B'
+
+    publishers:
+      - console-log
+      - ftp:
+          site: docs.openstack.org
+          source: 'doc/{manual}/target/docbkx/webhelp/**'
+          target: ''
+          remove-prefix: 'doc/{manual}/target/docbkx/webhelp/'
+          excludes: '**/*.xml,**/null*'
diff --git a/modules/openstack_project/files/jenkins_job_builder/config/manuals.yaml b/modules/openstack_project/files/jenkins_job_builder/config/manuals.yaml
index 63db14d105..7c274300a0 100644
--- a/modules/openstack_project/files/jenkins_job_builder/config/manuals.yaml
+++ b/modules/openstack_project/files/jenkins_job_builder/config/manuals.yaml
@@ -35,96 +35,6 @@
     publishers:
       - console-log
 
-# in zuul/layout.yaml specified to only run against master branch
-- job:
-    name: openstack-user-guide
-    project-type: maven
-    node: precise
-
-    prebuilders:
-      - gerrit-git-prep
-
-    maven:
-      maven-name: Maven3
-      root-module:
-        group-id: org.openstack.docs
-        artifact-id: openstack-guide
-      root-pom: doc/user-guide/pom.xml
-      goals: 'clean generate-sources -B'
-
-    publishers:
-      - console-log
-      - ftp:
-          site: docs.openstack.org
-          source: 'doc/user-guide/target/docbkx/webhelp/user-guide/**'
-          target: ''
-          remove-prefix: 'doc/user-guide/target/docbkx/webhelp/'
-          excludes: '**/*.xml,**/null*'
-
-
-- job:
-    name: openstack-admin-guide-cloud
-    project-type: maven
-    concurrent: false
-    node: precise
-
-    prebuilders:
-      - gerrit-git-prep
-
-    properties:
-      - inject:
-          script-file: /usr/local/jenkins/slave_scripts/docbook-properties.sh
-          properties-file: gerrit-doc.properties
-
-    maven:
-      maven-name: Maven3
-      root-module:
-        group-id: org.openstack.docs
-        artifact-id: openstack-guide
-      root-pom: doc/admin-guide-cloud/pom.xml
-      goals: '-Dcomments.enabled=${DOC_COMMENTS_ENABLED} clean generate-sources -B'
-
-    publishers:
-      - console-log
-      - ftp:
-          site: docs.openstack.org
-          source: 'doc/admin-guide-cloud/target/docbkx/webhelp/**'
-          target: '/'
-          remove-prefix: 'doc/admin-guide-cloud/target/docbkx/webhelp/'
-          excludes: '**/*.xml,**/null*'
-
-# in zuul/layout.yaml specified to only run against master
-- job:
-    name: openstack-user-guide-admin
-    project-type: maven
-    concurrent: false
-    node: precise
-
-    prebuilders:
-      - gerrit-git-prep
-
-    properties:
-      - inject:
-          script-file: /usr/local/jenkins/slave_scripts/docbook-properties.sh
-          properties-file: gerrit-doc.properties
-
-    maven:
-      maven-name: Maven3
-      root-module:
-        group-id: org.openstack.docs
-        artifact-id: openstack-guide
-      root-pom: doc/user-guide-admin/pom.xml
-      goals: '-Dcomments.enabled=${DOC_COMMENTS_ENABLED} clean generate-sources -B'
-
-    publishers:
-      - console-log
-      - ftp:
-          site: docs.openstack.org
-          source: 'doc/user-guide-admin/target/docbkx/webhelp/**'
-          target: ''
-          remove-prefix: 'doc/user-guide-admin/target/docbkx/webhelp/'
-          excludes: '**/*.xml,**/null*'
-
 # in zuul/layout.yaml specified to only run against stable/folsom and grizzly
 # branches.
 - job:
@@ -223,95 +133,6 @@
           remove-prefix: 'doc/src/docbkx/openstack-block-storage-admin/target/docbkx/webhelp/'
           excludes: '**/*.xml,**/null*'
 
-- job:
-    name: openstack-glossary
-    project-type: maven
-    node: precise
-
-    prebuilders:
-      - gerrit-git-prep
-
-    maven:
-      maven-name: Maven3
-      root-module:
-        group-id: org.openstack.docs
-        artifact-id: openstack-guide
-      root-pom: doc/glossary/pom.xml
-      goals: 'clean generate-sources -B'
-
-    publishers:
-      - console-log
-      - ftp:
-          site: docs.openstack.org
-          source: 'doc/glossary/target/docbkx/webhelp/**'
-          target: '/'
-          remove-prefix: 'doc/glossary/target/docbkx/webhelp/'
-          excludes: '**/*.xml,**/null*'
-
-# in zuul/layout.yaml specified to only run against master branch
-- job:
-    name: openstack-image-guide
-    project-type: maven
-    concurrent: false
-    node: precise
-
-    prebuilders:
-      - gerrit-git-prep
-
-    properties:
-      - inject:
-          script-file: /usr/local/jenkins/slave_scripts/docbook-properties.sh
-          properties-file: gerrit-doc.properties
-
-    maven:
-      maven-name: Maven3
-      root-module:
-        group-id: org.openstack.docs
-        artifact-id: openstack-guide
-      root-pom: doc/image-guide/pom.xml
-      goals: '-Drelease.path.name=${DOC_RELEASE_PATH} -Dcomments.enabled=${DOC_COMMENTS_ENABLED} clean generate-sources -B'
-
-    publishers:
-      - console-log
-      - ftp:
-          site: docs.openstack.org
-          source: 'doc/image-guide/target/docbkx/webhelp/**'
-          target: '/'
-          remove-prefix: 'doc/image-guide/target/docbkx/webhelp/'
-          excludes: '**/*.xml,**/null*'
-
-# in zuul/layout.yaml specified to only run against master branch
-- job:
-    name: openstack-config-ref
-    project-type: maven
-    concurrent: false
-    node: precise
-
-    prebuilders:
-      - gerrit-git-prep
-
-    properties:
-      - inject:
-          script-file: /usr/local/jenkins/slave_scripts/docbook-properties.sh
-          properties-file: gerrit-doc.properties
-
-    maven:
-      maven-name: Maven3
-      root-module:
-        group-id: org.openstack.docs
-        artifact-id: openstack-guide
-      root-pom: doc/config-reference/pom.xml
-      goals: '-Drelease.path.name=${DOC_RELEASE_PATH} -Dcomments.enabled=${DOC_COMMENTS_ENABLED} clean generate-sources -B'
-
-    publishers:
-      - console-log-post
-      - ftp:
-          site: docs.openstack.org
-          source: 'doc/config-reference/target/docbkx/webhelp/**'
-          target: '/'
-          remove-prefix: 'doc/config-reference/target/docbkx/webhelp/'
-          excludes: '**/*.xml,**/null*'
-
 # in zuul/layout.yaml specified to only run against stable/folsom and grizzly
 # branches.
 - job:
@@ -345,38 +166,6 @@
           remove-prefix: 'doc/src/docbkx/openstack-compute-admin/target/docbkx/webhelp/'
           excludes: '**/*.xml,**/null*'
 
-# in zuul/layout.yaml specified to only run against master
-- job:
-    name: openstack-admin-manual-network
-    project-type: maven
-    concurrent: false
-    node: precise
-
-    prebuilders:
-      - gerrit-git-prep
-
-    properties:
-      - inject:
-          script-file: /usr/local/jenkins/slave_scripts/docbook-properties.sh
-          properties-file: gerrit-doc.properties
-
-    maven:
-      maven-name: Maven3
-      root-module:
-        group-id: org.openstack.docs
-        artifact-id: openstack-guide
-      root-pom: doc/admin-guide-network/pom.xml
-      goals: '-Drelease.path.name=${DOC_RELEASE_PATH} -Dcomments.enabled=${DOC_COMMENTS_ENABLED} clean generate-sources -B'
-
-    publishers:
-      - console-log
-      - ftp:
-          site: docs.openstack.org
-          source: 'doc/admin-guide-network/target/docbkx/webhelp/**'
-          target: '/'
-          remove-prefix: 'doc/admin-guide-network/target/docbkx/webhelp/'
-          excludes: '**/*.xml,**/null*'
-
 # in zuul/layout.yaml specified to only run against stable/folsom and grizzly
 # branches.
 - job:
@@ -660,37 +449,6 @@
           remove-prefix: 'doc/openstack-ops/target/docbkx/webhelp/'
           excludes: '**/*.xml,**/null*'
 
-- job:
-    name: openstack-security-guide
-    project-type: maven
-    concurrent: false
-    node: precise
-
-    properties:
-      - inject:
-          script-file: /usr/local/jenkins/slave_scripts/docbook-properties.sh
-          properties-file: gerrit-doc.properties
-
-    prebuilders:
-      - gerrit-git-prep
-
-    maven:
-      maven-name: Maven3
-      root-module:
-        group-id: org.openstack.docs
-        artifact-id: openstack-guide
-      root-pom: doc/security-guide/pom.xml
-      goals: '-Drelease.path.name=${DOC_RELEASE_PATH} -Dcomments.enabled=${DOC_COMMENTS_ENABLED} clean generate-sources -B'
-
-    publishers:
-      - console-log
-      - ftp:
-          site: docs.openstack.org
-          source: 'doc/security-guide/target/docbkx/webhelp/**'
-          target: '/'
-          remove-prefix: 'doc/security-guide/target/docbkx/webhelp/'
-          excludes: '**/*.xml,**/null*'
-
 - job:
     name: openstack-training
     project-type: maven
diff --git a/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml b/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml
index eecc0c472c..5d7fb35cbe 100644
--- a/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml
+++ b/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml
@@ -1336,3 +1336,18 @@
 
     jobs:
       - python-jobs
+
+- project:
+    name: manuals
+    manual:
+      - admin-guide-cloud
+      - admin-guide-network
+      - config-reference
+      - glossary
+      - image-guide
+      - security-guide
+      - user-guide
+      - user-guide-admin
+
+    jobs:
+      - 'openstack-{manual}'
diff --git a/modules/openstack_project/files/zuul/layout.yaml b/modules/openstack_project/files/zuul/layout.yaml
index 7580bab42a..5fccf00b2f 100644
--- a/modules/openstack_project/files/zuul/layout.yaml
+++ b/modules/openstack_project/files/zuul/layout.yaml
@@ -194,9 +194,9 @@ jobs:
   - name: openstack-training
     branch: ^master$
 # Documentation targets for master and future stable branches:
-  - name: openstack-admin-manual-network
+  - name: openstack-admin-guide-network
     branch: ^(?!stable/(folsom|grizzly)).*$
-  - name: openstack-config-ref
+  - name: openstack-config-reference
     branch: ^(?!stable/(folsom|grizzly)).*$
   - name: openstack-install-deploy-guide-fedora
     branch: ^(?!stable/(folsom|grizzly)).*$
@@ -1930,15 +1930,15 @@ projects:
       - gate-openstack-manuals-validate
     post:
       - openstack-admin-guide-cloud
+      - openstack-admin-guide-network
       - openstack-admin-manual-compute-old
       - openstack-admin-manual-netconn-old
       - openstack-admin-manual-block-old
       - openstack-basic-install-fedora-old
       - openstack-basic-install-ubuntu-old
-      - openstack-admin-manual-network
       - openstack-glossary
       - openstack-image-guide
-      - openstack-config-ref
+      - openstack-config-reference
       - openstack-docs-site
       - openstack-ha-guide
       - openstack-install-deploy-guide-fedora