<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2021 PANTHEON.tech s.r.o. All Rights Reserved.

  This program and the accompanying materials are made available under the
  terms of the Eclipse Public License v1.0 which accompanies this distribution,
  and is available at https://www.eclipse.org/legal/epl-v10.html
-->
<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>
    <groupId>io.lighty.core</groupId>
    <artifactId>lighty-bom</artifactId>
    <version>21.3.0</version>
    <packaging>pom</packaging>

    <name>${project.groupId}:${project.artifactId}</name>
    <url>https://github.com/PANTHEONtech/lighty</url>
    <description>
        This artifact contains dependencyManagement declarations of all published
        Lighty components.
    </description>

    <dependencyManagement>
        <dependencies>
            <!-- Core components -->
            <dependency>
                <groupId>io.lighty.core</groupId>
                <artifactId>lighty-codecs-util</artifactId>
                <version>21.3.0</version>
            </dependency>
            <dependency>
                <groupId>io.lighty.core</groupId>
                <artifactId>lighty-common</artifactId>
                <version>21.3.0</version>
            </dependency>
            <dependency>
                <groupId>io.lighty.core</groupId>
                <artifactId>lighty-controller</artifactId>
                <version>21.3.0</version>
            </dependency>
            <dependency>
                <groupId>io.lighty.core</groupId>
                <artifactId>lighty-clustering</artifactId>
                <version>21.3.0</version>
            </dependency>

            <!-- DI framework integrations -->
            <dependency>
                <groupId>io.lighty.core</groupId>
                <artifactId>lighty-controller-guice-di</artifactId>
                <version>21.3.0</version>
            </dependency>
            <dependency>
                <groupId>io.lighty.core</groupId>
                <artifactId>lighty-controller-spring-di</artifactId>
                <version>21.3.0</version>
            </dependency>

            <!-- Models -->
            <dependency>
                <groupId>io.lighty.models</groupId>
                <artifactId>openconfig-models</artifactId>
                <version>21.3.0</version>
            </dependency>

            <!-- Modules -->
            <dependency>
                <groupId>io.lighty.modules.tests</groupId>
                <artifactId>integration-tests</artifactId>
                <version>21.3.0</version>
            </dependency>
            <dependency>
                <groupId>io.lighty.modules.tests</groupId>
                <artifactId>integration-tests-aaa</artifactId>
                <version>21.3.0</version>
            </dependency>
            <dependency>
                <groupId>io.lighty.modules</groupId>
                <artifactId>lighty-aaa</artifactId>
                <version>21.3.0</version>
            </dependency>
            <dependency>
                <groupId>io.lighty.modules</groupId>
                <artifactId>lighty-jetty-server</artifactId>
                <version>21.3.0</version>
            </dependency>
            <dependency>
                <groupId>io.lighty.modules</groupId>
                <artifactId>lighty-netconf-sb</artifactId>
                <version>21.3.0</version>
            </dependency>
            <dependency>
                <groupId>io.lighty.modules</groupId>
                <artifactId>lighty-restconf-nb-community</artifactId>
                <version>21.3.0</version>
            </dependency>
            <dependency>
                <groupId>io.lighty.modules</groupId>
                <artifactId>lighty-openapi</artifactId>
                <version>21.3.0</version>
            </dependency>
            <dependency>
                <groupId>io.lighty.modules</groupId>
                <artifactId>lighty-aaa-encryption-service</artifactId>
                <version>21.3.0</version>
            </dependency>
            <dependency>
                <groupId>io.lighty.modules</groupId>
                <artifactId>lighty-bgp</artifactId>
                <version>21.3.0</version>
            </dependency>

            <!-- gNMI -->
            <dependency>
                <groupId>io.lighty.modules.gnmi</groupId>
                <artifactId>lighty-gnmi-connector</artifactId>
                <version>21.3.0</version>
            </dependency>
            <dependency>
                <groupId>io.lighty.modules.gnmi</groupId>
                <artifactId>lighty-gnmi-commons</artifactId>
                <version>21.3.0</version>
            </dependency>
            <dependency>
                <groupId>io.lighty.modules.gnmi</groupId>
                <artifactId>lighty-gnmi-proto</artifactId>
                <version>21.3.0</version>
            </dependency>
            <dependency>
                <groupId>io.lighty.modules.gnmi</groupId>
                <artifactId>lighty-gnmi-device-simulator</artifactId>
                <version>21.3.0</version>
            </dependency>
            <dependency>
                <groupId>io.lighty.modules.gnmi.southbound</groupId>
                <artifactId>lighty-gnmi-sb</artifactId>
                <version>21.3.0</version>
            </dependency>
            <dependency>
                <groupId>io.lighty.models.gnmi</groupId>
                <artifactId>lighty-gnmi-topology-model</artifactId>
                <version>21.3.0</version>
            </dependency>
            <dependency>
                <groupId>io.lighty.models.gnmi</groupId>
                <artifactId>lighty-gnmi-yang-storage-model</artifactId>
                <version>21.3.0</version>
            </dependency>
            <dependency>
                <groupId>io.lighty.models.gnmi</groupId>
                <artifactId>lighty-gnmi-certificates-storage-model</artifactId>
                <version>21.3.0</version>
            </dependency>
            <dependency>
                <groupId>io.lighty.models.gnmi</groupId>
                <artifactId>lighty-gnmi-force-capabilities</artifactId>
                <version>21.3.0</version>
            </dependency>

            <!-- lighty applications -->
            <dependency>
                <groupId>io.lighty.applications.rcgnmi</groupId>
                <artifactId>lighty-rcgnmi-app</artifactId>
                <version>21.3.0</version>
            </dependency>
            <dependency>
                <groupId>io.lighty.applications.rcgnmi</groupId>
                <artifactId>lighty-rcgnmi-app-module</artifactId>
                <version>21.3.0</version>
            </dependency>
            <dependency>
                <groupId>io.lighty.applications.rnc</groupId>
                <artifactId>lighty-rnc-app</artifactId>
                <version>21.3.0</version>
            </dependency>
            <dependency>
                <groupId>io.lighty.applications.rnc</groupId>
                <artifactId>lighty-rnc-module</artifactId>
                <version>21.3.0</version>
            </dependency>
            <dependency>
                <groupId>io.lighty.applications</groupId>
                <artifactId>lighty-app-modules-config</artifactId>
                <version>21.3.0</version>
            </dependency>

            <!-- lighty examples -->
            <dependency>
                <groupId>io.lighty.kit.examples.controllers</groupId>
                <artifactId>lighty-community-aaa-restconf-app</artifactId>
                <version>21.3.0</version>
            </dependency>
            <dependency>
                <groupId>io.lighty.kit.examples.controllers</groupId>
                <artifactId>lighty-community-restconf-netconf-app</artifactId>
                <version>21.3.0</version>
            </dependency>
            <dependency>
                <groupId>io.lighty.kit.examples.controllers</groupId>
                <artifactId>lighty-bgp-community-restconf-app</artifactId>
                <version>21.3.0</version>
            </dependency>
            <dependency>
                <groupId>io.lighty.core</groupId>
                <artifactId>lighty-controller-springboot</artifactId>
                <version>21.3.0</version>
            </dependency>
            <dependency>
                <groupId>io.lighty.kit.examples.controllers</groupId>
                <artifactId>lighty-guice-app</artifactId>
                <version>21.3.0</version>
            </dependency>
            <dependency>
                <groupId>io.lighty.kit.examples.controllers</groupId>
                <artifactId>lighty-community-restconf-actions-app</artifactId>
                <version>21.3.0</version>
            </dependency>

            <!-- Utility resources -->
            <dependency>
                <groupId>io.lighty.resources</groupId>
                <artifactId>controller-application-assembly</artifactId>
                <version>21.3.0</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>io.lighty.resources</groupId>
                <artifactId>singlenode-configuration</artifactId>
                <version>21.3.0</version>
            </dependency>
            <dependency>
                <groupId>io.lighty.resources</groupId>
                <artifactId>start-script</artifactId>
                <version>21.3.0</version>
            </dependency>

            <!-- Dependencies and resources which should not normally leak into production -->
            <dependency>
                <groupId>io.lighty.models.test</groupId>
                <artifactId>lighty-test-models</artifactId>
                <version>21.3.0</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>io.lighty.models.test</groupId>
                <artifactId>lighty-toaster</artifactId>
                <version>21.3.0</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>io.lighty.resources</groupId>
                <artifactId>log4j2-config</artifactId>
                <version>21.3.0</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <profiles>
        <profile>
            <id>release</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <version>3.2.8</version>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.sonatype.central</groupId>
                        <artifactId>central-publishing-maven-plugin</artifactId>
                        <version>0.7.0</version>
                        <extensions>true</extensions>
                        <configuration>
                            <publishingServerId>central</publishingServerId>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

    <licenses>
        <license>
            <name>Eclipse Public License 1.0</name>
            <url>https://www.eclipse.org/legal/epl-v10.html</url>
            <distribution>repo</distribution>
        </license>
    </licenses>
    <scm>
        <connection>scm:git:https://github.com/PANTHEONtech/lighty.git</connection>
        <developerConnection>scm:git:https://github.com/PANTHEONtech/lighty.git</developerConnection>
        <url>https://github.com/PANTHEONtech/lighty</url>
        <tag>21.3.0</tag>
    </scm>
    <developers>
        <developer>
            <id>rovarga</id>
            <name>Robert Varga</name>
            <email>robert.varga@pantheon.tech</email>
            <organization>PANTHEON.tech s.r.o.</organization>
            <organizationUrl>https://www.pantheon.tech</organizationUrl>
        </developer>
    </developers>
</project>
