[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 @title Javelin at Facebook 2 @group facebook 3 4 Information specific to Javelin at Facebook. 5 6 = Building Support Scripts = 7 8 Javelin now ships with the source to build several libfbjs-based binaries, which 9 serve to completely sever its dependencies on trunk: 10 11 - ##javelinsymbols##: used for lint 12 - ##jsast##: used for documentation generation 13 - ##jsxmin##: used to crush packages 14 15 To build these, first build libfbjs: 16 17 javelin/ $ cd externals/libfbjs 18 javelin/externals/libfbjs/ $ CXX=/usr/bin/g++ make 19 20 Note that **you must specify CXX explicitly because the default CXX is broken**. 21 22 Now you should be able to build the individual binaries: 23 24 javelin/ $ cd support/javelinsymbols 25 javelin/support/javelinsymbols $ CXX=/usr/bin/g++ make 26 27 javelin/ $ cd support/jsast 28 javelin/support/jsast $ CXX=/usr/bin/g++ make 29 30 javelin/ $ cd support/jsxmin 31 javelin/support/jsxmin $ CXX=/usr/bin/g++ make 32 33 = Synchronizing Javelin = 34 35 To synchronize Javelin **from** Facebook trunk, run the synchronize script: 36 37 javelin/ $ ./scripts/sync-from-facebook.php ~/www 38 39 ...where ##~/www## is the root you want to pull Javelin files from. The script 40 will copy files out of ##html/js/javelin## and build packages, and leave the 41 results in your working copy. From there you can review changes and commit, and 42 then push, diff, or send a pull request. 43 44 To synchronize Javelin **to** Facebook trunk, run the, uh, reverse-synchronize 45 script: 46 47 javelin/ $ ./scripts/sync-to-facebook.php ~/www 48 49 ...where ##~/www## is the root you want to push Javelin files to. The script 50 will copy files out of the working copy into your ##www## and leave you with a 51 dirty ##www##. From there you can review changes. 52 53 Once Facebook moves to pure git for ##www## we can probably just submodule 54 Javelin into it and get rid of all this nonsense, but the mixed SVN/git 55 environment makes that difficult until then. 56 57 = Building Documentation = 58 59 Check out ##diviner## and ##libphutil## from Facebook github, and put them in a 60 directory with ##javelin##: 61 62 somewhere/ $ ls 63 diviner/ 64 javelin/ 65 libphutil/ 66 somewhere/ $ 67 68 Now run ##diviner## on ##javelin##: 69 70 somewhere/ $ cd javelin 71 somewhere/javelin/ $ ../diviner/bin/diviner . 72 [DivinerArticleEngine] Generating documentation for 48 files... 73 [JavelinDivinerEngine] Generating documentation for 74 files... 74 somewhere/javelin/ $ 75 76 Documentation is now available in ##javelin/docs/##. 77 78 = Editing javelinjs.com = 79 80 The source for javelinjs.com lives in ##javelin/support/webroot/##. The site 81 itself is served off the phabricator.com host. You need access to that host to 82 push it.
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sun Nov 30 09:20:46 2014 | Cross-referenced by PHPXref 0.7.1 |