<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ ============LICENSE_START=======================================================
  ~ ONAP : ccsdk features
  ~ ================================================================================
  ~ Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
  ~ ================================================================================
  ~ Licensed 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.
  ~ ============LICENSE_END=======================================================
  ~
  -->
<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.onap.ccsdk.parent</groupId>
        <artifactId>odlparent-lite</artifactId>
        <version>2.3.3</version>
        <relativePath/>
    </parent>

    <groupId>org.onap.ccsdk.features.sdnr.wt</groupId>
    <artifactId>odlux-top</artifactId>
    <version>1.4.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <name>ccsdk-features :: ${project.artifactId}</name>

    <modules>
        <module>framework</module>
        <module>core</module>
        <module>apps/apiDemo</module>
        <module>apps/connectApp</module>
        <module>apps/demoApp</module>
        <module>apps/faultApp</module>
        <module>apps/helpApp</module>
        <module>apps/inventoryApp</module>
        <module>apps/maintenanceApp</module>
        <module>apps/minimumApp</module>
        <module>apps/performanceHistoryApp</module>
        <module>apps/eventLogApp</module>
        <module>apps/configurationApp</module>
        <module>apps/app-feature</module>
        <module>apps/app-installer</module>
        <module>installer</module>
    </modules>

    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <executions>
                    <execution><!-- Run our version calculation script -->
                        <id>Clean node and node_modules</id>
                        <phase>package</phase>
                        <goals>
                            <goal>exec</goal>
                        </goals>
                        <configuration>
                            <executable>rm</executable>
                            <arguments>
                                <argument>-r</argument>
                                <argument>node_modules</argument>
                            </arguments>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>
