# 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/plugin-manager
    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/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
