<?xml version="1.0" encoding="UTF-8"?>
<!--
 This file is part of the Meeds project (https://meeds.io/).

 Copyright (C) 2020 - 2025 Meeds Association contact@meeds.io

 This program is free software; you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public
 License as published by the Free Software Foundation; either
 version 3 of the License, or (at your option) any later version.
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 Lesser General Public License for more details.

 You should have received a copy of the GNU Lesser General Public License
 along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-->
<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <artifactId>notes</artifactId>
    <groupId>io.meeds.notes</groupId>
    <version>7.2.x-whitepaper-SNAPSHOT</version>
  </parent>
  <artifactId>notes-webapp</artifactId>
  <packaging>war</packaging>
  <name>Meeds:: PLF:: Notes Webapp</name>
  <dependencies>
    <dependency>
      <groupId>io.meeds.platform-ui</groupId>
      <artifactId>platform-ui-skin</artifactId>
      <classifier>sources</classifier>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>io.meeds.commons</groupId>
      <artifactId>commons-extension-webapp</artifactId>
      <classifier>sources</classifier>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>notes-service</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>io.meeds.social</groupId>
      <artifactId>social-component-web</artifactId>
      <scope>provided</scope>
    </dependency>
  </dependencies>
  <build>
    <finalName>notes</finalName>
    <plugins>
      <plugin>
        <groupId>com.github.eirslett</groupId>
        <artifactId>frontend-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <executions>
          <execution>
            <id>a-copy-resources</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/src/main/webapp/skin/less</outputDirectory>
              <resources>
                <resource>
                  <directory>src/main/webapp/skin/less</directory>
                </resource>
              </resources>
              <overwrite>true</overwrite>
            </configuration>
          </execution>
          <execution>
            <id>b-copy-resources</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/src/main/webapp/ckeditor</outputDirectory>
              <resources>
                <resource>
                  <directory>src/main/webapp/ckeditor</directory>
                </resource>
              </resources>
              <overwrite>true</overwrite>
            </configuration>
          </execution>
          <execution>
            <id>c-copy-resources</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/src/main/webapp/skin/css/toc</outputDirectory>
              <resources>
                <resource>
                  <directory>src/main/webapp/javascript/eXo/wiki/ckeditor/plugins</directory>
                  <includes>
                    <include>toc/*.css</include>
                  </includes>
                </resource>
              </resources>
              <overwrite>true</overwrite>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>add-source</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>add-source</goal>
            </goals>
            <configuration>
              <sources>
                <source>${project.build.directory}/src/main/webapp/skin/css/toc</source>
              </sources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <id>dependencies-less-src</id>
            <phase>initialize</phase>
            <goals>
              <goal>unpack-dependencies</goal>
            </goals>
            <configuration>
              <includeArtifactIds>platform-ui-skin,commons-extension-webapp</includeArtifactIds>
              <outputDirectory>${project.build.directory}/src/main/webapp</outputDirectory>
              <excludes>**/custom-variables.less</excludes>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
          <groupId>org.lesscss</groupId>
          <artifactId>lesscss-maven-plugin</artifactId>
          <executions>
            <execution>
              <id>notes</id>
              <configuration>
                <!-- SourceDirectory shouldn't exist and we should have as default the lesss folder in /src/main/less     -->
                <sourceDirectory>${project.build.directory}/src/main/webapp/skin/less</sourceDirectory>
                <outputDirectory>${project.build.directory}/${project.build.finalName}/skin/css</outputDirectory>
                <compress>false</compress>
                <includes>
                  <include>notes/notes.less</include>
                </includes>
              </configuration>
              <goals>
                <goal>compile</goal>
              </goals>
            </execution>
            <execution>
              <id>editor</id>
              <configuration>
                <sourceDirectory>${project.build.directory}/src/main/webapp/ckeditorCustom/</sourceDirectory>
                <outputDirectory>${project.build.directory}/${project.build.finalName}/ckeditorCustom</outputDirectory>
                <compress>true</compress>
                <includes>
                  <include>*.less</include>
                </includes>
              </configuration>
              <goals>
                <goal>compile</goal>
              </goals>
            </execution>
          </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <configuration>
          <!--
            Don't include libraries into Web Archives, except webjars
          -->
          <packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
