<?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="Maven2Templates">
        <file name="settings.xml" url="settings.xml">
            <attr name="template" boolvalue="true"/>
        </file>
    </folder>
  
    <folder name="Templates">
            
        <folder name="Project">
            <folder name="Maven2">
                <attr name="displayName" bundlevalue="org.netbeans.modules.maven.newproject.Bundle#Templates/Project/Maven2"/>
                <attr name="position" intvalue="100"/>

                <!-- Simple Java project structure -->
                <folder name="JavaApp">
                    <folder name="src">
                        <folder name="main">
                            <folder name="java">
                                <folder name="${packagePath}">
                                    <file name="${mainClassName}.java" url="nbresloc:/org/netbeans/modules/maven/resources/App.java.template">
                                        <attr name="javax.script.ScriptEngine" stringvalue="freemarker"/>
                                        <attr name="template.openFile" boolvalue="true"/>
                                    </file>
                                </folder>
                            </folder>
                        </folder>
                    </folder>
                </folder>
            </folder>
        </folder>
    </folder>

    <folder name="Projects">
        <folder name="org-netbeans-modules-maven">
            <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-actions-ActiveConfigAction.shadow">
                    <attr name="originalFile" stringvalue="Actions/Project/org-netbeans-modules-project-ui-actions-ActiveConfigAction.instance"/>
                    <attr name="position" intvalue="1500"/>
                </file>
                <file name="sep-4.instance">
                    <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
                    <attr name="position" intvalue="1600"/>
                </file>
                <file name="org-netbeans-modules-project-ui-problems-BrokenProjectActionFactory.shadow">
                    <attr name="originalFile" stringvalue="Actions/Project/org-netbeans-modules-project-ui-problems-BrokenProjectActionFactory.instance"/>
                    <attr name="position" intvalue="1770"/>
                </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-RenameProject.shadow">
                    <attr name="originalFile" stringvalue="Actions/Project/org-netbeans-modules-project-ui-RenameProject.instance"/>
                    <attr name="position" intvalue="2300"/>
                </file>
                <file name="org-netbeans-modules-project-ui-MoveProject.shadow">
                    <attr name="originalFile" stringvalue="Actions/Project/org-netbeans-modules-project-ui-MoveProject.instance"/>
                    <attr name="position" intvalue="2400"/>
                </file>
                <file name="org-netbeans-modules-project-ui-CopyProject.shadow">
                    <attr name="originalFile" stringvalue="Actions/Project/org-netbeans-modules-project-ui-CopyProject.instance"/>
                    <attr name="position" intvalue="2500"/>
                </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="LifecycleParticipants">
                <!-- Lifecycle participant classes with special handling; folders with attributes -->
                <folder name="org.sonatype.nexus.maven.staging.deploy.DeployLifecycleParticipant">
                    <attr name="ignoreOnModelLoad" boolvalue="true"/>
                </folder>
            </folder>
            <file name="nbactions.xml" url="nbactions.xml"/>
        </folder>
    </folder>
    <folder name="OptionsExport">
        <folder name="Java">
            <file name="Maven">
                <attr name="include" stringvalue="config/(Preferences/org/netbeans/modules/maven([.]properties|/(?!externalOwners[.]properties).*)|Projects/org-netbeans-modules-maven/nbactions[.]xml)"/>
                <attr name="displayName" bundlevalue="org.netbeans.modules.maven.Bundle#options-export-displayName"/>
            </file>
        </folder>
    </folder>
    <folder name="Maven">
        <file name="actionTemplate.instance">
            <attr name="instanceCreate" methodvalue="org.netbeans.modules.maven.actions.RunCustomMavenAction.create"/>
        </file>
    </folder>
    
</filesystem>
