<?xml version="1.0" encoding="UTF-8"?>
<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>
        <groupId>com.composum.nodes</groupId>
        <artifactId>composum-nodes-package</artifactId>
        <version>3.4.2</version>
    </parent>

    <artifactId>composum-nodes-aem-package</artifactId>
    <packaging>content-package</packaging>

    <name>Composum Nodes AEM Package</name>
    <description>Composum Nodes Package - the Composum Nodes tools collection for AEM with initial content separated</description>

    <build>
        <resources>

            <resource>
                <directory>src/main/content/jcr_root</directory>
                <filtering>false</filtering>
                <excludes>
                    <exclude>**/.vlt*</exclude>
                    <exclude>**/.DS_Store</exclude>
                    <exclude>**/.gitignore</exclude>
                </excludes>
                <targetPath>${project.build.directory}/content/jcr_root</targetPath>
            </resource>

            <resource>
                <directory>${project.build.directory}/content/jcr_root</directory>
            </resource>

        </resources>
        <plugins>

            <!-- extract and embed the content of the bundles -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>

                    <execution>
                        <id>prepare-content</id>
                        <phase>generate-resources</phase>
                        <goals>
                            <goal>unpack</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/content</outputDirectory>
                            <overWriteIfNewer>true</overWriteIfNewer>

                            <artifactItems>

                                <artifactItem>
                                    <groupId>${project.groupId}</groupId>
                                    <artifactId>composum-nodes-sling-package</artifactId>
                                    <version>${project.version}</version>
                                    <type>content-package</type>
                                    <includes>
                                        jcr_root/libs/**
                                    </includes>
                                    <excludes>
                                        **/nodes/install/**,
                                        **/nodes.setup/upload/*pckgmgr*,
                                        **/nodes.setup/pckgmgr/**
                                    </excludes>
                                    <fileMappers>
                                        <org.codehaus.plexus.components.io.filemappers.RegExpFileMapper>
                                            <pattern>jcr_root/libs/composum/nodes.setup/</pattern>
                                            <replacement>jcr_root/apps/composum/nodes/</replacement>
                                        </org.codehaus.plexus.components.io.filemappers.RegExpFileMapper>
                                        <org.codehaus.plexus.components.io.filemappers.RegExpFileMapper>
                                            <pattern>jcr_root/apps/composum/nodes/upload/</pattern>
                                            <replacement>jcr_root/apps/composum/nodes/install/</replacement>
                                        </org.codehaus.plexus.components.io.filemappers.RegExpFileMapper>
                                        <org.codehaus.plexus.components.io.filemappers.RegExpFileMapper>
                                            <pattern>jcr_root/apps/composum/nodes/install/(.*\.config)</pattern>
                                            <replacement>jcr_root/apps/composum/nodes/config/$1</replacement>
                                        </org.codehaus.plexus.components.io.filemappers.RegExpFileMapper>
                                        <org.codehaus.plexus.components.io.filemappers.RegExpFileMapper>
                                            <pattern>jcr_root/libs/fonts/</pattern>
                                            <replacement>jcr_root/apps/fonts/</replacement>
                                        </org.codehaus.plexus.components.io.filemappers.RegExpFileMapper>
                                        <org.codehaus.plexus.components.io.filemappers.RegExpFileMapper>
                                            <pattern>jcr_root/libs/composum/</pattern>
                                            <replacement>jcr_root/apps/composum/</replacement>
                                        </org.codehaus.plexus.components.io.filemappers.RegExpFileMapper>
                                    </fileMappers>
                                </artifactItem>

                                <artifactItem>
                                    <groupId>${project.groupId}</groupId>
                                    <artifactId>composum-nodes-jslibs-package</artifactId>
                                    <version>${project.version}</version>
                                    <type>content-package</type>
                                    <includes>
                                        jcr_root/libs/**
                                    </includes>
                                    <fileMappers>
                                        <org.codehaus.plexus.components.io.filemappers.RegExpFileMapper>
                                            <pattern>jcr_root/libs/</pattern>
                                            <replacement>jcr_root/apps/</replacement>
                                        </org.codehaus.plexus.components.io.filemappers.RegExpFileMapper>
                                    </fileMappers>
                                </artifactItem>

                            </artifactItems>
                        </configuration>
                    </execution>

                </executions>
                <inherited>false</inherited>
            </plugin>

            <plugin>
                <groupId>org.apache.jackrabbit</groupId>
                <artifactId>filevault-package-maven-plugin</artifactId>
                <extensions>true</extensions>
                <configuration>

                    <group>${package.group}</group>
                    <properties>
                        <createdBy>${package.company}</createdBy>
                    </properties>

                    <jcrRootSourceDirectory>${project.build.directory}/content/jcr_root</jcrRootSourceDirectory>
                    <skipValidation>true</skipValidation>
                    <thumbnailImage>${basedir}/src/main/content/META-INF/vault/definition/thumbnail.png</thumbnailImage>

                    <filters>
                        <filter>
                            <root>/apps/cq/core/content/nav/tools/general/composum</root>
                        </filter>
                        <filter>
                            <root>/apps/cq/core/content/nav/tools/composum</root><!-- for removal -->
                        </filter>
                        <filter>
                            <root>/apps/composum/nodes/aem/browser</root>
                        </filter>
                        <filter>
                            <root>/apps/composum/nodes/aem/console</root>
                        </filter>

                        <filter>
                            <root>/apps/composum/nodes/install</root>
                            <includes>
                                <include>.*/composum-nodes-commons.*\.jar</include>
                                <include>.*/composum-nodes-console.*\.jar</include>
                                <include>.*/composum-nodes-usermgr.*\.jar</include>
                            </includes>
                        </filter>

                        <filter>
                            <root>/apps/composum/nodes/config</root>
                            <includes>
                                <include>.*/.*\.CoreConfigImpl.*</include>
                                <include>.*/.*\.LoginAdminWhitelist\.fragment-composum_core.*</include>
                                <include>.*/.*\.GenericProxyRequest~system-health.*</include>
                                <include>.*/.*\.ServletResourceType~cpm-clientlibs.*</include>
                                <include>.*/.*\.ServletResourceType~cpm-servicegraph.*</include>
                                <include>.*/.*\.ServletResourceType~runtime-threaddump.*</include>
                                <include>.*/.*\.ServletResourceType~sling-adapters.*</include>
                                <include>.*/.*\.ServletResourceType~sling-jobs.*</include>
                                <include>.*/.*\.ServletResourceType~sling-requests.*</include>
                                <include>.*/.*\.ServletResourceType~sling-resolver.*</include>
                                <include>.*/.*\.ServletResourceType~sling-servlets.*</include>
                            </includes>
                        </filter>

                        <filter>
                            <root>/apps/composum/nodes/browser</root>
                        </filter>
                        <filter>
                            <root>/apps/composum/nodes/commons</root>
                        </filter>
                        <filter>
                            <root>/apps/composum/nodes/console</root>
                        </filter>
                        <filter>
                            <root>/apps/composum/nodes/system</root>
                        </filter>
                        <filter>
                            <root>/apps/composum/nodes/usermgnt</root>
                        </filter>

                        <filter>
                            <root>/apps/fonts/composum</root>
                        </filter>
                        <filter>
                            <root>/apps/fonts/awesome/4.7.0</root>
                        </filter>
                        <filter>
                            <root>/apps/fonts/roboto/2014</root>
                        </filter>

                        <filter>
                            <root>/apps/jslibs/ace/1.4.4</root>
                        </filter>
                        <filter>
                            <root>/apps/jslibs/ace/setup</root>
                        </filter>
                        <filter>
                            <root>/apps/jslibs/backbone/1.3.3</root>
                        </filter>
                        <filter>
                            <root>/apps/jslibs/backbone/1.4.0</root>
                        </filter>
                        <filter>
                            <root>/apps/jslibs/bootstrap/3.3.7</root>
                        </filter>
                        <filter>
                            <root>/apps/jslibs/bootstrap/3.4.1</root>
                        </filter>
                        <filter>
                            <root>/apps/jslibs/bootstrap-colorpicker/3.1.2</root>
                        </filter>
                        <filter>
                            <root>/apps/jslibs/bootstrap-datetimepicker/4.17.47</root>
                        </filter>
                        <filter>
                            <root>/apps/jslibs/bootstrap-fileinput/4.3.6</root>
                        </filter>
                        <filter>
                            <root>/apps/jslibs/bootstrap-fileinput/5.0.3</root>
                        </filter>
                        <filter>
                            <root>/apps/jslibs/bootstrap-slider/10.6.1</root>
                        </filter>
                        <filter>
                            <root>/apps/jslibs/bootstrap-table/1.7.0</root>
                        </filter>
                        <filter>
                            <root>/apps/jslibs/bootstrap-table/1.14.2</root>
                        </filter>
                        <filter>
                            <root>/apps/jslibs/bootstrap-vertical-tabs/1.2.2</root>
                        </filter>
                        <filter>
                            <root>/apps/jslibs/highlight/9.8.0</root>
                        </filter>
                        <filter>
                            <root>/apps/jslibs/highlight/9.15.6</root>
                        </filter>
                        <filter>
                            <root>/apps/jslibs/iframeResizer/4.0.4</root>
                        </filter>
                        <filter>
                            <root>/apps/jslibs/jquery/2.2.4</root>
                        </filter>
                        <filter>
                            <root>/apps/jslibs/jquery/3.4.1</root>
                        </filter>
                        <filter>
                            <root>/apps/jslibs/jquery/3.6.0</root>
                        </filter>
                        <filter>
                            <root>/apps/jslibs/js-base64/2.5.2</root>
                        </filter>
                        <filter>
                            <root>/apps/jslibs/jstree/3.3.8</root>
                        </filter>
                        <filter>
                            <root>/apps/jslibs/loglevel/1.6.1</root>
                        </filter>
                        <filter>
                            <root>/apps/jslibs/moment/2.24.0</root>
                        </filter>
                        <filter>
                            <root>/apps/jslibs/split-pane/1.0.0</root>
                        </filter>
                        <filter>
                            <root>/apps/jslibs/trumbowyg/2.3.0</root>
                        </filter>
                        <filter>
                            <root>/apps/jslibs/trumbowyg/2.17.0</root>
                        </filter>
                        <filter>
                            <root>/apps/jslibs/typeahead/3.1.0</root>
                        </filter>
                        <filter>
                            <root>/apps/jslibs/typeahead/4.0.2</root>
                        </filter>
                        <filter>
                            <root>/apps/jslibs/underscore/1.8.3</root>
                        </filter>
                        <filter>
                            <root>/apps/jslibs/underscore/1.9.1</root>
                        </filter>
                        <filter>
                            <root>/apps/jslibs/x-editable/1.5.3</root>
                        </filter>

                    </filters>

                </configuration>
            </plugin>

            <plugin>
                <groupId>com.adobe.aem</groupId>
                <artifactId>aemanalyser-maven-plugin</artifactId>
                <version>1.4.2</version>
                <executions>
                    <execution>
                        <id>aem-analyser</id>
                        <goals>
                            <goal>project-analyse</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

        </plugins>
    </build>
    <dependencies>

        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>composum-nodes-sling-package</artifactId>
            <version>${project.version}</version>
            <type>content-package</type>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>composum-nodes-jslibs-package</artifactId>
            <version>${project.version}</version>
            <type>content-package</type>
        </dependency>

        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>composum-nodes-commons-bundle</artifactId>
            <version>${project.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.sling</groupId>
            <artifactId>org.apache.sling.scripting.jsp.taglib</artifactId>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>

    </dependencies>
</project>
