<?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.typedefs</groupId>
    <artifactId>royale-typedefs-parent</artifactId>
    <version>0.9.3</version>
  </parent>

  <artifactId>royale-typedefs-js</artifactId>
  <version>0.9.3</version>
  <packaging>swc</packaging>

  <name>Apache Royale: TypeDefs: JS</name>

  <build>
    <sourceDirectory>src/main/royale</sourceDirectory>
    <plugins>
      <plugin>
        <groupId>org.apache.royale.compiler</groupId>
        <artifactId>compiler-build-tools</artifactId>
        <version>${royale.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>v20170626</version>
          </dependency>
        </dependencies>
      </plugin>
      <!-- Download JavaScript from GitHub -->
      <plugin>
        <groupId>com.googlecode.maven-download-plugin</groupId>
        <artifactId>download-maven-plugin</artifactId>
        <version>1.2.1</version>
        <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_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>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.royale.compiler</groupId>
        <artifactId>royale-maven-plugin</artifactId>
        <version>${royale.compiler.version}</version>
        <extensions>true</extensions>
        <configuration>
          <includeSources>true</includeSources>
          <externcInput>
            <fileSet>
              <directory>${project.basedir}/src/main/javascript</directory>
              <includes>
                <include>**/*.js</include>
              </includes>
            </fileSet>
            <fileSet>
              <directory>${project.basedir}/target/downloads</directory>
              <includes>
                <include>*.js</include>
                <include>browser/w3c_*.js</include>
                <include>browser/window.js</include>
                <include>browser/ie_dom.js</include>
                <include>browser/gecko_*.js</include>
                <include>browser/webkit_*.js</include>
                <include>browser/iphone.js</include>
                <!-- <include>browser/chrome.js</include> -->
                <include>browser/flash.js</include>
                <include>browser/page_visibility.js</include>
                <include>browser/fileapi.js</include>
                <include>browser/html5.js</include>
                <include>browser/webgl.js</include>
                <include>browser/webstorage.js</include>
                <include>browser/whatwg_encoding.js</include>
                <include>es6_collections.js</include>
              </includes>
              <excludes>
                <exclude>browser/w3c_dom4.js</exclude>
                <exclude>browser/w3c_serviceworker.js</exclude>
                <exclude>browser/w3c_webcrypto.js</exclude>
                <exclude>browser/gecko_css.js</exclude>
                <exclude>browser/webkit_notifications.js</exclude>
              </excludes>
            </fileSet>
          </externcInput>
          <externcConfig>
            <class-excludes>
              <class-exclude>
                <className>controlRange</className>
              </class-exclude>
              <class-exclude>
                <className>CustomEvent</className>
              </class-exclude>
            </class-excludes>
            <field-excludes>
              <field-exclude>
                <className>Window</className>
                <field>focus</field>
              </field-exclude>
            </field-excludes>
            <excludes>
              <exclude>
                <className>Array</className>
                <name>toSource</name>
              </exclude>
              <exclude>
                <className>Date</className>
                <name>valueOf</name>
              </exclude>
              <exclude>
                <className>String</className>
                <name>valueOf</name>
              </exclude>
              <!-- SVG -->
              <exclude>
                <className>SVGStylable</className>
                <name>className</name>
              </exclude>
              <exclude>
                <className>SVGStylable</className>
                <name>style</name>
              </exclude>
              <exclude>
                <className>SVGLocatable</className>
                <name>farthestViewportElement</name>
              </exclude>
              <exclude>
                <className>SVGLocatable</className>
                <name>nearestViewportElement</name>
              </exclude>
            </excludes>
          </externcConfig>
          <includeFiles>
            <includeFile>
              <name>externs/svg.js</name>
              <path>downloads/svg.js</path>
            </includeFile>
          </includeFiles>
          <skipSwc>true</skipSwc>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>org.apache.royale.compiler</groupId>
            <artifactId>compiler-jx</artifactId>
            <version>${royale.compiler.version}</version>
          </dependency>
        </dependencies>
      </plugin>
    </plugins>
  </build>

</project>
