<?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>spring-framework500</name>
    <type>j2se</type>
    <localizing-bundle>org.netbeans.libs.springframework.Bundle</localizing-bundle>
    <volume>
        <type>classpath</type>
        <resource>jar:nbinst://org.apache.commons.logging/modules/org-apache-commons-logging.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.libs.cglib/modules/ext/cglib-2.2.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-5/spring-aop-5.2.2.RELEASE.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-5/spring-aspects-5.2.2.RELEASE.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-5/spring-beans-5.2.2.RELEASE.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-5/spring-context-5.2.2.RELEASE.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-5/spring-context-indexer-5.2.2.RELEASE.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-5/spring-context-support-5.2.2.RELEASE.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-5/spring-core-5.2.2.RELEASE.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-5/spring-expression-5.2.2.RELEASE.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-5/spring-instrument-5.2.2.RELEASE.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-5/spring-jcl-5.2.2.RELEASE.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-5/spring-jdbc-5.2.2.RELEASE.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-5/spring-jms-5.2.2.RELEASE.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-5/spring-messaging-5.2.2.RELEASE.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-5/spring-orm-5.2.2.RELEASE.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-5/spring-oxm-5.2.2.RELEASE.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-5/spring-test-5.2.2.RELEASE.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-5/spring-tx-5.2.2.RELEASE.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-5/spring-web-5.2.2.RELEASE.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-5/spring-webflux-5.2.2.RELEASE.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-5/spring-webmvc-5.2.2.RELEASE.jar!/</resource>
        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-5/spring-websocket-5.2.2.RELEASE.jar!/</resource>
    </volume>
    <volume>
        <type>src</type>
    </volume>
    <volume>
        <type>javadoc</type>
    </volume>
    <properties>
        <property>
            <name>maven-dependencies</name>
            <value>
                org.springframework:spring-aop:5.2.2.RELEASE:jar
                org.springframework:spring-aspects:5.2.2.RELEASE:jar
                org.springframework:spring-beans:5.2.2.RELEASE:jar
                org.springframework:spring-context:5.2.2.RELEASE:jar
                org.springframework:spring-context-indexer:5.2.2.RELEASE:jar
                org.springframework:spring-context-support:5.2.2.RELEASE:jar
                org.springframework:spring-core:5.2.2.RELEASE:jar
                org.springframework:spring-expression:5.2.2.RELEASE:jar
                org.springframework:spring-framework-bom:5.2.2.RELEASE:pom
                org.springframework:spring-instrument:5.2.2.RELEASE:jar
                org.springframework:spring-jcl:5.2.2.RELEASE:jar
                org.springframework:spring-jdbc:5.2.2.RELEASE:jar
                org.springframework:spring-jms:5.2.2.RELEASE:jar
                org.springframework:spring-messaging:5.2.2.RELEASE:jar
                org.springframework:spring-orm:5.2.2.RELEASE:jar
                org.springframework:spring-oxm:5.2.2.RELEASE:jar
                org.springframework:spring-test:5.2.2.RELEASE:jar
                org.springframework:spring-tx:5.2.2.RELEASE:jar
                org.springframework:spring-web:5.2.2.RELEASE:jar
                org.springframework:spring-webflux:5.2.2.RELEASE:jar
                org.springframework:spring-webmvc:5.2.2.RELEASE:jar
                org.springframework:spring-websocket:5.2.2.RELEASE:jar
            </value>
        </property>
    </properties>
</library>
