# Handle line endings automatically for files detected as text
# and leave all files detected as binary untouched.
* text=auto

#
# The above will handle all files NOT found below
#
# These files are text and should be normalized (Convert crlf => lf)
*.adoc          text    eol=lf
*.html          text    eol=lf
*.java          text    eol=lf
*.jspf          text    eol=lf
*.md            text    eol=lf
*.properties    text    eol=lf
*.sh            text    eol=lf
*.txt           text    eol=lf
*.xml           text    eol=lf
*.xsd           text    eol=lf
*.xsl           text    eol=lf
*.yml           text    eol=lf

LICENSE         text    eol=lf
NOTICE          text    eol=lf

# These files are binary and should be left untouched
# (binary is a macro for -text -diff)
*.class         binary
*.dll           binary
*.ear           binary
*.gif           binary
*.ico           binary
*.jar           binary
*.jpg           binary
*.jpeg          binary
*.png           binary
*.ser           binary
*.so            binary
*.war           binary
*.zip           binary
*.exe           binary
*.gz            binary

#Windows
*.bat text eol=crlf
*.cmd text eol=crlf

#Unix/Linux
*.sh text eol=lf