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

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

## Compilation Files ##
*.class
**/target
target
target-ide
MANIFEST.MF

## Misc Ignores (OS specific etc) ##
bin/
dist
*~
*.ipr
*.iml
*.iws
classes
out/
.DS_STORE
.metadata
provider/src/main/java/META-INF/
provider/src/main/java/inventory/

## BlackDuck generated file
sdnc-northbound_bdio.jsonld
blackDuckHubProjectName.txt
blackDuckHubProjectVersionName.txt
