<!--
  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>
    <artifactId>cloudstack-plugins</artifactId>
    <name>Apache CloudStack Plugin POM</name>
    <packaging>pom</packaging>
    <parent>
        <groupId>org.apache.cloudstack</groupId>
        <artifactId>cloudstack</artifactId>
        <version>24.0.0-SNAPSHOT</version>
    </parent>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <executions>
                    <execution>
                        <id>cloudstack-checkstyle</id>
                        <phase>none</phase>
                        <inherited>false</inherited>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    <modules>
        <!-- keep in alphabetic order -->
        <module>acl/dynamic-role-based</module>
        <module>acl/static-role-based</module>
        <module>acl/project-role-based</module>

        <module>affinity-group-processors/explicit-dedication</module>
        <module>affinity-group-processors/host-affinity</module>
        <module>affinity-group-processors/host-anti-affinity</module>
        <module>affinity-group-processors/non-strict-host-affinity</module>
        <module>affinity-group-processors/non-strict-host-anti-affinity</module>

        <module>alert-handlers/snmp-alerts</module>
        <module>alert-handlers/syslog-alerts</module>

        <module>api/discovery</module>
        <module>api/rate-limit</module>
        <module>api/solidfire-intg-test</module>

        <module>backup/dummy</module>
        <module>backup/networker</module>
        <module>backup/nas</module>
        <module>backup/kboss</module>

        <module>ca/root-ca</module>

        <module>database/quota</module>

        <module>dedicated-resources</module>

        <module>deployment-planners/implicit-dedication</module>
        <module>deployment-planners/user-concentrated-pod</module>
        <module>deployment-planners/user-dispersing</module>

        <module>drs/cluster/balanced</module>
        <module>drs/cluster/condensed</module>

        <module>event-bus/inmemory</module>
        <module>event-bus/kafka</module>
        <module>event-bus/rabbitmq</module>
        <module>event-bus/webhook</module>

        <module>ha-planners/skip-heurestics</module>

        <module>hypervisors/baremetal</module>
        <module>hypervisors/external</module>
        <module>hypervisors/hyperv</module>
        <module>hypervisors/kvm</module>
        <module>hypervisors/ucs</module>
        <module>hypervisors/xenserver</module>

        <module>integrations/cloudian</module>
        <module>integrations/prometheus</module>
        <module>integrations/kubernetes-service</module>
        <module>integrations/veeam-control-service</module>

        <module>kms</module>

        <module>metrics</module>

        <module>network-elements/bigswitch</module>
        <module>network-elements/dns-notifier</module>
        <module>network-elements/elastic-loadbalancer</module>
        <module>network-elements/globodns</module>
        <module>network-elements/internal-loadbalancer</module>
        <module>network-elements/netscaler</module>
        <module>network-elements/nicira-nvp</module>
        <module>network-elements/opendaylight</module>
        <module>network-elements/ovs</module>
        <module>network-elements/palo-alto</module>
        <module>network-elements/stratosphere-ssp</module>
        <module>network-elements/brocade-vcs</module>
        <module>network-elements/vxlan</module>

        <module>outofbandmanagement-drivers/ipmitool</module>
        <module>outofbandmanagement-drivers/nested-cloudstack</module>
        <module>outofbandmanagement-drivers/redfish</module>

        <module>maintenance</module>

        <module>storage/sharedfs/storagevm</module>
        <module>storage/image/default</module>
        <module>storage/image/s3</module>
        <module>storage/image/sample</module>
        <module>storage/image/swift</module>
        <module>storage/volume/cloudbyte</module>
        <module>storage/volume/datera</module>
        <module>storage/volume/default</module>
        <module>storage/volume/nexenta</module>
        <module>storage/volume/sample</module>
        <module>storage/volume/ontap</module>
        <module>storage/volume/solidfire</module>
        <module>storage/volume/scaleio</module>
        <module>storage/volume/linstor</module>
        <module>storage/volume/storpool</module>
        <module>storage/volume/adaptive</module>
        <module>storage/volume/flasharray</module>
        <module>storage/volume/primera</module>
        <module>storage/object/minio</module>
        <module>storage/object/ceph</module>
        <module>storage/object/cloudian</module>
        <module>storage/object/simulator</module>


        <module>storage-allocators/random</module>

        <module>user-authenticators/ldap</module>
        <module>user-authenticators/md5</module>
        <module>user-authenticators/oauth2</module>
        <module>user-authenticators/pbkdf2</module>
        <module>user-authenticators/plain-text</module>
        <module>user-authenticators/saml2</module>
        <module>user-authenticators/sha256salted</module>

        <module>user-two-factor-authenticators/totp</module>
        <module>user-two-factor-authenticators/static-pin</module>
        <module>dns/powerdns</module>

    </modules>
    <dependencies>
        <dependency>
            <groupId>org.apache.cloudstack</groupId>
            <artifactId>cloud-server</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cloudstack</groupId>
            <artifactId>cloud-api</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cloudstack</groupId>
            <artifactId>cloud-utils</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cloudstack</groupId>
            <artifactId>cloud-framework-config</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>de.taimos</groupId>
            <artifactId>totp</artifactId>
            <version>1.0</version>
        </dependency>
        <dependency>
            <groupId>com.google.zxing</groupId>
            <artifactId>javase</artifactId>
            <version>3.2.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cloudstack</groupId>
            <artifactId>cloud-api</artifactId>
            <version>${project.version}</version>
            <type>test-jar</type>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.cloudstack</groupId>
            <artifactId>cloud-engine-storage</artifactId>
            <version>${project.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>io.minio</groupId>
            <artifactId>minio</artifactId>
            <version>${cs.minio.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>io.minio</groupId>
            <artifactId>minio-admin</artifactId>
            <version>${cs.minio.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.cloudstack</groupId>
            <artifactId>cloud-engine-storage-object</artifactId>
            <version>${project.version}</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>
    <profiles>
        <profile>
            <id>vmware</id>
            <activation>
                <property>
                    <name>noredist</name>
                </property>
            </activation>
            <modules>
                <module>api/vmware-sioc</module>
                <module>backup/veeam</module>
                <module>hypervisors/vmware</module>
                <module>network-elements/cisco-vnmc</module>
                <module>network-elements/nsx</module>
                <module>network-elements/netris</module>
                <module>network-elements/juniper-contrail</module>
                <module>network-elements/tungsten</module>
            </modules>
        </profile>
        <profile>
            <id>mysqlha</id>
            <activation>
                <property>
                    <name>noredist</name>
                </property>
            </activation>
            <modules>
                <module>database/mysql-ha</module>
            </modules>
        </profile>
        <profile>
            <id>simulator</id>
            <activation>
                <property>
                    <name>simulator</name>
                </property>
            </activation>
            <modules>
                <module>hypervisors/simulator</module>
            </modules>
        </profile>
    </profiles>
</project>
