<?xml version="1.0"?>

<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one
  ~ or more contributor license agreements.  See the NOTICE file
  ~ distributed with this work for additional information
  ~ regarding copyright ownership.  The ASF licenses this file
  ~ to you under the Apache License, Version 2.0 (the
  ~ "License"); you may not use this file except in compliance
  ~ with the License.  You may obtain a copy of the License at
  ~
  ~     http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing,
  ~ software distributed under the License is distributed on an
  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  ~ KIND, either express or implied.  See the License for the
  ~ specific language governing permissions and limitations
  ~ under the License.
-->

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <mirrors>
    <mirror>
      <id>mirror-ca</id>
      <url>file:./target/null-repo</url>
      <mirrorOf>*,!test</mirrorOf>
    </mirror>
    <mirror>
      <id>mirror-cb</id>
      <url>file:./target/null-repo</url>
      <mirrorOf>foo,yat</mirrorOf>
    </mirror>
    <mirror>
      <id>mirror-cc</id>
      <url>file:./src/test/repo</url>
      <mirrorOf>yat</mirrorOf>
    </mirror>
    <mirror>
      <id>mirror-cd</id>
      <url>file:./src/test/repo</url>
      <mirrorOf>dummy,test</mirrorOf>
    </mirror>
  </mirrors>
</settings>