###### 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/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/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/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_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/*

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