tree b2493d251eb67e0e2b99ae8a7a159b5a3ce9d66a
parent 197e339d204f77a72a67f8f6033f103d95db338f
author Lee moon soo <moon@apache.org> 1447163457 +0900
committer Lee moon soo <moon@apache.org> 1447240229 +0900

ZEPPELIN-406 Handle license issue found in 0.5.5-incubating rc2

This issue addresses license problem found in 0.5.5-incubating rc2
https://issues.apache.org/jira/browse/ZEPPELIN-406

* Removes unnecessary files

         docs/assets/bootstrap-3.0.2-dist.zip
         docs/assets/themes/twitter/

* Add Apache license header if applicable
* Add license info to LICENSE

         GLYPHICONS Halflings
         jekyll-bootstrap
         jekyll

* Adjust rat plugin exclude rule

Author: Lee moon soo <moon@apache.org>

Closes #407 from Leemoonsoo/ZEPPELIN-406 and squashes the following commits:

a216886 [Lee moon soo] Exclude license dir from rat check
5ec2aca [Lee moon soo] Add binary license
b7a749c [Lee moon soo] Change format of LICENSE and attach LICENSE file of individual dependency
35e6554 [Lee moon soo] Update license according to dependency version
84a75dc [Lee moon soo] put the json example on the doc page instead of separate files
788a841 [Lee moon soo] Remove 3rd party dependences from LICENSE that are not included in source package
0c0b68c [Lee moon soo] Add version info
ab4ba01 [Lee moon soo] Add bootstrap and remove GLYPHICONS Halflings (distributed as a part of bootstrap with the same license) from LICENSE
61dc5b7 [Lee moon soo] Exclude Gemfile.lock from rat plugin
a48fbed [Lee moon soo] Add license header and update LICENSE, rat plugin
c7a5f25 [Lee moon soo] Remove unused files
3e031df [Lee moon soo] Enable rat plugin for docs directory
