<?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>frameworks</artifactId>
    <version>0.9.7-SNAPSHOT</version>
  </parent>

  <artifactId>themes</artifactId>
  <version>0.9.7-SNAPSHOT</version>
  <packaging>pom</packaging>

  <name>Apache Royale: Framework: Themes</name>

  <properties>
    <project.compiler.options>${repo.compiler.options};-js-default-initializers=false;-source-map=${source.map};-js-complex-implicit-coercions=false;-js-vector-index-checks=false;-js-resolve-uncertain=false</project.compiler.options>
  </properties>

  <modules>
    <module>Basic</module>
    <module>MDL</module>
    <module>MXRoyale</module>

    <module>JewelTheme</module>

    <!-- Light & NoFlat-->
    <module>Jewel-Light-NoFlat-Primary-Amethyst-Theme</module>
    <module>Jewel-Light-NoFlat-Primary-Blue-Theme</module>
    <module>Jewel-Light-NoFlat-Primary-Emerald-Theme</module>
    <module>Jewel-Light-NoFlat-Primary-Green-Theme</module>
    <module>Jewel-Light-NoFlat-Primary-Orange-Theme</module>
    <module>Jewel-Light-NoFlat-Primary-Red-Theme</module>
    <module>Jewel-Light-NoFlat-Primary-Sapphire-Theme</module>
    <module>Jewel-Light-NoFlat-Primary-Sunflower-Theme</module>
    <module>Jewel-Light-NoFlat-Primary-Topaz-Theme</module>
    <module>Jewel-Light-NoFlat-Primary-Turquoise-Theme</module>
    <module>Jewel-Light-NoFlat-Primary-Violet-Theme</module>
    <module>Jewel-Light-NoFlat-Primary-Yellow-Theme</module>

    <module>Jewel-Light-NoFlat-Secondary-Amethyst-Theme</module>
    <module>Jewel-Light-NoFlat-Secondary-Blue-Theme</module>
    <module>Jewel-Light-NoFlat-Secondary-Emerald-Theme</module>
    <module>Jewel-Light-NoFlat-Secondary-Green-Theme</module>
    <module>Jewel-Light-NoFlat-Secondary-Orange-Theme</module>
    <module>Jewel-Light-NoFlat-Secondary-Red-Theme</module>
    <module>Jewel-Light-NoFlat-Secondary-Sapphire-Theme</module>
    <module>Jewel-Light-NoFlat-Secondary-Sunflower-Theme</module>
    <module>Jewel-Light-NoFlat-Secondary-Topaz-Theme</module>
    <module>Jewel-Light-NoFlat-Secondary-Turquoise-Theme</module>
    <module>Jewel-Light-NoFlat-Secondary-Violet-Theme</module>
    <module>Jewel-Light-NoFlat-Secondary-Yellow-Theme</module>

    <module>Jewel-Light-NoFlat-Emphasized-Amethyst-Theme</module>
    <module>Jewel-Light-NoFlat-Emphasized-Blue-Theme</module>
    <module>Jewel-Light-NoFlat-Emphasized-Emerald-Theme</module>
    <module>Jewel-Light-NoFlat-Emphasized-Green-Theme</module>
    <module>Jewel-Light-NoFlat-Emphasized-Orange-Theme</module>
    <module>Jewel-Light-NoFlat-Emphasized-Red-Theme</module>
    <module>Jewel-Light-NoFlat-Emphasized-Sapphire-Theme</module>
    <module>Jewel-Light-NoFlat-Emphasized-Sunflower-Theme</module>
    <module>Jewel-Light-NoFlat-Emphasized-Topaz-Theme</module>
    <module>Jewel-Light-NoFlat-Emphasized-Turquoise-Theme</module>
    <module>Jewel-Light-NoFlat-Emphasized-Violet-Theme</module>
    <module>Jewel-Light-NoFlat-Emphasized-Yellow-Theme</module>
    
    <!-- Light & Flat-->
    <module>Jewel-Light-Flat-Primary-Amethyst-Theme</module>
    <module>Jewel-Light-Flat-Primary-Blue-Theme</module>
    <module>Jewel-Light-Flat-Primary-Emerald-Theme</module>
    <module>Jewel-Light-Flat-Primary-Green-Theme</module>
    <module>Jewel-Light-Flat-Primary-Orange-Theme</module>
    <module>Jewel-Light-Flat-Primary-Red-Theme</module>
    <module>Jewel-Light-Flat-Primary-Sapphire-Theme</module>
    <module>Jewel-Light-Flat-Primary-Sunflower-Theme</module>
    <module>Jewel-Light-Flat-Primary-Topaz-Theme</module>
    <module>Jewel-Light-Flat-Primary-Turquoise-Theme</module>
    <module>Jewel-Light-Flat-Primary-Violet-Theme</module>
    <module>Jewel-Light-Flat-Primary-Yellow-Theme</module>

    <module>Jewel-Light-Flat-Secondary-Amethyst-Theme</module>
    <module>Jewel-Light-Flat-Secondary-Blue-Theme</module>
    <module>Jewel-Light-Flat-Secondary-Emerald-Theme</module>
    <module>Jewel-Light-Flat-Secondary-Green-Theme</module>
    <module>Jewel-Light-Flat-Secondary-Orange-Theme</module>
    <module>Jewel-Light-Flat-Secondary-Red-Theme</module>
    <module>Jewel-Light-Flat-Secondary-Sapphire-Theme</module>
    <module>Jewel-Light-Flat-Secondary-Sunflower-Theme</module>
    <module>Jewel-Light-Flat-Secondary-Topaz-Theme</module>
    <module>Jewel-Light-Flat-Secondary-Turquoise-Theme</module>
    <module>Jewel-Light-Flat-Secondary-Violet-Theme</module>
    <module>Jewel-Light-Flat-Secondary-Yellow-Theme</module>

    <module>Jewel-Light-Flat-Emphasized-Amethyst-Theme</module>
    <module>Jewel-Light-Flat-Emphasized-Blue-Theme</module>
    <module>Jewel-Light-Flat-Emphasized-Emerald-Theme</module>
    <module>Jewel-Light-Flat-Emphasized-Green-Theme</module>
    <module>Jewel-Light-Flat-Emphasized-Orange-Theme</module>
    <module>Jewel-Light-Flat-Emphasized-Red-Theme</module>
    <module>Jewel-Light-Flat-Emphasized-Sapphire-Theme</module>
    <module>Jewel-Light-Flat-Emphasized-Sunflower-Theme</module>
    <module>Jewel-Light-Flat-Emphasized-Topaz-Theme</module>
    <module>Jewel-Light-Flat-Emphasized-Turquoise-Theme</module>
    <module>Jewel-Light-Flat-Emphasized-Violet-Theme</module>
    <module>Jewel-Light-Flat-Emphasized-Yellow-Theme</module>

    <!-- Dark & NoFlat-->
    <module>Jewel-Dark-NoFlat-Primary-Amethyst-Theme</module>
    <module>Jewel-Dark-NoFlat-Primary-Blue-Theme</module>
    <module>Jewel-Dark-NoFlat-Primary-Emerald-Theme</module>
    <module>Jewel-Dark-NoFlat-Primary-Green-Theme</module>
    <module>Jewel-Dark-NoFlat-Primary-Orange-Theme</module>
    <module>Jewel-Dark-NoFlat-Primary-Red-Theme</module>
    <module>Jewel-Dark-NoFlat-Primary-Sapphire-Theme</module>
    <module>Jewel-Dark-NoFlat-Primary-Sunflower-Theme</module>
    <module>Jewel-Dark-NoFlat-Primary-Topaz-Theme</module>
    <module>Jewel-Dark-NoFlat-Primary-Turquoise-Theme</module>
    <module>Jewel-Dark-NoFlat-Primary-Violet-Theme</module>
    <module>Jewel-Dark-NoFlat-Primary-Yellow-Theme</module>

    <module>Jewel-Dark-NoFlat-Secondary-Amethyst-Theme</module>
    <module>Jewel-Dark-NoFlat-Secondary-Blue-Theme</module>
    <module>Jewel-Dark-NoFlat-Secondary-Emerald-Theme</module>
    <module>Jewel-Dark-NoFlat-Secondary-Green-Theme</module>
    <module>Jewel-Dark-NoFlat-Secondary-Orange-Theme</module>
    <module>Jewel-Dark-NoFlat-Secondary-Red-Theme</module>
    <module>Jewel-Dark-NoFlat-Secondary-Sapphire-Theme</module>
    <module>Jewel-Dark-NoFlat-Secondary-Sunflower-Theme</module>
    <module>Jewel-Dark-NoFlat-Secondary-Topaz-Theme</module>
    <module>Jewel-Dark-NoFlat-Secondary-Turquoise-Theme</module>
    <module>Jewel-Dark-NoFlat-Secondary-Violet-Theme</module>
    <module>Jewel-Dark-NoFlat-Secondary-Yellow-Theme</module>

    <module>Jewel-Dark-NoFlat-Emphasized-Amethyst-Theme</module>
    <module>Jewel-Dark-NoFlat-Emphasized-Blue-Theme</module>
    <module>Jewel-Dark-NoFlat-Emphasized-Emerald-Theme</module>
    <module>Jewel-Dark-NoFlat-Emphasized-Green-Theme</module>
    <module>Jewel-Dark-NoFlat-Emphasized-Orange-Theme</module>
    <module>Jewel-Dark-NoFlat-Emphasized-Red-Theme</module>
    <module>Jewel-Dark-NoFlat-Emphasized-Sapphire-Theme</module>
    <module>Jewel-Dark-NoFlat-Emphasized-Sunflower-Theme</module>
    <module>Jewel-Dark-NoFlat-Emphasized-Topaz-Theme</module>
    <module>Jewel-Dark-NoFlat-Emphasized-Turquoise-Theme</module>
    <module>Jewel-Dark-NoFlat-Emphasized-Violet-Theme</module>
    <module>Jewel-Dark-NoFlat-Emphasized-Yellow-Theme</module>
  </modules>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.royale.compiler</groupId>
        <artifactId>royale-maven-plugin</artifactId>
        <configuration>
          <!-- We don't want dependencies to be linked into the resulting libraries -->
          <forceSwcExternalLibraryPath>true</forceSwcExternalLibraryPath>
          <additionalCompilerOptions>${project.compiler.options}</additionalCompilerOptions>
          <targets>${royale.targets}</targets>
          <allowSubclassOverrides>true</allowSubclassOverrides>
          <skipAS>${royale.skipAS}</skipAS>
          <skipExtern>true</skipExtern>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <dependencies>
    <dependency>
      <groupId>org.apache.royale.typedefs</groupId>
      <artifactId>royale-typedefs-gcl</artifactId>
      <version>${royale.typedefs.version}</version>
      <type>swc</type>
      <classifier>typedefs</classifier>
    </dependency>
    <!--
      By declaring this dependency here, we force the royale-externs-js to be
      added to the external library path of all modules. Without this it would
      have gone to the library path.
    -->
    <dependency>
      <groupId>org.apache.royale.typedefs</groupId>
      <artifactId>royale-typedefs-js</artifactId>
      <version>${royale.typedefs.version}</version>
      <type>swc</type>
      <classifier>typedefs</classifier>
      <scope>runtime</scope>
    </dependency>
  </dependencies>

  <profiles>
    <profile>
      <id>option-with-sass-compile</id>
      <build>
        <plugins>
          <plugin>
            <groupId>nl.geodienstencentrum.maven</groupId>
            <artifactId>sass-maven-plugin</artifactId>
            <version>3.7.2</version>
            <configuration>
              <resources>
                <!-- Depends on JewelTheme SASS framework files-->
                <resource>
                  <source>
                    <directory>${basedir}/src/main/sass</directory>
                    <includes>
                      <include>defaults.sass</include>
                    </includes>
                  </source>
                  <destination>${basedir}/src/main/resources</destination>
                </resource>
              </resources>
            </configuration>
            <executions>
              <execution>
                <id>generate-css-using-sass</id>
                <goals>
                  <goal>update-stylesheets</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <!--
      This is a self-activating profile that causes the sass plugin
      to not be executed if there is no src/main/sass directory.
    -->
    <profile>
      <id>_skip-sass-compilation</id>
      <activation>
        <file>
          <missing>src/main/sass</missing>
        </file>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>nl.geodienstencentrum.maven</groupId>
            <artifactId>sass-maven-plugin</artifactId>
            <configuration>
              <skip>true</skip>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

</project>
