# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
  - package-ecosystem: "maven" # See documentation for possible values
    directory: "/full" # Location of package manifests
    schedule:
      interval: "daily"
    ignore:
      # Jetty >= 10 has API changes
      - dependency-name: "org.eclipse.jetty:jetty-server"
        versions:
          - ">= 10.0.0"
      - dependency-name: "org.eclipse.jetty:jetty-servlet"
        versions:
          - ">= 10.0.0"
      - dependency-name: "org.eclipse.jetty:jetty-webapp"
        versions:
          - ">= 10.0.0"
      - dependency-name: "com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider"
        versions:
          - ">= 2.13.0"
      - dependency-name: "org.hibernate:hibernate-*"
        versions:
          - ">= 6.0.0"
      - dependency-name: "com.github.gwenn:sqlite-dialect"
        versions:
          - "> 0.1.0"
      # Spring 6 and Jersey 3.1 require Java >= 17
      - dependency-name: "org.springframework*"
        versions:
          - ">=6"
      - dependency-name: "org.glassfish.jersey.*"
        versions:
          - ">=3"
    open-pull-requests-limit: 50
