# environment ignores #
streams-master-pom/

# Compile directores and files #

target/
overlays/
dependency-reduced-pom.xml

# IDE directories/files #
/.idea
*.iml
.eclipse/
.settings/
.classpath
.project

# OS generated files #
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
Icon?
ehthumbs.db
Thumbs.db

# Maven plug-in generated files #
DEPENDENCIES
DISCLAIMER
LICENSE
NOTICE
