<?xml version="1.0"?>
<!--
  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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <artifactId>cxf-rt-bindings</artifactId>
    <packaging>pom</packaging>
    <name>Apache CXF Runtime Bindings</name>
    <description>Apache CXF Runtime Bindings</description>
    <url>http://cxf.apache.org</url>
    <parent>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt</artifactId>
        <version>3.3.1</version>
    </parent>
    <profiles>
        <profile>
            <id>default</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <modules>
                <module>soap</module>
                <module>xml</module>
                <module>coloc</module>
                <module>corba</module>
            </modules>
        </profile>
        <profile>
            <id>java9plus</id>
            <activation>
                <jdk>[9,)</jdk>
            </activation>
            <modules>
                <!--java.corba was removed from jdk11 and can't find an external equivalent-->
                <module>soap</module>
                <module>xml</module>
                <module>coloc</module>
            </modules>
        </profile>
    </profiles>
</project>
