- scm:
    name: doc-scm
    scm:
      - git:
          url: 'https://gerrit.onap.org/r/{project}'
          refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
          branches:
            - '{ref}'

- trigger:
    name: doc-rules-patchset-created
    triggers:
      - gerrit:
          trigger-on:
            - patchset-created-event
            - comment-added-contains-event:
                comment-contains-value: recheck
            - comment-added-contains-event:
                comment-contains-value: reverify
          server-name: 'Primary'
          projects:
            - project-compare-type: 'ANT'
              project-pattern: '**'
              branches:
                - branch-compare-type: 'ANT'
                  branch-pattern: '**/*'
                - branch-compare-type: 'ANT'
                  branch-pattern: 'refs/tags/**'

- builder:
    name: doc-rules
    builders:
      - shell: |
          #!/bin/bash
          . /lib/lsb/init-functions || exit 0
          exitstatus="0"
          warning="0"
          log_success_msg "Starting additional checks related to documentation."
          log_success_msg "See https://git.onap.org/doc/doc-best-practice for example config files (master branch)."
          log_success_msg "Modify example config files if you like to use them in a release branch."
          log_success_msg "See https://wiki.onap.org/x/w4IEBw for the detailed procedure #02."
          log_success_msg "In case of questions please contact the ONAP documentation team."
          if [ ! -d docs ] ; then
            log_success_msg "Directory docs not found. Skipping further checks."
            exit 0
          fi
          for i in docs/index.rst docs/conf.py docs/requirements-docs.txt docs/_static/css/ribbon.css; do
            if [ ! -f $i ] ; then
              log_failure_msg "$i missing. Please add it or remove the full docs directory."
              exitstatus="1"
            else
              log_success_msg "$i found."
            fi
          done
          for i in docs/conf.yaml; do
            if [ -f $i ] ; then
              log_failure_msg "$i found. It is no longer required. Please remove it."
              exitstatus="1"
            else
              log_success_msg "$i not found."
            fi
          done
          filename="docs/tox.ini"
          if [ ! -f $filename ] ; then
            log_failure_msg "$filename missing. Please add it or remove the full docs directory."
            exitstatus="1"
          else
            log_success_msg "$filename found."
            sphinxbuild_detected=0
            linenumber=0
            while IFS="" read -r line || [ -n "$line" ] ; do
              linenumber=$((linenumber+1))
              if echo $line | grep -q '^[ \t]*sphinx-build.*' ; then
                sphinxbuild_detected="1"
                if echo $line | grep -q '^[ \t]*sphinx-build.* -W ' ; then
                  log_success_msg "sphinx-build option '-W' used in $filename, line $linenumber."
                elif echo $line | grep -q ' \-b spelling ' ; then
                  log_warning_msg "sphinx-build option '-W' not used for spellcheck in $filename, line $linenumber."
                  warning="1"
                else
                  log_failure_msg "sphinx-build option '-W' missing in $filename, line $linenumber. Please add it."
                  exitstatus="1"
                fi
              fi
            done < $filename
            if [ "$sphinxbuild_detected" = "0" ]; then
              log_failure_msg "Sphinx-build command(s) missing in $filename. Please add it."
              exitstatus="1"
            fi
            unset sphinxbuild_detected
            unset linenumber
          fi
          unset filename
          filename="docs/_static/css/ribbon.css"
          if [ ! -f $filename ]; then
            log_failure_msg "$filename missing. Please add it or remove the full docs directory."
            exitstatus="1"
          else
            log_success_msg "$filename found."
            cssmaxwidth=$(grep '^[ \t]*max-width:' $filename | sed -e 's/^[ \t]*//' | sed -e 's/;$//');
            if [[ ! $cssmaxwidth == *"max-width: 800px"* ]]; then
              log_failure_msg "Setting 'max-width: 800px' missing in $filename. Please add it."
              exitstatus="1"
            else
              log_success_msg "Setting 'max-width: 800px' found in $filename."
            fi
            unset cssmaxwidth
          fi
          unset filename
          if [ "$exitstatus" = "0" ]; then
            if [ "$warning" = "0" ]; then
              log_success_msg "Congratulations! No documentation problem(s) detected."
            else
              log_warning_msg "No major documentation problem(s) detected but there are warnings!"
            fi
          else
            log_failure_msg "Please fix the detected documentation problem(s)!"
          fi
          exit $exitstatus

- job-template:
    name: doc-rules
    node: ubuntu1804-docker-8c-8g
    triggers:
      - doc-rules-patchset-created
    scm:
      - doc-scm:
          ref: $GERRIT_REFSPEC
          project: $GERRIT_PROJECT
    builders:
      - doc-rules

- project:
    name: 'doc-rules'
    jobs:
      - 'doc-rules'
