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

###### BEGIN OF EXCLUSIONS (Do not remove this marker!)
###### build artifacts 
**/build/**
licenses/**
nbbuild/licenses/**
nbbuild/netbeans/**
nbbuild/testuserdir/**
nbbuild/user.build.properties
###### generated build artifacts
nbbuild/gitinfo.properties
nbbuild/netbeansrelease.properties
nbbuild/netbeansrelease.json
enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/application/model_1_4/*
enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/application/model_5/*
enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/application/model_6/*
enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/application/model_7/*
enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/application/model_8/*
enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/application/model_9/*
enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/client/model_1_4/*
enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/client/model_5_0/*
enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/client/model_6_0/*
enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/client/model_7_0/*
enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/client/model_8_0/*
enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/client/model_9_0/*
enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/ejb/model_2_1/*
enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/ejb/model_3_0/*
enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/ejb/model_3_1/*
enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/ejb/model_3_2/*
enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/ejb/model_4_0/*
enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/web/model_2_4/*
enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/web/model_2_5/*
enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/web/model_3_0/*
enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/web/model_3_1/*
enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/web/model_4_0/*
enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/web/model_5_0/*
enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/web/model_3_0_frag/*
enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/web/model_3_1_frag/*
enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/web/model_4_0_frag/*
enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/web/model_5_0_frag/*

###### user-specific files  
**/nbproject/private/**

###### no degree of creativity: https://www.apache.org/legal/src-headers.html#faq-exceptions
**/*.exists
**/*.palette_item
**/*.url
**/src/META-INF/**
**/.dep.inc
**/Makefile-vc
**/Makefile-vc-wo-crt
**/package-list
java/java.editor/src/org/netbeans/modules/java/editor/resources/JavaExample
platform/lib.uihandler/src/org/netbeans/lib/uihandler/pubKey
maven.indexer/external/NOTICE-patched-indexer-core-6.0.0
nbbuild/hudson/.hgmail-profiler
nbbuild/jms-config/*
nbbuild/l10n.patterns
platform/o.n.core/test/unit/src/org/netbeans/core/modules/jars/localized-manifest/locmani/something.txt
platform/openide.util.lookup/test/unit/src/org/openide/util/lookup/MetaInfServicesLookupTestRunnable.txt
platform/openide.util.lookup/test/unit/src/org/openide/util/lookup/problem100320.txt
platform/openide.util.lookup/test/unit/src/org/openide/util/lookup/problem249414.txt
platform/openide.util.lookup/test/unit/src/org/openide/util/lookup/services-jar-1.txt
platform/openide.util.lookup/test/unit/src/org/openide/util/lookup/services-jar-2.txt
ide/options.editor/src/org/netbeans/modules/options/colors/AllLanguagesExample
ide/options.editor/src/org/netbeans/modules/options/colors/HighlightingExample
ide/options.editor/src/org/netbeans/modules/options/indentation/indentationExample
platform/templates/src/org/netbeans/modules/templates/resources/userprop.txt
### limited degreed of creativity
## the files do not reach a level of creativity 
java/maven.checkstyle/src/org/netbeans/modules/maven/format/checkstyle/config/configuration*.dtd

###### test data: https://www.apache.org/legal/src-headers.html#faq-exceptions 
platform/api.search/test/unit/src/org/netbeans/modules/search/data/**
platform/api.templates/test/unit/src/org/netbeans/modules/templates/utf8.xml
platform/autoupdate.services/test/unit/**/data/**
java/debugger.jpda/test/unit/src/org/netbeans/api/debugger/jpda/testapps/JspLineBreakpointApp.txt
ide/diff/test/unit/src/org/netbeans/modules/diff/builtin/provider/*.txt
ide/diff/test/unit/src/org/netbeans/modules/diff/builtin/visualizer/data/**
ide/editor/test/qa-functional/src/org/netbeans/test/editor/suites/keybindings/actions.txt
ide/editor/test/unit/src/org/netbeans/modules/editor/resources/testAnnotation*.xml
ide/editor.fold/test/unit/src/org/netbeans/modules/editor/fold/FoldContentReader.txt
ide/editor.settings.storage/test/unit/src/org/netbeans/modules/editor/settings/storage/compatibility/p1/**
ide/extbrowser/test/unit/src/org/netbeans/modules/extbrowser/data/mac_defaults_*
ide/html/test/unit/src/org/netbeans/modules/html/data/**
ide/hudson.subversion/test/unit/src/org/netbeans/modules/hudson/subversion/sample-entries-file
ide/ide.kit/test/qa-functional/**/*.txt
###   module-info.bin (compiled Java class)
java/java.j2seproject/copylibstask/test/org/netbeans/modules/java/j2seproject/moduletask/resources/module-info.bin
ide/lexer/demo/src/org/netbeans/modules/lexer/demo/**/*.txt
platform/lib.uihandler/test/unit/src/**
platform/o.n.core/test/unit/src/org/netbeans/core/projects/cache/data/**
platform/openide.nodes/test/unit/src/org/openide/nodes/data/**
ide/projectuiapi/test/unit/src/org/netbeans/modules/project/uiapi/data/*.txt
platform/queries/test/unit/src/org/netbeans/api/queries/data/*
ide/utilities/test/unit/src/org/netbeans/modules/openfile/resources/recent_files/*
websvccommon/websvc.saas.api/test/unit/src/org/netbeans/modules/websvc/saas/model/application.wadl
websvccommon/websvc.saas.api/test/unit/src/org/netbeans/modules/websvc/saas/util/rootGroup.xml
ide/xml.axi/test/unit/src/org/netbeans/modules/xml/axi/resources/**
ide/xml.lexer/test/unit/src/org/netbeans/api/xml/lexer/resources/*.dtd
ide/xml.lexer/test/unit/src/org/netbeans/api/xml/lexer/resources/*.xml
ide/xml.schema.completion/test/unit/src/org/netbeans/modules/xml/schema/completion/resources/**
ide/xml.schema.model/test/unit/src/org/netbeans/modules/xml/schema/model/**/*.xsd
ide/xml.schema.model/test/unit/src/org/netbeans/modules/xml/schema/model/resources/*.xml
ide/xml.schema.model/test/unit/src/org/netbeans/modules/xml/schema/model/resources/*.zip
ide/xml.schema.model/test/unit/src/org/netbeans/modules/xml/schema/model/resources/dummyProject/nbproject/private/tmpfile
ide/xml.text/test/qa-functional/src/org/netbeans/modules/xml/text/**/data/**
ide/xml.tools/test/qa-functional/src/org/netbeans/modules/**/*.dtd
ide/xml.tools/test/qa-functional/src/org/netbeans/modules/**/*.txt
ide/xml.tools/test/qa-functional/src/org/netbeans/modules/**/*.xml
ide/xml.wsdl.model/test/unit/src/org/netbeans/modules/xml/wsdl/**/*.wsdl
ide/xml.wsdl.model/test/unit/src/org/netbeans/modules/xml/wsdl/**/*.xml
ide/xml.wsdl.model/test/unit/src/org/netbeans/modules/xml/wsdl/**/*.xsd
ide/xml.xdm/test/unit/src/org/netbeans/modules/xml/xdm/**/*.bpel
ide/xml.xdm/test/unit/src/org/netbeans/modules/xml/xdm/**/*.wsdl
ide/xml.xdm/test/unit/src/org/netbeans/modules/xml/xdm/**/*.xml
ide/xml.xdm/test/unit/src/org/netbeans/modules/xml/xdm/**/*.xsd
ide/xml/test/unit/src/org/netbeans/modules/xml/resources/*
ide/xsl/test/unit/src/org/netbeans/modules/xsl/utils/data/*

###### template file
apisupport/apisupport.ant/src/org/netbeans/modules/apisupport/project/resources/license-*.txt
apisupport/apisupport.project/src/org/netbeans/modules/apisupport/project/ui/resources/layer_template.xml
java/dbschema/src/org/netbeans/modules/dbschema/jdbcimpl/resources/templates/*
ide/editor/demosrc/base/org/netbeans/editor/example/res/template.html_
ide/editor/demosrc/base/org/netbeans/editor/example/res/template.java_
ide/editor/demosrc/properties-addon/org/netbeans/editor/example/res/template.properties
java/form/src/org/netbeans/modules/form/resources/templates/**
java/java.j2semodule/src/org/netbeans/modules/java/j2semodule/ui/resources/module-info.java.template
java/java.platform.ui/src/org/netbeans/modules/java/platform/resources/templates/javaplatform.xml
java/java.project.ui/src/org/netbeans/modules/java/project/ui/resources/*.template
java/java.source/src/org/netbeans/modules/**/*.template
extide/gradle/src/org/netbeans/modules/gradle/newproject/*.template
### user templates for mercurial commits, etc.
ide/mercurial/src/org/netbeans/modules/mercurial/util/log*
ide/properties/src/org/netbeans/modules/properties/sample.properties.template
java/selenium2.java/src/org/netbeans/modules/selenium2/java/SeleneseIT.java.template
java/testng.ui/src/org/netbeans/modules/testng/ui/resources/*.template
websvccommon/websvc.saas.api/src/org/netbeans/modules/websvc/saas/oauth/*.template

###### do not natively support comments 
**/*.mf
**/*.MF
**/*.nib
**/*.oql
**/*.ser
harness/jellytools.platform/src/org/netbeans/jellytools/version_info
**/*.npss

######  generated test files 
**/*.pass
**/*.pass2
**/*.pbxproj

###### would cause tests to fail: https://www.apache.org/legal/src-headers.html#faq-exceptions
**/*.ref
**/*.sln
**/*.user
**/*.vcproj
**/test/unit/data/**
**/test/qa-functional/data/**
platform/openide.util.ui/test/unit/src/org/openide/util/UtilitiesTranslateEmpty.txt
platform/openide.util/test/unit/src/org/openide/util/LookupUsesRequestProcessorTest.resource

######  external dependencies licences and notices 
**/external/*-license.txt
**/external/*-notice.txt

###### generated
### signatures for past versions 
**/nbproject/*.sig
### generated, no degree of creativity 
**/nbproject/build-impl.xml
**/nbproject/genfiles.properties
**/nbproject/groovy-build.xml
**/nbproject/jfx-impl.xml
nbi/engine/nbproject/profiler-build-impl.xml
websvccommon/websvc.saas.api/src/org/netbeans/modules/websvc/saas/model/jaxb/*
websvccommon/websvc.saas.api/src/org/netbeans/modules/websvc/saas/model/oauth/*
websvccommon/websvc.saas.api/src/org/netbeans/modules/websvc/saas/model/wadl/*
### generated ANTLR
java/java.api.common/src/org/netbeans/modules/java/api/common/project/ui/customizer/vmo/gen/CommandLine.tokens

###### license files 
apisupport/apisupport.installer/src/org/netbeans/modules/apisupport/installer/resources/licenses/**
### companion files for CDDL licensed binaries
profiler/lib.profiler/release/lib/deployed/**/*.map
### A prefix that is added to license file
nbbuild/license-dialog-stub.txt
nbbuild/notice-stub.txt
nbbuild/standard-nbm-license.txt
nbbuild/misc/prepare-bundles/src/main/resources/org/netbeans/prepare/bundles/*-license
ide/projectui/src/org/netbeans/modules/project/ui/resources/*-license.txt
ide/projectui/src/org/netbeans/modules/project/ui/resources/license-default.txt

###### IDE, licences would be visible inside IDE
java/beans/src/org/netbeans/modules/beans/resources/templates/*.template
ide/css.editor/src/org/netbeans/modules/css/resources/CascadeStyleSheet.css.template
ide/css.editor/src/org/netbeans/modules/css/resources/CssExample
ide/db.sql.editor/src/org/netbeans/modules/db/sql/editor/resources/SQLExample
ide/editor.plain/src/org/netbeans/modules/editor/plain/resources/PlainTextExample
javafx/javafx2.project/src/org/netbeans/modules/javafx2/project/templates/**
java/jshell.support/src/org/netbeans/modules/jshell/resources/consoleExample.jsh
java/junit.ui/src/org/netbeans/modules/junit/ui/resources/*.template
ide/languages.diff/src/org/netbeans/modules/languages/diff/DiffExample.diff
ide/languages.toml/src/org/netbeans/modules/languages/toml/*.toml
ide/languages.yaml/src/org/netbeans/modules/languages/yaml/*.yaml
ide/languages.yaml/src/org/netbeans/modules/languages/yaml/*.yml
java/spring.beans/src/org/netbeans/modules/spring/beans/resources/templates/*.template
ide/xml.text/src/org/netbeans/modules/xml/text/resources/DTDExample
ide/xml.text/src/org/netbeans/modules/xml/text/resources/XMLExample
ide/xml.text/src/org/netbeans/modules/xml/text/resources/XMLExampleIndent
ide/properties.syntax/src/org/netbeans/modules/properties/syntax/PropertiesExample


###### GitHub Issue tooling
.github/**
