<?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.12</version>
  </parent>

  <artifactId>royale-typedefs-node</artifactId>
  <version>0.9.12</version>
  <packaging>swc</packaging>

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

  <properties>
    <closure.version>20181210</closure.version>
  <project.build.outputTimestamp>2024-11-15T11:02:34Z</project.build.outputTimestamp></properties>
  
  <build>
    <plugins>
      <!-- Download JavaScript form GitHub -->
      <plugin>
        <groupId>com.googlecode.maven-download-plugin</groupId>
        <artifactId>download-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>get-closure-sources</id>
            <phase>validate</phase>
            <goals>
              <goal>wget</goal>
            </goals>
            <configuration>
                <url>https://github.com/royale-extras/closure-compiler/archive/royale.zip</url>
              <!--
                  Give it a number matching the date so we can
                  trigger a new download by updating the date
              -->
              <outputFileName>node-externs.zip</outputFileName>
              <outputDirectory>${project.build.directory}/downloads</outputDirectory>
              <unpack>true</unpack>
              <skipCache>true</skipCache>
              <overwrite>true</overwrite>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.royale.compiler</groupId>
        <artifactId>royale-maven-plugin</artifactId>
        <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/closure-compiler-royale/contrib/nodejs</directory>
              <includes>
                <include>**/*.js</include>
              </includes>
            </fileSet>
          </externcInput>
          <externcConfig>
            <excludes>
              <exclude>
                <className>Buffer</className>
                <name>toJSON</name>
              </exclude>
              <exclude>
                <className>osNetworkInterfacesInfo</className>
                <name>internal</name>
              </exclude>
            </excludes>
          </externcConfig>
          <includeFiles>
            <include-file>
              <name>externs/missing.js</name>
              <path>../src/main/javascript/missing.js</path>
            </include-file>
            <include-file>
              <name>externs/assert.js</name>
              <path>downloads/closure-compiler-royale/contrib/nodejs/assert.js</path>
            </include-file>
            <include-file>
              <name>externs/buffer.js</name>
              <path>downloads/closure-compiler-royale/contrib/nodejs/buffer.js</path>
            </include-file>
            <include-file>
              <name>externs/child_process.js</name>
              <path>downloads/closure-compiler-royale/contrib/nodejs/child_process.js</path>
            </include-file>
            <include-file>
              <name>externs/cluster.js</name>
              <path>downloads/closure-compiler-royale/contrib/nodejs/cluster.js</path>
            </include-file>
            <include-file>
              <name>externs/crypto.js</name>
              <path>downloads/closure-compiler-royale/contrib/nodejs/crypto.js</path>
            </include-file>
            <include-file>
              <name>externs/dgram.js</name>
              <path>downloads/closure-compiler-royale/contrib/nodejs/dgram.js</path>
            </include-file>
            <include-file>
              <name>externs/dns.js</name>
              <path>downloads/closure-compiler-royale/contrib/nodejs/dns.js</path>
            </include-file>
            <include-file>
              <name>externs/domain.js</name>
              <path>downloads/closure-compiler-royale/contrib/nodejs/domain.js</path>
            </include-file>
            <include-file>
              <name>externs/events.js</name>
              <path>downloads/closure-compiler-royale/contrib/nodejs/events.js</path>
            </include-file>
            <include-file>
              <name>externs/fs.js</name>
              <path>downloads/closure-compiler-royale/contrib/nodejs/fs.js</path>
            </include-file>
            <include-file>
              <name>externs/globals.js</name>
              <path>downloads/closure-compiler-royale/contrib/nodejs/globals.js</path>
            </include-file>
            <include-file>
              <name>externs/http.js</name>
              <path>downloads/closure-compiler-royale/contrib/nodejs/http.js</path>
            </include-file>
            <include-file>
              <name>externs/https.js</name>
              <path>downloads/closure-compiler-royale/contrib/nodejs/https.js</path>
            </include-file>
            <include-file>
              <name>externs/net.js</name>
              <path>downloads/closure-compiler-royale/contrib/nodejs/net.js</path>
            </include-file>
            <include-file>
              <name>externs/os.js</name>
              <path>downloads/closure-compiler-royale/contrib/nodejs/os.js</path>
            </include-file>
            <include-file>
              <name>externs/path.js</name>
              <path>downloads/closure-compiler-royale/contrib/nodejs/path.js</path>
            </include-file>
            <include-file>
              <name>externs/punycode.js</name>
              <path>downloads/closure-compiler-royale/contrib/nodejs/punycode.js</path>
            </include-file>
            <include-file>
              <name>externs/querystring.js</name>
              <path>downloads/closure-compiler-royale/contrib/nodejs/querystring.js</path>
            </include-file>
            <include-file>
              <name>externs/readline.js</name>
              <path>downloads/closure-compiler-royale/contrib/nodejs/readline.js</path>
            </include-file>
            <include-file>
              <name>externs/repl.js</name>
              <path>downloads/closure-compiler-royale/contrib/nodejs/repl.js</path>
            </include-file>
            <include-file>
              <name>externs/stream.js</name>
              <path>downloads/closure-compiler-royale/contrib/nodejs/stream.js</path>
            </include-file>
            <include-file>
              <name>externs/string_decoder.js</name>
              <path>downloads/closure-compiler-royale/contrib/nodejs/string_decoder.js</path>
            </include-file>
            <include-file>
              <name>externs/tls.js</name>
              <path>downloads/closure-compiler-royale/contrib/nodejs/tls.js</path>
            </include-file>
            <include-file>
              <name>externs/tty.js</name>
              <path>downloads/closure-compiler-royale/contrib/nodejs/tty.js</path>
            </include-file>
            <include-file>
              <name>externs/url.js</name>
              <path>downloads/closure-compiler-royale/contrib/nodejs/url.js</path>
            </include-file>
            <include-file>
              <name>externs/util.js</name>
              <path>downloads/closure-compiler-royale/contrib/nodejs/util.js</path>
            </include-file>
            <include-file>
              <name>externs/vm.js</name>
              <path>downloads/closure-compiler-royale/contrib/nodejs/vm.js</path>
            </include-file>
            <include-file>
              <name>externs/zlib.js</name>
              <path>downloads/closure-compiler-royale/contrib/nodejs/zlib.js</path>
            </include-file>
          </includeFiles>
          <skipSwc>true</skipSwc>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <dependencies>
    <dependency>
      <groupId>org.apache.royale.typedefs</groupId>
      <artifactId>royale-typedefs-js</artifactId>
      <version>0.9.12</version>
      <type>swc</type>
      <classifier>typedefs</classifier>
      <scope>runtime</scope>
    </dependency>
  </dependencies>

</project>
