# 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.terminalemulator,\
    org.netbeans.libs.cglib,\
    org.netbeans.libs.commons_net,\
    org.netbeans.libs.felix,\
    org.netbeans.libs.ini4j,\
    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.autoupdate.ui,\
    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.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.hints.ui,\
    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.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.jakarta.transformer,\
    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.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
