<?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.

-->
<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd">
<filesystem>
    <folder name="Templates">
        <folder name="Project">
            <folder name="Gradle">
                <attr name="displayName" bundlevalue="org.netbeans.modules.gradle.Bundle#Templates/Project/Gradle"/>
                <attr name="position" intvalue="150"/>
            </folder>
        </folder>
    </folder>
    <folder name="Projects">
        <folder name="org-netbeans-modules-gradle">
            <folder name="Nodes"/>
            <folder name="Actions">
                <file name="org-netbeans-modules-project-ui-NewFile$WithSubMenu.shadow">
                    <attr name="originalFile" stringvalue="Actions/Project/org-netbeans-modules-project-ui-NewFile$WithSubMenu.instance"/>
                    <attr name="position" intvalue="100"/>
                </file>
                <file name="sep-1.instance">
                    <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
                    <attr name="position" intvalue="200"/>
                </file>
                <file name="org-netbeans-modules-project-ui-BuildProject.shadow">
                    <attr name="originalFile" stringvalue="Actions/Project/org-netbeans-modules-project-ui-BuildProject.instance"/>
                    <attr name="position" intvalue="300"/>
                </file>
                <file name="org-netbeans-modules-project-ui-RebuildProject.shadow">
                    <attr name="originalFile" stringvalue="Actions/Project/org-netbeans-modules-project-ui-RebuildProject.instance"/>
                    <attr name="position" intvalue="400"/>
                </file>
                <file name="org-netbeans-modules-project-ui-CleanProject.shadow">
                    <attr name="originalFile" stringvalue="Actions/Project/org-netbeans-modules-project-ui-CleanProject.instance"/>
                    <attr name="position" intvalue="600"/>
                </file>
                <file name="org-netbeans-modules-project-ui-JavadocProject.shadow">
                    <attr name="originalFile" stringvalue="Actions/Project/org-netbeans-modules-project-ui-JavadocProject.instance"/>
                    <attr name="position" intvalue="700"/>
                </file>
                <file name="sep-2.instance">
                    <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
                    <attr name="position" intvalue="800"/>
                </file>
                <file name="org-netbeans-modules-project-ui-RunProject.shadow">
                    <attr name="originalFile" stringvalue="Actions/Project/org-netbeans-modules-project-ui-RunProject.instance"/>
                    <attr name="position" intvalue="900"/>
                </file>
                <file name="org-netbeans-modules-debugger-ui-actions-DebugProjectAction.shadow">
                    <attr name="originalFile" stringvalue="Actions/Debug/org-netbeans-modules-debugger-ui-actions-DebugProjectAction.instance"/>
                    <attr name="position" intvalue="1000"/>
                </file>
                <file name="org-netbeans-modules-profiler-actions-ProfileProjectActionPopup.shadow">
                    <attr name="originalFile" stringvalue="Actions/Profile/org-netbeans-modules-profiler-actions-ProfileProjectPopup.instance"/>
                    <attr name="position" intvalue="1100"/>
                </file>
                <file name="org-netbeans-modules-project-ui-TestProject.shadow">
                    <attr name="originalFile" stringvalue="Actions/Project/org-netbeans-modules-project-ui-TestProject.instance"/>
                    <attr name="position" intvalue="1200"/>
                </file>
                <file name="sep-3.instance">
                    <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
                    <attr name="position" intvalue="1300"/>
                </file>
                <file name="org-netbeans-modules-project-ui-SetMainProject.shadow">
                    <attr name="originalFile" stringvalue="Actions/Project/org-netbeans-modules-project-ui-SetMainProject.instance"/>
                    <attr name="position" intvalue="1800"/>
                </file>
                <file name="org-netbeans-modules-project-ui-actions-OpenSubprojects.shadow">
                    <attr name="originalFile" stringvalue="Actions/Project/org-netbeans-modules-project-ui-actions-OpenSubprojects.instance"/>
                    <attr name="position" intvalue="1900"/>
                </file>
                <file name="org-netbeans-modules-project-ui-CloseProject.shadow">
                    <attr name="originalFile" stringvalue="Actions/Project/org-netbeans-modules-project-ui-CloseProject.instance"/>
                    <attr name="position" intvalue="2100"/>
                </file>
                <file name="sep-5.instance">
                    <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
                    <attr name="position" intvalue="2200"/>
                </file>
                <file name="org-netbeans-modules-project-ui-DeleteProject.shadow">
                    <attr name="originalFile" stringvalue="Actions/Project/org-netbeans-modules-project-ui-DeleteProject.instance"/>
                    <attr name="position" intvalue="2600"/>
                </file>
                <file name="sep-6.instance">
                    <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
                    <attr name="position" intvalue="2700"/>
                </file>
                <file name="org-openide-actions-FindAction.shadow">
                    <attr name="originalFile" stringvalue="Actions/Edit/org-openide-actions-FindAction.instance"/>
                    <attr name="position" intvalue="2800"/>
                </file>
                <file name="general.shadow">
                    <attr name="originalFile" stringvalue="Projects/Actions"/>
                    <attr name="position" intvalue="2900"/>
                </file>
                <file name="sep-7.instance">
                    <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
                    <attr name="position" intvalue="3000"/>
                </file>
                <file name="org-netbeans-modules-project-ui-CustomizeProject.shadow">
                    <attr name="originalFile" stringvalue="Actions/Project/org-netbeans-modules-project-ui-CustomizeProject.instance"/>
                    <attr name="position" intvalue="3200"/>
                </file>
            </folder>
            <folder name="Customizer">
                <file name="Formatting.instance">
                    <attr name="instanceOf" stringvalue="org.netbeans.spi.project.ui.support.ProjectCustomizer$CompositeCategoryProvider"/>
                    <attr name="instanceCreate" methodvalue="org.netbeans.modules.editor.indent.project.api.Customizers.createFormattingCategoryProvider"/>
                    <attr name="allowedMimeTypes" stringvalue="text/x-java"/>
                    <attr name="position" intvalue="1000"/>
                </file>
            </folder>
        </folder>
    </folder>
    <folder name="Editors">
        <folder name="text">
            <!--folder name="x-gradle+x-groovy">
                <file name="org-netbeans-modules-csl-core-GsfParserFactory-create.instance">
                    <attr methodvalue="org.netbeans.modules.csl.core.GsfParserFactory.create" name="instanceCreate"/>
                    <attr name="instanceOf" stringvalue="org.netbeans.modules.parsing.spi.ParserFactory"/>
                </file>
            </folder-->
            <folder name="x-gradle-cli">
                <file name="EditorKit.instance">
                    <attr name="instanceClass" stringvalue="org.netbeans.modules.gradle.execute.GradleCliEditorKit"/>
                    <attr name="instanceOf" stringvalue="javax.swing.text.EditorKit,org.netbeans.modules.gradle.execute.GradleCliEditorKit"/>
                    <attr name="beaninfo" boolvalue="false"/>
                </file>

                <folder name="CompletionProviders">
                    <file name="org-netbeans-modules-gradle-execute-GradleCliCompletionProvider.instance">
                        <attr name="instanceOf" stringvalue="org.netbeans.spi.editor.completion.CompletionProvider"/>
                    </file>
                    <file name="org-netbeans-modules-gradle-execute-GradleCommandLineCompletionProvider.instance_hidden"/>
                </folder>
            </folder>
        </folder>
    </folder>
    <folder name="CslPlugins">
        <folder name="text">
            <folder name="x-gradle+x-groovy">
                <file name="language.instance">
                    <attr name="instanceClass" stringvalue="org.netbeans.modules.groovy.editor.api.parser.GroovyLanguage"/>
                </file>
                <attr intvalue="2" name="genver"/>
                <attr boolvalue="true" name="useMultiview"/>
            </folder>
        </folder>
    </folder>
</filesystem>
