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

    Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
    Copyright (c) 2021 Payara Services Ltd.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.glassfish.hk2</groupId>
        <artifactId>hk2-parent</artifactId>
        <version>4.0.0-M1.1</version>
    </parent>

    <artifactId>hk2-testing</artifactId>
    <packaging>pom</packaging>

    <name>Utilities for testing with HK2</name>

    <modules>
        <module>hk2-junitrunner</module>
        <module>ant</module>
        <module>hk2-locator-extras</module>
        <module>hk2-testng</module>
        <module>hk2-runlevel-extras</module>
        <module>hk2-locator-no-proxies</module>
        <module>hk2-locator-no-proxies2</module>
        <module>interceptor-events</module>
        <module>hk2-mockito</module>
        <module>collections</module>
        <module>jersey</module>
    </modules>
</project>
