# Eclipse IDE
#------------------------------------------------------------
**/.classpath
**/.project
**/.tern-project
**/.settings/**
**/bin/


# IntelliJ IDE
#------------------------------------------------------------
**/.idea/
/out/
*.iml

# Logs
#------------------------------------------------------------
*.log
*/logs/*
*/*/logs/*
/utils/DmaapPublisher/logs/*


#Excluded Script Folder
xFolder

# IntelliJ IDE
#------------------------------------------------------------
**/.idea/
/out/
*.iml


# Maven
#------------------------------------------------------------
**/target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
version.properties
*dependency-reduced-pom.xml

## sdc-os-chef
*.class
# Package Files

# Package Files
#------------------------------------------------------------
*.ear
*.iml
*.jar
*.war
#Gradle
.gradle/*

#Gradle
.gradle/*
*/*.gradle
*/settings.gradle
*/gradlew.bat
*/gradlew
gradlew.bat
gradlew
settings.gradle

/log
/log
*.kpf
*.orig


# catalog-ui
#------------------------------------------------------------
#------------------------------------------------------------
catalog-ui/app/dist/*
catalog-ui/package-lock.json
catalog-ui/dist
catalog-ui/*.tmp.txt
catalog-ui/tests/Coverage/*
catalog-ui/Chrome*
catalog-ui/PhantomJS_1.9.8_(Windows_7_0.0.0)/*

catalog-ui/app/dist/*
.metadata/
.metadata/*
.project
.settings/
Vagrantfile
a4c/
asdc-chef/cookbooks/Deploy-SDandC/attributes/version.rb
asdc-tests/ExtentReport/ASDC_CI_Extent_Report.html
asdc-tests/test-output/**
asdctool/tosca/*
bin/
catalog-be/.pydevproject
catalog-be/.checkstyle
catalog-be/data/*
catalog-be/src/main/java/META-INF/MANIFEST.MF
catalog-be/test-output/*
catalog-builders/bin/
catalog-dao/bin/
catalog-fe/bin
catalog-fe/src/main/webapp/*
catalog-ui/*.tmp.txt
catalog-ui/.*
catalog-ui/app/dist/*
catalog-ui/.editorconfig
catalog-ui/.jshintrc
catalog-ui/.yo-rc.json
catalog-ui/Chrome*
catalog-ui/PhantomJS_1.9.8_(Windows_7_0.0.0)/*
catalog-ui/app/**/*.css
catalog-ui/app/dist/*
catalog-ui/app/robots.txt
catalog-ui/app/scripts/**/*.js
catalog-ui/app/scripts/**/*.js.map
catalog-ui/app/scripts/references.ts
catalog-ui/app/scripts/tsconfig.json
catalog-ui/app/tsconfig.json
catalog-ui/package-lock.json
catalog-ui/dist
catalog-ui/*.tmp.txt
catalog-ui/tests/Coverage/*
catalog-ui/Chrome*
catalog-ui/PhantomJS_1.9.8_(Windows_7_0.0.0)/*
catalog-ui/tests/Coverage/*
catalog-ui/PhantomJS_1.9.8_(Windows_7_0.0.0)/*
catalog-ui/node/*
catalog-ui/node_modules/
catalog-ui/npm-debug.log
catalog-ui/tests/Coverage/*
common-app-api/bin/
common/openecomp-common-configuration-management/openecomp-configuration-management-cli/dependency-reduced-pom.xml
common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/logs/*
data/compute.png
data/loadbalancer.png
data/mysql.png
data/network.png
data/normative-types-DBMS.yml
data/normative-types-blockStorage.yml
data/normative-types-compute.yml
data/normative-types-database.yml
data/normative-types-network.yml
data/normative-types-objectStorage.yml
data/normative-types-root.yml
data/normative-types-softwareComponent.yml
data/normative-types-webApplication.yml
data/normative-types-webServer.yml
data/objectstore.png
data/relational_db.png
data/root.png
data/router.png
data/software.png
data/volume.png

distribution-ci/logs/wordnik.log
distribution-ci/logs/wordnik.log.1
distribution-ci/logs/wordnik.log.10
distribution-ci/logs/wordnik.log.2
distribution-ci/logs/wordnik.log.3
distribution-ci/logs/wordnik.log.4
distribution-ci/logs/wordnik.log.5
distribution-ci/logs/wordnik.log.6
distribution-ci/logs/wordnik.log.7
distribution-ci/logs/wordnik.log.8
distribution-ci/logs/wordnik.log.9
dox-sequence-diagram-ui/node/*





log.home_IS_UNDEFINED/ASDC/ASDC-BE/Error.log
log.home_IS_UNDEFINED/ASDC/ASDC-BE/audit.log
log.home_IS_UNDEFINED/ASDC/ASDC-BE/debug.log
log.home_IS_UNDEFINED/ASDC/ASDC-BE/debug_by_package.log
log.home_IS_UNDEFINED/ASDC/ASDC-BE/transaction.log
log/
node/*
openecomp-be/tools/swagger-ui/api-docs/api.html
openecomp-be/tools/swagger-ui/api-docs/api.json
openecomp-ui/node/*
sdc-os-chef/.idea/*

catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/files/default/Artifact-Generator.properties
catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/files/default/ecomp-error-configuration.yaml
catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/files/default/error-configuration.yaml
catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/files/default/logback.xml
catalog-be/sdc-backend-init/chef-repo/cookbooks/sdc-catalog-be-setup/files/default/normatives.tar.gz

sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/attributes/default.rb
sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/files/default/SDC-*.zip
sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/files/default/sdctool.tar
sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/files/default/tools/*
sdc-os-chef/sdc-normatives/chef-repo/cookbooks/sdc-normatives/files/default/normatives.tar.gz
sdc-os-chef/sdc-sanity/chef-repo/cookbooks/sdc-sanity/files/default/testSuites/*
sdnc-tests-new-frame-work/test-output/*
sdnc-tests-new-frame-work/test-output/**
sdnc-tests/logs/wordnik.log
sdnc-tests/test-output/*
target/
test-apis-ci/ExtentReport/*
test-apis-ci/ExtentReport/ASDC_CI_Extent_Report.html
test-apis-ci/extent.html
test-apis-ci/logfile.log*
test-apis-ci/test-output/*
ui-ci/.tern-project
ui-ci/ExtentReport/*
ui-ci/logfile.log*
ui-ci/src/main/resources/Files/output/*
ui-ci/src/main/resources/Files/outputMainServiceTemplate/*
ui-ci/test-output/*
ui-ci/test-output/Default suite/Default test.html
ui-ci/test-output/Default suite/Default test.xml
ui-ci/test-output/Default suite/testng-failed.xml
ui-ci/test-output/emailable-report.html
ui-ci/test-output/index.html
ui-ci/test-output/old/Default suite/classes.html
ui-ci/test-output/old/Default suite/methods-alphabetical.html
ui-ci/test-output/old/Default suite/methods.html
ui-ci/test-output/old/Default suite/testng.xml.html
ui-ci/test-output/old/Default suite/toc.html
ui-ci/test-output/old/index.html
ui-ci/test-output/testng-failed.xml
ui-ci/test-output/testng-results.xml
utils/webseal-simulator/sdc-simulator/chef-repo/cookbooks/sdc-simulator/files/default/logback.xml
vagrant-asdc-all-in-one/


sdc-os-chef/sdc-sanity/chef-repo/cookbooks/sdc-sanity/files/default/testSuites/*
/asdctool/*.xls

/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/files/default/tools/build/scripts/*

sdc-os-chef/sdc-sanity/chef-repo/cookbooks/sdc-sanity/files/default/testSuites/*

/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/attributes/default.rb

/asdctool/sdc-cassandra-init/chef-repo/cookbooks/cassandra-actions/files/default/*
/asdctool/sdc-cassandra-init/chef-repo/cookbooks/cassandra-actions/attributes/default.rb
/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/vsp_*


sdc-os-chef/sdc-sanity/chef-repo/cookbooks/sdc-sanity/files/default/testSuites/*


utils/DmaapPublisher/logs/*


sdc-os-chef/sdc-sanity/chef-repo/cookbooks/sdc-sanity/files/default/testSuites/*


utils/DmaapPublisher/logs/*

*.xls


sdc-os-chef/sdc-sanity/chef-repo/cookbooks/sdc-sanity/files/default/testSuites/*



/catalog-be/sdc-backend-init/chef-repo/cookbooks/sdc-catalog-be-setup/files/default/normatives.tar.gz

/catalog-be/sdc-backend-init/chef-repo/cookbooks/sdc-catalog-be-setup/files/default/normatives.tar.gz
