<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2012, 2016 Eclipse Foundation and others.
  All rights reserved. This program and the accompanying materials
  are made available under the terms of the Eclipse Distribution License v1.0
  which accompanies this distribution, and is available at
  http://www.eclipse.org/org/documents/edl-v10.php
 
  Contributors:
     Igor Fedorenko - initial implementation
-->
<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>eclipse.jdt.core</artifactId>
    <groupId>eclipse.jdt.core</groupId>
    <version>4.7.0-SNAPSHOT</version>
  </parent>
  <groupId>org.eclipse.jdt</groupId>
  <artifactId>org.eclipse.jdt.compiler.tool</artifactId>
  <version>1.2.0-SNAPSHOT</version>
  <packaging>eclipse-plugin</packaging>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-antrun-plugin</artifactId>
		<configuration>
			<archive>
				<addMavenDescriptor>false</addMavenDescriptor>
			</archive>
		</configuration>
        <executions>
          <execution>
            <id>update-ecj</id>
            <phase>process-classes</phase>
            <configuration>
				<archive>
					<addMavenDescriptor>false</addMavenDescriptor>
				</archive>
              <target>

                <path id="ecj.id">
                  <fileset dir="${basedir}/../org.eclipse.jdt.core/target/">
                    <include name="org.eclipse.jdt.core-*-SNAPSHOT-batch-compiler.jar"/>
                  </fileset>
                </path> 

                <property name="ecj.file" refid="ecj.id"/>

                <echo message="UPDATE ${ecj.file}"/>

                <property name="unjarDestBin" value="${basedir}/tempbin"/>
                <mkdir dir="${unjarDestBin}"/>

                <unjar src="${ecj.file}" dest="${unjarDestBin}"/>

                <zip destfile="${ecj.file}" update="true">
                  <!-- old stuff -->
                  <fileset dir="${unjarDestBin}"/>	
                  <!-- new stuff: this plugin classes are here -->
                  <fileset dir="${basedir}/target/classes">
                    <include name="**/*"/>
                  </fileset>
                  <fileset dir="${basedir}/../org.eclipse.jdt.core/target/jdtCompilerAdapter.jar-classes">
                    <include name="**/*"/>
                  </fileset>
                </zip>
                <delete dir="${unjarDestBin}" failonerror="false"/>

                <!-- no source bundle for ecj, as jdt.core pom.xml does not generate it -->

              </target>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
