#
# Use this with rsync
# 'rsync -rvv  --include-from=test.rules  ./ dest_dir/
#       * watch out the space after every line.
#       * include folder before include anything in it
#
- .git*
- .DS_Store
# This line only include folder itself, not files or subfolder under it.
+ /scripts/
+ /scripts/rat-ant-build.xml
+ /scripts/build_from_source.sh
+ /scripts/dist-*.sh
+ /scripts/install-hooks.sh
+ /scripts/pre-commit.sh
+ /scripts/pre-push.sh
+ /scripts/commit-msg.sh
+ /LICENSE
+ /NOTICE
+ /POSSIBLE-NOTICES-FOR-BIN-DIST
+ /DISCLAIMER
+ /README.MD
+ /HOW-TO-BUILD.md
+ /RUN-RAT.md
+ /package.json
+ /.wwprc
+ /.flowconfig
+ /.eslintrc
+ /.eslintignore
+ /.babelrc
+ /src
- /src/h5-render/dist/index.js
- /src/h5-render/node_modules
- /src/js-framework/node_modules
+ /src/**
+ /runtime
- /runtime/**.output.js
- /runtime/render/browser/extend/packer.js
- /runtime/test/render/**
+ /runtime/**
+ /packages
+ /build
+ /build/**
- /pre-build
- /pre-build/**

###### weexcore ######
- /weex_core/Source/.idea
- /weex_core/Source/cmake-build-debug
- /weex_core/Source/libs
- weex_core/Source/CMakeFiles/**
- weex_core/Source/base/android/jniprebuild/android_jar.classes
- weex_core/Source/base/android/jniprebuild/jni_files
- weex_core/Source/base/android/jniprebuild/jni_generator.py
- weex_core/Source/base/android/jniprebuild/prebuild.sh
+ /weex_core/Source/include/JavaScriptCore/API/
+ /weex_core/Source/include/JavaScriptCore/API/**
+ /weex_core/Source/include/JavaScriptCore/ForwardingHeaders/
+ /weex_core/Source/include/JavaScriptCore/ForwardingHeaders/JavaScriptCore/
+ /weex_core/Source/include/JavaScriptCore/ForwardingHeaders/JavaScriptCore/**
- /weex_core/Source/include/JavaScriptCore/**
- /weex_core/Source/include/wtf/
+ /weex_core
+ /weex_core/CMakeLists.txt
+ /weex_core/Source
+ /weex_core/Source/**

###### android #######
+ /android
+ /android/build.gradle
+ /android/sdk/
- /android/sdk/assets/*.js
- /android/sdk/.gradle
- /android/sdk/build
- /android/sdk/NOTICE
- /android/sdk/libs/*/*.so
- /android/sdk/.externalNativeBuild
- /android/sdk/.settings
- /android/sdk/.classpath
- /android/sdk/.project
- /android/sdk/weex_sdk.iml
+ /android/sdk/**

###### ios ###########
+ /ios
+ /ios/sdk/
- /ios/sdk/LICENSE
- /ios/sdk/NOTICE
- /ios/sdk/WeexSDK/Resources/main.js
- ios/sdk/Products
- /ios/sdk/WeexSDK.xcodeproj/project.xcworkspace/xcuserdata
- /ios/sdk/WeexSDK.xcodeproj/xcuserdata
- /ios/sdk/WeexSDKTests/dependency
+ /ios/sdk/**

##### Others #######
+ /RELEASE_NOTE.md
- *
