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

<!--
Copyright (c) 2006 Google, Inc. All rights reserved.

This program is licensed to you under the Apache License Version 2.0,
and you may not use this file except in compliance with the Apache License Version 2.0.
You may obtain a copy of the Apache License Version 2.0 at http://www.apache.org/licenses/LICENSE-2.0.

Unless required by applicable law or agreed to in writing,
software distributed under the Apache License Version 2.0 is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the Apache License Version 2.0 for the specific language governing permissions and limitations there under.
-->

<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" 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.jwebmp</groupId>
        <artifactId>jwebmp-builder</artifactId>
        <version>0.66.0.1</version>
    </parent>

    <packaging>pom</packaging>

    <groupId>com.jwebmp.inject</groupId>
    <artifactId>guice-parent</artifactId>

    <name>Google Guice</name>

    <description>
        Guice is a lightweight dependency injection framework for Java 6 and above
    </description>

    <url>https://github.com/google/guice</url>
    <inceptionYear>2006</inceptionYear>

    <organization>
        <name>Google, Inc.</name>
        <url>http://www.google.com</url>
    </organization>

    <mailingLists>
        <mailingList>
            <name>Guice Users List</name>
            <archive>http://groups.google.com/group/google-guice/topics</archive>
            <subscribe>http://groups.google.com/group/google-guice/subscribe</subscribe>
            <unsubscribe>http://groups.google.com/group/google-guice/subscribe</unsubscribe>
            <post>http://groups.google.com/group/google-guice/post</post>
        </mailingList>
        <mailingList>
            <name>Guice Developers List</name>
            <archive>http://groups.google.com/group/google-guice-dev/topics</archive>
            <subscribe>http://groups.google.com/group/google-guice-dev/subscribe</subscribe>
            <unsubscribe>http://groups.google.com/group/google-guice-dev/subscribe</unsubscribe>
            <post>http://groups.google.com/group/google-guice-dev/post</post>
        </mailingList>
    </mailingLists>

    <scm>
        <connection>scm:git:git://github.com/google/guice.git</connection>
        <developerConnection>scm:git:ssh://git@github.com/google/guice.git</developerConnection>
        <url>https://github.com/google/guice</url>
    </scm>

    <issueManagement>
        <system>Github</system>
        <url>https://github.com/google/guice/issues/</url>
    </issueManagement>

    <ciManagement>
        <system>Travis</system>
        <url>https://travis-ci.org/google/guice</url>
    </ciManagement>

    <licenses>
        <license>
            <name>The Apache Software License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
            <distribution>repo</distribution>
        </license>
    </licenses>

    <prerequisites>
        <maven>3.0</maven>
    </prerequisites>

    <properties>
        <!--
         | The spec version of the public Guice API
        -->
        <guice.api.version>1.4</guice.api.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <!--
         | Use "-Dguice.with.jarjar=false" to build without jarjar
        -->
        <guice.with.jarjar>true</guice.with.jarjar>
        <!--
         | Use "-Dguice.with.no_aop=false" to skip the no-AOP variant
        -->
        <guice.with.no_aop>true</guice.with.no_aop>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.jwebmp</groupId>
                <artifactId>aopalliance</artifactId>
                <version>0.66.0.1</version>
            </dependency>
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>26.0-android</version>
            </dependency>
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava-testlib</artifactId>
                <version>26.0-android</version>
            </dependency>
            <dependency>
                <groupId>org.ow2.asm</groupId>
                <artifactId>asm</artifactId>
                <version>7.0</version>
                <optional>false</optional>
            </dependency>
            <dependency>
                <groupId>cglib</groupId>
                <artifactId>cglib</artifactId>
                <version>3.2.9</version>
                <optional>false</optional>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.11</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
        </dependency>
    </dependencies>

    <build>
        <!--
         | Ant-style directories
        -->
        <sourceDirectory>${project.basedir}/src</sourceDirectory>
        <resources>
            <resource>
                <filtering>false</filtering>
                <directory>${project.basedir}/src</directory>
                <excludes>
                    <exclude>**/*.java</exclude>
                </excludes>
            </resource>
        </resources>
        <testSourceDirectory>${project.basedir}/test</testSourceDirectory>
        <testResources>
            <testResource>
                <filtering>false</filtering>
                <directory>${project.basedir}/test</directory>
                <excludes>
                    <exclude>**/*.java</exclude>
                </excludes>
            </testResource>
        </testResources>
        <pluginManagement>
            <plugins>
                <!--
                 | Use 'mvn license:format -N' at top of project to add missing headers
                -->
                <plugin>
                    <groupId>com.mycila</groupId>
                    <artifactId>license-maven-plugin</artifactId>
                    <version>2.6</version>
                    <configuration>
                        <encoding>UTF-8</encoding>
                        <header>${project.basedir}/lib/build/header.txt</header>
                        <headerDefinitions>
                            <headerDefinition>${project.basedir}/lib/build/header-definitions.xml</headerDefinition>
                        </headerDefinitions>
                        <skipExistingHeaders>true</skipExistingHeaders>
                        <aggregate>true</aggregate>
                        <includes>
                            <include>**/*.java</include>
                        </includes>
                        <excludes>
                            <!-- avoid touching munged/lib/test/example code -->
                            <exclude>**/build/**</exclude>
                            <exclude>**/target/**</exclude>
                            <exclude>**/lib/**</exclude>
                            <exclude>**/test/**</exclude>
                            <exclude>**/example*/**</exclude>
                        </excludes>
                        <mapping>
                            <java>JAVADOC_STYLE</java>
                        </mapping>
                    </configuration>
                </plugin>
                <!--
                 | Standard LICENSE and NOTICE files
                -->
                <plugin>
                    <artifactId>maven-remote-resources-plugin</artifactId>
                    <version>1.1</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>process</goal>
                            </goals>
                            <configuration>
                                <resourceBundles>
                                    <resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle>
                                </resourceBundles>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>

                <plugin>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <configuration>
                        <redirectTestOutputToFile>true</redirectTestOutputToFile>
                        <!--<argLine>-Dguice_include_stack_traces=OFF</argLine>-->
                    </configuration>
                    <executions>
                        <execution>
                            <id>stack-traces-off</id>
                            <phase>test</phase>
                            <goals>
                                <goal>test</goal>
                            </goals>
                            <configuration>
                                <argLine>-Dguice_include_stack_traces=OFF</argLine>
                            </configuration>
                        </execution>
                        <execution>
                            <id>stack-traces-complete</id>
                            <phase>test</phase>
                            <goals>
                                <goal>test</goal>
                            </goals>
                            <configuration>
                                <argLine>-Dguice_include_stack_traces=COMPLETE</argLine>
                            </configuration>
                        </execution>
                        <execution>
                            <id>default-test</id>
                            <phase>test</phase>
                            <goals>
                                <goal>test</goal>
                            </goals>
                            <configuration>
                                <argLine>-Dguice_include_stack_traces=ONLY_FOR_DECLARING_SOURCE</argLine>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <profiles>
        <profile>
            <id>jdk11</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>build-helper-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>add-source</id>
                                <phase>generate-sources</phase>
                                <goals>
                                    <goal>add-source</goal>
                                </goals>
                                <configuration>
                                    <sources>
                                        <source>src</source>
                                        <source>jre11</source>
                                    </sources>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>
