<?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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.apache.royale.compiler</groupId>
    <artifactId>royale-compiler-parent</artifactId>
    <version>0.9.12</version>
  </parent>

  <artifactId>compiler-externc</artifactId>
  <version>0.9.12</version>

  <name>Apache Royale: Compiler: Externc</name>
  <description>The Apache Royale Compiler Externs Compiler</description>

  <build>
    <plugins>
        <plugin>
            <groupId>org.apache.royale.compiler</groupId>
            <artifactId>compiler-build-tools</artifactId>
            <version>${compiler-build-tools.version}</version>
            <executions>
                <execution>
                    <id>unpack-closure-externs</id>
                    <phase>validate</phase>
                    <goals>
                        <goal>unpack-resources</goal>
                    </goals>
                    <configuration>
                        <resource>externs.zip</resource>
                    </configuration>
                </execution>
            </executions>
            <!--
             Dependency to the closure compiler externs artifact so
             the "unpack-resources" goal can find the externs.zip
             -->
            <dependencies>
                <dependency>
                    <groupId>com.google.javascript</groupId>
                    <artifactId>closure-compiler-externs</artifactId>
                    <version>v20181210</version>
                </dependency>
            </dependencies>
        </plugin>
        <!-- Download JavaScript from GitHub -->
        <plugin>
            <groupId>com.googlecode.maven-download-plugin</groupId>
            <artifactId>download-maven-plugin</artifactId>
            <executions>
                <execution>
                    <id>get-svg</id>
                    <phase>validate</phase>
                    <goals>
                        <goal>wget</goal>
                    </goals>
                    <configuration>
                        <url>https://raw.githubusercontent.com/royale-extras/closure-compiler/royale/contrib/externs/svg.js</url>
                        <outputFileName>svg.js</outputFileName>
                        <outputDirectory>${project.build.directory}/downloads</outputDirectory>
                        <skipCache>true</skipCache>
                    </configuration>
                </execution>
                <execution>
                    <id>get-es3</id>
                    <phase>validate</phase>
                    <goals>
                        <goal>wget</goal>
                    </goals>
                    <configuration>
                        <url>https://raw.githubusercontent.com/royale-extras/closure-compiler/royale/externs/es3.js</url>
                        <outputFileName>es3.js</outputFileName>
                        <outputDirectory>${project.build.directory}/downloads</outputDirectory>
                        <skipCache>true</skipCache>
                        <overwrite>true</overwrite>
                    </configuration>
                </execution>
                <execution>
                    <id>get-es6</id>
                    <phase>validate</phase>
                    <goals>
                        <goal>wget</goal>
                    </goals>
                    <configuration>
                        <url>https://raw.githubusercontent.com/royale-extras/closure-compiler/royale/externs/es6.js</url>
                        <outputFileName>es6.js</outputFileName>
                        <outputDirectory>${project.build.directory}/downloads</outputDirectory>
                        <skipCache>true</skipCache>
                        <overwrite>true</overwrite>
                    </configuration>
                </execution>
                <execution>
                    <id>get-w3c_composition_event</id>
                    <phase>validate</phase>
                    <goals>
                        <goal>wget</goal>
                    </goals>
                    <configuration>
                        <url>https://raw.githubusercontent.com/royale-extras/closure-compiler/royale/externs/browser/w3c_composition_event.js</url>
                        <outputFileName>w3c_composition_event.js</outputFileName>
                        <outputDirectory>${project.build.directory}/downloads/browser</outputDirectory>
                        <skipCache>true</skipCache>
                        <overwrite>true</overwrite>
                    </configuration>
                </execution>
                <execution>
                    <id>get-w3c_css</id>
                    <phase>validate</phase>
                    <goals>
                        <goal>wget</goal>
                    </goals>
                    <configuration>
                        <url>https://raw.githubusercontent.com/royale-extras/closure-compiler/royale/externs/browser/w3c_css.js</url>
                        <outputFileName>w3c_css.js</outputFileName>
                        <outputDirectory>${project.build.directory}/downloads/browser</outputDirectory>
                        <skipCache>true</skipCache>
                        <overwrite>true</overwrite>
                    </configuration>
                </execution>
                <execution>
                    <id>get-gecko_dom</id>
                    <phase>validate</phase>
                    <goals>
                        <goal>wget</goal>
                    </goals>
                    <configuration>
                        <url>https://raw.githubusercontent.com/royale-extras/closure-compiler/royale/externs/browser/gecko_dom.js</url>
                        <outputFileName>gecko_dom.js</outputFileName>
                        <outputDirectory>${project.build.directory}/downloads/browser</outputDirectory>
                        <skipCache>true</skipCache>
                        <overwrite>true</overwrite>
                    </configuration>
                </execution>
                <execution>
                    <id>get-w3c_dom2</id>
                    <phase>validate</phase>
                    <goals>
                        <goal>wget</goal>
                    </goals>
                    <configuration>
                        <url>https://raw.githubusercontent.com/royale-extras/closure-compiler/royale/externs/browser/w3c_dom2.js</url>
                        <outputFileName>w3c_dom2.js</outputFileName>
                        <outputDirectory>${project.build.directory}/downloads/browser</outputDirectory>
                        <skipCache>true</skipCache>
                        <overwrite>true</overwrite>
                    </configuration>
                </execution>
                <execution>
                    <id>get-html5</id>
                    <phase>validate</phase>
                    <goals>
                        <goal>wget</goal>
                    </goals>
                    <configuration>
                        <url>https://raw.githubusercontent.com/royale-extras/closure-compiler/royale/externs/browser/html5.js</url>
                        <outputFileName>html5.js</outputFileName>
                        <outputDirectory>${project.build.directory}/downloads/browser</outputDirectory>
                        <skipCache>true</skipCache>
                        <overwrite>true</overwrite>
                    </configuration>
                </execution>
            </executions>
        </plugin>
        
        <!-- Make the surefire execute all unit-tests -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <includes>
                    <include>org/**/TestExternES3.java</include>
                    <include>org/**/TestExternChrome.java</include>
                    <include>org/**/TestExternJSMissing.java</include>
                    <include>org/**/TestAnnotationEnum.java</include>
                    <include>org/**/TestCollectImports.java</include>
                    <include>org/**/TestConstructor.java</include>
                    <include>org/**/TestPackageNamespace.java</include>
                    <include>org/**/TestReferenceModel.java</include>
                    <include>org/**/TestTypeTypedefs.java</include>
                    <include>org/**/TestTypeInheritance.java</include>
                </includes>
                <excludes>
                </excludes>
            </configuration>
        </plugin>
        
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <configuration>
                <includes>
                    <include>org/**/TestExternES3.java</include>
                    <include>org/**/TestExternChrome.java</include>
                    <include>org/**/TestExternJSMissing.java</include>
                    <include>org/**/TestAnnotationEnum.java</include>
                    <include>org/**/TestCollectImports.java</include>
                    <include>org/**/TestConstructor.java</include>
                    <include>org/**/TestPackageNamespace.java</include>
                    <include>org/**/TestReferenceModel.java</include>
                    <include>org/**/TestTypeTypedefs.java</include>
                    <include>org/**/TestTypeInheritance.java</include>
                </includes>
                <excludes>
                </excludes>
            </configuration>
        </plugin>
        
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <executions>
                <execution>
                    <id>default-jar</id>
                    <configuration>
                        <archive>
                            <manifestEntries>
                                <!-- These paths are all defined the way the layout will be in the distribution -->
                                <Class-Path>../../compiler/lib/external/commons-cli.jar ../../lib/external/commons-cli.jar ../../compiler/lib/external/commons-io.jar ../../lib/external/commons-io.jar ../../compiler/lib/external/guava.jar ../../lib/external/guava.jar ../../compiler/lib/external/failureaccess.jar ../../lib/external/failureaccess.jar ../../compiler/lib/external/flex-tool-api.jar ../../lib/external/flex-tool-api.jar google/closure-compiler/compiler.jar ../../compiler/lib/compiler-common.jar ../../lib/compiler-common.jar ..</Class-Path>
                            </manifestEntries>
                        </archive>
                    </configuration>
                </execution>
                <execution>
                    <id>default-test-jar</id>
                    <goals>
                        <goal>test-jar</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
  </build>


  <dependencies>
    <dependency>
      <groupId>org.apache.royale.compiler</groupId>
      <artifactId>compiler-common</artifactId>
      <version>0.9.12</version>
    </dependency>
    <dependency>
      <groupId>com.google.javascript</groupId>
      <artifactId>closure-compiler</artifactId>
      <version>v20181210</version>
    </dependency>

    <dependency>
      <groupId>org.apache.royale.compiler</groupId>
      <artifactId>compiler-test-utils</artifactId>
      <version>0.9.12</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.13.2</version>
      <scope>test</scope>
    </dependency>

  </dependencies>

<properties /></project>
