<?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.framework</groupId>
    <artifactId>projects</artifactId>
    <version>0.9.9</version>
  </parent>

  <artifactId>MXRoyale</artifactId>
  <version>0.9.9</version>
  <packaging>swc</packaging>

  <name>Apache Royale: Framework: Libs: MXRoyale</name>

  <properties>
      <mxroyale.base>${project.basedir}/../MXRoyaleBase</mxroyale.base>
  <project.build.outputTimestamp>2022-03-17T08:05:21Z</project.build.outputTimestamp></properties>

  <build>
    <sourceDirectory>src/main/royale</sourceDirectory>
    <plugins>
      <plugin>
        <groupId>org.apache.royale.compiler</groupId>
        <artifactId>royale-maven-plugin</artifactId>
        <version>${project.royale.compiler.version}</version>
        <extensions>true</extensions>
        <configuration combine.children="append">
          <namespaces>
            <namespace>
              <uri>library://ns.apache.org/royale/mx</uri>
              <manifest>${project.basedir}/src/main/resources/mx-royale-manifest.xml</manifest>
            </namespace>
            <namespace>
              <uri>library://ns.apache.org/royale/mx</uri>
              <manifest>${mxroyale.base}/src/main/resources/mx-royale-manifest.xml</manifest>
            </namespace>
          </namespaces>
          <includeClasses>
            <includeClass>MXRoyaleClasses</includeClass>
          </includeClasses>
          <includeFiles>
              <include-file>
                  <name>defaults.css</name>
                  <path>../src/main/resources/defaults.css</path>
              </include-file>
              <include-file>
                  <name>assets/icon_align_center.png</name>
                  <path>../src/main/resources/assets/icon_align_center.png</path>
              </include-file>
              <include-file>
                  <name>assets/icon_align_justify.png</name>
                  <path>../src/main/resources/assets/icon_align_justify.png</path>
              </include-file>
              <include-file>
                  <name>assets/icon_align_left.png</name>
                  <path>../src/main/resources/assets/icon_align_left.png</path>
              </include-file>
              <include-file>
                  <name>assets/icon_align_right.png</name>
                  <path>../src/main/resources/assets/icon_align_right.png</path>
              </include-file>
              <include-file>
                  <name>assets/icon_bullet.png</name>
                  <path>../src/main/resources/assets/icon_bullet.png</path>
              </include-file>
              <include-file>
                  <name>assets/icon_style_bold.png</name>
                  <path>../src/main/resources/assets/icon_style_bold.png</path>
              </include-file>
              <include-file>
                  <name>assets/icon_style_italic.png</name>
                  <path>../src/main/resources/assets/icon_style_italic.png</path>
              </include-file>
              <include-file>
                  <name>assets/icon_style_underline.png</name>
                  <path>../src/main/resources/assets/icon_style_underline.png</path>
              </include-file>
	      <include-file>
                  <name>assets/icon_required_indicator.png</name>
                  <path>../src/main/resources/assets/icon_required_indicator.png</path>
              </include-file>
	      <include-file>
                  <name>assets/icon_error_indicator.png</name>
                  <path>../src/main/resources/assets/icon_error_indicator.png</path>
              </include-file>
          </includeFiles>
          <skipExtern>true</skipExtern>
          <skipAS>${royale.skipAS}</skipAS>
          <defines>
              <define>
                  <name>GOOG::DEBUG</name>
                  <value>true</value>
              </define>
              <define>
                  <name>ROYALE::DISPLAYOBJECT</name>
                  <value>IUIComponent</value>
              </define>
              <define>
                  <name>ROYALE::PROXYVISIBILITY</name>
                  <value>flash_proxy</value>
              </define>
          </defines>
          <allowSubclassOverrides>true</allowSubclassOverrides>
          <includeLookupOnly>true</includeLookupOnly>
          <additionalCompilerOptions>
              ${project.compiler.options};
              -js-compiler-define=COMPILE::JS,true;
              -js-compiler-define=COMPILE::SWF,false;
              -js-compiler-define=GOOG::DEBUG,goog.DEBUG;
              -js-compiler-define=ROYALE::DISPLAYOBJECT,IUIComponent;
              -js-compiler-define=ROYALE::PROXYVISIBILITY,public;
              -namespace+=http://ns.adobe.com/mxml/2009,${project.basedir}/../../mxml-2009-manifest.xml;
              -compiler.js-namespaces.namespace+=http://ns.adobe.com/mxml/2009,${project.basedir}/../../mxml-2009-manifest.xml;
              -compiler.js-namespaces.namespace+=library://ns.apache.org/royale/mx,${project.basedir}/src/main/resources/mx-royale-manifest.xml;
              -compiler.js-namespaces.namespace+=library://ns.apache.org/royale/mx,${mxroyale.base}/src/main/resources/mx-royale-manifest.xml;
              -compiler.warn-instance-of-changes=false;
              -compiler.warn-this-within-closure=false;
              -source-path+=${mxroyale.base}/src/main/royale;
          </additionalCompilerOptions>
        </configuration>
      </plugin>

    </plugins>
  </build>
  
  <dependencies>
    <!--
    Note: this is not needed, because we are linking in the source code directly
    <dependency>
      <groupId>org.apache.royale.framework</groupId>
      <artifactId>MXRoyaleBase</artifactId>
      <version>0.9.9-SNAPSHOT</version>
      <type>swc</type>
      <classifier>js</classifier>
    </dependency>-->
    <dependency>
      <groupId>org.apache.royale.framework</groupId>
      <artifactId>Binding</artifactId>
      <version>0.9.9</version>
      <type>swc</type>
      <classifier>js</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework</groupId>
      <artifactId>Core</artifactId>
      <version>0.9.9</version>
      <type>swc</type>
      <classifier>js</classifier>
    </dependency>
    <dependency>
        <groupId>org.apache.royale.framework</groupId>
        <artifactId>Basic</artifactId>
        <version>0.9.9</version>
        <type>swc</type>
        <classifier>js</classifier>
    </dependency>
    <dependency>
        <groupId>org.apache.royale.framework</groupId>
        <artifactId>Graphics</artifactId>
        <version>0.9.9</version>
        <type>swc</type>
        <classifier>js</classifier>
    </dependency>
    <dependency>
        <groupId>org.apache.royale.framework</groupId>
        <artifactId>Collections</artifactId>
        <version>0.9.9</version>
        <type>swc</type>
        <classifier>js</classifier>
    </dependency>
    <dependency>
        <groupId>org.apache.royale.framework</groupId>
        <artifactId>DragDrop</artifactId>
        <version>0.9.9</version>
        <type>swc</type>
        <classifier>js</classifier>
    </dependency>
    <dependency>
        <groupId>org.apache.royale.framework</groupId>
        <artifactId>Express</artifactId>
        <version>0.9.9</version>
        <type>swc</type>
        <classifier>js</classifier>
    </dependency>
    <dependency>
        <groupId>org.apache.royale.framework</groupId>
        <artifactId>Effects</artifactId>
        <version>0.9.9</version>
        <type>swc</type>
        <classifier>js</classifier>
    </dependency>
    <dependency>
        <groupId>org.apache.royale.framework</groupId>
        <artifactId>Formatters</artifactId>
        <version>0.9.9</version>
        <type>swc</type>
        <classifier>js</classifier>
    </dependency>
    <dependency>
        <groupId>org.apache.royale.framework</groupId>
        <artifactId>Charts</artifactId>
        <version>0.9.9</version>
        <type>swc</type>
        <classifier>js</classifier>
    </dependency>
    <dependency>
        <groupId>org.apache.royale.framework</groupId>
        <artifactId>Network</artifactId>
        <version>0.9.9</version>
        <type>swc</type>
        <classifier>js</classifier>
    </dependency>
    <dependency>
        <groupId>org.apache.royale.framework</groupId>
        <artifactId>Reflection</artifactId>
        <version>0.9.9</version>
        <type>swc</type>
        <classifier>js</classifier>
    </dependency>
    <dependency>
        <groupId>org.apache.royale.framework</groupId>
        <artifactId>XML</artifactId>
        <version>0.9.9</version>
        <type>swc</type>
        <classifier>js</classifier>
    </dependency>
  </dependencies>

  <profiles>
    <profile>
      <id>option-with-swf</id>
      <dependencies>
        <!--
        Note: this is not needed, because we are linking in the source code directly
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>MXRoyaleBase</artifactId>
          <version>0.9.9-SNAPSHOT</version>
          <type>swc</type>
          <classifier>swf</classifier>
        </dependency>-->
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>Binding</artifactId>
          <version>0.9.9</version>
          <type>swc</type>
          <classifier>swf</classifier>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>Core</artifactId>
          <version>0.9.9</version>
          <type>swc</type>
          <classifier>swf</classifier>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>Basic</artifactId>
          <version>0.9.9</version>
          <type>swc</type>
          <classifier>swf</classifier>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>Graphics</artifactId>
          <version>0.9.9</version>
          <type>swc</type>
          <classifier>swf</classifier>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>Collections</artifactId>
          <version>0.9.9</version>
          <type>swc</type>
          <classifier>swf</classifier>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>DragDrop</artifactId>
          <version>0.9.9</version>
          <type>swc</type>
          <classifier>swf</classifier>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>Express</artifactId>
          <version>0.9.9</version>
          <type>swc</type>
          <classifier>swf</classifier>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>Effects</artifactId>
          <version>0.9.9</version>
          <type>swc</type>
          <classifier>swf</classifier>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>Formatters</artifactId>
          <version>0.9.9</version>
          <type>swc</type>
          <classifier>swf</classifier>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>Charts</artifactId>
          <version>0.9.9</version>
          <type>swc</type>
          <classifier>swf</classifier>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>Network</artifactId>
          <version>0.9.9</version>
          <type>swc</type>
          <classifier>swf</classifier>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>Reflection</artifactId>
          <version>0.9.9</version>
          <type>swc</type>
          <classifier>swf</classifier>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>XML</artifactId>
          <version>0.9.9</version>
          <type>swc</type>
          <classifier>swf</classifier>
        </dependency>
      </dependencies>
    </profile>
  </profiles>

</project>
