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

branding.token=nbcode
cluster.path=\
    ${nbplatform.active.dir}/cpplite:\
    ${nbplatform.active.dir}/enterprise:\
    ${nbplatform.active.dir}/extide:\
    ${nbplatform.active.dir}/groovy:\
    ${nbplatform.active.dir}/ide:\
    ${nbplatform.active.dir}/java:\
    ${nbplatform.active.dir}/nb:\
    ${nbplatform.active.dir}/platform:\
    ${nbplatform.active.dir}/harness:\
    ${nbplatform.active.dir}/webcommon
disabled.modules=\
    org.apache.commons.lang,\
    org.apache.ws.commons.util,\
    org.apache.xmlrpc,\
    org.eclipse.core.contenttype,\
    org.eclipse.core.jobs,\
    org.eclipse.core.net,\
    org.eclipse.core.runtime,\
    org.eclipse.core.runtime.compatibility.auth,\
    org.eclipse.equinox.app,\
    org.eclipse.equinox.common,\
    org.eclipse.equinox.preferences,\
    org.eclipse.equinox.registry,\
    org.eclipse.equinox.security,\
    org.eclipse.mylyn.bugzilla.core,\
    org.eclipse.mylyn.commons.core,\
    org.eclipse.mylyn.commons.net,\
    org.eclipse.mylyn.commons.repositories.core,\
    org.eclipse.mylyn.commons.xmlrpc,\
    org.eclipse.mylyn.tasks.core,\
    org.eclipse.mylyn.wikitext.confluence.core,\
    org.eclipse.mylyn.wikitext.core,\
    org.eclipse.mylyn.wikitext.markdown.core,\
    org.eclipse.mylyn.wikitext.textile.core,\
    org.netbeans.api.knockout,\
    org.netbeans.api.visual,\
    org.netbeans.core.browser,\
    org.netbeans.core.browser.webview,\
    org.netbeans.core.multitabs,\
    org.netbeans.core.multitabs.project,\
    org.netbeans.core.nativeaccess,\
    org.netbeans.core.output2,\
    org.netbeans.core.windows,\
    org.netbeans.lib.jshell.agent,\
    org.netbeans.lib.nbjshell,\
    org.netbeans.lib.nbjshell9,\
    org.netbeans.lib.terminalemulator,\
    org.netbeans.libs.cglib,\
    org.netbeans.libs.commons_net,\
    org.netbeans.libs.felix,\
    org.netbeans.libs.ini4j,\
    org.netbeans.libs.jshell.compile,\
    org.netbeans.libs.jsr223,\
    org.netbeans.libs.jstestdriver,\
    org.netbeans.libs.nbi.ant,\
    org.netbeans.libs.nbi.engine,\
    org.netbeans.libs.plist,\
    org.netbeans.libs.smack,\
    org.netbeans.libs.springframework,\
    org.netbeans.libs.svnClientAdapter,\
    org.netbeans.libs.svnClientAdapter.javahl,\
    org.netbeans.libs.xerces,\
    org.netbeans.modules.ant.browsetask,\
    org.netbeans.modules.ant.debugger,\
    org.netbeans.modules.ant.freeform,\
    org.netbeans.modules.ant.grammar,\
    org.netbeans.modules.ant.hints,\
    org.netbeans.modules.ant.kit,\
    org.netbeans.modules.apisupport.harness,\
    org.netbeans.modules.applemenu,\
    org.netbeans.modules.autoupdate.pluginimporter,\
    org.netbeans.modules.beans,\
    org.netbeans.modules.bugtracking,\
    org.netbeans.modules.bugtracking.bridge,\
    org.netbeans.modules.bugtracking.commons,\
    org.netbeans.modules.bugzilla,\
    org.netbeans.modules.bugzilla.exceptionreporter,\
    org.netbeans.modules.cordova,\
    org.netbeans.modules.cordova.platforms,\
    org.netbeans.modules.cordova.platforms.android,\
    org.netbeans.modules.core.kit,\
    org.netbeans.modules.cpplite.editor,\
    org.netbeans.modules.cpplite.kit,\
    org.netbeans.modules.cpplite.project,\
    org.netbeans.modules.css.editor,\
    org.netbeans.modules.css.model,\
    org.netbeans.modules.css.prep,\
    org.netbeans.modules.css.visual,\
    org.netbeans.modules.db.kit,\
    org.netbeans.modules.db.mysql,\
    org.netbeans.modules.db.sql.visualeditor,\
    org.netbeans.modules.deadlock.detector,\
    org.netbeans.modules.debugger.jpda.ant,\
    org.netbeans.modules.debugger.jpda.js,\
    org.netbeans.modules.debugger.jpda.jsui,\
    org.netbeans.modules.debugger.jpda.kit,\
    org.netbeans.modules.debugger.jpda.trufflenode,\
    org.netbeans.modules.debugger.jpda.visual,\
    org.netbeans.modules.default,\
    org.netbeans.modules.derby,\
    org.netbeans.modules.dlight.nativeexecution.nb,\
    org.netbeans.modules.dlight.terminal,\
    org.netbeans.modules.docker.api,\
    org.netbeans.modules.docker.editor,\
    org.netbeans.modules.docker.ui,\
    org.netbeans.modules.editor.autosave,\
    org.netbeans.modules.editor.bookmarks,\
    org.netbeans.modules.editor.global.format,\
    org.netbeans.modules.editor.htmlui,\
    org.netbeans.modules.editor.kit,\
    org.netbeans.modules.editor.macros,\
    org.netbeans.modules.editor.plain,\
    org.netbeans.modules.editor.plain.lib,\
    org.netbeans.modules.editor.search,\
    org.netbeans.modules.editor.tools.storage,\
    org.netbeans.modules.extbrowser.chrome,\
    org.netbeans.modules.extexecution.impl,\
    org.netbeans.modules.form,\
    org.netbeans.modules.form.kit,\
    org.netbeans.modules.form.nb,\
    org.netbeans.modules.form.refactoring,\
    org.netbeans.modules.git,\
    org.netbeans.modules.gradle.htmlui,\
    org.netbeans.modules.gradle.java.coverage,\
    org.netbeans.modules.gradle.kit,\
    org.netbeans.modules.gradle.spring,\
    org.netbeans.modules.html.angular,\
    org.netbeans.modules.html.custom,\
    org.netbeans.modules.html.editor,\
    org.netbeans.modules.html.knockout,\
    org.netbeans.modules.html.validation,\
    org.netbeans.modules.httpserver,\
    org.netbeans.modules.hudson,\
    org.netbeans.modules.hudson.ant,\
    org.netbeans.modules.hudson.git,\
    org.netbeans.modules.hudson.maven,\
    org.netbeans.modules.hudson.mercurial,\
    org.netbeans.modules.hudson.subversion,\
    org.netbeans.modules.hudson.tasklist,\
    org.netbeans.modules.hudson.ui,\
    org.netbeans.modules.i18n,\
    org.netbeans.modules.i18n.form,\
    org.netbeans.modules.ide.branding,\
    org.netbeans.modules.ide.branding.kit,\
    org.netbeans.modules.ide.kit,\
    org.netbeans.modules.image,\
    org.netbeans.modules.j2ee.jpa.refactoring,\
    org.netbeans.modules.j2ee.jpa.verification,\
    org.netbeans.modules.j2ee.persistence.kit,\
    org.netbeans.modules.java.editor.lib,\
    org.netbeans.modules.java.examples,\
    org.netbeans.modules.java.freeform,\
    org.netbeans.modules.java.graph,\
    org.netbeans.modules.java.hints.declarative.test,\
    org.netbeans.modules.java.hints.test,\
    org.netbeans.modules.java.j2sedeploy,\
    org.netbeans.modules.java.j2seembedded,\
    org.netbeans.modules.java.j2semodule,\
    org.netbeans.modules.java.j2seprofiles,\
    org.netbeans.modules.java.j2seproject,\
    org.netbeans.modules.java.kit,\
    org.netbeans.modules.java.metrics,\
    org.netbeans.modules.java.module.graph,\
    org.netbeans.modules.java.navigation,\
    org.netbeans.modules.java.source.compat8,\
    org.netbeans.modules.java.testrunner.ant,\
    org.netbeans.modules.javascript.bower,\
    org.netbeans.modules.javascript.cdnjs,\
    org.netbeans.modules.javascript.grunt,\
    org.netbeans.modules.javascript.gulp,\
    org.netbeans.modules.javascript.jstestdriver,\
    org.netbeans.modules.javascript.karma,\
    org.netbeans.modules.javascript.nodejs,\
    org.netbeans.modules.javascript.v8debug.ui,\
    org.netbeans.modules.javascript2.debug.ui,\
    org.netbeans.modules.javascript2.extdoc,\
    org.netbeans.modules.javascript2.extjs,\
    org.netbeans.modules.javascript2.html,\
    org.netbeans.modules.javascript2.jade,\
    org.netbeans.modules.javascript2.jquery,\
    org.netbeans.modules.javascript2.jsdoc,\
    org.netbeans.modules.javascript2.kit,\
    org.netbeans.modules.javascript2.knockout,\
    org.netbeans.modules.javascript2.nodejs,\
    org.netbeans.modules.javascript2.prototypejs,\
    org.netbeans.modules.javascript2.react,\
    org.netbeans.modules.javascript2.requirejs,\
    org.netbeans.modules.javascript2.sdoc,\
    org.netbeans.modules.javascript2.source.query,\
    org.netbeans.modules.javawebstart,\
    org.netbeans.modules.jellytools.ide,\
    org.netbeans.modules.jellytools.java,\
    org.netbeans.modules.jellytools.platform,\
    org.netbeans.modules.jemmy,\
    org.netbeans.modules.jshell.support,\
    org.netbeans.modules.junit.ant,\
    org.netbeans.modules.junit.ant.ui,\
    org.netbeans.modules.ko4j.debugging,\
    org.netbeans.modules.kotlin.editor,\
    org.netbeans.modules.languages,\
    org.netbeans.modules.languages.apacheconf,\
    org.netbeans.modules.languages.diff,\
    org.netbeans.modules.languages.ini,\
    org.netbeans.modules.languages.manifest,\
    org.netbeans.modules.localhistory,\
    org.netbeans.modules.localtasks,\
    org.netbeans.modules.lsp.client,\
    org.netbeans.modules.maven.checkstyle,\
    org.netbeans.modules.maven.coverage,\
    org.netbeans.modules.maven.grammar,\
    org.netbeans.modules.maven.graph,\
    org.netbeans.modules.maven.kit,\
    org.netbeans.modules.maven.osgi,\
    org.netbeans.modules.maven.refactoring,\
    org.netbeans.modules.maven.repository,\
    org.netbeans.modules.maven.search,\
    org.netbeans.modules.maven.spring,\
    org.netbeans.modules.mercurial,\
    org.netbeans.modules.mylyn.util,\
    org.netbeans.modules.nashorn.execution,\
    org.netbeans.modules.netserver,\
    org.netbeans.modules.notifications,\
    org.netbeans.modules.parsing.ui,\
    org.netbeans.modules.print.editor,\
    org.netbeans.modules.project.ant.compat8,\
    org.netbeans.modules.project.spi.intern.impl,\
    org.netbeans.modules.projectimport.eclipse.core,\
    org.netbeans.modules.projectimport.eclipse.j2se,\
    org.netbeans.modules.projectui.buildmenu,\
    org.netbeans.modules.selenium2.java,\
    org.netbeans.modules.selenium2.maven,\
    org.netbeans.modules.selenium2.webclient.mocha,\
    org.netbeans.modules.selenium2.webclient.protractor,\
    org.netbeans.modules.servletapi,\
    org.netbeans.modules.spellchecker,\
    org.netbeans.modules.spellchecker.apimodule,\
    org.netbeans.modules.spellchecker.bindings.htmlxml,\
    org.netbeans.modules.spellchecker.bindings.java,\
    org.netbeans.modules.spellchecker.bindings.properties,\
    org.netbeans.modules.spellchecker.dictionary_en,\
    org.netbeans.modules.spellchecker.kit,\
    org.netbeans.modules.spring.beans,\
    org.netbeans.modules.subversion,\
    org.netbeans.modules.target.iterator,\
    org.netbeans.modules.tasklist.kit,\
    org.netbeans.modules.tasklist.projectint,\
    org.netbeans.modules.tasklist.todo,\
    org.netbeans.modules.tasklist.ui,\
    org.netbeans.modules.team.commons,\
    org.netbeans.modules.team.ide,\
    org.netbeans.modules.terminal.nb,\
    org.netbeans.modules.testng.ant,\
    org.netbeans.modules.testng.maven,\
    org.netbeans.modules.typescript.editor,\
    org.netbeans.modules.uihandler.exceptionreporter,\
    org.netbeans.modules.usersguide,\
    org.netbeans.modules.utilities,\
    org.netbeans.modules.utilities.project,\
    org.netbeans.modules.versioning.indexingbridge,\
    org.netbeans.modules.versioning.masterfs,\
    org.netbeans.modules.versioning.system.cvss.installer,\
    org.netbeans.modules.versioning.ui,\
    org.netbeans.modules.versioning.util,\
    org.netbeans.modules.web.client.kit,\
    org.netbeans.modules.web.clientproject,\
    org.netbeans.modules.web.clientproject.api,\
    org.netbeans.modules.web.client.samples,\
    org.netbeans.modules.web.inspect,\
    org.netbeans.modules.web.javascript.debugger,\
    org.netbeans.modules.web.webkit.debugging,\
    org.netbeans.modules.web.webkit.tooling,\
    org.netbeans.modules.websvc.jaxws21,\
    org.netbeans.modules.websvc.jaxws21api,\
    org.netbeans.modules.websvc.saas.codegen.java,\
    org.netbeans.modules.welcome,\
    org.netbeans.modules.xml,\
    org.netbeans.modules.xml.axi,\
    org.netbeans.modules.xml.catalog.ui,\
    org.netbeans.modules.xml.jaxb,\
    org.netbeans.modules.xml.retriever,\
    org.netbeans.modules.xml.schema.completion,\
    org.netbeans.modules.xml.schema.model,\
    org.netbeans.modules.xml.tax,\
    org.netbeans.modules.xml.text.obsolete90,\
    org.netbeans.modules.xml.tools,\
    org.netbeans.modules.xml.tools.java,\
    org.netbeans.modules.xml.wsdl.model,\
    org.netbeans.modules.xsl,\
    org.netbeans.spi.editor.hints.projects,\
    org.netbeans.swing.dirchooser,\
    org.netbeans.upgrader,\
    org.openide.compat,\
    org.openide.execution.compat8,\
    org.openide.options,\
    org.openidex.util,\
    org.netbeans.api.web.webmodule,\
    org.netbeans.libs.amazon,\
    org.netbeans.libs.commons_fileupload,\
    org.netbeans.libs.elimpl,\
    org.netbeans.libs.glassfish_logging,\
    org.netbeans.libs.jstl,\
    org.netbeans.modules.cloud.amazon,\
    org.netbeans.modules.el.lexer,\
    org.netbeans.modules.glassfish.common,\
    org.netbeans.modules.glassfish.eecommon,\
    org.netbeans.modules.glassfish.javaee,\
    org.netbeans.modules.glassfish.tooling,\
    org.netbeans.modules.gradle.javaee,\
    org.netbeans.modules.j2ee.ant,\
    org.netbeans.modules.j2ee.api.ejbmodule,\
    org.netbeans.modules.j2ee.clientproject,\
    org.netbeans.modules.j2ee.common,\
    org.netbeans.modules.j2ee.ddloaders,\
    org.netbeans.modules.j2ee.dd.webservice,\
    org.netbeans.modules.j2ee.earproject,\
    org.netbeans.modules.j2ee.ejbcore,\
    org.netbeans.modules.j2ee.ejbjarproject,\
    org.netbeans.modules.j2ee.ejbrefactoring,\
    org.netbeans.modules.j2ee.ejbverification,\
    org.netbeans.modules.j2ee.genericserver,\
    org.netbeans.modules.j2ee.kit,\
    org.netbeans.modules.j2ee.platform,\
    org.netbeans.modules.j2ee.sun.appsrv,\
    org.netbeans.modules.j2ee.sun.dd,\
    org.netbeans.modules.j2ee.sun.ddui,\
    org.netbeans.modules.jakartaee8.api,\
    org.netbeans.modules.jakartaee8.platform,\
    org.netbeans.modules.javaee7.api,\
    org.netbeans.modules.javaee8.api,\
    org.netbeans.modules.javaee.api,\
    org.netbeans.modules.javaee.beanvalidation,\
    org.netbeans.modules.javaee.project,\
    org.netbeans.modules.javaee.resources,\
    org.netbeans.modules.javaee.specs.support,\
    org.netbeans.modules.javaee.wildfly,\
    org.netbeans.modules.jellytools.enterprise,\
    org.netbeans.modules.jsp.lexer,\
    org.netbeans.modules.maven.j2ee,\
    org.netbeans.modules.maven.jaxws,\
    org.netbeans.modules.payara.common,\
    org.netbeans.modules.payara.eecommon,\
    org.netbeans.modules.payara.jakartaee,\
    org.netbeans.modules.payara.micro,\
    org.netbeans.modules.payara.tooling,\
    org.netbeans.modules.profiler.j2ee,\
    org.netbeans.modules.projectimport.eclipse.web,\
    org.netbeans.modules.servletjspapi,\
    org.netbeans.modules.spring.webmvc,\
    org.netbeans.modules.tomcat5,\
    org.netbeans.modules.web.beans,\
    org.netbeans.modules.web.bootsfaces,\
    org.netbeans.modules.web.client.rest,\
    org.netbeans.modules.web.core,\
    org.netbeans.modules.web.core.syntax,\
    org.netbeans.modules.web.debug,\
    org.netbeans.modules.web.el,\
    org.netbeans.modules.web.freeform,\
    org.netbeans.modules.web.jsf12,\
    org.netbeans.modules.web.jsf12ri,\
    org.netbeans.modules.web.jsf20,\
    org.netbeans.modules.web.jsfapi,\
    org.netbeans.modules.web.jsf.editor,\
    org.netbeans.modules.web.jsf.icefaces,\
    org.netbeans.modules.web.jsf,\
    org.netbeans.modules.web.jsf.kit,\
    org.netbeans.modules.web.jsf.navigation,\
    org.netbeans.modules.web.jsf.richfaces,\
    org.netbeans.modules.web.jspparser,\
    org.netbeans.modules.web.kit,\
    org.netbeans.modules.weblogic.common,\
    org.netbeans.modules.web.monitor,\
    org.netbeans.modules.web.primefaces,\
    org.netbeans.modules.web.project,\
    org.netbeans.modules.web.refactoring,\
    org.netbeans.modules.websocket,\
    org.netbeans.modules.web.struts,\
    org.netbeans.modules.websvc.clientapi,\
    org.netbeans.modules.websvc.core,\
    org.netbeans.modules.websvc.customization,\
    org.netbeans.modules.websvc.design,\
    org.netbeans.modules.websvc.editor.hints,\
    org.netbeans.modules.websvc.jaxwsapi,\
    org.netbeans.modules.websvc.jaxws.lightapi,\
    org.netbeans.modules.websvc.jaxwsmodel,\
    org.netbeans.modules.websvc.kit,\
    org.netbeans.modules.websvc.manager,\
    org.netbeans.modules.websvc.metro.lib,\
    org.netbeans.modules.websvc.owsm,\
    org.netbeans.modules.websvc.projectapi,\
    org.netbeans.modules.websvc.restapi,\
    org.netbeans.modules.websvc.rest,\
    org.netbeans.modules.websvc.restkit,\
    org.netbeans.modules.websvc.saas.codegen.j2ee,\
    org.netbeans.modules.websvc.utilities,\
    org.netbeans.modules.websvc.websvcapi,\
    org.netbeans.modules.websvc.wsstackapi,\
    org.netbeans.modules.groovy.antproject,\
    org.netbeans.modules.groovy.gsp,\
    org.netbeans.modules.groovy.kit,\
    org.netbeans.modules.groovy.refactoring,\
    org.netbeans.modules.groovy.samples
nbplatform.active=nball
suite.dir=${basedir}
nbplatform.nball.netbeans.dest.dir=${suite.dir}/../../../nbbuild/netbeans
nbplatform.nball.harness.dir=${nbplatform.nball.netbeans.dest.dir}/harness
