# 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=\
    bcpg,\
    com.googlecode.javaewah.JavaEWAH,\
    libs.c.kohlschutter.junixsocket,\
    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.jgit,\
    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.git,\
    org.netbeans.libs.graaljs,\
    org.netbeans.libs.ini4j,\
    org.netbeans.libs.jsch.agentproxy,\
    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.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.parser,\
    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.javadoc,\
    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,\
    org.netbeans.modules.versioning.core,\
    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
