<?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:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://maven.apache.org/POM/4.0.0">
  <parent>
    <artifactId>ClassLibrary1-parent</artifactId>
    <groupId>npanday.ClassLibrary1</groupId>
    <version>1.0</version>
    <relativePath>..\pom.xml</relativePath>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>ClassLibrary1</artifactId>
  <packaging>library</packaging>
  <name>npanday.ClassLibrary1 : ClassLibrary1</name>
  <build>
    <sourceDirectory>./</sourceDirectory>
    <plugins>
      <plugin>
        <groupId>npanday.plugin</groupId>
        <artifactId>maven-compile-plugin</artifactId>
        <extensions>true</extensions>
        <configuration>
          <frameworkVersion>3.5</frameworkVersion>
          <includeSources>
            <includeSource>Class1.cs</includeSource>
            <includeSource>Properties\AssemblyInfo.cs</includeSource>
          </includeSources>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>