<?xml version="1.0" encoding="UTF-8"?>
<!--
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.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.apache.maven.mercury</groupId>
    <artifactId>mercury-repo</artifactId>
    <version>1.0-alpha-5</version>
  </parent>
  
  <groupId>org.apache.maven.mercury</groupId>
  <artifactId>mercury-repo-cache-fs</artifactId>

  <name>Mercury Repository FS Cache</name>

  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.modello</groupId>
        <artifactId>modello-maven-plugin</artifactId>
        <!--
        <version>1.0-alpha-17</version>
        -->
        <configuration>
          <version>1.0.0</version>
          <models>
            <model>src/main/mdo/cached-metadata.mdo</model>
          </models>
        </configuration>
        <executions>
          <execution>
            <id>standard</id>
            <goals>
              <goal>java</goal>
              <goal>xpp3-reader</goal>
              <goal>xpp3-writer</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  

  <dependencies>
    <dependency>
      <groupId>org.apache.maven.mercury</groupId>
      <artifactId>mercury-repo-api</artifactId>
    </dependency>
  </dependencies>

</project>