### Eclipse
*.pydevproject
.metadata
.gradle
tmp/
*.tmp
*.bak
*.swp
*~.nib
*.versionsBackup
local.properties
release.properties
.loadpath

#IDEA
*.iml
#.settings

# External tool builders
.externalToolBuilders/

# Locally stored "Eclipse launch configurations"
*.launch

# CDT-specific
.cproject

# PDT-specific
.buildpath

# sbteclipse plugin 
.target

# TeXlipse plugin
.texlipse

### Java
*.class

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.ear

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*


### Origin
# /
.classpath
.project
.idea
.DS_Store
target
logs
*.releaseBackup
*.log
*.DS_Store

# .settings
org.eclipse.m2e.core.prefs
org.eclipse.wst.common.component
org.eclipse.wst.common.project.facet.core.xml
org.eclipse.wst.validation.prefs
server/.settings/.jsdtscope
server/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml
server/.settings/org.eclipse.wst.jsdt.ui.superType.container
server/.settings/org.eclipse.wst.jsdt.ui.superType.name
#web
webapp/app/WEB-INF/*
webapp/dist
webapp/node_modules:
webapp/CHANGELOG.md

# package file
build/tomcat
build/lib
*.tgz
*.tar.gz
webapp/app/components/*

ebay*
build/commit_SHA1
dist/
tomcat/
webapp/app/kylin-servlet.xml
webapp/app/web.xml