# 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.
language: java
addons:
  apt:
    packages:
      - ant
      - ant-optional
      - xvfb
      - openjfx
      - libgfortran3

install:
  - export PATH="$PATH:$TRAVIS_BUILD_DIR/nbbuild/travis"
  - export DISPLAY=:99.0
  - Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
  - sleep 3

cache:
  directories:
  - $HOME/.hgexternalcache

matrix:
    include:
        - name: Check line endings and verify RAT report
          script: 
            - nbbuild/travis/check-line-endings.sh
            - ant -quiet build-source-config
            - mkdir scratch
            - cd scratch
            - unzip -qq ../nbbuild/build/release-src*
            - ant -quiet rat -Drat-report.haltonfailure=true
          
        - name: Verify libs and licenses
          script:
            - ant verify-libs-and-licenses -Dverify-libs-and-licenses.haltonfailure=true

        - name: Run sigtests
          jdk: openjdk8
          env:
            - OPTS="-quiet -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false"
          before_script:
            - ant $OPTS clean
            - ant $OPTS build
          script:
            - ant $OPTS check-sigtests -Dfail.on.error=true
            - ant $OPTS gen-sigtests-release

        - name: Run gen-sigtests-release for platform cluster
          jdk: openjdk8
          script:
            - nbbuild/travis/gensigtest.sh
        
        - name: Pristine platform build
          jdk: openjdk8
          script: 
            - ant -quiet build-source-config -Dcluster.config=platform
            - mkdir tmpplatform
            - cd tmpplatform
            - unzip -qq ../nbbuild/build/platform-src*
            - ant build -Dcluster.config=platform
        
        - name: Compile all modules with OpenJDK8
          jdk: openjdk8
          env:
            - OPTS="-quiet -Dcluster.config=full -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false"
          before_script:
            - ant $OPTS clean
          script:
            - ant $OPTS build
            - ant $OPTS test -Dtest.includes=NoTestsJustBuild

        - name: Compile all modules with OpenJDK11
          jdk: openjdk11
          env:
            - OPTS="-quiet -Dcluster.config=full -Dpermit.jdk9.builds=true -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false"
          before_script:
            - ant $OPTS clean
          script:
            - ant $OPTS build
            - ant $OPTS test -Dtest.includes=NoTestsJustBuild

        - name: Test harness modules
          jdk: openjdk8
          env:
            - OPTS="-silent -Dcluster.config=platform -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true -Dvanilla.javac.exists=true"
          before_script:
            - ant $OPTS clean
            - ant $OPTS build
          script:
            - OPTS="-quiet -Dcluster.config=platform -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true -Dvanilla.javac.exists=true"
            - ant $OPTS -f harness/o.n.insane test
            - ant $OPTS -f harness/apisupport.harness test
            - ant $OPTS -f harness/nbjunit test
            - ant $OPTS -f harness/jellytools.platform test -Dtest.config=stable

        - name: Test platform modules, Batch 1
          jdk: openjdk8
          env:
            - OPTS="-silent -Dcluster.config=platform -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true -Dvanilla.javac.exists=true"
          before_script:
            - ant $OPTS clean
            - ant $OPTS build
          script:
            - travis_retry hide-logs.sh ant $OPTS -f platform/api.htmlui test
            - hide-logs.sh ant $OPTS -f platform/api.intent test
            - hide-logs.sh ant $OPTS -f platform/api.io test
            - hide-logs.sh ant $OPTS -f platform/api.progress test
            - hide-logs.sh ant $OPTS -f platform/api.progress.nb test
            - hide-logs.sh ant $OPTS -f platform/api.scripting test
            - hide-logs.sh ant $OPTS -f platform/api.search test
            - hide-logs.sh ant $OPTS -f platform/api.templates test
            - hide-logs.sh ant $OPTS -f platform/api.visual test
            - hide-logs.sh ant $OPTS -f platform/applemenu test
            - hide-logs.sh ant $OPTS -f platform/autoupdate.cli test
            - hide-logs.sh ant $OPTS -f platform/autoupdate.services test
            - hide-logs.sh ant $OPTS -f platform/autoupdate.ui test
            - hide-logs.sh ant $OPTS -f platform/core.execution test
            - hide-logs.sh ant $OPTS -f platform/core.io.ui test
            - hide-logs.sh ant $OPTS -f platform/core.kit test
            - hide-logs.sh ant $OPTS -f platform/core.multiview test
            - hide-logs.sh ant $OPTS -f platform/core.netigso test
            - hide-logs.sh ant $OPTS -f platform/core.network test
            - hide-logs.sh ant $OPTS -f platform/core.osgi test
            - hide-logs.sh ant $OPTS -f platform/core.output2 test
            - hide-logs.sh ant $OPTS -f platform/core.startup test
            - hide-logs.sh ant $OPTS -f platform/core.startup.base test
            - hide-logs.sh ant $OPTS -f platform/core.ui test
            - travis_wait hide-logs.sh ant $OPTS -f platform/core.windows test
            - hide-logs.sh ant $OPTS -f platform/editor.mimelookup test
            - hide-logs.sh ant $OPTS -f platform/editor.mimelookup.impl test
            - hide-logs.sh ant $OPTS -f platform/favorites test
            - hide-logs.sh ant $OPTS -f platform/javahelp test-unit
            - hide-logs.sh ant $OPTS -f platform/keyring.fallback test
            - hide-logs.sh ant $OPTS -f platform/keyring.impl test
            - hide-logs.sh ant $OPTS -f platform/lib.uihandler test
            - hide-logs.sh ant $OPTS -f platform/libs.javafx test
            - travis_retry hide-logs.sh ant $OPTS -f platform/masterfs test
            - hide-logs.sh ant $OPTS -f platform/masterfs.linux test
            - hide-logs.sh ant $OPTS -f platform/netbinox test  -Dtest.config=stableBTD
            - hide-logs.sh ant $OPTS -f platform/o.n.bootstrap test
            - hide-logs.sh ant $OPTS -f platform/o.n.core test-unit
            - hide-logs.sh ant $OPTS -f platform/o.n.swing.outline test
            - hide-logs.sh ant $OPTS -f platform/o.n.swing.tabcontrol test
            
        - name: Test platform modules, Batch 2
          jdk: openjdk8
          env:
            - OPTS="-silent -Dcluster.config=platform -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true -Dvanilla.javac.exists=true"
          before_script:
            - ant $OPTS clean
            - ant $OPTS build
          script:
            - hide-logs.sh ant $OPTS -f platform/openide.actions test
            - hide-logs.sh ant $OPTS -f platform/openide.awt test
            - hide-logs.sh ant $OPTS -f platform/openide.compat test
            - hide-logs.sh ant $OPTS -f platform/openide.dialogs test
            - hide-logs.sh ant $OPTS -f platform/openide.execution test
            - hide-logs.sh ant $OPTS -f platform/openide.execution.compat8 test
            - travis_retry hide-logs.sh ant $OPTS -f platform/openide.explorer test
            - hide-logs.sh ant $OPTS -f platform/openide.filesystems test
            - hide-logs.sh ant $OPTS -f platform/openide.filesystems.compat8 test
            - hide-logs.sh ant $OPTS -f platform/openide.filesystems.nb test
            - hide-logs.sh ant $OPTS -f platform/openide.io test
            - travis_wait hide-logs.sh ant $OPTS -f platform/openide.loaders test
            - hide-logs.sh ant $OPTS -f platform/openide.modules test
            - hide-logs.sh ant $OPTS -f platform/openide.nodes test
            - hide-logs.sh ant $OPTS -f platform/openide.options test
            - travis_retry hide-logs.sh ant $OPTS -f platform/openide.text test
            - hide-logs.sh ant $OPTS -f platform/openide.util test
            - hide-logs.sh ant $OPTS -f platform/openide.util.enumerations test
            - hide-logs.sh ant $OPTS -f platform/openide.util.lookup test
            - hide-logs.sh ant $OPTS -f platform/openide.util.ui test
            - hide-logs.sh ant $OPTS -f platform/openide.windows test
            - hide-logs.sh ant $OPTS -f platform/options.api test-unit
            - hide-logs.sh ant $OPTS -f platform/options.keymap test
            - hide-logs.sh ant $OPTS -f platform/print test
            - hide-logs.sh ant $OPTS -f platform/progress.ui test
            - hide-logs.sh ant $OPTS -f platform/queries test
            - hide-logs.sh ant $OPTS -f platform/sampler test
            - hide-logs.sh ant $OPTS -f platform/sendopts test
            - hide-logs.sh ant $OPTS -f platform/settings test
            - hide-logs.sh ant $OPTS -f platform/spi.actions test
            - hide-logs.sh ant $OPTS -f platform/spi.quicksearch test
            - hide-logs.sh ant $OPTS -f platform/templates test
            - hide-logs.sh ant $OPTS -f platform/templatesui test
            - hide-logs.sh ant $OPTS -f platform/uihandler test
          
        - name: Test ide modules
          jdk: openjdk8
          env:
            - OPTS="-quiet -Dcluster.config=minimal -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true"
          before_script:
            - ant $OPTS clean
            - ant $OPTS build
          script:
            - ant $OPTS -f ide/api.xml test
            - ant $OPTS -f ide/api.xml.ui test
            - travis_retry ant $OPTS -f ide/bugtracking test
            - travis_retry ant $OPTS -f ide/bugtracking.bridge test
            - ant $OPTS -f ide/bugtracking.commons test
            #- ant $OPTS -f ide/bugzilla test
            - ant $OPTS -f ide/code.analysis test
            - ant $OPTS -f ide/core.ide test
            - ant $OPTS -f ide/csl.api test
            - ant $OPTS -f ide/csl.types test
            - ant $OPTS -f ide/css.editor test
            - ant $OPTS -f ide/css.lib test
            - hide-logs.sh ant $OPTS -f ide/css.model test
            - travis_retry ant $OPTS -f ide/db test
            - ant $OPTS -f ide/db.dataview test
            - ant $OPTS -f ide/db.sql.editor test
            - ant $OPTS -f ide/docker.api test
            - ant $OPTS -f ide/docker.ui test
            - ant $OPTS -f ide/editor.bookmarks test
            #- ant $OPTS -f ide/editor.bracesmatching test
            - ant $OPTS -f ide/editor.document test
            - hide-logs.sh ant $OPTS -f ide/editor.fold test
            - ant $OPTS -f ide/editor.fold.nbui test
            - ant $OPTS -f ide/editor.guards test
            - ant $OPTS -f ide/editor.indent test
            - ant $OPTS -f ide/editor.indent.project test
            - ant $OPTS -f ide/editor.macros test
            - hide-logs.sh ant $OPTS -f ide/editor.search test
            - hide-logs.sh ant $OPTS -f ide/editor.settings test
            - ant $OPTS -f ide/editor.settings.storage test
            - ant $OPTS -f ide/editor.structure test
            - ant $OPTS -f ide/editor.tools.storage test
            - ant $OPTS -f ide/editor.util test
            - ant $OPTS -f ide/extbrowser test
            - ant $OPTS -f ide/extexecution.base test
            - ant $OPTS -f ide/gsf.testrunner.ui test
            - travis_retry ant $OPTS -f ide/html test
            - ant $OPTS -f ide/html.custom test
            #- ant $OPTS -f ide/html.editor test
            #- ant $OPTS -f ide/html.lexer test
            - ant $OPTS -f ide/html.parser test
            - ant $OPTS -f ide/html.validation test
            - ant $OPTS -f ide/hudson test
            - ant $OPTS -f ide/hudson.git test
            - ant $OPTS -f ide/hudson.mercurial test
            - ant $OPTS -f ide/hudson.subversion test
            - ant $OPTS -f ide/hudson.tasklist test
            - ant $OPTS -f ide/hudson.ui test
            - ant $OPTS -f ide/javascript2.debug test
            - ant $OPTS -f ide/languages.yaml test
            - ant $OPTS -f ide/lexer test
            - ant $OPTS -f ide/lib.terminalemulator test
            - ant $OPTS -f ide/libs.freemarker test
            #- ant $OPTS -f ide/libs.git test
            - ant $OPTS -f ide/libs.graalsdk test
            #- ant $OPTS -f ide/localhistory test
            - ant $OPTS -f ide/lsp.client test
            - ant $OPTS -f ide/notifications test
            - ant $OPTS -f ide/o.openidex.util test
            #- ant $OPTS -f ide/parsing.api test
            #- ant $OPTS -f ide/parsing.indexing test
            - ant $OPTS -f ide/parsing.lucene test
            - ant $OPTS -f ide/project.ant test
            - ant $OPTS -f ide/project.ant.compat8 test
            - ant $OPTS -f ide/project.ant.ui test
            - ant $OPTS -f ide/project.libraries test
            - ant $OPTS -f ide/project.libraries.ui test
            - ant $OPTS -f ide/projectapi test
            - ant $OPTS -f ide/projectapi.nb test
            - ant $OPTS -f ide/projectuiapi.base test
            - ant $OPTS -f ide/refactoring.api test
            - ant $OPTS -f ide/schema2beans test
            - ant $OPTS -f ide/server test
            - ant $OPTS -f ide/spellchecker test
            - ant $OPTS -f ide/spi.editor.hints test
            #- ant $OPTS -f ide/spi.palette test
            - ant $OPTS -f ide/spi.tasklist test
            - ant $OPTS -f ide/tasklist.ui test
            - ant $OPTS -f ide/team.commons test
            - ant $OPTS -f ide/terminal.nb test
            - ant $OPTS -f ide/utilities test
            - ant $OPTS -f ide/versioning.masterfs test
            - ant $OPTS -f ide/versioning.ui test
            - ant $OPTS -f ide/versioning.util test
            - ant $OPTS -f ide/web.common test
            - ant $OPTS -f ide/web.common.ui test
            - ant $OPTS -f ide/web.webkit.debugging test
            - ant $OPTS -f ide/xml test
            - ant $OPTS -f ide/xml.axi test
            - ant $OPTS -f ide/xml.catalog test-unit
            - ant $OPTS -f ide/xml.core test
            - ant $OPTS -f ide/xml.lexer test
            - ant $OPTS -f ide/xml.multiview test
            - ant $OPTS -f ide/xml.retriever test
            - ant $OPTS -f ide/xml.schema.completion test -Dtest.config=stableBTD
            - ant $OPTS -f ide/xml.schema.model test
            - ant $OPTS -f ide/xml.text test
            - ant $OPTS -f ide/xml.text.obsolete90 test
            - travis_retry ant $OPTS -f ide/xml.wsdl.model test
            - ant $OPTS -f ide/xml.xam test
            - ant $OPTS -f ide/xml.xdm test
            - ant $OPTS -f ide/xsl test
            
        - name: Test nb modules
          jdk: openjdk8
          env:
            - OPTS="-quiet -Dcluster.config=minimal -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true"
          before_script:
            - ant $OPTS clean
            - ant $OPTS build
          script:
            - ant $OPTS -f nb/deadlock.detector test
            - ant $OPTS -f nb/ide.branding test
            - ant $OPTS -f nb/o.n.upgrader test
            #- ant $OPTS -f nb/updatecenters test
            - ant $OPTS -f nb/welcome test
            
        - name: Test extide modules
          jdk: openjdk8
          env:
            - OPTS="-quiet -Dcluster.config=java -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true"
          before_script:
            - ant $OPTS clean
            - ant $OPTS build
          script:
            - ant $OPTS -f extide/o.apache.tools.ant.module test
            
        - name: Test Java modules with nb-javac on Java 8
          jdk: openjdk8
          env:
            - OPTS="-quiet -Dcluster.config=java -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true"
          before_script:
            - ant $OPTS clean
            - ant $OPTS build
          script:
            #- ant $OPTS -f java/ant.debugger test
            - hide-logs.sh ant $OPTS -f java/ant.freeform test
            #- ant $OPTS -f java/ant.grammar test
            - ant $OPTS -f java/api.debugger.jpda test
            - ant $OPTS -f java/api.java test
            - ant $OPTS -f java/api.maven test
            #- ant $OPTS -f java/beans test
            - ant $OPTS -f java/classfile test
            - ant $OPTS -f java/dbschema test -Dtest.config=stable
            #- ant $OPTS -f java/debugger.jpda test
            - hide-logs.sh ant $OPTS -f java/debugger.jpda.js test
            - hide-logs.sh ant $OPTS -f java/debugger.jpda.projects test
            - hide-logs.sh ant $OPTS -f java/debugger.jpda.projectsui test
            #- ant $OPTS -f java/debugger.jpda.truffle test
            #- ant $OPTS -f java/debugger.jpda.ui test
            - travis_wait hide-logs.sh ant $OPTS -f java/editor.htmlui test
            #- travis_wait 30 hide-logs.sh  ant $OPTS -f java/form test
            - ant $OPTS -f java/hudson.maven test
            - ant $OPTS -f java/java.completion test
            - hide-logs.sh ant $OPTS -f java/java.hints.declarative test
            #- ant $OPTS -f java/java.kit test
            #- ant $OPTS -f java/java.lexer test
            #- ant $OPTS -f java/java.lexer test
            #- ant $OPTS -f java/java.lsp.server test
            #- ant $OPTS -f java/java.metrics test
            - ant $OPTS -f java/java.module.graph test
            - ant $OPTS -f java/java.navigation test
            #- ant $OPTS -f java/java.openjdk.project test
            - ant $OPTS -f java/java.platform test
            - ant $OPTS -f java/java.platform.ui test
            - ant $OPTS -f java/java.preprocessorbridge test
            - hide-logs.sh ant $OPTS -f java/java.project test
            #- ant $OPTS -f java/java.project.ui test
            #- ant $OPTS -f java/java.source test
            #- ant $OPTS -f java/java.source.ant test
            - ant $OPTS -f java/java.source.base test
            - ant $OPTS -f java/java.source.compat8 test
            - ant $OPTS -f java/java.source.nbjavac test
            - ant $OPTS -f java/java.source.queriesimpl test
            #- ant $OPTS -f java/java.sourceui test
            - ant $OPTS -f java/java.testrunner test
            - ant $OPTS -f java/java.testrunner.ant test
            #- ant $OPTS -f java/javadoc test
            - ant $OPTS -f java/javawebstart test
            #- ant $OPTS -f java/jellytools.java test
            #- ant $OPTS -f java/jshell.support test
            #- ant $OPTS -f java/junit test
            - ant $OPTS -f java/junit.ant.ui test
            - ant $OPTS -f java/lib.nbjavac test
            #- ant $OPTS -f java/maven test
            #- ant $OPTS -f java/maven.embedder test
            - ant $OPTS -f java/maven.grammar test
            #- ant $OPTS -f java/maven.hints test
            #- ant $OPTS -f java/maven.htmlui test
            - ant $OPTS -f java/maven.indexer test
            - ant $OPTS -f java/maven.junit test
            - ant $OPTS -f java/maven.model test
            - ant $OPTS -f java/maven.osgi test
            #- ant $OPTS -f java/performance test
            #- ant $OPTS -f java/performance.java test
            #- ant $OPTS -f java/projectimport.eclipse.core test
            #- ant $OPTS -f java/refactoring.java test
            - ant $OPTS -f java/spellchecker.bindings.java test
            #- ant $OPTS -f java/spi.java.hints test
            - ant $OPTS -f java/spring.beans test
            - ant $OPTS -f java/testng test
            #- ant $OPTS -f java/testng.ant test
            #- ant $OPTS -f java/testng.ui test
            - ant $OPTS -f java/whitelist test
            - ant $OPTS -f java/xml.jaxb test

        - name: Test Java modules with nb-javac on Java 11
          jdk: openjdk8
          env:
            - OPTS="-quiet -Dcluster.config=java -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true"
          before_script:
            - wget https://raw.githubusercontent.com/sormuras/bach/master/install-jdk.sh
            - export TEST_JDK=`bash install-jdk.sh --feature 11 --license GPL --emit-java-home --silent | tail -1`
            - export OPTS="$OPTS  -Dtest.nbjdk.home=$TEST_JDK -Dtest.run.args=--limit-modules=java.base,java.logging,java.xml,java.prefs,java.desktop,java.management,java.instrument,jdk.zipfs,java.scripting,java.naming -Dtest.bootclasspath.prepend.args=-Dno.netbeans.bootclasspath.prepend.needed=true"
            - ant $OPTS clean
            - ant $OPTS build
          script:
            - ant $OPTS -f java/java.completion test
            - travis_retry ant $OPTS -f java/java.source.base test

        - name: Test Java modules with nb-javac on Java 13
          jdk: openjdk8
          env:
            - OPTS="-quiet -Dcluster.config=java -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true"
          before_script:
            - wget https://raw.githubusercontent.com/sormuras/bach/master/install-jdk.sh
            - export TEST_JDK=`bash install-jdk.sh --feature 13 --license GPL --emit-java-home --silent | tail -1`
            - export OPTS="$OPTS -Dtest.nbjdk.home=$TEST_JDK -Dtest.run.args=--limit-modules=java.base,java.logging,java.xml,java.prefs,java.desktop,java.management,java.instrument,jdk.zipfs,java.scripting,java.naming -Dtest.bootclasspath.prepend.args=-Dno.netbeans.bootclasspath.prepend.needed=true"
            - ant $OPTS clean
            - ant $OPTS build
          script:
            - ant $OPTS -f java/java.completion test
            - ant $OPTS -f java/java.source.base test

        - name: Test Java modules without nb-javac on Java 14
          jdk: openjdk8
          env:
            - OPTS="-quiet -Dcluster.config=java -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true"
          before_script:
            - wget https://raw.githubusercontent.com/sormuras/bach/master/install-jdk.sh
            - export TEST_JDK=`bash install-jdk.sh --feature 14 --license GPL --emit-java-home --silent | tail -1`
            - export OPTS="$OPTS -Dtest.nbjdk.home=$TEST_JDK -Dtest.use.jdk.javac=true"
            - ant $OPTS clean
            - ant $OPTS build
          script:
            - ant $OPTS -f java/java.completion test
            - travis_retry ant $OPTS -f java/refactoring.java test-unit

        - name: Test apisupport modules
          jdk: openjdk8
          env: 
            - OPTS="-quiet -Dcluster.config=release -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false"
          before_script:
            - ant $OPTS clean
            - ant $OPTS build
          script:
            #- ant $OPTS -f apisupport/apisupport.ant test
            - ant $OPTS -f apisupport/apisupport.project test
            - ant $OPTS -f apisupport/apisupport.refactoring test
            - ant $OPTS -f apisupport/apisupport.wizards test
            - ant $OPTS -f apisupport/maven.apisupport test
            - ant $OPTS -f apisupport/timers test -Dtest.config=stable

        - name: Test JavaFX modules
          jdk: openjdk8
          env:
            - OPTS="-quiet -Dcluster.config=java -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true"
          before_script:
            - ant $OPTS clean
            - ant $OPTS build
          script:
            - ant $OPTS -f javafx/javafx2.editor test -Dtest.config=stable
            #- ant $OPTS -f javafx/javafx2.project test

        - name: Test ergonomics modules
          jdk: openjdk8
          env: 
            - OPTS="-quiet -Dcluster.config=release -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false"
          before_script:
            - ant $OPTS clean
            - ant $OPTS build
          script:
            - ant $OPTS -f ergonomics/ide.ergonomics test -Dtest.config=commit

        - name: Test profiler modules
          jdk: openjdk8
          env:
            - OPTS="-quiet -Dcluster.config=java -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true"
          before_script:
            - ant $OPTS clean
            - ant $OPTS build
          script:
            - ant $OPTS -f profiler/profiler.oql test

        - name: Test webcommon modules
          jdk: openjdk8
          env:
            - OPTS="-quiet -Dcluster.config=php -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true"
          before_script:
            - ant $OPTS clean
            - ant $OPTS build
          script:
            - hide-logs.sh ant $OPTS -f webcommon/api.knockout test
            #- hide-logs.sh ant $OPTS -f webcommon/cordova test
            #- hide-logs.sh ant $OPTS -f webcommon/html.angular test
            - hide-logs.sh ant $OPTS -f webcommon/html.knockout test-unit
            - hide-logs.sh ant $OPTS -f webcommon/html.ojet test
            - hide-logs.sh ant $OPTS -f webcommon/javascript.bower test
            - hide-logs.sh ant $OPTS -f webcommon/javascript.cdnjs test
            - hide-logs.sh ant $OPTS -f webcommon/javascript.grunt test
            - hide-logs.sh ant $OPTS -f webcommon/javascript.karma test
            - hide-logs.sh ant $OPTS -f webcommon/javascript.nodejs test
            - hide-logs.sh ant $OPTS -f webcommon/javascript.v8debug test
            - hide-logs.sh ant $OPTS -f webcommon/javascript2.doc test
            #- hide-logs.sh ant $OPTS -f webcommon/javascript2.editor test
            - hide-logs.sh ant $OPTS -f webcommon/javascript2.extdoc test
            - hide-logs.sh ant $OPTS -f webcommon/javascript2.extjs test
            - hide-logs.sh ant $OPTS -f webcommon/javascript2.jade test
            - travis_retry hide-logs.sh ant $OPTS -f webcommon/javascript2.jquery test
            - hide-logs.sh ant $OPTS -f webcommon/javascript2.jsdoc test
            - hide-logs.sh ant $OPTS -f webcommon/javascript2.json test
            - hide-logs.sh ant $OPTS -f webcommon/javascript2.knockout test
            - hide-logs.sh ant $OPTS -f webcommon/javascript2.lexer test
            - hide-logs.sh ant $OPTS -f webcommon/javascript2.model test
            #- hide-logs.sh ant $OPTS -f webcommon/javascript2.nodejs test
            #- hide-logs.sh ant $OPTS -f webcommon/javascript2.prototypejs test
            #- hide-logs.sh ant $OPTS -f webcommon/javascript2.requirejs test
            - hide-logs.sh ant $OPTS -f webcommon/javascript2.sdoc test
            - hide-logs.sh ant $OPTS -f webcommon/languages.apacheconf test
            - hide-logs.sh ant $OPTS -f webcommon/languages.ini test
            #- hide-logs.sh ant $OPTS -f webcommon/lib.v8debug test
            - hide-logs.sh ant $OPTS -f webcommon/libs.graaljs test
            - hide-logs.sh ant $OPTS -f webcommon/libs.truffleapi test
            - hide-logs.sh ant $OPTS -f webcommon/selenium2.webclient test
            - hide-logs.sh ant $OPTS -f webcommon/web.clientproject test-unit
            - hide-logs.sh ant $OPTS -f webcommon/web.clientproject.api test
            - hide-logs.sh ant $OPTS -f webcommon/web.inspect test

        - name: "Versioning modules (ide/versioning and ide/versioning.core) tests"
          jdk: openjdk8
          env:
              - OPTS="-quiet -Dcluster.config=minimal -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false"
              - OPTS_TEST="-Dtest-unit-sys-prop.ignore.random.failures=true -Dvanilla.javac.exists=true"
              - GIT_TEST_REPO="$HOME/git_test_repo"
          script:
              # Build sources
              - ant $OPTS clean
              - ant $OPTS build
              # Run unit tests
              - ant $OPTS $OPTS_TEST -f ide/versioning.core test-unit
              - ant $OPTS $OPTS_TEST -f ide/versioning test-unit
              #Prepare git repo for tests
              - git init $GIT_TEST_REPO
              # Prepare config file for ide/versioning.core module
              - touch ide/versioning.core/test/qa-functional/data/tck.properties
              - echo "test.root = $GIT_TEST_REPO" > ide/versioning.core/test/qa-functional/data/tck.properties
              - echo "test.vcs = org.netbeans.modules.versioning.DelegatingVCS" >> ide/versioning.core/test/qa-functional/data/tck.properties
              # Run functional tests for ide/versioning.core module  
              - ant $OPTS $OPTS_TEST -f ide/versioning.core test-qa-functional
              # Prepare config file for ide/versioning module
              - touch ide/versioning/test/qa-functional/data/tck.properties
              - echo "test.root = $GIT_TEST_REPO" > ide/versioning/test/qa-functional/data/tck.properties
              - echo "test.vcs = org.netbeans.modules.git.GitVCS" >> ide/versioning/test/qa-functional/data/tck.properties
              # Run functional tests for ide/versioning module  
              - ant $OPTS $OPTS_TEST -f ide/versioning test-qa-functional

        - name: "Tests with mysql database"
          jdk: openjdk8
          services:
            - mysql
          env:
            - OPTS="-Dcluster.config=minimal -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false"
            - OPTS_TEST="-Dtest-unit-sys-prop.ignore.random.failures=true -Dvanilla.javac.exists=true -Dtest-unit-sys-prop.mysql.user=root -Dtest-unit-sys-prop.mysql.password=password"
          before_script:
            - echo "ALTER USER root@'localhost' IDENTIFIED BY 'password';\nFLUSH PRIVILEGES;\n" | mysql -u root
            - ant $OPTS clean
            - ant $OPTS build
          script:
            - travis_retry ant $OPTS $OPTS_TEST -f ide/db.metadata.model test
            - travis_retry ant $OPTS $OPTS_TEST -f ide/db.mysql test
            
        - name: Test enterprise modules
          jdk: openjdk8
          env:
            - OPTS="-quiet -Dcluster.config=enterprise -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true"
          before_script:
            - ant $OPTS clean
            - ant $OPTS build
          script:
            - ant $OPTS -f enterprise/spring.webmvc test
            - ant $OPTS -f enterprise/websvc.editor.hints test
            - ant $OPTS -f enterprise/websvc.websvcapi test
            - ant $OPTS -f enterprise/websvc.wsstackapi test
            
        - name: Test groovy modules on Java 8
          jdk: openjdk8
          env:
            - BUILD_OPTS="-quiet -Dcluster.config=groovy -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true"
            - TEST_OPTS="-Dcluster.config=groovy -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true"
          before_script:
            - ant $BUILD_OPTS clean
            - ant $BUILD_OPTS build
          script:
            #- ant $TEST_OPTS -f groovy/groovy test
            #- ant $TEST_OPTS -f groovy/groovy.java test
            - ant $TEST_OPTS -f groovy/groovy.editor test
            - ant $TEST_OPTS -f groovy/groovy.gsp test
            #- ant $TEST_OPTS -f groovy/groovy.kit test
            - ant $TEST_OPTS -f groovy/groovy.support test
            
        - name: Test groovy modules on Java 11
          jdk: openjdk8
          env:
            - BUILD_OPTS="-quiet -Dcluster.config=groovy -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true"
            - TEST_OPTS="-Dcluster.config=groovy -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true"
          before_script:
            - ant $BUILD_OPTS clean
            - ant $BUILD_OPTS build
            - wget https://raw.githubusercontent.com/sormuras/bach/master/install-jdk.sh
            - export TEST_JDK=`bash install-jdk.sh --feature 11 --license GPL --emit-java-home --silent | tail -1`
            - export OPTS="$OPTS  -Dtest.nbjdk.home=$TEST_JDK -Dtest.run.args=--limit-modules=java.base,java.logging,java.xml,java.prefs,java.desktop,java.management,java.instrument,jdk.zipfs,java.scripting,java.naming -Dtest.bootclasspath.prepend.args=-Dno.netbeans.bootclasspath.prepend.needed=true"            
          script:
            #- ant $TEST_OPTS -f groovy/groovy test
            #- ant $TEST_OPTS -f groovy/groovy.java test
            - ant $TEST_OPTS -f groovy/groovy.editor test
            - ant $TEST_OPTS -f groovy/groovy.gsp test
            #- ant $TEST_OPTS -f groovy/groovy.kit test
            - ant $TEST_OPTS -f groovy/groovy.support test
            
        - name: Test groovy modules on Java 14
          jdk: openjdk8
          env:
            - BUILD_OPTS="-quiet -Dcluster.config=groovy -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true"
            - TEST_OPTS="-Dcluster.config=groovy -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true"
          before_script:
            - ant $BUILD_OPTS clean
            - ant $BUILD_OPTS build
            - wget https://raw.githubusercontent.com/sormuras/bach/master/install-jdk.sh
            - export TEST_JDK=`bash install-jdk.sh --feature 11 --license GPL --emit-java-home --silent | tail -1`
            - export OPTS="$OPTS  -Dtest.nbjdk.home=$TEST_JDK -Dtest.run.args=--limit-modules=java.base,java.logging,java.xml,java.prefs,java.desktop,java.management,java.instrument,jdk.zipfs,java.scripting,java.naming -Dtest.bootclasspath.prepend.args=-Dno.netbeans.bootclasspath.prepend.needed=true"            
          script:
            #- ant $TEST_OPTS -f groovy/groovy test
            #- ant $TEST_OPTS -f groovy/groovy.java test
            - ant $TEST_OPTS -f groovy/groovy.editor test
            - ant $TEST_OPTS -f groovy/groovy.gsp test
            #- ant $TEST_OPTS -f groovy/groovy.kit test
            - ant $TEST_OPTS -f groovy/groovy.support test

        - name: Test php modules
          jdk: openjdk8
          env:
            - OPTS="-quiet -Dcluster.config=php -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true"
          before_script:
            - ant $OPTS clean
            - ant $OPTS build
          script:
            - ant $OPTS -f php/hudson.php test
            #- ant $OPTS -f php/languages.neon test
            - ant $OPTS -f php/php.api.annotation test
            - ant $OPTS -f php/php.api.documentation test
            - ant $OPTS -f php/php.api.executable test
            - ant $OPTS -f php/php.api.framework test
            - ant $OPTS -f php/php.api.phpmodule test
            - ant $OPTS -f php/php.api.testing test
            - ant $OPTS -f php/php.apigen test
            - ant $OPTS -f php/php.atoum test
            - ant $OPTS -f php/php.code.analysis test
            - ant $OPTS -f php/php.codeception test
            - ant $OPTS -f php/php.composer test
            #- ant $OPTS -f php/php.dbgp test
            - ant $OPTS -f php/php.doctrine2 test
            #- ant $OPTS -f php/php.editor test
            #- ant $OPTS -f php/php.latte test
            #- ant $OPTS -f php/php.nette.tester test
            - ant $OPTS -f php/php.phpunit test
            - ant $OPTS -f php/php.project test
            - ant $OPTS -f php/php.refactoring test
            #- ant $OPTS -f php/php.smarty test
            #- ant $OPTS -f php/php.symfony test
            #- ant $OPTS -f php/php.symfony2 test
            - ant $OPTS -f php/php.twig test
            - ant $OPTS -f php/php.zend test
            - ant $OPTS -f php/php.zend2 test
            - ant $OPTS -f php/spellchecker.bindings.php test

        - name: Build the Visual Studio Code extension for Java
          jdk: openjdk8
          before_install:
            - nvm install 8
          env:
            - OPTS="-quiet -Dcluster.config=java -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true"
          before_script:
            - ant $OPTS clean
            - ant $OPTS build
          script:
            - (cd java/java.lsp.server; ant build-vscode-ext)

        - name: GRAALVM Tests
          jdk: openjdk8
          env: 
            - OPTS="-quiet -Dcluster.config=release -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false"
          before_script:
            - ant $OPTS clean
            - ant $OPTS build
          script:
            - nbbuild/travis/scripting.sh

        - name: MacOS tests
          language: minimal
          os: osx
          osx_image: xcode10.1
          addons:
            homebrew:
              packages:
                - openjdk@11
                - ant
              update: true
          env:
            - OPTS="-silent -Dcluster.config=platform -Dpermit.jdk9.builds=true -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true -Dvanilla.javac.exists=true"
          install:
            - sudo ln -sfn /usr/local/opt/openjdk@11/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-11.jdk
            - export PATH="/usr/local/opt/openjdk@11/bin:$PATH"
            - export JAVA_HOME=`/usr/libexec/java_home -v 11`
          before_script:
            - ant $OPTS clean
            - ant $OPTS build
          script:
            - ant $OPTS -f platform/masterfs.macosx test
            - ant $OPTS -f platform/core.network test
