# 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:unchecked
nbroot=../..
is.autoload=true
javac.source=1.8
javadoc.name=Java Source Base
javadoc.title=Java Source Base
javadoc.arch=${basedir}/arch.xml
javadoc.apichanges=${basedir}/apichanges.xml
spec.version.base=2.59.0
test.qa-functional.cp.extra=${refactoring.java.dir}/modules/ext/nb-javac-api.jar
test.unit.run.cp.extra=${o.n.core.dir}/core/core.jar:\
    ${o.n.core.dir}/lib/boot.jar:\
    ${editor.mimelookup.impl.dir}/modules/org-netbeans-modules-editor-mimelookup-impl.jar

# requires nb.javac for compiling of tests on Mac
requires.nb.javac=true

test.config.generate.includes=\
    **/SourceGeneratingSuite.class

test.config.gui.includes=\
    **/GuiSuite.class

test.config.hints.includes=\
    **/HintsSuite.class

test.config.parser.includes=\
    **/ParserTest.class

test.config.rename.includes=\
    **/InstantRename.class

test.config.stable.includes=\
    **/StableSuite.class

# timeout 60minutes for all java tests
test.timeout=3600000

test.config.core.includes=\
    org/netbeans/api/java/source/ElementHandleTest.class,\
    org/netbeans/modules/java/source/usages/ClassIndexManagerTest.class,\
    org/netbeans/modules/java/source/indexing/SourcePrefetcherTest.class

test.config.generator.includes=\
    org/netbeans/api/java/source/gen/ConstructorTest.class,\
    org/netbeans/api/java/source/gen/ConstructorRenameTest.class,\
    org/netbeans/api/java/source/gen/Method1Test.class,\
    org/netbeans/api/java/source/gen/MethodTest4.class,\
    org/netbeans/api/java/source/gen/PackageTest.class,\
    org/netbeans/api/java/source/gen/MethodParametersTest.class,\
    org/netbeans/api/java/source/gen/MethodTypeParametersTest.class,\
    org/netbeans/api/java/source/gen/ArraysTest.class,\
    org/netbeans/api/java/source/gen/MethodBodyTest.class,\
    org/netbeans/api/java/source/gen/MethodBodyTextTest.class,\
    org/netbeans/api/java/source/gen/MethodThrowsTest.class,\
    org/netbeans/api/java/source/gen/ImportsTest.class,\
    org/netbeans/api/java/source/gen/ImportFormatTest.class,\
    org/netbeans/api/java/source/gen/ClassImplementsTest.class,\
    org/netbeans/api/java/source/gen/InterfaceExtendsTest.class,\
    org/netbeans/api/java/source/gen/InterfaceTest.class,\
    org/netbeans/api/java/source/gen/ClassExtendsTest.class,\
    org/netbeans/api/java/source/gen/FieldTest1.class,\
    org/netbeans/api/java/source/gen/FieldGroupTest.class,\
    org/netbeans/api/java/source/gen/VarArgsTest.class,\
    org/netbeans/api/java/source/gen/ClassMemberTest.class,\
    org/netbeans/api/java/source/gen/FeatureAddingTest.class,\
    org/netbeans/api/java/source/gen/AddCastTest.class,\
    org/netbeans/api/java/source/gen/BodyStatementTest.class,\
    org/netbeans/api/java/source/gen/TwoModificationsTest.class,\
    org/netbeans/api/java/source/gen/AnnotationOnLocVarTest.class,\
    org/netbeans/api/java/source/gen/ModifiersTest.class,\
    org/netbeans/api/java/source/gen/TryTest.class,\
    org/netbeans/api/java/source/gen/TypeParameterTest.class,\
    org/netbeans/api/java/source/gen/CommentsTest.class,\
    org/netbeans/api/java/source/gen/OperatorsTest.class,\
    org/netbeans/api/java/source/gen/AnonymousClassTest.class,\
    org/netbeans/api/java/source/gen/TopLevelTest.class,\
    org/netbeans/api/java/source/gen/BrokenSourceTest.class,\
    org/netbeans/api/java/source/gen/SyntetickejTest.class,\
    org/netbeans/api/java/source/gen/EnumTest.class,\
    org/netbeans/api/java/source/gen/FormatingTest.class,\
    org/netbeans/api/java/source/gen/NewClassTreeTest.class,\
    org/netbeans/api/java/source/gen/ForLoopTest.class,\
    org/netbeans/api/java/source/gen/IfTest.class,\
    org/netbeans/api/java/source/gen/RefactoringRegressionsTest.class,\
    org/netbeans/api/java/source/gen/CompilationUnitTest.class,\
    org/netbeans/api/java/source/gen/ParameterizedTypeTest.class,\
    org/netbeans/api/java/source/gen/GuardedBlockTest.class,\
    org/netbeans/api/java/source/gen/RewriteOccasionalStatements.class,\
    org/netbeans/api/java/source/gen/MultiCatchTest.class,\
    org/netbeans/api/java/source/CommentCollectorTest.class,\
    org/netbeans/api/java/source/gen/RewriteInCommentTest.class,\
    org/netbeans/api/java/source/gen/MoveTreeTest.class,\
    org/netbeans/api/java/source/gen/BlockTest.class,\
    org/netbeans/api/java/source/gen/ImportAnalysisTest.class,\
    org/netbeans/api/java/source/gen/ImportAnalysis2Test.class,\
    org/netbeans/modules/java/source/save/DiffFacilityTest.class,\
    org/netbeans/api/java/source/gen/RewriteMultipleExpressionsTest.class,\
    org/netbeans/api/java/source/WorkingCopyTest.class,\
    org/netbeans/api/java/source/gen/AnnotationTest.class,\
    org/netbeans/api/java/source/gen/DoctreeTest.class,\
    org/netbeans/api/java/source/gen/WrappingTest.class,\
    org/netbeans/api/java/source/gen/DuplicatedCommentsTest.class

test.config.jet-main.includes=\
    ${test.config.core.includes},\
    ${test.config.generator.includes},\
    org/netbeans/api/java/source/TreeUtilitiesTest.class,\
    org/netbeans/api/java/source/TypeUtilitiesTest.class,\
    org/netbeans/api/java/source/TreePathHandleTest.class,\
    org/netbeans/api/java/source/TreeMirrorHandleTest.class,\
    org/netbeans/api/java/source/ModificationResultTest.class,\
    org/netbeans/api/java/source/ScanUtilsTest.class,\
    org/netbeans/api/java/source/ElementUtilitiesTest.class,\
    org/netbeans/modules/java/source/save/FormatingTest.class,\
    org/netbeans/modules/java/source/save/ReindenterTest.class,\
    org/netbeans/modules/java/source/indexing/*Test.class,\
    org/netbeans/modules/java/source/javac/AnonymousNumberingTest.class,\
    org/netbeans/modules/java/JavaNodeTest.class,\
    org/netbeans/modules/java/source/javac/CouplingTest.class,\
    org/netbeans/api/java/source/TranslateIdentifierTest.class,\
    org/netbeans/modules/java/source/PostFlowAnalysisTest.class,\
    org/netbeans/api/java/source/ClassIndexTest.class,\
    org/netbeans/modules/java/source/parsing/JavacParserTest.class,\
    **/FileObjectsTest,\
    **/IndexerTransactionTest

test.config.stableBTD.includes=**/*Test.class
test.config.stableBTD.excludes=\
    org/netbeans/test/**/*,\
    org/netbeans/api/java/source/gen/*,\
    **/AddMethodToInterfaceTemplateTest.class,\
    **/AnnotationTest.class,\
    **/APIIsSelfContainedTest.class,\
    **/BasicPerformanceTest.class,\
    **/BreakContinueTest.class,\
    **/CachingFolderArchiveTest.class,\
    **/CachingZipArchiveTest.class,\
    **/ClassIndexTest.class,\
    **/ClasspathInfoTest.class,\
    **/ClassPathRootsListenerTest.class,\
    **/CodeGeneratorTest.class,\
    **/CommentHandlerServiceTest.class,\
    **/CommentsTest.class,\
    **/CompilationInfoTest.class,\
    **/CompilationUnitTest.class,\
    **/ElementsTest.class,\
    **/FileManagerTest.class,\
    **/FormatingTest.class,\
    **/GeneratorUtilitiesTest.class,\
    **/ImportAnalysisTest.class,\
    **/JavaSourceTaskFactoryTest.class,\
    **/JavaSourceTest.class,\
    **/LabelsTest.class,\
    **/LookupBasedJavaSourceTaskFactoryTest.class,\
    **/MemberAdditionTest.class,\
    **/ModificationResultTest.class,\
    **/MoveTreeTest.class,\
    **/PerfBatchCompilationTest.class,\
    **/PerfJavacIntefaceGCTest.class,\
    **/PerfResolveTest.class,\
    **/PerfZipJarOpenTest.class,\
    **/ScanInProgressTest.class,\
    **/SourceUtilsTest.class,\
    **/TestUtilitiesTest.class,\
    **/TestUtilTest.class,\
    **/TreeLoaderTest.class,\
    **/TreePathHandleTest.class,\
    **/TreeUtilitiesTest.class,\
    **/TypeMirrorHandleTest.class,\
    **/TypeUtilitiesTest.class,\
    **/WorkingCopyTest.class,\
    **/TranslateIdentifierTest.class

test.config.vanilla-javac.includes=**/*Test.class
test.config.vanilla-javac.excludes=\
    **/CompilationInfoTest.class,\
    **/ElementHandleTest.class,\
    **/ElementsTest.class,\
    **/GeneratorUtilitiesTest.class,\
    **/JavaSourceTest.class,\
    **/TreePathHandleTest.class,\
    **/TreeUtilitiesTest.class,\
    **/gen/EnumTest.class,\
    **/gen/FieldGroupTest.class,\
    **/gen/LabelsTest.class,\
    **/gen/TreeManipulationTest.class,\
    **/parsing/JavacParserTest.class

