#####standard .git ignore entries#####

## IDE Specific Files ##
org.eclipse.core.resources.prefs
.classpath
.project
.settings
.idea
.externalToolBuilders
.checkstyle
maven-eclipse.xml
workspace
.vscode
.factorypath

## Compilation Files ##
*.class
**/target
target
target-ide
MANIFEST.MF
**/yang-gen-sal
*.interp
core/sli/model/src/main/java
**/provider/FileToZip*

## Misc Ignores (OS specific etc) ##
bin/
dist
*~
*.ipr
*.iml
*.iws
classes
out/
.DS_STORE
.metadata

## antlr4 generated files ##
ExprGrammarBaseListener.java
ExprGrammarLexer.java
ExprGrammarListener.java
ExprGrammarParser.java
ExprGrammar.tokens
ExprGrammarLexer.tokens

# BlackDuck generated file
*.jsonld
blackDuckHubProjectName.txt
blackDuckHubProjectVersionName.txt

# Derby log
derby.log

# Generated file
core/sliPluginUtils/provider/testFileName
direct-dependencies.txt
logs/
debug-logs/
*.log
*.versionsBackup
dme2-fs-registry/
