<?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.
-->
<!--
  Free-Form project definition for Tomcat under NetBeans.

  Paths are all relative to the project root.

  Warning: Do NOT use the NetBeans GUI Project Properties customizer
           for this project, otherwise you might trigger unwanted
           changes to this critical file, which must be maintained
           by the Tomcat developers!

  Note:    As specified in the BUILDING.txt file of Tomcat, the code completion
           classpaths below depend on the ANT_HOME environment
           variable being properly defined.
-->
<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/1">
            <!-- Do not use Project Properties customizer when editing this file manually. -->
            <name>Tomcat @VERSION_MAJOR_MINOR@</name>
            <properties>
              <!-- load the local Tomcat build.properties, especially base.path. -->
              <property-file>./build.properties</property-file>
              <!-- prime some NetBeans build properties for Tomcat, which will   -->
              <!-- also be defined in the standard properties.                   -->
              <property-file>./nbproject/nb-tomcat-project.properties</property-file>
            </properties>
            <folders>
                <source-folder>
                    <label>java</label>
                    <type>java</type>
                    <location>java</location>
                </source-folder>
                <source-folder>
                    <label>webapps/docs/appdev/sample/src</label>
                    <type>java</type>
                    <location>webapps/docs/appdev/sample/src</location>
                </source-folder>
                <source-folder>
                    <label>modules/tomcat-lite/test</label>
                    <type>java</type>
                    <location>modules/tomcat-lite/test</location>
                </source-folder>
                <source-folder>
                    <label>test</label>
                    <type>java</type>
                    <location>test</location>
                </source-folder>
            </folders>
            <ide-actions>
                <!--
                     Note: all NetBeans actions are delegated to an external
                           script, so that Properties can be used consistently
                           with the standard Tomcat build.
                 -->
                <action name="build">
                    <script>nbproject/nb-tomcat.xml</script>
                    <target>deploy</target>
                </action>
                <action name="clean">
                    <script>nbproject/nb-tomcat.xml</script>
                    <target>clean</target>
                </action>
                <action name="javadoc">
                    <script>nbproject/nb-tomcat.xml</script>
                    <target>javadoc</target>
                </action>
                <action name="test">
                    <script>nbproject/nb-tomcat.xml</script>
                    <target>test</target>
                </action>
                <action name="rebuild">
                    <script>nbproject/nb-tomcat.xml</script>
                    <target>clean</target>
                    <target>deploy</target>
                </action>
                <action name="compileAllTests">
                    <script>nbproject/nb-tomcat.xml</script>
                    <target>-compile-all-tests</target>
                </action>
                <action name="compile.single">
                    <script>nbproject/nb-tomcat.xml</script>
                    <target>compile-selected-files-in-test</target>
                    <context>
                        <property>files</property>
                        <folder>test</folder>
                        <pattern>\.java$</pattern>
                        <format>relative-path</format>
                        <arity>
                            <separated-files>,</separated-files>
                        </arity>
                    </context>
                </action>
                <action name="run.single">
                    <script>nbproject/nb-tomcat.xml</script>
                    <target>test-selected-file</target>
                    <context>
                        <property>test.entry</property>
                        <folder>test</folder>
                        <pattern>\.java$</pattern>
                        <format>java-name</format>
                        <arity>
                            <one-file-only/>
                        </arity>
                    </context>
                </action>
                <action name="debug.single">
                    <script>nbproject/nb-tomcat.xml</script>
                    <target>debug-selected-file-in-test</target>
                    <context>
                        <property>test.entry</property>
                        <folder>test</folder>
                        <pattern>\.java$</pattern>
                        <format>java-name</format>
                        <arity>
                            <one-file-only/>
                        </arity>
                    </context>
                </action>
            </ide-actions>
            <view>
                <items>
                    <source-folder style="packages">
                        <label>java</label>
                        <location>java</location>
                    </source-folder>
                    <source-folder style="packages">
                        <label>webapps/docs/appdev/sample/src</label>
                        <location>webapps/docs/appdev/sample/src</location>
                    </source-folder>
                    <source-folder style="packages">
                        <label>test</label>
                        <location>test</location>
                    </source-folder>
                    <source-file>
                        <location>build.xml</location>
                    </source-file>
                </items>
                <context-menu>
                    <ide-action name="build"/>
                    <ide-action name="rebuild"/>
                    <ide-action name="clean"/>
                    <ide-action name="javadoc"/>
                    <ide-action name="test"/>
                </context-menu>
            </view>
            <subprojects/>
        </general-data>
        <java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/5">
            <!--
                 Warning: the classpath elements used below CANNOT include any
                 Properties because NetBeans will not expand them! Sadly,
                 this means (with nb 7.2.1, at least) every path MUST be
                 coded explicitly - with the potential for errors. These
                 errors will be flagged in the project navigation and
                 editors windows, although they will not affect the build
                 or any special NetBeans targets, e.g. debugging.

                 Note: the classpath elements used below CAN include environment
                 variables as Properties, e.g. ANT_HOME becomes ${ant.home}!
            -->
            <compilation-unit>
                <package-root>java</package-root>
                <classpath mode="compile">@JDT_JAR@:@BND_JAR@:@MIGRATION_JAR@:${ant.includes}/</classpath>
                <source-level>@BUILD_JAVA_VERSION@</source-level>
            </compilation-unit>
            <compilation-unit>
                <package-root>webapps/docs/appdev/sample/src</package-root>
                <classpath mode="compile">output/classes</classpath>
                <source-level>@BUILD_JAVA_VERSION@</source-level>
            </compilation-unit>
            <compilation-unit>
                <package-root>test</package-root>
                <unit-tests/>
                <classpath mode="compile">output/classes:output/testclasses:output/build/webapps/examples/WEB-INF/classes:@JUNIT_JAR@:@EASYMOCK_JAR@:@BYTEBUDDY_JAR@:@OBJENESIS_JAR@:@HAMCREST_JAR@:@UNBOUNDID_JAR@:@BC_PROVIDER_JAR@:@BC_PKIX_JAR@:@BC_UTIL_JAR@</classpath>
                <source-level>@BUILD_JAVA_VERSION@</source-level>
            </compilation-unit>
        </java-data>
    </configuration>
</project>
