# NOTE: if you modify this file, you probably need to modify the file set that
# is an input to 'maven-assembly-plugin' that generates source distribution.
# This is typically in files named 'src.xml' throughout this repository.

# Ignore files generated by the Maven build process.
target/
bin/

# Ignore generated archetypes
sdks/java/maven-archetypes/examples/src/main/resources/archetype-resources/src/
sdks/java/maven-archetypes/examples-java8/src/main/resources/archetype-resources/src/

# Ignore IntelliJ files.
.idea/
*.iml
*.ipr
*.iws

# Ignore Eclipse files.
.classpath
.project
.factorypath
.checkstyle
.fbExcludeFilterFile
.apt_generated/
.settings/

# The build process generates the dependency-reduced POM, but it shouldn't be
# committed.
dependency-reduced-pom.xml

# Hotspot VM leaves this log in a non-target directory when java crashes
hs_err_pid*.log

# Ignore files that end with '~', since they are most likely auto-save files
# produced by a text editor.
*~

# Ignore MacOSX files.
.DS_Store

# NOTE: if you modify this file, you probably need to modify the file set that
# is an input to 'maven-assembly-plugin' that generates source distribution.
# This is typically in files named 'src.xml' throughout this repository.
