Skip to content

Content of file pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<!--

    *********************************************************************************************************************

    TheseFoolishThings: Miscellaneous utilities
    http://tidalwave.it/projects/thesefoolishthings

    Copyright (C) 2009 - 2023 by Tidalwave s.a.s. (http://tidalwave.it)

    *********************************************************************************************************************

    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.

    *********************************************************************************************************************

    git clone https://bitbucket.org/tidalwave/thesefoolishthings-src
    git clone https://github.com/tidalwave-it/thesefoolishthings-src

    *********************************************************************************************************************

-->
<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>${groupId}</groupId>
        <artifactId>${rootArtifactId}</artifactId>
        <version>${version}</version>
        <relativePath>../pom.xml</relativePath>
    </parent>

    <!-- ===============================================================================================================

        This is the "Modules POM" of the project. It is an intermediate-level POM, just below the "Master POM", which
        takes care of everything we need for used dependencies: declare their versions with a <dependencyManagement>
        section. This POM includes, one by one, all the actual modules of the project.

    ================================================================================================================ -->

    <groupId>${groupId}</groupId>
    <artifactId>${rootArtifactId}-modules</artifactId>
    <version>${version}</version>
    <packaging>pom</packaging>
    <name>${projectName} (modules)</name>
    <description>The parent POM of all modules.</description>

    <!-- ===============================================================================================================

        Here you declare some properties defining the version of dependencies used by this project. All dependencies
        for all modules must be enumerated, and specified below in the <dependencyManagement> section.

    ================================================================================================================ -->
    <properties>
        <tft.maven.requiredJdk>[1.8)</tft.maven.requiredJdk>
        <tft.javac.source>1.8</tft.javac.source>
        <tft.javac.target>1.8</tft.javac.target>

        <slf4j.version>1.7.5</slf4j.version>
        <logback.version>1.0.12</logback.version>
        <tft.jsr305.version>2.0.1</tft.jsr305.version>
        <tft.jsr330.version>1</tft.jsr330.version>
        <tft.lombok.version>0.11.6</tft.lombok.version>
        <tft.mockito.version>1.8.5</tft.mockito.version>

        <!--
        <tft.test.maxMemory>1024M</tft.test.maxMemory>
        <tft.test.listeners>it.tidalwave.util.test.TestLogger</tft.test.listeners>
        -->

        <!-- thesefoolishthings.version>1.28</thesefoolishthings.version -->
        <!-- netbeans.version>RELEASE72</netbeans.version -->
    </properties>

    <!-- ===============================================================================================================

        Here you declare the dependencies used by all the modules in the project. This section only instructs Maven to
        remember the version of each dependency, while actual dependencies will be enumerated in each module requiring
        them. This section is a fundamental part of Maven best practices, as it ensures that dependency convergence is
        preserved: that is the same dependency is not listed in different places with different versions.
        For the sake of readability, don't inline version numbers here, but use properties specified in the
        <properties> section above.
        Keep dependencies for tests separated for better readability.
        You shouldn't declare the modules of this project here, instead they should go in the <dependencyManagement>
        section of the "Master POM".

    ================================================================================================================ -->
    <dependencyManagement>
        <dependencies>
            <!--
            <dependency>
                <groupId>it.tidalwave.thesefoolishthings</groupId>
                <artifactId>thesefoolishthings</artifactId>
                <version>${thesefoolishthings.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            -->

            <dependency>
                <groupId>com.google.code.findbugs</groupId>
                <artifactId>annotations</artifactId>
                <version>${tft.jsr305.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.inject</groupId>
                <artifactId>javax.inject</artifactId>
                <version>${tft.jsr330.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${tft.slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
                <version>${tft.logback.version}</version>
            </dependency>

            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${tft.lombok.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <!-- ===============================================================================================================

        Here you declare some actual dependencies that are shared by all the modules in this project. This usually
        includes common stuff such as annotations, annotation processors, and the libraries for testing. This section
        might be empty.
        Don't specify versions here - they should be listed in the <dependencyManagement> section above.
        Keep dependencies for tests separated for better readability.

    ================================================================================================================ -->
    <dependencies>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <scope>provided</scope>
        </dependency>

        <!-- TEST DEPENDENCIES -->
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-all</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-all</artifactId>
            <scope>test</scope>
        </dependency>
        <!--
        <dependency>
            <groupId>it.tidalwave.thesefoolishthings</groupId>
            <artifactId>it-tidalwave-util-test</artifactId>
            <scope>test</scope>
        </dependency>
        -->
    </dependencies>

    <!-- ===============================================================================================================

        Inclusion of modules participating in this project. Remember to list all the modules as soon as you add them
        to the project.

    ================================================================================================================ -->
    <modules>
        <module>Module1</module> <!-- TODO: Module1 has been generated by the archetype as an example -
Module1 has been generated by the archetype as an example -
rename & expand it, or drop it and create your own stuff --> </modules> </project>