<?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>restapi</name>
    <type>j2se</type>
    <localizing-bundle>org/netbeans/modules/websvc/swdp/Bundle</localizing-bundle>
    <volume>
        <type>classpath</type>
        <resource>jar:nbinst://org.netbeans.modules.websvc.restlib/modules/ext/jaxrs-2.0/javax.ws.rs-api-2.0.jar!/</resource>
    </volume>  
    <properties>
        <!-- please check with mkleint@netbeans.org before/after updating this or "classpath" section -->
        <property>
            <name>maven-dependencies</name>
            <value>javax.ws.rs:javax.ws.rs-api:jar</value>
        </property>
    </properties>
</library>
