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

javac.compilerargs=-Xlint -Xlint:-serial
javac.source=1.8
spec.version.base=1.100.0

javadoc.arch=${basedir}/arch.xml
javadoc.apichanges=${basedir}/apichanges.xml

# For XMLSerializer, needed for XMLUtil.write to work w/ namespaces:
test.unit.run.cp.extra=${tools.jar}
test-unit-sys-prop.test.bridge.jar=${netbeans.dest.dir}/${nb.cluster.extide.dir}/ant/nblib/bridge.jar
test-unit-sys-prop.test.ant.home=${netbeans.dest.dir}/${nb.cluster.extide.dir}/ant
test-unit-sys-prop.test.junit.jar=${nb_all}/platform/libs.junit4/external/junit-4.13.2.jar
test-unit-sys-prop.test.testng.jar=${nb_all}/platform/libs.testng/external/testng-6.14.3.jar
test-unit-sys-prop.test.jcommander.jar=${nb_all}/platform/libs.testng/external/jcommander-1.78.jar
extra.module.files=ant/extra/org-netbeans-modules-java-j2seproject-copylibstask.jar
jnlp.indirect.jars=ant/extra/org-netbeans-modules-java-j2seproject-copylibstask.jar

test.config.stableBTD.includes=**/*Test.class
test.config.stableBTD.excludes=\
    gui/**/*,\
    **/BuildImplTest.class,\
    **/J2SEConfigurationProviderTest.class,\
    **/J2SEProjectGeneratorTest.class
requires.nb.javac=true
