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

<!--

    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.

-->

<library version="3.0" xmlns="http://www.netbeans.org/ns/library-declaration/3">
    <name>jaxws21</name>
    <type>j2se</type>
    <localizing-bundle>org/netbeans/modules/websvc/jaxws21/Bundle</localizing-bundle>
    <volume>
        <type>classpath</type>
        <resource>jar:nbinst://org.netbeans.libs.jaxb/modules/ext/jaxb/jaxb-impl.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.libs.jaxb/modules/ext/jaxb/jaxb-xjc.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.modules.websvc.jaxws21/modules/ext/jaxws22/FastInfoset.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.modules.websvc.jaxws21/modules/ext/jaxws22/gmbal-api-only.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.modules.websvc.jaxws21/modules/ext/jaxws22/ha-api.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.modules.websvc.jaxws21/modules/ext/jaxws22/javax.mail_1.4.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.modules.websvc.jaxws21/modules/ext/jaxws22/jaxws-rt.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.modules.websvc.jaxws21/modules/ext/jaxws22/jaxws-tools.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.modules.websvc.jaxws21/modules/ext/jaxws22/management-api.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.modules.websvc.jaxws21/modules/ext/jaxws22/mimepull.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.modules.websvc.jaxws21/modules/ext/jaxws22/policy.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.modules.websvc.jaxws21/modules/ext/jaxws22/saaj-impl.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.modules.websvc.jaxws21/modules/ext/jaxws22/stax-ex.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.modules.websvc.jaxws21/modules/ext/jaxws22/stax2-api.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.modules.websvc.jaxws21/modules/ext/jaxws22/streambuffer.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.modules.websvc.jaxws21/modules/ext/jaxws22/woodstox-core-asl.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.modules.websvc.jaxws21api/modules/ext/jaxws22/api/jaxws-api.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.modules.websvc.jaxws21api/modules/ext/jaxws22/api/jsr181-api.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.modules.websvc.jaxws21api/modules/ext/jaxws22/api/javax.annotation.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.modules.websvc.jaxws21api/modules/ext/jaxws22/api/saaj-api.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.modules.xml.jaxb.api/modules/ext/jaxb/activation.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.modules.xml.jaxb.api/modules/ext/jaxb/api/jaxb-api.jar!/</resource>
    </volume>
    <volume>
        <type>javadoc</type>
        <resource>jar:nbinst://org.netbeans.modules.websvc.jaxws21/docs/jaxws-api-doc.zip!/</resource>
    </volume>
    <properties>
        <!-- please check with mkleint@netbeans.org before/after updating this or "classpath" section -->
        <property>
            <name>maven-dependencies</name>
            <value>
                javax.jws:jsr181-api:1.0-MR1:jar
                com.sun.xml.ws:jaxws-rt:2.2.6-1:jar
            </value>
        </property>
    </properties>    
</library>
