--- /dev/null
+---
+# Autorelease build jobs
+- job-template:
+ name: 'docs-update-{stream}-{project-name}'
+
+ ######################
+ # Default parameters #
+ ######################
+ disable-job: 'false'
+
+ #####################
+ # Job Configuration #
+ #####################
+
+ project-type: freestyle
+ node: centos7-builder-2c-2g
+ disabled: '{disable-job}'
+
+ properties:
+ - lf-infra-properties:
+ build-days-to-keep: 7
+
+ parameters:
+ - lf-infra-parameters:
+ project: '{project}'
+ project-name: '{project-name}'
+ branch: '{branch}'
+ stream: '{stream}'
+ lftools-version: '{lftools-version}'
+ - string:
+ name: RELEASE_NAME
+ description: 'The next release name eg Magnesium'
+ - bool:
+ name: PUBLISH
+ default: false
+ description: 'The flag to publish or not'
+
+ scm:
+ - lf-infra-gerrit-scm:
+ git-url: '$GIT_URL/$GERRIT_PROJECT'
+ branch: '$GERRIT_BRANCH'
+ refspec: '$GERRIT_REFSPEC'
+ jenkins-ssh-credential: opendaylight-jenkins-ssh
+ submodule-disable: false
+ submodule-recursive: true
+ submodule-timeout: 10
+ choosing-strategy: default
+
+ wrappers:
+ - lf-infra-wrappers:
+ build-timeout: 10
+ jenkins-ssh-credential: opendaylight-jenkins-ssh
+
+ builders:
+ - docs-update
+
+ publishers:
+ - lf-infra-publish
--- /dev/null
+#!/bin/bash -l
+# SPDX-License-Identifier: EPL-1.0
+##############################################################################
+# Copyright (c) 2019 The Linux Foundation and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+##############################################################################
+
+update_file_usage () {
+ echo "Usage: $0 <RELEASE_NAME> <PUBLISH>"
+ echo ""
+ echo " RELEASE_NAME: The RELEASE_NAME e.g Magnesium ."
+ echo " PUBLISH: Set to true to PUBLISH"
+ echo ""
+}
+while getopts :h: opts; do
+ case "$opts" in
+ h)
+ update_file_usage
+ exit 0
+ ;;
+ [?])
+ update_file_usage
+ exit 1
+ ;;
+ esac
+done
+if [ "$GERRIT_PROJECT" == "docs" ]; then
+ RELEASE_NAME=$RELEASE_NAME
+ Next_release="$(tr '[:lower:]' '[:upper:]' <<< "${RELEASE_NAME:0:1}")${RELEASE_NAME:1}" # Captilize Version Name
+ release_name=$STREAM
+ Release_version="$(tr '[:lower:]' '[:upper:]' <<< "${release_name:0:1}")${release_name:1}" # Captilize Version Name
+ PUBLISH=$PUBLISH
+ stable_release_str=stable-$release_name
+ echo "Start Version Updating in docs project"
+ echo "RELEASE_NAME : $Next_release"
+ if [ "$GERRIT_BRANCH" == "master" ]
+ then
+ # ####################################
+ # # Changes in the master branch #
+ # ####################################
+ git checkout master
+ odl_release_str=odl-$release_name
+ next_odl_release_str=odl-$RELEASE_NAME
+ #change the odl-<release> linking to stable-<release> to odl-<next_release> linking to latest
+ sed -i "s/$odl_release_str/$next_odl_release_str/g;" docs/conf.py
+ sed -i "s/$stable_release_str/latest/g;" docs/conf.py
+
+ # Get the value of line with odl-<release> linking to stable-<release>
+ # for appending it to the line next to odl-<next_release> linking to latest
+ line_number_nr=$(sed -n "/$next_odl_release_str/=" docs/conf.py)
+ pattern=$line_number_nr"p"
+ odl_latest="sed -n $pattern docs/conf.py"
+ odl_latest_line_value=$($odl_latest)
+ append_odl_latest=$(echo "$odl_latest_line_value" | sed "s/latest/$stable_release_str/g; s/$RELEASE_NAME/$release_name/g" )
+ echo "Making changes in Master Branch"
+ # Update docs/conf.py
+ # sed -i "$line_number_nr'i'\
+ # $append_odl_latest" docs/conf.py
+ sed -i "$line_number_nr a $append_odl_latest" docs/conf.py
+ # Updating version in docs/conf.yaml
+ sed -i "s/$Release_version/$Next_release/g" docs/conf.yaml
+ # Updating version in docs/javadoc.rst
+ sed -i "s/$release_name/$RELEASE_NAME/g" docs/javadoc.rst
+ if [ "$PUBLISH" == "true" ]
+ then
+ git add docs/conf.py docs/conf.yaml docs/javadoc.rst
+ echo "Update configuratiom files in master branch"
+ git commit -s -m "Update configuratiom files in master branch
+
+ In docs/conf.py , add odl-$RELEASE_NAME pointing to latest
+ and change odl-$release_name to point to stable-$release_name.
+ In docs/conf.yaml
+ Change version from $Release_version to $Next_release.
+ In docs/javadoc.rst
+ Change links from $release_name to $RELEASE_NAME"
+ git review
+ fi
+ else
+ ####################################
+ # Changes in the new stable branch #
+ ####################################
+ echo "Making changes in $GERRIT_BRANCH"
+
+ # #Updating links in docs/conf.py
+ sed -i "s/latest/$stable_release_str/g" docs/conf.py
+ if [ "$PUBLISH" == "true" ]
+ then
+ git add docs/conf.py
+ echo "Update docs/conf.py links from latest to $stable_release_str"
+ git commit -s -m "Update docs/conf.py links from latest to $stable_release_str
+
+ Should be $stable_release_str on ${GERRIT_BRANCH}."
+ git review
+ fi
+ fi
+fi
\ No newline at end of file
--- /dev/null
+#!/bin/bash
+# SPDX-License-Identifier: EPL-1.0
+##############################################################################
+# Copyright (c) 2019 The Linux Foundation and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+##############################################################################
+
+update_file_usage () {
+ echo "Usage: $0 <release_name> <PUBLISH>"
+ echo ""
+ echo " release_name: The release_name e.g Magnesium ."
+ echo " PUBLISH: Set to true to PUBLISH"
+ echo ""
+}
+while getopts :h: opts; do
+ case "$opts" in
+ h)
+ update_file_usage
+ exit 0
+ ;;
+ [?])
+ update_file_usage
+ exit 1
+ ;;
+ esac
+done
+if [ "$GERRIT_PROJECT" == "releng/autorelease" ]; then
+ # User input
+ RELEASE_NAME=$RELEASE_NAME
+ # Captilize Version Name
+ release_name="$(tr '[:lower:]' '[:upper:]' <<< "${RELEASE_NAME:0:1}")${RELEASE_NAME:1}"
+ echo "Start Version Updating in odl-projects"
+ echo "RELEASE_NAME : $release_name"
+ ################
+ # Start script #
+ ###############
+
+ git submodule update
+ #'|| true' for repo like serviceutils where docs/conf.yaml doesn't exist
+ command='sed -i ''"s/.*version.*/version: '"$release_name"'/"'' docs/conf.yaml || true'
+ git submodule foreach "git checkout $STREAM"
+ git submodule foreach "$command"
+ if [ "$PUBLISH" == "true" ]
+ then
+ echo "Update docs header to $release_name in $STREAM"
+ git submodule foreach "git add . || true"
+ git submodule foreach "git commit -s -m 'Update docs header to $release_name in $STREAM
+
+ Should be $release_name on $STREAM.' || true"
+ git submodule foreach "git review || true"
+ fi
+fi
\ No newline at end of file