# A shared queue definition for all Gerrit-related projects.  Allow
# circular dependencies here so that we get intuitive behavior for
# submit-whole-topic.
- queue:
    name: gerrit
    allow-circular-dependencies: true

# Make every project in our Gerrit share a merge queue.
- project:
    name: "^gerrit.googlesource.com/.*$"
    queue: gerrit

# We have no test jobs for this project, so run 'noop' so that we can
# still report Zuul syntax errors, etc.
- project:
    name: zuul/config
    check:
      jobs:
        - noop

# Core plugins

- project:
    name: plugins/codemirror-editor
    check:
      jobs:
        - gerrit-plugin-build

- project:
    name: plugins/commit-message-length-validator
    check:
      jobs:
        - gerrit-plugin-build

- project:
    name: plugins/delete-project
    check:
      jobs:
        - gerrit-plugin-build

- project:
    name: plugins/download-commands
    check:
      jobs:
        - gerrit-plugin-build

- project:
    name: plugins/gitiles
    check:
      jobs:
        - gerrit-plugin-build

- project:
    name: plugins/hooks
    check:
      jobs:
        - gerrit-plugin-build

- project:
    name: plugins/replication
    check:
      jobs:
        - gerrit-plugin-build

- project:
    name: plugins/reviewnotes
    check:
      jobs:
        - gerrit-plugin-build

- project:
    name: plugins/singleusergroup
    check:
      jobs:
        - gerrit-plugin-build

- project:
    name: plugins/webhooks
    check:
      jobs:
        - gerrit-plugin-build

# Other plugins:

- project-template:
    name: non-core-plugin
    description: |
      Build the plugin in check, and also build and publish it after
      every merged commit.
    check:
      jobs:
        - gerrit-plugin-build
    post:
      jobs:
        - gerrit-plugin-build
        - gerrit-plugin-publish:
            dependencies:
              - gerrit-plugin-build

- project:
    name: plugins/admin-console
    templates:
      - non-core-plugin

- project:
    name: plugins/autosubmitter
    templates:
      - non-core-plugin

- project:
    name: plugins/avatars-external
    templates:
      - non-core-plugin

- project:
    name: plugins/avatars-gravatar
    templates:
      - non-core-plugin

- project:
    name: plugins/batch
    templates:
      - non-core-plugin

- project:
    name: plugins/branch-network
    templates:
      - non-core-plugin

- project:
    name: plugins/changemessage
    templates:
      - non-core-plugin

- project:
    name: plugins/checks
    templates:
      - non-core-plugin

- project:
    name: plugins/code-owners
    templates:
      - non-core-plugin

- project:
    name: plugins/events-log
    templates:
      - non-core-plugin

- project:
    name: plugins/gc-conductor
    templates:
      - non-core-plugin

- project:
    name: plugins/go-import
    templates:
      - non-core-plugin

- project:
    name: plugins/healthcheck
    templates:
      - non-core-plugin

- project:
    name: plugins/heartbeat
    templates:
      - non-core-plugin

- project:
    name: plugins/imagare
    templates:
      - non-core-plugin

- project:
    name: plugins/image-diff
    templates:
      - non-core-plugin

- project:
    name: plugins/its-base
    templates:
      - non-core-plugin

- project:
    name: plugins/javamelody
    templates:
      - non-core-plugin

- project:
    name: plugins/lfs
    templates:
      - non-core-plugin

- project:
    name: plugins/log-level
    templates:
      - non-core-plugin

- project:
    name: plugins/menuextender
    templates:
      - non-core-plugin

- project:
    name: plugins/messageoftheday
    templates:
      - non-core-plugin

- project:
    name: plugins/metrics-reporter-cloudwatch
    templates:
      - non-core-plugin

- project:
    name: plugins/metrics-reporter-jmx
    templates:
      - non-core-plugin

- project:
    name: plugins/metrics-reporter-graphite
    templates:
      - non-core-plugin

- project:
    name: plugins/metrics-reporter-prometheus
    templates:
      - non-core-plugin

- project:
    name: plugins/oauth
    templates:
      - non-core-plugin

- project:
    name: plugins/project-group-structure
    templates:
      - non-core-plugin

- project:
    name: plugins/quota
    templates:
      - non-core-plugin

- project:
    name: plugins/rabbitmq
    templates:
      - non-core-plugin

- project:
    name: plugins/rate-limiter
    templates:
      - non-core-plugin

- project:
    name: plugins/readonly
    templates:
      - non-core-plugin

- project:
    name: plugins/ref-protection
    templates:
      - non-core-plugin

- project:
    name: plugins/rename-project
    templates:
      - non-core-plugin

- project:
    name: plugins/reviewers
    templates:
      - non-core-plugin

- project:
    name: plugins/saml
    templates:
      - non-core-plugin

- project:
    name: plugins/server-config
    templates:
      - non-core-plugin

- project:
    name: plugins/serviceuser
    templates:
      - non-core-plugin

- project:
    name: plugins/slack-integration
    templates:
      - non-core-plugin

- project:
    name: plugins/uploadvalidator
    templates:
      - non-core-plugin

- project:
    name: plugins/zuul
    templates:
      - non-core-plugin

- project:
    name: plugins/zuul-results-summary
    templates:
      - non-core-plugin

# Other projects

- project:
    name: gitiles
    description: |
      Build gitiles.
    check:
      jobs:
        - gitiles-build
