# eclipse conf file
.settings
.classpath
.project
.manager
.scala_dependencies
.cache

# idea conf files
.idea
*.iml
*.ipr
*.iws

# building
target
[Bb]uild/
null
tmp
temp
dist
test-output
build.log
release
out
gen
local.properties

#Apache Flex Projects
lib/
libs/
in/
swfobject/
flex2/
thirdparty/
META-INF/
tempDoc/
air/

*.pbj
*.vms
*.ser
*.mxp
bundles.properties
css_*.properties
FXGException_*.properties
FXGLog_*.properties
FABridge.js
frameworks/projects/spark/manifest.xml
env.properties
local.properties
packages.dita
rat.report
airsdk.xml

#OS junk files
[Tt]humbs.db
*.DS_Store

#Visual Studio files
*.[Oo]bj
*.user
*.aps
*.pch
*.vspscc
*.vssscc
*_i.c
*_p.c
*.ncb
*.suo
*.tlb
*.tlh
*.bak
*.[Cc]ache
*.ilk
*.log
*.lib
*.sbr
*.sdf
ipch/
obj/
[Bb]in
[Dd]ebug*/
[Rr]elease*/
Ankh.NoLoad

#Tooling
_ReSharper*/
*.resharper
[Tt]est[Rr]esult*

#CVS files
.svn
.git

# Office Temp Files
~$*

#Binaries
*.dll
*.bin
*.com
*.exe
*.class
*.jar
*.swf
*.swc

#Compressed Files
*.zip
*.rar
*.tar

/asdoc-output/

#mustellarunner
*.patch
*.reply
mailbody.txt
gitstatus.txt

#AIR SDK
frameworks/projects/air/
runtimes/
templates/air/
samples/badge/
samples/icons/
templates/air/
templates/extensions/
templates/sdk/
install/android
AIR SDK Readme.txt
AIR SDK license.pdf
air-sdk-description.xml
samples/descriptor-sample.xml
include/FlashRuntimeExtensions.h

#BlazeDS generated/copied
apps/blazeds/WEB-INF/flex/version.properties
apps/ds-console/history/
apps/ds-console/index.html
apps/ds-console/swfobject.js
apps/samples/WEB-INF/classes/
apps/samples/WEB-INF/flex/version.properties
asdoc/
frameworks/air-config-template.xml
frameworks/air-config.xml
frameworks/airmobile-config-template.xml
frameworks/airmobile-config.xml
frameworks/apache-manifest.xml
frameworks/build_framework.xml
frameworks/downloads.xml
frameworks/experimental-manifest.xml
frameworks/experimental-mobile-manifest.xml
frameworks/flash-unicode-table.xml
frameworks/flex-config-template.xml
frameworks/flex-config.xml
frameworks/flex-sdk-description.xml
frameworks/locale/
frameworks/metadata.xml
frameworks/mx-manifest.xml
frameworks/mxml-2009-manifest.xml
frameworks/mxml-manifest.xml
frameworks/spark-manifest.xml
frameworks/tests/
frameworks/themes/
modules/core/classes/
modules/core/src/ExcludeDoclet.java
qa/resources/config/air-config.xml
qa/resources/config/flex-config.xml
resources/security/tomcat/TomcatValve.java
servers/apache-tomcat-6.0.29/
templates/
apps/team/WEB-INF/flex/air-config.xml
apps/team/WEB-INF/flex/apache-manifest.xml
apps/team/WEB-INF/flex/experimental-manifest.xml
apps/team/WEB-INF/flex/experimental-mobile-manifest.xml
apps/team/WEB-INF/flex/flash-unicode-table.xml
apps/team/WEB-INF/flex/flex-config.xml
apps/team/WEB-INF/flex/flex-sdk-description.xml
apps/team/WEB-INF/flex/flex-webtier-config.xml
apps/team/WEB-INF/flex/locale/
apps/team/WEB-INF/flex/mx-manifest.xml
apps/team/WEB-INF/flex/mxml-2009-manifest.xml
apps/team/WEB-INF/flex/mxml-manifest.xml
apps/team/WEB-INF/flex/spark-manifest.xml
apps/team/WEB-INF/flex/themes/
apps/team/WEB-INF/web.xml
apps/team/history/
qa/apps/qa-manual/WEB-INF/flex/apache-manifest.xml
qa/apps/qa-manual/WEB-INF/flex/experimental-manifest.xml
qa/apps/qa-manual/WEB-INF/flex/experimental-mobile-manifest.xml
qa/apps/qa-manual/WEB-INF/flex/flash-unicode-table.xml
qa/apps/qa-manual/WEB-INF/flex/flex-sdk-description.xml
qa/apps/qa-manual/WEB-INF/flex/locale/
qa/apps/qa-manual/WEB-INF/flex/mx-manifest.xml
qa/apps/qa-manual/WEB-INF/flex/mxml-2009-manifest.xml
qa/apps/qa-manual/WEB-INF/flex/mxml-manifest.xml
qa/apps/qa-manual/WEB-INF/flex/spark-manifest.xml
qa/apps/qa-manual/WEB-INF/flex/themes/
qa/apps/qa-manual/WEB-INF/flex/version.properties
qa/apps/qa-manual/WEB-INF/src/qa/utils/mxml/
qa/apps/qa-manual/WEB-INF/web.xml
qa/apps/qa-manual/history/
qa/apps/qa-regress/WEB-INF/classes/
qa/apps/qa-regress/WEB-INF/flex/apache-manifest.xml
qa/apps/qa-regress/WEB-INF/flex/experimental-manifest.xml
qa/apps/qa-regress/WEB-INF/flex/experimental-mobile-manifest.xml
qa/apps/qa-regress/WEB-INF/flex/flash-unicode-table.xml
qa/apps/qa-regress/WEB-INF/flex/flex-sdk-description.xml
qa/apps/qa-regress/WEB-INF/flex/locale/
qa/apps/qa-regress/WEB-INF/flex/mx-manifest.xml
qa/apps/qa-regress/WEB-INF/flex/mxml-2009-manifest.xml
qa/apps/qa-regress/WEB-INF/flex/mxml-manifest.xml
qa/apps/qa-regress/WEB-INF/flex/spark-manifest.xml
qa/apps/qa-regress/WEB-INF/flex/themes/
qa/apps/qa-regress/WEB-INF/flex/version.properties
qa/apps/qa-regress/WEB-INF/src/qa/utils/
qa/apps/qa-regress/WEB-INF/web.xml
qa/apps/qa-regress/WEB-INF/web.xml.spring
qa/apps/qa-regress/history/

