<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ *** BEGIN LICENSE BLOCK *****
  ~ Version: MPL 1.1/GPL 2.0/LGPL 2.1
  ~
  ~ The contents of this file are subject to the Mozilla Public License Version
  ~ 1.1 (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.mozilla.org/MPL/
  ~
  ~ Software distributed under the License is distributed on an "AS IS" basis,
  ~ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  ~ for the specific language governing rights and limitations under the
  ~ License.
  ~
  ~ The Original Code is part of dcm4che, an implementation of DICOM(TM) in
  ~ Java(TM), hosted at https://github.com/dcm4che.
  ~
  ~ The Initial Developer of the Original Code is
  ~ J4Care.
  ~ Portions created by the Initial Developer are Copyright (C) 2016
  ~ the Initial Developer. All Rights Reserved.
  ~
  ~ Contributor(s):
  ~ See @authors listed below
  ~
  ~ Alternatively, the contents of this file may be used under the terms of
  ~ either the GNU General Public License Version 2 or later (the "GPL"), or
  ~ the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
  ~ in which case the provisions of the GPL or the LGPL are applicable instead
  ~ of those above. If you wish to allow use of your version of this file only
  ~ under the terms of either the GPL or the LGPL, and not to allow others to
  ~ use your version of this file under the terms of the MPL, indicate your
  ~ decision by deleting the provisions above and replace them with the notice
  ~ and other provisions required by the GPL or the LGPL. If you do not delete
  ~ the provisions above, a recipient may use your version of this file under
  ~ the terms of any one of the MPL, the GPL or the LGPL.
  ~
  ~ *** END LICENSE BLOCK *****
  -->

<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">
  <parent>
    <artifactId>dcm4chee-arc-parent</artifactId>
    <groupId>org.dcm4che.dcm4chee-arc</groupId>
    <version>5.31.3</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>

  <artifactId>dcm4chee-arc-ui2</artifactId>
  <packaging>war</packaging>

  <properties>
    <node.version>v16.17.1</node.version>
    <yarn.version>v1.22.19</yarn.version>
    <yarn.run>prod</yarn.run>
    <secure-classifier>secure</secure-classifier>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.dcm4che.dcm4chee-arc</groupId>
      <artifactId>dcm4chee-arc-lang</artifactId>
      <version>${project.version}</version>
      <type>war</type>
      <scope>runtime</scope>
    </dependency>
  </dependencies>

  <profiles>
    <profile>
      <id>ng-build</id>
      <activation>
        <file>
          <missing>target/webapp</missing>
        </file>
      </activation>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-remote-resources-plugin</artifactId>
            <executions>
              <execution>
                <id>dictionary</id>
                <goals>
                  <goal>process</goal>
                </goals>
                <configuration>
                  <resourceBundles>
                    <resourceBundle>org.dcm4che.dcm4chee-arc:dcm4chee-arc-lang:${project.version}:war</resourceBundle>
                  </resourceBundles>
                  <attachToMain>false</attachToMain>
                  <outputDirectory>${project.build.directory}/dcm4chee-arc-lang</outputDirectory>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>com.github.eirslett</groupId>
            <artifactId>frontend-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>install node and yarn</id>
                <goals>
                  <goal>install-node-and-yarn</goal>
                </goals>
                <configuration>
                  <nodeVersion>${node.version}</nodeVersion>
                  <yarnVersion>${yarn.version}</yarnVersion>
                </configuration>
              </execution>
              <execution>
                <id>yarn install --pure-lockfile</id>
                <goals>
                  <goal>yarn</goal>
                </goals>
                <configuration>
                  <arguments>install --pure-lockfile</arguments>
                </configuration>
              </execution>
              <execution>
                <!--<id>npm run-script prod</id>-->
                <id>yarn run</id>
                <goals>
                  <goal>yarn</goal>
                </goals>
                <configuration>
                  <!--<arguments>run-script prod</arguments> //use this for production-->
                  <arguments>run ${yarn.run}</arguments>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>unsecure</id>
      <activation>
        <property>
          <name>!secure</name>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-war-plugin</artifactId>
            <configuration>
              <dependentWarIncludes>de/**,en/**,es/**,hi/**,it/**,ja/**,mr/**,ru/**,zh/**</dependentWarIncludes>
              <webXml>${project.basedir}/src/main/webxml/web.xml</webXml>
              <webResources>
                <resource>
                  <directory>target/webapp</directory>
                </resource>
              </webResources>
              <webappDirectory>${project.build.directory}/${project.build.finalName}</webappDirectory>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>secure</id>
      <activation>
        <property>
          <name>secure</name>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-war-plugin</artifactId>
            <!-- explicit execution to prevent "The packaging plugin for this project did not assign a main file to the project but it has attachments." -->
            <executions>
              <execution>
                <goals>
                  <goal>war</goal>
                </goals>
                <configuration>
                  <dependentWarIncludes>de/**,en/**,es/**,hi/**,it/**,ja/**,mr/**,ru/**,zh/**</dependentWarIncludes>
                  <classifier>${secure-classifier}</classifier>
                </configuration>
              </execution>
            </executions>
            <configuration>
              <webXml>${project.basedir}/src/main/webxml/web-secure.xml</webXml>
              <webResources>
                <resource>
                  <directory>target/webapp</directory>
                </resource>
              </webResources>
              <webappDirectory>${project.build.directory}/${project.build.finalName}-${secure-classifier}</webappDirectory>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>dev</id>
      <activation>
        <property>
          <name>yarn.run</name>
          <value>dev</value>
        </property>
      </activation>
      <properties>
        <secure-classifier>secure-dev</secure-classifier>
      </properties>
    </profile>
  </profiles>

</project>