<?xml version="1.0" encoding="UTF-8"?>
<!--
    Copyright (c) 2009, 2019 Xored Software Inc and others.
    All rights reserved. This program and the accompanying materials
    are made available under the terms of the Eclipse Public License v2.0
    which accompanies this distribution, and is available at
    https://www.eclipse.org/legal/epl-v20.html
     
    Contributors:
    	Xored Software Inc - initial API and implementation and/or initial documentation
 -->

<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <artifactId>tesla</artifactId>
    <groupId>org.eclipse.rcptt.tesla</groupId>
    <version>2.5.2-SNAPSHOT</version>
  </parent>
  <artifactId>org.eclipse.rcptt.tesla.recording.aspects.draw2d</artifactId>
  <packaging>eclipse-plugin</packaging>
  <dependencies>
    <dependency>
      <groupId>org.aspectj</groupId>
      <artifactId>aspectjrt</artifactId>
      <version>${aspectj_dep}</version>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>${tycho-groupid}</groupId>
        <artifactId>tycho-compiler-plugin</artifactId>
        <configuration>
          <excludeResources>
            <exludeResource>**/*.aj</exludeResource>
          </excludeResources>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>aspectj-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>compile</id>
            <configuration>
              <source>${ajJavaSource}</source>
              <target>${ajJavaTarget}</target>
              <complianceLevel>${ajJavaCompilance}</complianceLevel>
              <aspectDirectory>src</aspectDirectory>
              <Xlint>ignore</Xlint>
              <Xreweavable>true</Xreweavable>
              <deprecation>true</deprecation>
              <!--ajdtBuildDefFile>build-1-5.ajproperties</ajdtBuildDefFile-->
            </configuration>
            <goals>
              <goal>compile</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
