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

<!--
 Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.

 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions
 are met:

   - Redistributions of source code must retain the above copyright
     notice, this list of conditions and the following disclaimer.

   - Redistributions in binary form must reproduce the above copyright
     notice, this list of conditions and the following disclaimer in the
     documentation and/or other materials provided with the distribution.

   - Neither the name of Oracle nor the names of its
     contributors may be used to endorse or promote products derived
     from this software without specific prior written permission.

 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
 IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
 THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->

<!DOCTYPE project [
    <!ENTITY properties SYSTEM "../../common/properties.ent">
    <!ENTITY share-sources SYSTEM "../../common/share-sources.ent">
    <!ENTITY sample-sources SYSTEM "../../common/sample-sources.ent">
    <!ENTITY jtreg-sources SYSTEM "../../common/jtreg-sources.ent">
    <!ENTITY build-folder SYSTEM "../../common/build-folder.ent">
    <!ENTITY standard-bindings SYSTEM "../../common/standard-bindings.ent">
    <!ENTITY share-view SYSTEM "../../common/share-view.ent">
    <!ENTITY jtreg-view SYSTEM "../../common/jtreg-view.ent">
    <!ENTITY file-view SYSTEM "../../common/file-view.ent">
    <!ENTITY standard-actions SYSTEM "../../common/standard-actions.ent">
    <!ENTITY java-data-no-native SYSTEM "../../common/java-data-no-native.ent">
]>
<project xmlns="http://www.netbeans.org/ns/project/1">
    <type>org.netbeans.modules.ant.freeform</type>
    <configuration>
        <general-data xmlns="http://www.netbeans.org/ns/freeform-project/2">
            <name>JMX™</name> <!-- Customized -->
            <properties>
                <property name="name">jmx</property> <!-- Customized -->
                &properties;
            </properties>
            <folders>
                &share-sources;
                &jtreg-sources;
                &build-folder;
            </folders>
            <ide-actions>
                &standard-bindings;
            </ide-actions>
            <view>
                <items>
                    &share-view;
                    &jtreg-view;
                    &file-view;
                </items>
                <context-menu>
                    &standard-actions;
                </context-menu>
            </view>
        </general-data>
        &java-data-no-native;
    </configuration>
</project>
