├── .gitignore ├── .project ├── .pydevproject ├── CHANGELOG.txt ├── LICENSE.txt ├── README.md ├── Resources ├── appserver.js ├── css │ └── style.css ├── default_app_logo.png ├── ejs │ ├── ejs.js │ ├── ejs_production.js │ ├── license.txt │ └── view.js ├── images │ └── appcelerator.png ├── index.html ├── index.js ├── node_modules │ └── github │ │ ├── .gitignore │ │ ├── .gitmodules │ │ ├── LICENSE │ │ ├── NOTICE.txt │ │ ├── README.md │ │ ├── lib │ │ ├── github.js │ │ ├── github │ │ │ ├── AbstractApi.js │ │ │ ├── AuthenticationTest.js │ │ │ ├── CommitApi.js │ │ │ ├── CommitApiTest.js │ │ │ ├── IssueApi.js │ │ │ ├── IssueApiTest.js │ │ │ ├── ObjectApi.js │ │ │ ├── ObjectApiTest.js │ │ │ ├── PullApi.js │ │ │ ├── PullApiTest.js │ │ │ ├── RepoApi.js │ │ │ ├── RepoApiTest.js │ │ │ ├── Request.js │ │ │ ├── RequestTest.js │ │ │ ├── UserApi.js │ │ │ └── UserApiTest.js │ │ ├── github_all_tests.js │ │ └── github_test.js │ │ ├── node_modules │ │ ├── asyncjs │ │ │ ├── .gitignore │ │ │ ├── Readme.md │ │ │ ├── demo │ │ │ │ ├── assets │ │ │ │ │ ├── 1.txt │ │ │ │ │ ├── 2.txt │ │ │ │ │ └── 3.txt │ │ │ │ ├── chaining.js │ │ │ │ ├── du.js │ │ │ │ ├── filewalker.js │ │ │ │ ├── find.js │ │ │ │ ├── fs.js │ │ │ │ ├── grep.js │ │ │ │ └── ls.js │ │ │ ├── index.js │ │ │ ├── lib │ │ │ │ ├── async.js │ │ │ │ ├── plugins │ │ │ │ │ ├── fs-node.js │ │ │ │ │ ├── shortcuts.js │ │ │ │ │ └── utils.js │ │ │ │ └── test.js │ │ │ ├── package.json │ │ │ └── test │ │ │ │ ├── all.js │ │ │ │ ├── assets │ │ │ │ ├── 1.txt │ │ │ │ ├── 11.txt │ │ │ │ ├── 2.txt │ │ │ │ ├── 3.txt │ │ │ │ ├── dir1 │ │ │ │ │ └── 1.txt │ │ │ │ ├── dir11 │ │ │ │ │ └── 11.txt │ │ │ │ ├── dir2 │ │ │ │ │ └── 2.txt │ │ │ │ ├── nonemptydir │ │ │ │ │ └── 4.txt │ │ │ │ └── walk │ │ │ │ │ ├── 1.txt │ │ │ │ │ ├── dir1 │ │ │ │ │ └── 1.txt │ │ │ │ │ └── dir2 │ │ │ │ │ ├── 2.txt │ │ │ │ │ └── dir22 │ │ │ │ │ └── 22.txt │ │ │ │ ├── async.test.js │ │ │ │ └── fs.test.js │ │ └── oauth │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── debian │ │ │ ├── changelog │ │ │ ├── compat │ │ │ ├── control │ │ │ ├── copyright │ │ │ ├── dirs │ │ │ ├── install │ │ │ ├── rules │ │ │ └── source │ │ │ │ └── format │ │ │ ├── examples │ │ │ ├── express-gdata │ │ │ │ ├── server.js │ │ │ │ └── views │ │ │ │ │ ├── google_calendars.ejs │ │ │ │ │ ├── google_contacts.ejs │ │ │ │ │ └── layout.ejs │ │ │ ├── term.ie.oauth-HMAC-SHA1.js │ │ │ ├── term.ie.oauth-PLAINTEXT.js │ │ │ └── twitter-test.js │ │ │ ├── google-test.js │ │ │ ├── index.js │ │ │ ├── lib │ │ │ ├── oauth.js │ │ │ ├── oauth.js.orig │ │ │ ├── oauth2.js │ │ │ └── sha1.js │ │ │ ├── numero-test.js │ │ │ ├── package.json │ │ │ ├── test.js │ │ │ ├── testb.js │ │ │ └── tests │ │ │ ├── oauth.js │ │ │ ├── oauth2.js │ │ │ └── sha1.js │ │ ├── package.json │ │ ├── seed.yml │ │ ├── support │ │ ├── async │ │ │ ├── .gitignore │ │ │ ├── Readme.md │ │ │ ├── demo │ │ │ │ ├── assets │ │ │ │ │ ├── 1.txt │ │ │ │ │ ├── 2.txt │ │ │ │ │ └── 3.txt │ │ │ │ ├── chaining.js │ │ │ │ ├── du.js │ │ │ │ ├── filewalker.js │ │ │ │ ├── find.js │ │ │ │ ├── fs.js │ │ │ │ ├── grep.js │ │ │ │ └── ls.js │ │ │ ├── lib │ │ │ │ └── asyncjs │ │ │ │ │ ├── async.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── plugins │ │ │ │ │ ├── fs-node.js │ │ │ │ │ ├── shortcuts.js │ │ │ │ │ └── utils.js │ │ │ │ │ └── test.js │ │ │ ├── package.json │ │ │ └── test │ │ │ │ ├── all.js │ │ │ │ ├── assets │ │ │ │ ├── 1.txt │ │ │ │ ├── 11.txt │ │ │ │ ├── 2.txt │ │ │ │ ├── 3.txt │ │ │ │ ├── dir1 │ │ │ │ │ └── 1.txt │ │ │ │ ├── dir11 │ │ │ │ │ └── 11.txt │ │ │ │ ├── dir2 │ │ │ │ │ └── 2.txt │ │ │ │ ├── nonemptydir │ │ │ │ │ └── 4.txt │ │ │ │ └── walk │ │ │ │ │ ├── 1.txt │ │ │ │ │ ├── dir1 │ │ │ │ │ └── 1.txt │ │ │ │ │ └── dir2 │ │ │ │ │ ├── 2.txt │ │ │ │ │ └── dir22 │ │ │ │ │ └── 22.txt │ │ │ │ ├── async.test.js │ │ │ │ └── fs.test.js │ │ ├── oauth │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── debian │ │ │ │ ├── changelog │ │ │ │ ├── compat │ │ │ │ ├── control │ │ │ │ ├── copyright │ │ │ │ ├── dirs │ │ │ │ ├── install │ │ │ │ ├── rules │ │ │ │ └── source │ │ │ │ │ └── format │ │ │ ├── examples │ │ │ │ ├── term.ie.oauth-HMAC-SHA1.js │ │ │ │ └── term.ie.oauth-PLAINTEXT.js │ │ │ ├── index.js │ │ │ ├── lib │ │ │ │ ├── oauth.js │ │ │ │ ├── oauth2.js │ │ │ │ └── sha1.js │ │ │ ├── package.json │ │ │ └── tests │ │ │ │ ├── oauth.js │ │ │ │ ├── oauth2.js │ │ │ │ └── sha1.js │ │ └── paths.js │ │ └── vendor │ │ ├── node-async-testing │ │ ├── README.markdown │ │ ├── async_testing.js │ │ ├── examples │ │ │ ├── test-readme.js │ │ │ └── test-suites.js │ │ ├── node-async-test │ │ └── todo.txt │ │ └── node-oauth │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── debian │ │ ├── changelog │ │ ├── compat │ │ ├── control │ │ ├── copyright │ │ ├── dirs │ │ ├── install │ │ ├── rules │ │ └── source │ │ │ └── format │ │ ├── examples │ │ ├── term.ie.oauth-HMAC-SHA1.js │ │ └── term.ie.oauth-PLAINTEXT.js │ │ ├── index.js │ │ ├── lib │ │ ├── oauth.js │ │ ├── oauth2.js │ │ └── sha1.js │ │ ├── package.json │ │ └── tests │ │ ├── oauth.js │ │ ├── oauth2.js │ │ └── sha1.js ├── nodejs │ ├── LICENSE │ ├── builds │ │ ├── linux │ │ │ └── node │ │ │ │ ├── bin │ │ │ │ ├── node │ │ │ │ └── node-waf │ │ │ │ ├── include │ │ │ │ └── node │ │ │ │ │ ├── config.h │ │ │ │ │ ├── eio.h │ │ │ │ │ ├── ev.h │ │ │ │ │ ├── node.h │ │ │ │ │ ├── node_buffer.h │ │ │ │ │ ├── node_config.h │ │ │ │ │ ├── node_events.h │ │ │ │ │ ├── node_object_wrap.h │ │ │ │ │ ├── node_version.h │ │ │ │ │ ├── v8-debug.h │ │ │ │ │ ├── v8-preparser.h │ │ │ │ │ ├── v8-profiler.h │ │ │ │ │ ├── v8-testing.h │ │ │ │ │ ├── v8.h │ │ │ │ │ └── v8stdint.h │ │ │ │ ├── lib │ │ │ │ ├── node │ │ │ │ │ └── wafadmin │ │ │ │ │ │ ├── Build.py │ │ │ │ │ │ ├── Configure.py │ │ │ │ │ │ ├── Constants.py │ │ │ │ │ │ ├── Environment.py │ │ │ │ │ │ ├── Logs.py │ │ │ │ │ │ ├── Node.py │ │ │ │ │ │ ├── Options.py │ │ │ │ │ │ ├── Runner.py │ │ │ │ │ │ ├── Scripting.py │ │ │ │ │ │ ├── Task.py │ │ │ │ │ │ ├── TaskGen.py │ │ │ │ │ │ ├── Tools │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── ar.py │ │ │ │ │ │ ├── cc.py │ │ │ │ │ │ ├── ccroot.py │ │ │ │ │ │ ├── compiler_cc.py │ │ │ │ │ │ ├── compiler_cxx.py │ │ │ │ │ │ ├── compiler_d.py │ │ │ │ │ │ ├── config_c.py │ │ │ │ │ │ ├── cxx.py │ │ │ │ │ │ ├── d.py │ │ │ │ │ │ ├── dmd.py │ │ │ │ │ │ ├── gas.py │ │ │ │ │ │ ├── gcc.py │ │ │ │ │ │ ├── gdc.py │ │ │ │ │ │ ├── gnu_dirs.py │ │ │ │ │ │ ├── gob2.py │ │ │ │ │ │ ├── gxx.py │ │ │ │ │ │ ├── icc.py │ │ │ │ │ │ ├── icpc.py │ │ │ │ │ │ ├── intltool.py │ │ │ │ │ │ ├── libtool.py │ │ │ │ │ │ ├── misc.py │ │ │ │ │ │ ├── nasm.py │ │ │ │ │ │ ├── node_addon.py │ │ │ │ │ │ ├── osx.py │ │ │ │ │ │ ├── preproc.py │ │ │ │ │ │ ├── python.py │ │ │ │ │ │ ├── suncc.py │ │ │ │ │ │ ├── suncxx.py │ │ │ │ │ │ ├── unittestw.py │ │ │ │ │ │ ├── winres.py │ │ │ │ │ │ ├── xlc.py │ │ │ │ │ │ └── xlcxx.py │ │ │ │ │ │ ├── Utils.py │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── ansiterm.py │ │ │ │ │ │ ├── pproc.py │ │ │ │ │ │ └── py3kfixes.py │ │ │ │ └── pkgconfig │ │ │ │ │ └── nodejs.pc │ │ │ │ └── share │ │ │ │ └── man │ │ │ │ └── man1 │ │ │ │ └── node.1 │ │ └── osx │ │ │ └── node │ │ │ ├── bin │ │ │ ├── node │ │ │ └── node-waf │ │ │ ├── include │ │ │ └── node │ │ │ │ ├── config.h │ │ │ │ ├── eio.h │ │ │ │ ├── ev.h │ │ │ │ ├── node.h │ │ │ │ ├── node_buffer.h │ │ │ │ ├── node_config.h │ │ │ │ ├── node_events.h │ │ │ │ ├── node_object_wrap.h │ │ │ │ ├── node_version.h │ │ │ │ ├── v8-debug.h │ │ │ │ ├── v8-preparser.h │ │ │ │ ├── v8-profiler.h │ │ │ │ ├── v8-testing.h │ │ │ │ ├── v8.h │ │ │ │ └── v8stdint.h │ │ │ ├── lib │ │ │ ├── node │ │ │ │ └── wafadmin │ │ │ │ │ ├── Build.py │ │ │ │ │ ├── Configure.py │ │ │ │ │ ├── Constants.py │ │ │ │ │ ├── Environment.py │ │ │ │ │ ├── Logs.py │ │ │ │ │ ├── Node.py │ │ │ │ │ ├── Options.py │ │ │ │ │ ├── Runner.py │ │ │ │ │ ├── Scripting.py │ │ │ │ │ ├── Task.py │ │ │ │ │ ├── TaskGen.py │ │ │ │ │ ├── Tools │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── ar.py │ │ │ │ │ ├── cc.py │ │ │ │ │ ├── ccroot.py │ │ │ │ │ ├── compiler_cc.py │ │ │ │ │ ├── compiler_cxx.py │ │ │ │ │ ├── compiler_d.py │ │ │ │ │ ├── config_c.py │ │ │ │ │ ├── cxx.py │ │ │ │ │ ├── d.py │ │ │ │ │ ├── dmd.py │ │ │ │ │ ├── gas.py │ │ │ │ │ ├── gcc.py │ │ │ │ │ ├── gdc.py │ │ │ │ │ ├── gnu_dirs.py │ │ │ │ │ ├── gob2.py │ │ │ │ │ ├── gxx.py │ │ │ │ │ ├── icc.py │ │ │ │ │ ├── icpc.py │ │ │ │ │ ├── intltool.py │ │ │ │ │ ├── libtool.py │ │ │ │ │ ├── misc.py │ │ │ │ │ ├── nasm.py │ │ │ │ │ ├── node_addon.py │ │ │ │ │ ├── osx.py │ │ │ │ │ ├── preproc.py │ │ │ │ │ ├── python.py │ │ │ │ │ ├── suncc.py │ │ │ │ │ ├── suncxx.py │ │ │ │ │ ├── unittestw.py │ │ │ │ │ ├── winres.py │ │ │ │ │ ├── xlc.py │ │ │ │ │ └── xlcxx.py │ │ │ │ │ ├── Utils.py │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── ansiterm.py │ │ │ │ │ ├── pproc.py │ │ │ │ │ └── py3kfixes.py │ │ │ └── pkgconfig │ │ │ │ └── nodejs.pc │ │ │ └── share │ │ │ └── man │ │ │ └── man1 │ │ │ └── node.1 │ └── nodejs.py └── templates │ ├── profile.ejs │ ├── repos.ejs │ └── userlist.ejs ├── manifest ├── tiapp.xml └── timanifest /.gitignore: -------------------------------------------------------------------------------- 1 | dist 2 | tmp 3 | -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | nodejs-desktop-prototype 4 | 5 | 6 | 7 | 8 | 9 | org.python.pydev.PyDevBuilder 10 | 11 | 12 | 13 | 14 | com.appcelerator.titanium.core.builder 15 | 16 | 17 | 18 | 19 | com.aptana.ide.core.unifiedBuilder 20 | 21 | 22 | 23 | 24 | 25 | com.appcelerator.titanium.desktop.nature 26 | com.aptana.projects.webnature 27 | org.python.pydev.pythonNature 28 | 29 | 30 | -------------------------------------------------------------------------------- /.pydevproject: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Default 6 | python 2.7 7 | 8 | -------------------------------------------------------------------------------- /CHANGELOG.txt: -------------------------------------------------------------------------------- 1 | Version 1.0 (06/30/2011): 2 | * Initial release -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright 2009-2011 by Appcelerator, Inc 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Copyright (c) 2009-2011 by Appcelerator, Inc. All Rights Reserved. 2 | Licensed under the terms of the Apache Public License 3 | Please see the LICENSE included with this distribution for details. 4 | 5 | # nodejs-desktop-prototype README # 6 | 7 | nodejs-desktop-prototype is a prototype application that demonstates packaging and running a local Node.js server with Titanium Desktop applications. [Appcelerator Titanium Desktop](http://www.appcelerator.com/products/titanium-desktop-application-development/) is a free and open source application development platform that lets you create native desktop application experiences using existing web skills like Javascript, HTML, 8 | CSS, Python, Ruby, and PHP. 9 | 10 | ![nodejs-desktop-prototype screenshot](http://developer.appcelerator.com.s3.amazonaws.com/documentation-examples/nodejs-desktop-prototype.png) 11 | 12 | 13 | ### Additional Notes 14 | nodejs-desktop-prototype makes use of: 15 | 16 | * [node](http://nodejs.org/) and the [node-github module](https://github.com/ajaxorg/node-github) 17 | * [EJS](http://embeddedjs.com/) 18 | * [jQuery](http://jquery.com/) and [jQuery UI](http://jqueryui.com/) 19 | 20 | Special thanks to goes out to these great projects. 21 | 22 | ### Background 23 | * This is a prototype (POC if you will) 24 | * Windows does not work yet due to limitations with Node.js on Windows 25 | * This has been tested with OSX (Snow Leopard) & Ubuntu 10.10. 26 | -------------------------------------------------------------------------------- /Resources/appserver.js: -------------------------------------------------------------------------------- 1 | var server, 2 | http = require('http'), 3 | sys = require("sys"), 4 | GitHubApi = require("github").GitHubApi, 5 | github = new GitHubApi(true), 6 | githubUserOfConcern = 'appcelerator'; 7 | 8 | var ohNo = function(req, resp) { 9 | resp.writeHead(500, {"Content-Type": "text/plain"}); 10 | resp.write(err + "\n"); 11 | resp.close(); 12 | return; 13 | }; 14 | 15 | var getFollowers = function(req, resp) { 16 | github.getUserApi().getFollowers(githubUserOfConcern, function(err, followers) { 17 | if(err) { ohNo(); } 18 | 19 | if (followers) { 20 | resp.write(JSON.stringify({users: followers})); 21 | } else { 22 | resp.write(JSON.stringify({users: []})); 23 | } 24 | 25 | resp.end(); 26 | }); 27 | }; 28 | 29 | var getRepos = function(req, resp) { 30 | github.getRepoApi().getUserRepos(githubUserOfConcern, function(err, repositories) { 31 | if(err) { ohNo(); } 32 | 33 | if (repositories) { 34 | resp.write(JSON.stringify({repos: repositories})); 35 | } else { 36 | resp.write(JSON.stringify({repos: []})); 37 | } 38 | 39 | resp.end(); 40 | }); 41 | }; 42 | 43 | var getRepoWatchers = function(req, resp) { 44 | var urlParts = req.url.split('/'); 45 | if (urlParts && urlParts.length === 3) { 46 | //Valid length, so pick out the repo name 47 | var repo = urlParts[2]; 48 | 49 | github.getRepoApi().getRepoWatchers(githubUserOfConcern, repo, function(err, watchers) { 50 | if(err) { ohNo(); } 51 | 52 | if (watchers) { 53 | resp.write(JSON.stringify({users: watchers})); 54 | } else { 55 | resp.write(JSON.stringify({users: []})); 56 | } 57 | 58 | resp.end(); 59 | }); 60 | } else { 61 | resp.writeHead(404, {"Content-Type": "text/plain"}); 62 | resp.write("404 Not Found\n"); 63 | resp.end(); 64 | return; 65 | } 66 | }; 67 | 68 | var getProfile = function(req, resp) { 69 | var urlParts = req.url.split('/'); 70 | if (urlParts && urlParts.length === 3) { 71 | //Valid length, so pick out the username 72 | var username = urlParts[2]; 73 | 74 | github.getUserApi().show(username, function(err, details) { 75 | if(err) { ohNo(); } 76 | 77 | resp.write(JSON.stringify(details)); 78 | resp.end(); 79 | }); 80 | } else { 81 | resp.writeHead(404, {"Content-Type": "text/plain"}); 82 | resp.write("404 Not Found\n"); 83 | resp.end(); 84 | return; 85 | } 86 | }; 87 | 88 | server = http.createServer(function (req, resp) { 89 | resp.writeHead(200, {'Content-Type': 'text/plain'}); 90 | 91 | if (req.url === '/get_followers') { 92 | getFollowers(req, resp); 93 | } else if (req.url === '/get_repos') { 94 | getRepos(req, resp); 95 | } else if (req.url.indexOf('/get_repo_watchers') === 0) { 96 | getRepoWatchers(req, resp); 97 | } else if (req.url.indexOf('/get_profile') === 0) { 98 | getProfile(req, resp); 99 | } else { 100 | resp.writeHead(404, {"Content-Type": "text/plain"}); 101 | resp.write("404 Not Found\n"); 102 | resp.end(); 103 | return; 104 | } 105 | }).listen(1338, "127.0.0.1"); 106 | 107 | console.log('NodeJS server now running at http://127.0.0.1:1338/'); -------------------------------------------------------------------------------- /Resources/css/style.css: -------------------------------------------------------------------------------- 1 | body{background-color:white;font-size:12px;} 2 | h1,h2{color:#1D1D1D;} 3 | h1{font-size:28px;margin:20px 0 0 10px;text-decoration:underline;} 4 | a:link, 5 | a:visited{color:#9A0707;} 6 | #repositories-wrapper{width:95%;margin:0 auto;padding-top:20px;} 7 | #repositories-wrapper h2{font-size:18px;margin-bottom:10px;} 8 | #repolist{width:100%;border:thin black solid;border-collapse:collapse;} 9 | #repolist tr.alternate{background-color:#BBBBBB} 10 | #repolist th{background-color:black;color:white;} 11 | #repolist td{border:thin black solid;padding:10px;} 12 | #repolist td.centerit{text-align:center;} 13 | #info-box{position:absolute;top:10px;right:15px;text-align:center;background-image:url('../images/appcelerator.png');background-position:center center;background-repeat:no-repeat;height:60px;width:100px;} 14 | #info-box a{position:relative;top:60px;text-align:center;} 15 | #general-content-overlay table td{font-size:12px;} 16 | #general-content-overlay ul{padding-bottom:10px;} 17 | .gravatar{float:right;} 18 | -------------------------------------------------------------------------------- /Resources/default_app_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appcelerator-archive/poc-nodejs-desktop/9eb08c8efd781646f1bca549b391b62ffa4cbf3c/Resources/default_app_logo.png -------------------------------------------------------------------------------- /Resources/ejs/license.txt: -------------------------------------------------------------------------------- 1 | EJS - Embedded JavaScript 2 | 3 | Copyright (c) 2007 Edward Benson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /Resources/images/appcelerator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appcelerator-archive/poc-nodejs-desktop/9eb08c8efd781646f1bca549b391b62ffa4cbf3c/Resources/images/appcelerator.png -------------------------------------------------------------------------------- /Resources/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Titanium Desktop NodeJS Prototype 5 | 6 | 7 | 8 | 9 | 10 | 11 | 23 | 24 | 25 |

Appcelerator on Github

26 | 27 |
28 | Github followers 29 |
30 | 31 |
32 |

Repository List

33 |
34 |
35 | 36 |
37 | 38 | -------------------------------------------------------------------------------- /Resources/index.js: -------------------------------------------------------------------------------- 1 | var fetchRepoList = function() { 2 | $.get('http://127.0.0.1:1338/get_repos', function(data) { 3 | var targetNode = $('#repositories'), 4 | jsonData = $.parseJSON(data); 5 | var repoList = new EJS({url: 'templates/repos.ejs'}).render(jsonData); 6 | targetNode.html(repoList); 7 | 8 | $("#repolist").delegate(".repolist-link", "click", function(e){ 9 | e.preventDefault(); 10 | 11 | if ($(this).hasClass('repo') === true) { 12 | Titanium.Platform.openURL($(this).attr('href')); 13 | } else if ($(this).hasClass('watchercount') === true) { 14 | fetchWatchersList($(this).attr('rel')); 15 | } 16 | }); 17 | }); 18 | }; 19 | 20 | var fetchFollowersList = function() { 21 | $.get('http://127.0.0.1:1338/get_followers', function(data) { 22 | var jsonData = $.parseJSON(data); 23 | 24 | html = new EJS({url: 'templates/userlist.ejs'}).render(jsonData); 25 | generalContentOverlay.html(html); 26 | generalContentOverlay.dialog('option', 'title', 'Github Followers'); 27 | generalContentOverlay.dialog('open'); 28 | }); 29 | }; 30 | 31 | var fetchWatchersList = function(reponame) { 32 | $.get('http://127.0.0.1:1338/get_repo_watchers/' + reponame, function(data) { 33 | var jsonData = $.parseJSON(data); 34 | 35 | if (jsonData) { 36 | html = new EJS({url: 'templates/userlist.ejs'}).render(jsonData); 37 | generalContentOverlay.html(html); 38 | generalContentOverlay.dialog('option', 'title', 'Repo Watchers'); 39 | generalContentOverlay.dialog('open'); 40 | } 41 | }); 42 | }; 43 | 44 | var fetchProfile = function(username) { 45 | $.get('http://127.0.0.1:1338/get_profile/' + username, function(data) { 46 | var html, 47 | jsonData = $.parseJSON(data); 48 | 49 | if (jsonData) { 50 | html = new EJS({url: 'templates/profile.ejs'}).render(jsonData); 51 | generalContentOverlay.html(html); 52 | generalContentOverlay.dialog('option', 'title', 'User Profile'); 53 | } 54 | }); 55 | }; 56 | 57 | var generalContentOverlay; 58 | $(window).load(function() { 59 | generalContentOverlay = $("#general-content-overlay"); 60 | 61 | generalContentOverlay.dialog({ 62 | height: 400, 63 | width: 500, 64 | modal: true, 65 | resizable: false, 66 | draggable: false, 67 | autoOpen: false 68 | }); 69 | 70 | $(window).resize(function() { 71 | generalContentOverlay.dialog("option", "position", "center"); 72 | }); 73 | $(window).scroll(function() { 74 | generalContentOverlay.dialog("option", "position", "center"); 75 | }); 76 | 77 | $('#fetch-followers').click(function(e) { 78 | e.preventDefault(); 79 | fetchFollowersList(); 80 | }); 81 | 82 | $("#general-content-overlay").delegate("a.user", "click", function(e){ 83 | e.preventDefault(); 84 | fetchProfile(e.target.rel); 85 | }); 86 | 87 | $("#general-content-overlay").delegate("a.blog-link", "click", function(e){ 88 | e.preventDefault(); 89 | Titanium.Platform.openURL($(this).attr('href')); 90 | }); 91 | }); -------------------------------------------------------------------------------- /Resources/node_modules/github/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | 0.0.1.seed -------------------------------------------------------------------------------- /Resources/node_modules/github/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "support/async"] 2 | path = support/async 3 | url = git@github.com:fjakobs/async.js.git 4 | [submodule "support/oauth"] 5 | path = support/oauth 6 | url = git://github.com/ciaranj/node-oauth.git 7 | -------------------------------------------------------------------------------- /Resources/node_modules/github/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License 2 | 3 | Copyright (c) 2010 ajax.org B.V (Fabian Jakobs) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /Resources/node_modules/github/NOTICE.txt: -------------------------------------------------------------------------------- 1 | node-github 2 | =========== 3 | 4 | Copyright 2010 Ajax.org B.V. 5 | 6 | This product includes software developed by 7 | Ajax.org B.V. (http://www.ajax.org/). 8 | 9 | The library is based on the the "php-github-api" project by Thibault Duplessis 10 | (http://github.com/ornicar/php-github-api), which is MIT licensed -------------------------------------------------------------------------------- /Resources/node_modules/github/lib/github/AbstractApi.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2010 Ajax.org B.V. 3 | * 4 | * This product includes software developed by 5 | * Ajax.org B.V. (http://www.ajax.org/). 6 | * 7 | * Author: Fabian Jaokbs 8 | */ 9 | 10 | var AbstractApi = exports.AbstractApi = function(api) { 11 | this.$api = api; 12 | }; 13 | 14 | (function() { 15 | 16 | this.$createListener = function(callback, key) { 17 | return function(err, response) { 18 | if (err) { 19 | callback & callback(err); 20 | return; 21 | } 22 | 23 | callback && callback(err, key ? response[key] : response); 24 | }; 25 | }; 26 | 27 | }).call(AbstractApi.prototype); -------------------------------------------------------------------------------- /Resources/node_modules/github/lib/github/AuthenticationTest.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2010 Ajax.org B.V. 3 | * 4 | * This product includes software developed by 5 | * Ajax.org B.V. (http://www.ajax.org/). 6 | * 7 | * Author: Fabian Jaokbs 8 | */ 9 | 10 | require("../../support/paths"); 11 | 12 | var assert = require("assert"); 13 | 14 | var GitHubApi = require("github").GitHubApi; 15 | 16 | var username = "fjakobstest"; 17 | var token = "b98166e45acf66df70a992e2de56b92a"; 18 | 19 | var repo = "o3"; 20 | 21 | var test = module.exports = { 22 | 23 | setUp: function() { 24 | this.github = new GitHubApi(true); 25 | this.userApi = this.github.getUserApi(); 26 | }, 27 | 28 | "test: show user without authentification should have no 'plan'" : function(finished) { 29 | test.userApi.show(username, function(err, user) { 30 | assert.equal(user.plan, undefined); 31 | finished(); 32 | }); 33 | }, 34 | 35 | "test: show user with authentification should have a 'plan'" : function(finished) { 36 | test.github.authenticateToken(username, token); 37 | test.userApi.show(username, function(err, user) { 38 | assert.ok(user.plan !== undefined); 39 | finished(); 40 | }); 41 | }, 42 | /* 43 | // test disabled because I don't want to see my password on github :-) 44 | "test: authenticate using username and password" : function(finished) { 45 | test.github.authenticatePassword("fjakobs", "xxxx"); 46 | test.userApi.show("fjakobs", function(err, user) { 47 | assert.ok(user.plan !== undefined); 48 | console.log(user) 49 | test.github.getRepoApi().getUserRepos("fjakobs", null, function(err, repos) { 50 | console.log(repos) 51 | finished(); 52 | }) 53 | 54 | }); 55 | }, 56 | */ 57 | "test: authenticate using username and wrong password" : function(finished) { 58 | test.github.authenticatePassword(username, "1234"); 59 | test.userApi.show(username, function(err, user) { 60 | assert.ok(err !== undefined); 61 | finished(); 62 | }); 63 | }, 64 | 65 | "test: authenticate with bad token" : function(finished) { 66 | test.github.authenticateToken(username, "bad-token"); 67 | test.userApi.show(username, function(err, user) { 68 | assert.ok(err !== undefined); 69 | finished(); 70 | }); 71 | } 72 | }; 73 | 74 | !module.parent && require("asyncjs/test").testcase(module.exports).exec(); -------------------------------------------------------------------------------- /Resources/node_modules/github/lib/github/CommitApi.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2010 Ajax.org B.V. 3 | * 4 | * This product includes software developed by 5 | * Ajax.org B.V. (http://www.ajax.org/). 6 | * 7 | * Author: Fabian Jaokbs 8 | */ 9 | 10 | var sys = require("sys"); 11 | var AbstractApi = require("./AbstractApi").AbstractApi; 12 | 13 | var CommitApi = exports.CommitApi = function(api) { 14 | this.$api = api; 15 | }; 16 | 17 | sys.inherits(CommitApi, AbstractApi); 18 | 19 | (function() { 20 | /** 21 | * List commits by username, repo and branch 22 | * http://develop.github.com/p/commits.html#listing_commits_on_a_branch 23 | * 24 | * @param {String} username the username 25 | * @param {String} repo the repo 26 | * @param {String} $branch the branch 27 | */ 28 | this.getBranchCommits = function(username, repo, branch, callback) 29 | { 30 | this.$api.get( 31 | 'commits/list/' + encodeURI(username) + "/" + encodeURI(repo) + "/" + encodeURI(branch), 32 | null, null, 33 | this.$createListener(callback, "commits") 34 | ); 35 | }; 36 | 37 | /** 38 | * List commits by username, repo, branch and path 39 | * http://develop.github.com/p/commits.html#listing_commits_for_a_file 40 | * 41 | * @param {String} username the username 42 | * @param {String} repo the repo 43 | * @param {String} branch the branch 44 | * @param {String} path the path 45 | */ 46 | this.getFileCommits = function(username, repo, branch, path, callback) 47 | { 48 | this.$api.get( 49 | 'commits/list/' + encodeURI(username) + "/" + encodeURI(repo) + "/" + encodeURI(branch) + "/" + encodeURI(path), 50 | null, null, 51 | this.$createListener(callback, "commits") 52 | ); 53 | }; 54 | 55 | }).call(CommitApi.prototype); -------------------------------------------------------------------------------- /Resources/node_modules/github/lib/github/CommitApiTest.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2010 Ajax.org B.V. 3 | * 4 | * This product includes software developed by 5 | * Ajax.org B.V. (http://www.ajax.org/). 6 | * 7 | * Author: Fabian Jaokbs 8 | */ 9 | 10 | require("../../support/paths"); 11 | 12 | var assert = require("assert"); 13 | var sys = require("sys"); 14 | var GitHubApi = require("github").GitHubApi; 15 | 16 | var username = "ornicar"; 17 | var branch = "master"; 18 | var repo = "php-github-api"; 19 | 20 | var test = module.exports = { 21 | 22 | setUp: function() { 23 | this.github = new GitHubApi(true); 24 | this.commitApi = this.github.getCommitApi(); 25 | }, 26 | 27 | "test: list branch commits" : function(finished) { 28 | test.commitApi.getBranchCommits(username, repo, branch, function(err, commits) { 29 | assert.ok(commits.length > 0); 30 | assert.ok(commits[0].message !== undefined); 31 | finished(); 32 | }); 33 | }, 34 | 35 | "test: get file commits" : function(finished) { 36 | test.commitApi.getFileCommits(username, repo, branch, "README", function(err, commits) { 37 | assert.ok(commits.length > 0); 38 | assert.equal(commits.pop().message, "first commit"); 39 | finished(); 40 | }); 41 | } 42 | }; 43 | 44 | !module.parent && require("asyncjs/test").testcase(module.exports).exec(); -------------------------------------------------------------------------------- /Resources/node_modules/github/lib/github/ObjectApi.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2010 Ajax.org B.V. 3 | * 4 | * This product includes software developed by 5 | * Ajax.org B.V. (http://www.ajax.org/). 6 | * 7 | * Author: Fabian Jaokbs 8 | */ 9 | 10 | var sys = require("sys"); 11 | var AbstractApi = require("./AbstractApi").AbstractApi; 12 | 13 | var ObjectApi = exports.ObjectApi = function(api) { 14 | this.$api = api; 15 | }; 16 | 17 | sys.inherits(ObjectApi, AbstractApi); 18 | 19 | (function() { 20 | 21 | /** 22 | * Get a listing of the root tree of a project by the username, repo, and tree SHA 23 | * http://develop.github.com/p/object.html#trees 24 | * 25 | * @param {String} username the username 26 | * @param {String} repo the repo 27 | * @param {String} treeSha the tree sha 28 | */ 29 | this.showTree = function(username, repo, treeSha, callback) 30 | { 31 | this.$api.get( 32 | 'tree/show/' + encodeURI(username) + "/" + encodeURI(repo) + "/" + encodeURI(treeSha), 33 | null, null, 34 | this.$createListener(callback, "tree") 35 | ); 36 | }; 37 | 38 | /** 39 | * Lists the data blobs of a tree by tree SHA 40 | * http://develop.github.com/p/object.html#blobs 41 | * 42 | * @param {String} username the username 43 | * @param {String} repo the repo 44 | * @param {String} treeSha the tree sha 45 | * @param {String} path the path 46 | */ 47 | this.listBlobs = function(username, repo, treeSha, callback) 48 | { 49 | this.$api.get( 50 | 'blob/all/' + encodeURI(username) + "/" + encodeURI(repo) + "/" + encodeURI(treeSha), 51 | null, null, 52 | this.$createListener(callback, "blobs") 53 | ); 54 | }; 55 | 56 | /** 57 | * Get the data about a blob by tree SHA and file path. 58 | * http://develop.github.com/p/object.html#blobs 59 | * 60 | * @param {String} username the username 61 | * @param {String} repo the repo 62 | * @param {String} treeSha the tree sha 63 | * @param {String} path the path 64 | */ 65 | this.showBlob = function(username, repo, treeSha, path, callback) 66 | { 67 | this.$api.get( 68 | 'blob/show/' + encodeURI(username) + "/" + encodeURI(repo) + "/" + encodeURI(treeSha) + "/" + encodeURI(path), 69 | null, null, 70 | this.$createListener(callback, "blob") 71 | ); 72 | }; 73 | 74 | /** 75 | * Returns the raw text content of the object. 76 | * http://develop.github.com/p/object.html#raw_git_data 77 | * 78 | * @param {String} username the username 79 | * @param {String} repo the repo 80 | * @param {String} objectSha the object sha can be either a blob SHA1, a tree SHA1 or a commit SHA1 81 | */ 82 | this.getRawData = function(username, repo, objectSha, callback) 83 | { 84 | this.$api.get( 85 | 'blob/show/' + encodeURI(username) + "/" + encodeURI(repo) + "/" + encodeURI(objectSha), 86 | null, {format: "text"}, 87 | this.$createListener(callback) 88 | ); 89 | }; 90 | 91 | }).call(ObjectApi.prototype); 92 | 93 | -------------------------------------------------------------------------------- /Resources/node_modules/github/lib/github/ObjectApiTest.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2010 Ajax.org B.V. 3 | * 4 | * This product includes software developed by 5 | * Ajax.org B.V. (http://www.ajax.org/). 6 | * 7 | * Author: Fabian Jaokbs 8 | */ 9 | 10 | require("../../support/paths"); 11 | 12 | var assert = require("assert"); 13 | var sys = require("sys"); 14 | var GitHubApi = require("github").GitHubApi; 15 | 16 | var username = 'ornicar'; 17 | var repo = 'php-github-api'; 18 | var treeSha = '691c2ec7fd0b948042047b515886fec40fe76e2b'; 19 | 20 | var test = module.exports = { 21 | 22 | setUp: function() { 23 | this.github = new GitHubApi(true); 24 | this.objectApi = this.github.getObjectApi(); 25 | }, 26 | 27 | "test: show tree" : function(finished) { 28 | this.objectApi.showTree(username, repo, treeSha, function(err, tree) { 29 | assert.equal(tree.pop().sha, "5ac35496a1cbb2a914ff4325e7d6e8cae61f90b9"); 30 | finished(); 31 | }); 32 | }, 33 | 34 | "test: show blob" : function(finished) { 35 | this.objectApi.showBlob(username, repo, treeSha, 'CHANGELOG', function(err, blob) { 36 | assert.equal(blob.name, "CHANGELOG"); 37 | finished(); 38 | }); 39 | }, 40 | 41 | "test: list blobs" : function(finished) { 42 | this.objectApi.listBlobs(username, repo, treeSha, function(err, blobs) { 43 | assert.equal(blobs["README.markdown"], "d15692fb3adcbb752064c6be20361cf86914d736"); 44 | finished(); 45 | }); 46 | }, 47 | 48 | "test: get raw text" : function(finished) { 49 | var expected = [ 50 | "tree d978e4755a9ed4e7ca3ebf9ed674dfb95b4af481", 51 | "parent e291e9377fd64e08dba556f2dce5b0fc0011430e", 52 | "author Thibault Duplessis 1266076405 +0100", 53 | "committer Thibault Duplessis 1266076405 +0100", 54 | "", 55 | "created README.markdown", 56 | "" 57 | ].join("\n"); 58 | this.objectApi.getRawData(username, repo, "bd25d1e4ea7eab84b856131e470edbc21b6cd66b", function(err, data) { 59 | assert.equal(data, expected); 60 | finished(); 61 | }); 62 | } 63 | }; 64 | 65 | !module.parent && require("asyncjs/test").testcase(module.exports).exec(); -------------------------------------------------------------------------------- /Resources/node_modules/github/lib/github/PullApi.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2010 Ajax.org B.V. 3 | * 4 | * This product includes software developed by 5 | * Ajax.org B.V. (http://www.ajax.org/). 6 | * 7 | * Author: Ryan Funduk 8 | */ 9 | 10 | var sys = require("sys"); 11 | var AbstractApi = require("./AbstractApi").AbstractApi; 12 | 13 | var PullApi = exports.PullApi = function(api) { 14 | this.$api = api; 15 | }; 16 | 17 | sys.inherits(PullApi, AbstractApi); 18 | 19 | (function() { 20 | /** 21 | * List pulls by username, repo and (optionally) state 22 | * http://develop.github.com/p/pulls.html 23 | * 24 | * @param {String} username the username 25 | * @param {String} repo the repo 26 | * @param {String} $state the issue state, optional 27 | */ 28 | this.getList = function(username, repo, state, callback) 29 | { 30 | if (typeof(state) == 'function') { 31 | callback = state; 32 | state = ''; 33 | } 34 | else { 35 | state = '/' + encodeURI(state); 36 | } 37 | this.$api.get( 38 | 'pulls/' + encodeURI(username) + "/" + encodeURI(repo) + state, 39 | null, null, 40 | this.$createListener(callback, "pulls") 41 | ); 42 | }; 43 | 44 | }).call(PullApi.prototype); 45 | -------------------------------------------------------------------------------- /Resources/node_modules/github/lib/github/PullApiTest.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2010 Ajax.org B.V. 3 | * 4 | * This product includes software developed by 5 | * Ajax.org B.V. (http://www.ajax.org/). 6 | * 7 | * Author: Ryan Funduk 8 | */ 9 | 10 | require("../../support/paths"); 11 | 12 | var assert = require("assert"); 13 | var sys = require("sys"); 14 | var GitHubApi = require("github").GitHubApi; 15 | 16 | var username = 'ornicar'; 17 | var repo = 'php-github-api'; 18 | 19 | var test = module.exports = { 20 | 21 | setUp: function() { 22 | this.github = new GitHubApi(true); 23 | this.pullApi = this.github.getPullApi(); 24 | }, 25 | 26 | "test: list pull requests" : function(finished) { 27 | test.pullApi.getList(username, repo, function(err, pulls) { 28 | assert.equal(pulls.length, 0); 29 | finished(); 30 | }); 31 | } 32 | }; 33 | 34 | !module.parent && require("asyncjs/test").testcase(module.exports).exec(); -------------------------------------------------------------------------------- /Resources/node_modules/github/lib/github/RequestTest.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2010 Ajax.org B.V. 3 | * 4 | * This product includes software developed by 5 | * Ajax.org B.V. (http://www.ajax.org/). 6 | * 7 | * Author: Fabian Jaokbs 8 | */ 9 | 10 | require("../../support/paths"); 11 | 12 | var assert = require("assert"); 13 | var Request = require("github/Request").Request; 14 | 15 | var test = module.exports = { 16 | 17 | "test: create request instance" : function() { 18 | var request = new Request(); 19 | assert.ok(request instanceof Request); 20 | }, 21 | 22 | "test: GET request" : function(finished) { 23 | var request = new Request(); 24 | request.get('user/search/diem-project', null, null, function(err, response) { 25 | var sys = require("sys"); 26 | assert.equal(response.users.length, 1, "Found one user"); 27 | assert.equal(response.users[0].login, "diem-project", "Found one user"); 28 | finished(); 29 | }); 30 | } 31 | }; 32 | 33 | !module.parent && require("asyncjs/test").testcase(module.exports).exec(); -------------------------------------------------------------------------------- /Resources/node_modules/github/lib/github_all_tests.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2010 Ajax.org B.V. 3 | * 4 | * This product includes software developed by 5 | * Ajax.org B.V. (http://www.ajax.org/). 6 | * 7 | * Author: Fabian Jaokbs 8 | */ 9 | 10 | require("../support/paths"); 11 | require("asyncjs/test") 12 | .walkTestCases(__dirname) 13 | .exec(); -------------------------------------------------------------------------------- /Resources/node_modules/github/lib/github_test.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2010 Ajax.org B.V. 3 | * 4 | * This product includes software developed by 5 | * Ajax.org B.V. (http://www.ajax.org/). 6 | * 7 | * Author: Fabian Jaokbs 8 | */ 9 | 10 | require("../support/paths"); 11 | 12 | var assert = require("assert"); 13 | var GitHubApi = require("github").GitHubApi; 14 | 15 | var test = module.exports = { 16 | 17 | "test: create API instance" : function() { 18 | var api = new GitHubApi(); 19 | assert.ok(api instanceof GitHubApi); 20 | }, 21 | 22 | "test loading a repository" : function(finished) { 23 | var github = new GitHubApi(); 24 | github.get('repos/show/ornicar/php-github-api', null, null, function(err, repo) { 25 | assert.equal(repo['repository']['name'], 'php-github-api', 'Found information about php-github-api repo'); 26 | finished(); 27 | }); 28 | }, 29 | 30 | "test loading a non existing repository should return an error" : function(finished) { 31 | var github = new GitHubApi(); 32 | github.get('non-existing-url/for-sure', null, null, function(err, repo) { 33 | assert.ok(err !== undefined); 34 | finished(); 35 | }); 36 | } 37 | }; 38 | 39 | !module.parent && require("asyncjs/test").testcase(module.exports).exec(); -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/asyncjs/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .svn 3 | .settings.xml -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/asyncjs/demo/assets/1.txt: -------------------------------------------------------------------------------- 1 | 1 -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/asyncjs/demo/assets/2.txt: -------------------------------------------------------------------------------- 1 | 2 -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/asyncjs/demo/assets/3.txt: -------------------------------------------------------------------------------- 1 | 3 -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/asyncjs/demo/chaining.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * async.js 3 | * Copyright(c) 2010 Fabian Jakobs 4 | * MIT Licensed 5 | */ 6 | 7 | var async = require("../lib/async") 8 | 9 | var even = async.range(0, null, 2) 10 | var odd = async.range(1, null, 2) 11 | 12 | async.list([1,2,3,4]) 13 | .expand(function(val, next) { 14 | next(null, async.list([val, val, val])) 15 | }) 16 | .toArray(function(err, result) { 17 | console.log("expanded " + result) 18 | }) 19 | 20 | even.slice(0, 4) 21 | .reverse() 22 | .toArray(function(err, result) { 23 | console.log("reverse " + result) 24 | }) 25 | 26 | odd.slice(2, 6) 27 | .join(" - ") 28 | .end(function(err, result) { 29 | console.log(result) 30 | }) 31 | 32 | even.zip(odd) 33 | .slice(0, 4) 34 | .toArray(function(err, arr) { 35 | console.log("zip " + JSON.stringify(arr)) 36 | }) 37 | 38 | even.slice(0, 3).concat(odd.slice(0, 3)) 39 | .toArray(function(err, arr) { 40 | console.log(arr) 41 | }) 42 | 43 | async.list([4, 2, 3, 9]) 44 | .sort() 45 | .join(" < ") 46 | .end(function(err, result) { 47 | console.log("sorted " + result) 48 | }) 49 | 50 | async.list([1, 8, 3, 5]) 51 | .some(function odd(item) { 52 | return item % 2 == 0 53 | }) 54 | .end(function(err, result) { 55 | console.log("Any odd? " + result) 56 | }) 57 | 58 | async.list([1, 8, 3, 5]) 59 | .every(function odd(item) { 60 | return item % 2 == 0 61 | }) 62 | .end(function(err, result) { 63 | console.log("All odd? " + result) 64 | }) 65 | 66 | async.range(1, 5) 67 | .reduce(function(previousValue, currentValue) { 68 | return previousValue + currentValue; 69 | }) 70 | .end(function(err, value) { 71 | console.log("Sum over 1..4: " + value); 72 | }) 73 | 74 | async.range(1, 5) 75 | .reduce(function(previousValue, currentValue, index, next) { 76 | next(null, previousValue + currentValue); 77 | }, 10) 78 | .end(function(err, value) { 79 | console.log("Sum over 1..4 + 10: " + value); 80 | }) 81 | 82 | async.range(1, 10) 83 | .delay(200) 84 | .each(function(item, next) { 85 | console.log(item); 86 | next(); 87 | }) 88 | .end(function(err) { 89 | console.log("end") 90 | }) 91 | 92 | async.range(10, null, 1) 93 | .slice(3, 9) 94 | .toArray(function(err, arr) { 95 | console.log(arr); 96 | }) 97 | 98 | async.list([2, 4, 1, 3]) 99 | .filter(function(item, next) { 100 | next(null, item % 2 == 0); 101 | }) 102 | .map(function(item, next) { 103 | next(null, item*2); 104 | }) 105 | .map(function(item) { 106 | return item*2; 107 | }) 108 | .toArray(function(err, arr) { 109 | console.log(arr); 110 | }) 111 | 112 | async.list([ 113 | function sync() { 114 | console.log("first") 115 | return "juhu" 116 | }, 117 | 118 | function async(next) { 119 | console.log("second") 120 | next(null, "kinners") 121 | } 122 | ]).call() 123 | .toArray(function(err, arr) { 124 | console.log(arr) 125 | }) -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/asyncjs/demo/du.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var async = require("../lib/async") 4 | 5 | function du(path, callback) { 6 | 7 | var dirSizes = [0]; 8 | function beforeRecurse(file) { 9 | if (file.stat.isDirectory()) 10 | dirSizes.push(0); 11 | 12 | return true; 13 | } 14 | 15 | async.walkfiles(path, beforeRecurse, async.POSTORDER) 16 | .stat() 17 | .each(function(file) { 18 | if (file.stat.isDirectory()) 19 | var size = dirSizes.pop() 20 | else 21 | size = file.stat.blocks 22 | 23 | if (dirSizes.length) 24 | dirSizes[dirSizes.length-1] += size 25 | 26 | if (file.stat.isDirectory()) 27 | console.log(rpad(size, 10) + file.path) 28 | 29 | }) 30 | .end(callback) 31 | } 32 | 33 | function rpad(str, length) { 34 | str = str + "" 35 | if (str.length >= length) 36 | return str 37 | else 38 | return str + new Array(length - str.length + 1).join(" ") 39 | } 40 | 41 | var argv = process.argv 42 | 43 | if (argv.length !== 3) 44 | console.log("Usage: du.js PATH") 45 | else 46 | du(argv[2], function(err) { err && console.log(err)}) -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/asyncjs/demo/filewalker.js: -------------------------------------------------------------------------------- 1 | 2 | var async = require("../lib/async") 3 | 4 | function postOrder(next) { 5 | console.log("") 6 | console.log("post order walker:") 7 | async.walkfiles(__dirname) 8 | .each(function(file) { 9 | console.log(file.path) 10 | }) 11 | .end(next) 12 | } 13 | 14 | function preOrder(next) { 15 | console.log("") 16 | console.log("pre order walker:") 17 | async.walkfiles(__dirname, null, async.PREORDER) 18 | .each(function(file) { 19 | console.log(file.path) 20 | }) 21 | .end(next) 22 | } 23 | 24 | function filerAssets(next) { 25 | console.log("") 26 | console.log("filter assets directory") 27 | var filter = function(file) { 28 | return file.name !== "assets" || !file.stat.isDirectory() 29 | } 30 | async.walkfiles(__dirname, filter, true) 31 | .each(function(file) { 32 | console.log(file.path) 33 | }) 34 | .end(next) 35 | } 36 | 37 | function copy(next) { 38 | async.copytree(__dirname, __dirname + "/../COPY", function(err) { 39 | console.log("DONE " + err) 40 | next() 41 | }) 42 | } 43 | 44 | function remove(next) { 45 | async.rmtree(__dirname + "/../COPY", function(err) { 46 | console.log("DONE " + err) 47 | next() 48 | }) 49 | } 50 | 51 | 52 | async.list([postOrder, preOrder, filerAssets, copy, remove]).call().end() -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/asyncjs/demo/find.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var async = require("../lib/async") 4 | 5 | function find(path, callback) { 6 | async.walkfiles(path, null, async.PREORDER) 7 | .each(function(file) { 8 | console.log(file.path) 9 | }) 10 | .end(callback) 11 | } 12 | 13 | find(process.argv[2] || ".") -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/asyncjs/demo/fs.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * async.js 3 | * Copyright(c) 2010 Fabian Jakobs 4 | * MIT Licensed 5 | */ 6 | 7 | var async = require("../lib/async") 8 | 9 | async.readdir(__dirname) 10 | .stat() 11 | .filter(function(file) { 12 | return file.stat.isFile() 13 | }) 14 | .readFile("utf8") 15 | .each(function(file) { 16 | console.log(file.data) 17 | }) 18 | .end() -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/asyncjs/demo/grep.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var async = require("../lib/async") 4 | 5 | function grep(pattern, file, callback) { 6 | async.glob(file) 7 | .stat() 8 | .filter(function(file) { 9 | return !file.stat.isDirectory() 10 | }) 11 | .readFile("utf8") 12 | .each(function(file) { 13 | var lines = file.data.split("\n") 14 | delete file.data 15 | 16 | lines.forEach(function(line) { 17 | if (line.match(pattern)) 18 | console.log(line) 19 | }) 20 | }) 21 | .end(callback) 22 | } 23 | 24 | var argv = process.argv 25 | 26 | if (argv.length !== 4) 27 | console.log("Usage: grep PATTERN FILE") 28 | else 29 | grep(argv[2], argv[3]) -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/asyncjs/demo/ls.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var async = require("../lib/async") 4 | 5 | function ls(pattern, options, callback) { 6 | 7 | var fileFilter = options.all ? null : filterHidden 8 | var printFile = options.long ? printFileLong : printFileShort 9 | 10 | async.glob(pattern) 11 | .filter(fileFilter) 12 | .stat() 13 | .each(function(file, next) { 14 | if (file.stat.isDirectory()) { 15 | console.log("\n" + file.path + ":") 16 | async.readdir(file.path) 17 | .filter(fileFilter) 18 | .stat() 19 | .each(printFile) 20 | .end(next) 21 | } 22 | else { 23 | printFile(file) 24 | next() 25 | } 26 | }) 27 | .end(callback) 28 | 29 | function filterHidden(file) { 30 | return file.name.charAt(0) !== "." 31 | } 32 | 33 | function printFileShort(file) { 34 | console.log(file.path) 35 | } 36 | 37 | function printFileLong(file) { 38 | var stat = file.stat 39 | var owner = stat.uid + ":" + stat.gid 40 | console.log([ 41 | modeString(stat.mode), 42 | pad(owner, 8), 43 | pad(stat.size + "", 6), 44 | file.path 45 | ].join(" ")) 46 | } 47 | 48 | function modeString(mode) { 49 | var rights = [ 50 | "---", 51 | "-w-", 52 | "--x", 53 | "-wx", 54 | "r--", 55 | "r-x", 56 | "rw-", 57 | "rwx" 58 | ] 59 | return ( 60 | rights[mode >> 6 & 0x7] + 61 | rights[mode >> 3 & 0x7] + 62 | rights[mode & 0x7] 63 | ) 64 | } 65 | 66 | function pad(str, length) { 67 | if (str.length >= length) 68 | return str 69 | else 70 | return new Array(length - str.length + 1).join(" ") + str 71 | } 72 | } 73 | 74 | // very simplistic ls 75 | function ls1(pattern, callback) { 76 | async.glob(pattern) 77 | .get("path") 78 | .print() 79 | .end(callback) 80 | } 81 | 82 | // TODO command line parser 83 | ls(process.argv[2] || ".", {all: false, long: true}) -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/asyncjs/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * async.js 3 | * Copyright(c) 2011 Fabian Jakobs 4 | * MIT Licensed 5 | */ 6 | 7 | module.exports = require("./lib/async") 8 | 9 | require("./lib/plugins/utils") 10 | require("./lib/plugins/shortcuts") 11 | require("./lib/plugins/fs-node") 12 | 13 | module.exports.test = require("./lib/test") -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/asyncjs/lib/plugins/shortcuts.js: -------------------------------------------------------------------------------- 1 | var async = require("../async") 2 | 3 | async.plugin({}, { 4 | forEach: function(list, eachFn, callback) { 5 | async.list(list).each(eachFn).end(callback) 6 | }, 7 | 8 | map: function(list, mapper, callback) { 9 | async.list(list).map(mapper).toArray(callback) 10 | }, 11 | 12 | chain: function(funcs, context) { 13 | async.list(funcs.slice(0, -1)).call(context).end(funcs[funcs.length-1]) 14 | } 15 | }) -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/asyncjs/lib/plugins/utils.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * async.js 3 | * Copyright(c) 2010 Fabian Jakobs 4 | * MIT Licensed 5 | */ 6 | 7 | var async = require("../async") 8 | 9 | async.plugin({ 10 | delay: function(delay) { 11 | return this.each(function(item, next) { 12 | setTimeout(next, delay) 13 | }) 14 | }, 15 | 16 | timeout: function(timeout) { 17 | timeout = timeout || 0 18 | var source = this.source 19 | 20 | this.next = function(callback) { 21 | var called 22 | var id = setTimeout(function() { 23 | called = true 24 | callback("Source did not respond after " + timeout + "ms!") 25 | }, timeout) 26 | 27 | source.next(function(err, value) { 28 | if (called) 29 | return 30 | 31 | called = true 32 | clearTimeout(id) 33 | 34 | callback(err, value) 35 | }) 36 | } 37 | return new this.constructor(this) 38 | }, 39 | 40 | get: function(key) { 41 | return this.map(function(value, next) { 42 | next(null, value[key]) 43 | }) 44 | }, 45 | 46 | inspect: function() { 47 | return this.each(function(item, next) { 48 | console.log(JSON.stringify(item)) 49 | next() 50 | }) 51 | }, 52 | 53 | print: function() { 54 | return this.each(function(item, next) { 55 | console.log(item) 56 | next() 57 | }) 58 | } 59 | }) 60 | 61 | 62 | -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/asyncjs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "asyncjs", 3 | "description": "async.js it for the node fs module, what jQuery is for the DOM", 4 | "version": "0.0.5", 5 | "homepage" : "http://github.com/fjakobs/async.js", 6 | "engines": {"node": ">= 0.4.0"}, 7 | "author": "Fabian Jakobs ", 8 | "scripts": { "test": "node test/all.js" }, 9 | "main": "index", 10 | "repository" : { 11 | "type" : "git", 12 | "url" : "http://github.com/fjakobs/async.js.git" 13 | }, 14 | "licenses": [{ 15 | "type": "The MIT License", 16 | "url": "http://www.opensource.org/licenses/mit-license.php"} 17 | ] 18 | } -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/asyncjs/test/all.js: -------------------------------------------------------------------------------- 1 | var async = require("../lib/async") 2 | 3 | async.concat( 4 | require("./async.test"), 5 | require("./fs.test") 6 | ).exec() 7 | -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/asyncjs/test/assets/1.txt: -------------------------------------------------------------------------------- 1 | 1 -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/asyncjs/test/assets/11.txt: -------------------------------------------------------------------------------- 1 | 11 -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/asyncjs/test/assets/2.txt: -------------------------------------------------------------------------------- 1 | 2 -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/asyncjs/test/assets/3.txt: -------------------------------------------------------------------------------- 1 | 3 -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/asyncjs/test/assets/dir1/1.txt: -------------------------------------------------------------------------------- 1 | 1 -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/asyncjs/test/assets/dir11/11.txt: -------------------------------------------------------------------------------- 1 | 11 -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/asyncjs/test/assets/dir2/2.txt: -------------------------------------------------------------------------------- 1 | 2 -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/asyncjs/test/assets/nonemptydir/4.txt: -------------------------------------------------------------------------------- 1 | 4 -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/asyncjs/test/assets/walk/1.txt: -------------------------------------------------------------------------------- 1 | 1 -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/asyncjs/test/assets/walk/dir1/1.txt: -------------------------------------------------------------------------------- 1 | 1 -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/asyncjs/test/assets/walk/dir2/2.txt: -------------------------------------------------------------------------------- 1 | 2 -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/asyncjs/test/assets/walk/dir2/dir22/22.txt: -------------------------------------------------------------------------------- 1 | 22 -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/oauth/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Run all tests 3 | # 4 | test: 5 | @@vows tests/* --spec 6 | 7 | .PHONY: test install -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/oauth/debian/changelog: -------------------------------------------------------------------------------- 1 | nodejs-oauth (0.8.2-0sg4) UNRELEASED; urgency=low 2 | 3 | * UNRELEASED 4 | 5 | -- SimpleGeo Nerds Mon, 15 Nov 2010 19:30:19 +0000 6 | 7 | nodejs-oauth (0.8.2-0sg2) UNRELEASED; urgency=low 8 | 9 | [ Wade Simmons ] 10 | * update copyright 11 | 12 | [ SimpleGeo Nerds ] 13 | 14 | -- SimpleGeo Nerds Thu, 14 Oct 2010 17:51:51 +0000 15 | 16 | nodejs-oauth (0.8.2-0sg1) UNRELEASED; urgency=low 17 | 18 | * UNRELEASED 19 | 20 | -- SimpleGeo Nerds Wed, 13 Oct 2010 23:19:29 +0000 21 | 22 | nodejs-oauth (0.8.2-0sg0) unstable; urgency=low 23 | 24 | * Debianized 25 | 26 | -- Wade Simmons Wed, 13 Oct 2010 17:08:18 -0600 27 | -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/oauth/debian/compat: -------------------------------------------------------------------------------- 1 | 5 2 | -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/oauth/debian/control: -------------------------------------------------------------------------------- 1 | Source: nodejs-oauth 2 | Section: misc 3 | Priority: extra 4 | Uploaders: Wade Simmons 5 | Maintainer: SimpleGeo Nerds 6 | build-Depends: cdbs, debhelper (>= 7) 7 | Standards-Version: 3.9.1 8 | 9 | Package: nodejs-oauth 10 | Depends: nodejs (>= 0.2.3), ${misc:Depends} 11 | Architecture: all 12 | Description: node-oauth 13 | http://github.com/ciaranj/node-oauth 14 | -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/oauth/debian/copyright: -------------------------------------------------------------------------------- 1 | This package was debianised by Wade Simmons 2 | 3 | The upstream repo is: 4 | http://github.com/ciaranj/node-oauth 5 | MIT license 6 | 7 | The Debian packaging is 8 | Copyright 2010, SimpleGeo, Inc. 9 | MIT license 10 | -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/oauth/debian/dirs: -------------------------------------------------------------------------------- 1 | usr/lib/nodejs/oauth 2 | -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/oauth/debian/install: -------------------------------------------------------------------------------- 1 | index.js usr/lib/nodejs/oauth 2 | lib usr/lib/nodejs/oauth 3 | -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/oauth/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | include /usr/share/cdbs/1/rules/debhelper.mk 4 | -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/oauth/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/oauth/examples/express-gdata/views/google_calendars.ejs: -------------------------------------------------------------------------------- 1 | 2 |

Check google_contacts

3 | 4 |

Google Calendars

5 | 6 | <% for(var i = 0 ; i < feed.data.items.length ; i++ ) { 7 | 8 | var calendar = feed.data.items[i]; %> 9 |
10 | 11 |

"><%= calendar["title"] %>

12 | 13 |

canEdit: <%= calendar["canEdit"] %>

14 |

accessLevel: <%= calendar["accessLevel"] %>

15 |

timeZone: <%= calendar["timeZone"] %>

16 |

kind: <%= calendar["kind"] %>

17 |

updated: <%= calendar["updated"] %>

18 |

created: <%= calendar["created"] %>

19 | 20 |
21 | <% } %> -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/oauth/examples/express-gdata/views/google_contacts.ejs: -------------------------------------------------------------------------------- 1 | 2 |

Check google_calendars

3 | 4 |

Google Contacts

5 | 6 | <% for(var i = 0 ; i < feed.feed.entry.length ; i++ ) { 7 | 8 | var contact = feed.feed.entry[i]; %> 9 | 10 |
11 | 12 | <%= contact["title"]["$t"] %> 13 | <% emails = contact["gd$email"] %> 14 | 15 |
    16 | <% for(var j = 0 ; j < emails.length ; j++) { %> 17 |
  • <%= emails[j]["address" ]%>
  • 18 | <% } %> 19 |
20 | 21 |
22 | 23 | 24 | <% } %> 25 | -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/oauth/examples/express-gdata/views/layout.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | <%- body %> 7 | 8 | 9 | -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/oauth/examples/term.ie.oauth-HMAC-SHA1.js: -------------------------------------------------------------------------------- 1 | var sys= require('sys') 2 | 3 | var OAuth= require('../lib/oauth').OAuth; 4 | 5 | var oa= new OAuth("http://term.ie/oauth/example/request_token.php", 6 | "http://term.ie/oauth/example/access_token.php", 7 | "key", 8 | "secret", 9 | "1.0", 10 | null, 11 | "HMAC-SHA1") 12 | 13 | oa.getOAuthRequestToken(function(error, oauth_token, oauth_token_secret, results){ 14 | if(error) sys.puts('error :' + error) 15 | else { 16 | sys.puts('oauth_token :' + oauth_token) 17 | sys.puts('oauth_token_secret :' + oauth_token_secret) 18 | sys.puts('requestoken results :' + sys.inspect(results)) 19 | sys.puts("Requesting access token") 20 | oa.getOAuthAccessToken(oauth_token, oauth_token_secret, function(error, oauth_access_token, oauth_access_token_secret, results2) { 21 | sys.puts('oauth_access_token :' + oauth_access_token) 22 | sys.puts('oauth_token_secret :' + oauth_access_token_secret) 23 | sys.puts('accesstoken results :' + sys.inspect(results2)) 24 | sys.puts("Requesting access token") 25 | var data= ""; 26 | oa.getProtectedResource("http://term.ie/oauth/example/echo_api.php?foo=bar&too=roo", "GET", oauth_access_token, oauth_access_token_secret, function (error, data, response) { 27 | sys.puts(data); 28 | }); 29 | }); 30 | } 31 | }) -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/oauth/examples/term.ie.oauth-PLAINTEXT.js: -------------------------------------------------------------------------------- 1 | var sys= require('sys') 2 | 3 | var OAuth= require('../lib/oauth').OAuth; 4 | 5 | var oa = new OAuth("http://term.ie/oauth/example/request_token.php?foo=bar", 6 | "http://term.ie/oauth/example/access_token.php", 7 | "key", 8 | "secret", 9 | "1.0", 10 | null, 11 | "PLAINTEXT") 12 | 13 | oa.getOAuthRequestToken(function(error, oauth_token, oauth_token_secret, results){ 14 | if (error) return console.log('error :' + error) 15 | console.log('oauth_token :' + oauth_token) 16 | console.log('oauth_token_secret :' + oauth_token_secret) 17 | console.log('requestoken results :', results) 18 | console.log("Requesting access token") 19 | oa.getOAuthAccessToken(oauth_token, oauth_token_secret, 20 | function(error, oauth_access_token, 21 | oauth_access_token_secret, results2) { 22 | console.log('oauth_access_token :' + oauth_access_token) 23 | console.log('oauth_token_secret :' + oauth_access_token_secret) 24 | console.log('accesstoken results :', results2) 25 | console.log("Requesting access token") 26 | var data= ""; 27 | oa.getProtectedResource( 28 | "http://term.ie/oauth/example/echo_api.php?foo=bar&too=roo", "GET", 29 | oauth_access_token, oauth_access_token_secret, 30 | function (error, data, response) { 31 | console.log(data); 32 | }); 33 | }); 34 | }) -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/oauth/examples/twitter-test.js: -------------------------------------------------------------------------------- 1 | var sys= require('sys'); 2 | var OAuth= require('../lib/oauth').OAuth; 3 | oa= new OAuth("https://twitter.com/oauth/request_token", 4 | "https://twitter.com/oauth/access_token", 5 | "JiYmll7CX3AXDgasnnIDeg", "mWPBRK5kG2Tkthuf5zRV1jYWOEwnjI6xs3QVRqOOg", 6 | "1.0A", "http://localhost:3000/oauth/callback", "HMAC-SHA1"); 7 | 8 | var delim = /\n*\r\n*/; 9 | var buffer= ""; 10 | 11 | //var filterString= require('querystring').escape(process.argv[2]); 12 | var filterString= require('querystring').escape("social or network"); 13 | var request= oa.post("http://stream.twitter.com/1/statuses/filter.json?track="+ filterString, 14 | "23186482-ZXEosOnO34TIzAAMEVMilrXcHezMF4odlDwvKNyA", 15 | "PnNN2GWYlfNCyhN6dAiMLQdvvDLy67dpaALies"); 16 | request.addListener('response', function (response) { 17 | response.setEncoding('utf8'); 18 | response.addListener('data', function (chunk) { 19 | buffer += chunk; 20 | var parts= buffer.split(delim); 21 | var len = parts.length; 22 | if( len >1 ) { 23 | buffer = parts[len-1]; 24 | for(var i=0, end = len -1; i< end; ++i) { 25 | var entry = parts[i]; 26 | if( entry !== "" ) { 27 | var obj= JSON.parse(entry); 28 | console.log("@"+ obj.user.screen_name +" says " + obj.text); 29 | } 30 | } 31 | } 32 | }); 33 | }); 34 | request.end(); -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/oauth/google-test.js: -------------------------------------------------------------------------------- 1 | //var OAuth= require('./lib/oauth').OAuth; 2 | var sys= require('sys'); 3 | var OAuth= require('./lib/oauth').OAuth; 4 | 5 | oa= new OAuth("https://www.google.com/accounts/OAuthGetRequestToken", 6 | "https://www.google.com/accounts/OAuthAuthorizeToken", 7 | "anonymous", "anonymous", 8 | "1.0A", "http://localhost:3000/oauth/callback", "HMAC-SHA1"); 9 | 10 | oa.getOAuthRequestToken({"scope":"http://www.google.com/calendar/feeds"},function(error, oauth_token, oauth_token_secret, results){ 11 | if(error) sys.puts('error :' + JSON.stringify(error)) 12 | else { 13 | sys.puts('oauth_token: ' + oauth_token) 14 | sys.puts('oauth_token_secret: ' + oauth_token_secret) 15 | sys.puts('requestoken results: ' + sys.inspect(results)) 16 | sys.puts("Requesting access token") 17 | /* oa.getOAuthAccessToken(oauth_token, oauth_token_secret, 'verifier', function(error, oauth_access_token, oauth_access_token_secret, results2) { 18 | sys.puts('oauth_access_token: ' + oauth_access_token) 19 | sys.puts('oauth_token_secret: ' + oauth_access_token_secret) 20 | sys.puts('accesstoken results: ' + sys.inspect(results2)) 21 | sys.puts("Requesting secure schznit") 22 | var data= ""; 23 | oa.getProtectedResource("http://localhost:3000/fetch/unicorns?foo=bar&too=roo", "GET", oauth_access_token, oauth_access_token_secret, function (error, data, response) { 24 | sys.puts(sys.inspect(error)); 25 | sys.puts(data); 26 | }); 27 | }); */ 28 | } 29 | }) -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/oauth/index.js: -------------------------------------------------------------------------------- 1 | exports.OAuth = require("./lib/oauth").OAuth; 2 | exports.OAuthEcho = require("./lib/oauth").OAuthEcho; 3 | exports.OAuth2 = require("./lib/oauth2").OAuth2; -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/oauth/numero-test.js: -------------------------------------------------------------------------------- 1 | //var OAuth= require('./lib/oauth').OAuth; 2 | var sys= require('sys'); 3 | var OAuth= require('oauth').OAuth; 4 | 5 | oa= new OAuth("https://tes-ws.numerosoftware.co.uk/websuite/oauth/accesstokens", 6 | "https://test-ws.numerosoftware.co.uk/websuite/oauth/access_token", 7 | "tesco-websuite", "dc935a53-4e1d-4120-a4e4-cd8e2d1ab481", 8 | "1.0A", "ootb", "HMAC-SHA1"); 9 | 10 | oa.getOAuthRequestToken(function(error, oauth_token, oauth_token_secret, results){ 11 | if(error) sys.puts('error :' + JSON.stringify(error)) 12 | else { 13 | sys.puts('oauth_token: ' + oauth_token) 14 | sys.puts('oauth_token_secret: ' + oauth_token_secret) 15 | sys.puts('requestoken results: ' + sys.inspect(results)) 16 | sys.puts("Requesting access token") 17 | oa.getOAuthAccessToken(oauth_token, oauth_token_secret, 'verifier', function(error, oauth_access_token, oauth_access_token_secret, results2) { 18 | sys.puts('oauth_access_token: ' + oauth_access_token) 19 | sys.puts('oauth_token_secret: ' + oauth_access_token_secret) 20 | sys.puts('accesstoken results: ' + sys.inspect(results2)) 21 | sys.puts("Requesting secure schznit") 22 | var data= ""; 23 | oa.getProtectedResource("http://localhost:3000/fetch/unicorns?foo=bar&too=roo", "GET", oauth_access_token, oauth_access_token_secret, function (error, data, response) { 24 | sys.puts(sys.inspect(error)); 25 | sys.puts(data); 26 | }); 27 | }); 28 | } 29 | }) -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/oauth/package.json: -------------------------------------------------------------------------------- 1 | { "name" : "oauth" 2 | , "description" : "Library for interacting with OAuth 1.0, 1.0A, 2 and Echo. Provides simplified client access and allows for construction of more complex apis and OAuth providers." 3 | , "version" : "0.9.1" 4 | , "directories" : { "lib" : "./lib" } 5 | , "main" : "index.js" 6 | , "author" : "Ciaran Jessup " 7 | , "repository" : { "type":"git", "url":"http://github.com/ciaranj/node-oauth.git" } 8 | } 9 | -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/oauth/test.js: -------------------------------------------------------------------------------- 1 | //var OAuth= require('./lib/oauth').OAuth; 2 | var sys= require('sys'); 3 | var OAuth= require('oauth').OAuth; 4 | 5 | oa= new OAuth("http://localhost:3000/oauth/request_token", 6 | "http://localhost:3000/oauth/access_token", 7 | "JiYmll7CX3AXDgasnnIDeg", "mWPBRK5kG2Tkthuf5zRV1jYWOEwnjI6xs3QVRqOOg", 8 | "1.0A", "http://localhost:3000/oauth/callback", "HMAC-SHA1"); 9 | 10 | oa.getOAuthRequestToken(function(error, oauth_token, oauth_token_secret, results){ 11 | if(error) sys.puts('error :' + error) 12 | else { 13 | sys.puts('oauth_token: ' + oauth_token) 14 | sys.puts('oauth_token_secret: ' + oauth_token_secret) 15 | sys.puts('requestoken results: ' + sys.inspect(results)) 16 | sys.puts("Requesting access token") 17 | oa.getOAuthAccessToken(oauth_token, oauth_token_secret, 'verifier', function(error, oauth_access_token, oauth_access_token_secret, results2) { 18 | sys.puts('oauth_access_token: ' + oauth_access_token) 19 | sys.puts('oauth_token_secret: ' + oauth_access_token_secret) 20 | sys.puts('accesstoken results: ' + sys.inspect(results2)) 21 | sys.puts("Requesting secure schznit") 22 | var data= ""; 23 | oa.getProtectedResource("http://localhost:3000/fetch/unicorns?foo=bar&too=roo", "GET", oauth_access_token, oauth_access_token_secret, function (error, data, response) { 24 | sys.puts(sys.inspect(error)); 25 | sys.puts(data); 26 | }); 27 | }); 28 | } 29 | }) -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/oauth/testb.js: -------------------------------------------------------------------------------- 1 | //var OAuth= require('./lib/oauth').OAuth; 2 | var sys= require('sys'); 3 | var OAuth= require('./lib/oauth').OAuth; 4 | 5 | oa= new OAuth("https://twitter.com/oauth/request_token", 6 | "https://twitter.com/oauth/access_token", 7 | "RuN9ovM7vvXyOO1N6DmhsA", "qpUPDJJasO5G2jZenK3m7t7pAcA9ZuyUv8WsGnonJo", 8 | "1.0A", "http://localhost:3000/oauth/callback", "HMAC-SHA1"); 9 | 10 | var access_token= '23186482-CpF7lxJx1T2GhJ8fQT3ewvuIpbMtskHcN6craOzly'; 11 | var access_token_secret= '8SqTfcI7uW7lwcBQnnpEsvY59u788s8TS2OmX1AGpKU'; 12 | 13 | /*var request= oa.get("http://stream.twitter.com/1/statuses/filter.json?follow=11528912,9512582", access_token, access_token_secret ); 14 | request.addListener('response', function (response) { 15 | response.setEncoding('utf8'); 16 | response.addListener('data', function (chunk) { 17 | console.log(chunk); 18 | }); 19 | response.addListener('end', function () { 20 | console.log('--- END ---') 21 | }); 22 | }); 23 | 24 | request.end(); 25 | */ 26 | /* 27 | oa.get("http://api.twitter.com/1/statuses/retweeted_by_me.json", access_token, access_token_secret, function(error, data) { 28 | console.log(sys.inspect(data)); 29 | });*/ 30 | 31 | oa.post("http://api.twitter.com/1/statuses/update.json", access_token, access_token_secret, 32 | {"status":"Just testing one of my OAuth libs for compatability issues, sorry!"}, function(e,d){ 33 | console.log(sys.inspect(e)); 34 | console.log(sys.inspect(d)); 35 | }); -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/oauth/tests/oauth2.js: -------------------------------------------------------------------------------- 1 | var vows = require('vows'), 2 | assert = require('assert'), 3 | OAuth2= require('../lib/oauth2').OAuth2; 4 | 5 | vows.describe('OAuth2').addBatch({ 6 | 'When handling the access token response': { 7 | topic: new OAuth2(), 8 | 'we should correctly extract the token if received as form-data': function (oa) { 9 | oa._request= function( method, url, fo, bar, callback) { 10 | callback(null, "access_token=access&refresh_token=refresh"); 11 | }; 12 | oa.getOAuthAccessToken("", {}, function(error, access_token, refresh_token) { 13 | assert.equal( access_token, "access"); 14 | assert.equal( refresh_token, "refresh"); 15 | }); 16 | }, 17 | 'we should correctly extract the token if received as a JSON literal': function (oa) { 18 | oa._request= function( method, url, fo, bar, callback) { 19 | callback(null, '{"access_token":"access","refresh_token":"refresh"}'); 20 | }; 21 | oa.getOAuthAccessToken("", {}, function(error, access_token, refresh_token) { 22 | assert.equal( access_token, "access"); 23 | assert.equal( refresh_token, "refresh"); 24 | }); 25 | } 26 | } 27 | }).export(module); -------------------------------------------------------------------------------- /Resources/node_modules/github/node_modules/oauth/tests/sha1.js: -------------------------------------------------------------------------------- 1 | var vows = require('vows'), 2 | assert = require('assert'); 3 | 4 | vows.describe('SHA1 Hashing').addBatch({ 5 | 'When using the SHA1 Hashing function': { 6 | topic: require('../lib/sha1'), 7 | 'we get the specified digest as described in http://oauth.net/core/1.0/#sig_base_example (A.5.2)': function (sha1) { 8 | assert.equal (sha1.HMACSHA1( "kd94hf93k423kf44&pfkkdhi9sl3r4s00", 9 | "GET&http%3A%2F%2Fphotos.example.net%2Fphotos&file%3Dvacation.jpg%26oauth_consumer_key%3Ddpf43f3p2l4k3l03%26oauth_nonce%3Dkllo9940pd9333jh%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1191242096%26oauth_token%3Dnnch734d00sl2jdk%26oauth_version%3D1.0%26size%3Doriginal"), 10 | "tR3+Ty81lMeYAr/Fid0kMTYa/WM="); 11 | } 12 | } 13 | }).export(module); -------------------------------------------------------------------------------- /Resources/node_modules/github/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "github", 3 | "version" : "0.0.6", 4 | "description" : "Wrapper for the GitHub API", 5 | "author": "Fabian Jakobs ", 6 | "homepage": "http://github.com/ajaxorg/node-github.git", 7 | "main" : "./lib/github", 8 | "repository" : { 9 | "type" : "git", 10 | "url" : "http://github.com/ajaxorg/node-github.git" 11 | }, 12 | "engine" : ["node >=0.4.0"], 13 | "dependencies": { 14 | "asyncjs": ">=0.0.3", 15 | "oauth": ">=0.8.4" 16 | }, 17 | "licenses": [{ 18 | "type": "The MIT License", 19 | "url": "http://www.opensource.org/licenses/mit-license.php"} 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /Resources/node_modules/github/seed.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: node-github 3 | description: node wrapper for the GitHub API 4 | tags: git github web 5 | version: 0.0.1 6 | -------------------------------------------------------------------------------- /Resources/node_modules/github/support/async/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .svn 3 | .settings.xml -------------------------------------------------------------------------------- /Resources/node_modules/github/support/async/demo/assets/1.txt: -------------------------------------------------------------------------------- 1 | 1 -------------------------------------------------------------------------------- /Resources/node_modules/github/support/async/demo/assets/2.txt: -------------------------------------------------------------------------------- 1 | 2 -------------------------------------------------------------------------------- /Resources/node_modules/github/support/async/demo/assets/3.txt: -------------------------------------------------------------------------------- 1 | 3 -------------------------------------------------------------------------------- /Resources/node_modules/github/support/async/demo/chaining.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * async.js 3 | * Copyright(c) 2010 Fabian Jakobs 4 | * MIT Licensed 5 | */ 6 | 7 | var async = require("../lib/async") 8 | 9 | var even = async.range(0, null, 2) 10 | var odd = async.range(1, null, 2) 11 | 12 | async.list([1,2,3,4]) 13 | .expand(function(val, next) { 14 | next(null, async.list([val, val, val])) 15 | }) 16 | .toArray(function(err, result) { 17 | console.log("expanded " + result) 18 | }) 19 | 20 | even.slice(0, 4) 21 | .reverse() 22 | .toArray(function(err, result) { 23 | console.log("reverse " + result) 24 | }) 25 | 26 | odd.slice(2, 6) 27 | .join(" - ") 28 | .end(function(err, result) { 29 | console.log(result) 30 | }) 31 | 32 | even.zip(odd) 33 | .slice(0, 4) 34 | .toArray(function(err, arr) { 35 | console.log("zip " + JSON.stringify(arr)) 36 | }) 37 | 38 | even.slice(0, 3).concat(odd.slice(0, 3)) 39 | .toArray(function(err, arr) { 40 | console.log(arr) 41 | }) 42 | 43 | async.list([4, 2, 3, 9]) 44 | .sort() 45 | .join(" < ") 46 | .end(function(err, result) { 47 | console.log("sorted " + result) 48 | }) 49 | 50 | async.list([1, 8, 3, 5]) 51 | .some(function odd(item) { 52 | return item % 2 == 0 53 | }) 54 | .end(function(err, result) { 55 | console.log("Any odd? " + result) 56 | }) 57 | 58 | async.list([1, 8, 3, 5]) 59 | .every(function odd(item) { 60 | return item % 2 == 0 61 | }) 62 | .end(function(err, result) { 63 | console.log("All odd? " + result) 64 | }) 65 | 66 | async.range(1, 5) 67 | .reduce(function(previousValue, currentValue) { 68 | return previousValue + currentValue; 69 | }) 70 | .end(function(err, value) { 71 | console.log("Sum over 1..4: " + value); 72 | }) 73 | 74 | async.range(1, 5) 75 | .reduce(function(previousValue, currentValue, index, next) { 76 | next(null, previousValue + currentValue); 77 | }, 10) 78 | .end(function(err, value) { 79 | console.log("Sum over 1..4 + 10: " + value); 80 | }) 81 | 82 | async.range(1, 10) 83 | .delay(200) 84 | .each(function(item, next) { 85 | console.log(item); 86 | next(); 87 | }) 88 | .end(function(err) { 89 | console.log("end") 90 | }) 91 | 92 | async.range(10, null, 1) 93 | .slice(3, 9) 94 | .toArray(function(err, arr) { 95 | console.log(arr); 96 | }) 97 | 98 | async.list([2, 4, 1, 3]) 99 | .filter(function(item, next) { 100 | next(null, item % 2 == 0); 101 | }) 102 | .map(function(item, next) { 103 | next(null, item*2); 104 | }) 105 | .map(function(item) { 106 | return item*2; 107 | }) 108 | .toArray(function(err, arr) { 109 | console.log(arr); 110 | }) 111 | 112 | async.list([ 113 | function sync() { 114 | console.log("first") 115 | return "juhu" 116 | }, 117 | 118 | function async(next) { 119 | console.log("second") 120 | next(null, "kinners") 121 | } 122 | ]).call() 123 | .toArray(function(err, arr) { 124 | console.log(arr) 125 | }) -------------------------------------------------------------------------------- /Resources/node_modules/github/support/async/demo/du.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var async = require("../lib/async") 4 | 5 | function du(path, callback) { 6 | 7 | var dirSizes = [0]; 8 | function beforeRecurse(file) { 9 | if (file.stat.isDirectory()) 10 | dirSizes.push(0); 11 | 12 | return true; 13 | } 14 | 15 | async.walkfiles(path, beforeRecurse, async.POSTORDER) 16 | .stat() 17 | .each(function(file) { 18 | if (file.stat.isDirectory()) 19 | var size = dirSizes.pop() 20 | else 21 | size = file.stat.blocks 22 | 23 | if (dirSizes.length) 24 | dirSizes[dirSizes.length-1] += size 25 | 26 | if (file.stat.isDirectory()) 27 | console.log(rpad(size, 10) + file.path) 28 | 29 | }) 30 | .end(callback) 31 | } 32 | 33 | function rpad(str, length) { 34 | str = str + "" 35 | if (str.length >= length) 36 | return str 37 | else 38 | return str + new Array(length - str.length + 1).join(" ") 39 | } 40 | 41 | var argv = process.argv 42 | 43 | if (argv.length !== 3) 44 | console.log("Usage: du.js PATH") 45 | else 46 | du(argv[2], function(err) { err && console.log(err)}) -------------------------------------------------------------------------------- /Resources/node_modules/github/support/async/demo/filewalker.js: -------------------------------------------------------------------------------- 1 | 2 | var async = require("../lib/async") 3 | 4 | function postOrder(next) { 5 | console.log("") 6 | console.log("post order walker:") 7 | async.walkfiles(__dirname) 8 | .each(function(file) { 9 | console.log(file.path) 10 | }) 11 | .end(next) 12 | } 13 | 14 | function preOrder(next) { 15 | console.log("") 16 | console.log("pre order walker:") 17 | async.walkfiles(__dirname, null, async.PREORDER) 18 | .each(function(file) { 19 | console.log(file.path) 20 | }) 21 | .end(next) 22 | } 23 | 24 | function filerAssets(next) { 25 | console.log("") 26 | console.log("filter assets directory") 27 | var filter = function(file) { 28 | return file.name !== "assets" || !file.stat.isDirectory() 29 | } 30 | async.walkfiles(__dirname, filter, true) 31 | .each(function(file) { 32 | console.log(file.path) 33 | }) 34 | .end(next) 35 | } 36 | 37 | function copy(next) { 38 | async.copytree(__dirname, __dirname + "/../COPY", function(err) { 39 | console.log("DONE " + err) 40 | next() 41 | }) 42 | } 43 | 44 | function remove(next) { 45 | async.rmtree(__dirname + "/../COPY", function(err) { 46 | console.log("DONE " + err) 47 | next() 48 | }) 49 | } 50 | 51 | 52 | async.list([postOrder, preOrder, filerAssets, copy, remove]).call().end() -------------------------------------------------------------------------------- /Resources/node_modules/github/support/async/demo/find.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var async = require("../lib/async") 4 | 5 | function find(path, callback) { 6 | async.walkfiles(path, null, async.PREORDER) 7 | .each(function(file) { 8 | console.log(file.path) 9 | }) 10 | .end(callback) 11 | } 12 | 13 | find(process.argv[2] || ".") -------------------------------------------------------------------------------- /Resources/node_modules/github/support/async/demo/fs.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * async.js 3 | * Copyright(c) 2010 Fabian Jakobs 4 | * MIT Licensed 5 | */ 6 | 7 | var async = require("../lib/async") 8 | 9 | async.readdir(__dirname) 10 | .stat() 11 | .filter(function(file) { 12 | return file.stat.isFile() 13 | }) 14 | .readFile("utf8") 15 | .each(function(file) { 16 | console.log(file.data) 17 | }) 18 | .end() -------------------------------------------------------------------------------- /Resources/node_modules/github/support/async/demo/grep.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var async = require("../lib/async") 4 | 5 | function grep(pattern, file, callback) { 6 | async.glob(file) 7 | .stat() 8 | .filter(function(file) { 9 | return !file.stat.isDirectory() 10 | }) 11 | .readFile("utf8") 12 | .each(function(file) { 13 | var lines = file.data.split("\n") 14 | delete file.data 15 | 16 | lines.forEach(function(line) { 17 | if (line.match(pattern)) 18 | console.log(line) 19 | }) 20 | }) 21 | .end(callback) 22 | } 23 | 24 | var argv = process.argv 25 | 26 | if (argv.length !== 4) 27 | console.log("Usage: grep PATTERN FILE") 28 | else 29 | grep(argv[2], argv[3]) -------------------------------------------------------------------------------- /Resources/node_modules/github/support/async/demo/ls.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var async = require("../lib/async") 4 | 5 | function ls(pattern, options, callback) { 6 | 7 | var fileFilter = options.all ? null : filterHidden 8 | var printFile = options.long ? printFileLong : printFileShort 9 | 10 | async.glob(pattern) 11 | .filter(fileFilter) 12 | .stat() 13 | .each(function(file, next) { 14 | if (file.stat.isDirectory()) { 15 | console.log("\n" + file.path + ":") 16 | async.readdir(file.path) 17 | .filter(fileFilter) 18 | .stat() 19 | .each(printFile) 20 | .end(next) 21 | } 22 | else { 23 | printFile(file) 24 | next() 25 | } 26 | }) 27 | .end(callback) 28 | 29 | function filterHidden(file) { 30 | return file.name.charAt(0) !== "." 31 | } 32 | 33 | function printFileShort(file) { 34 | console.log(file.path) 35 | } 36 | 37 | function printFileLong(file) { 38 | var stat = file.stat 39 | var owner = stat.uid + ":" + stat.gid 40 | console.log([ 41 | modeString(stat.mode), 42 | pad(owner, 8), 43 | pad(stat.size + "", 6), 44 | file.path 45 | ].join(" ")) 46 | } 47 | 48 | function modeString(mode) { 49 | var rights = [ 50 | "---", 51 | "-w-", 52 | "--x", 53 | "-wx", 54 | "r--", 55 | "r-x", 56 | "rw-", 57 | "rwx" 58 | ] 59 | return ( 60 | rights[mode >> 6 & 0x7] + 61 | rights[mode >> 3 & 0x7] + 62 | rights[mode & 0x7] 63 | ) 64 | } 65 | 66 | function pad(str, length) { 67 | if (str.length >= length) 68 | return str 69 | else 70 | return new Array(length - str.length + 1).join(" ") + str 71 | } 72 | } 73 | 74 | // very simplistic ls 75 | function ls1(pattern, callback) { 76 | async.glob(pattern) 77 | .get("path") 78 | .print() 79 | .end(callback) 80 | } 81 | 82 | // TODO command line parser 83 | ls(process.argv[2] || ".", {all: false, long: true}) -------------------------------------------------------------------------------- /Resources/node_modules/github/support/async/lib/asyncjs/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * async.js 3 | * Copyright(c) 2010 Fabian Jakobs 4 | * MIT Licensed 5 | */ 6 | 7 | module.exports = require("./async") 8 | 9 | require("./plugins/utils") 10 | require("./plugins/shortcuts") 11 | require("./plugins/fs-node") -------------------------------------------------------------------------------- /Resources/node_modules/github/support/async/lib/asyncjs/plugins/shortcuts.js: -------------------------------------------------------------------------------- 1 | var async = require("../async") 2 | 3 | async.plugin({}, { 4 | forEach: function(list, eachFn, callback) { 5 | async.list(list).each(eachFn).end(callback) 6 | }, 7 | 8 | map: function(list, mapper, callback) { 9 | async.list(list).map(mapper).toArray(callback) 10 | }, 11 | 12 | chain: function(funcs, context) { 13 | async.list(funcs.slice(0, -1)).call(context).end(funcs[funcs.length-1]) 14 | } 15 | }) -------------------------------------------------------------------------------- /Resources/node_modules/github/support/async/lib/asyncjs/plugins/utils.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * async.js 3 | * Copyright(c) 2010 Fabian Jakobs 4 | * MIT Licensed 5 | */ 6 | 7 | var async = require("../async") 8 | 9 | async.plugin({ 10 | delay: function(delay) { 11 | return this.each(function(item, next) { 12 | setTimeout(next, delay) 13 | }) 14 | }, 15 | 16 | timeout: function(timeout) { 17 | timeout = timeout || 0 18 | var source = this.source 19 | 20 | this.next = function(callback) { 21 | var called 22 | var id = setTimeout(function() { 23 | called = true 24 | callback("Source did not respond after " + timeout + "ms!") 25 | }, timeout) 26 | 27 | source.next(function(err, value) { 28 | if (called) 29 | return 30 | 31 | called = true 32 | clearTimeout(id) 33 | 34 | callback(err, value) 35 | }) 36 | } 37 | return new this.constructor(this) 38 | }, 39 | 40 | get: function(key) { 41 | return this.map(function(value, next) { 42 | next(null, value[key]) 43 | }) 44 | }, 45 | 46 | inspect: function() { 47 | return this.each(function(item, next) { 48 | console.log(JSON.stringify(item)) 49 | next() 50 | }) 51 | }, 52 | 53 | print: function() { 54 | return this.each(function(item, next) { 55 | console.log(item) 56 | next() 57 | }) 58 | } 59 | }) 60 | 61 | 62 | -------------------------------------------------------------------------------- /Resources/node_modules/github/support/async/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "asyncjs", 3 | "description": "async.js it for the node fs module, what jQuery is for the DOM", 4 | "version": "0.0.4", 5 | "homepage" : "http://github.com/fjakobs/async.js", 6 | "engines": {"node": ">= 0.2.0"}, 7 | "author": "Fabian Jakobs ", 8 | "scripts": { "test": "node test/all.js" }, 9 | "directories": { 10 | "lib": "lib/async" 11 | }, 12 | "repository" : { 13 | "type" : "git", 14 | "url" : "http://github.com/fjakobs/async.js.git" 15 | }, 16 | "licenses": [{ 17 | "type": "The MIT License", 18 | "url": "http://www.opensource.org/licenses/mit-license.php"} 19 | ] 20 | } -------------------------------------------------------------------------------- /Resources/node_modules/github/support/async/test/all.js: -------------------------------------------------------------------------------- 1 | var async = require("../lib/async") 2 | 3 | async.concat( 4 | require("./async.test"), 5 | require("./fs.test") 6 | ).exec() 7 | -------------------------------------------------------------------------------- /Resources/node_modules/github/support/async/test/assets/1.txt: -------------------------------------------------------------------------------- 1 | 1 -------------------------------------------------------------------------------- /Resources/node_modules/github/support/async/test/assets/11.txt: -------------------------------------------------------------------------------- 1 | 11 -------------------------------------------------------------------------------- /Resources/node_modules/github/support/async/test/assets/2.txt: -------------------------------------------------------------------------------- 1 | 2 -------------------------------------------------------------------------------- /Resources/node_modules/github/support/async/test/assets/3.txt: -------------------------------------------------------------------------------- 1 | 3 -------------------------------------------------------------------------------- /Resources/node_modules/github/support/async/test/assets/dir1/1.txt: -------------------------------------------------------------------------------- 1 | 1 -------------------------------------------------------------------------------- /Resources/node_modules/github/support/async/test/assets/dir11/11.txt: -------------------------------------------------------------------------------- 1 | 11 -------------------------------------------------------------------------------- /Resources/node_modules/github/support/async/test/assets/dir2/2.txt: -------------------------------------------------------------------------------- 1 | 2 -------------------------------------------------------------------------------- /Resources/node_modules/github/support/async/test/assets/nonemptydir/4.txt: -------------------------------------------------------------------------------- 1 | 4 -------------------------------------------------------------------------------- /Resources/node_modules/github/support/async/test/assets/walk/1.txt: -------------------------------------------------------------------------------- 1 | 1 -------------------------------------------------------------------------------- /Resources/node_modules/github/support/async/test/assets/walk/dir1/1.txt: -------------------------------------------------------------------------------- 1 | 1 -------------------------------------------------------------------------------- /Resources/node_modules/github/support/async/test/assets/walk/dir2/2.txt: -------------------------------------------------------------------------------- 1 | 2 -------------------------------------------------------------------------------- /Resources/node_modules/github/support/async/test/assets/walk/dir2/dir22/22.txt: -------------------------------------------------------------------------------- 1 | 22 -------------------------------------------------------------------------------- /Resources/node_modules/github/support/oauth/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Run all tests 3 | # 4 | test: 5 | @@vows tests/* --spec 6 | 7 | .PHONY: test install -------------------------------------------------------------------------------- /Resources/node_modules/github/support/oauth/Readme.md: -------------------------------------------------------------------------------- 1 | node-oauth 2 | =========== 3 | A simple oauth API for node.js . This API allows users to authenticate against OAUTH providers, and thus act as OAuth consumers 4 | 5 | Tested against both Twitter (http://twitter.com), term.ie (http://term.ie/oauth/example/) and Yahoo! 6 | 7 | Also provides rudimentary OAuth2 support, tested against facebook connect and github. For more complete usage examples please take a look 8 | at connect-auth (http://github.com/ciaranj/connect-auth) 9 | 10 | If you're running a node.js version more recent than 0.4 then you will need to use a version of node.js greater than or equal to 0.9.0. 11 | If you're running a node.js version in the 0.2x stable branc, then you will need to use version 0.8.4. 12 | 13 | Please be aware that when moving from 0.8.x to 0.9.0 there are no major API changes your, I've bumped the semi-major version element 14 | so that I can release fixes to the 0.8.x stream if problems come out. 15 | 16 | Change History 17 | ============== 18 | * 0.9.0 - Compatibility fixes to bring node-oauth up to speed with node.js 0.4x [thanks to Rasmus Andersson for starting the work ] 19 | * 0.8.4 - Fixed issue #14 (Parameter ordering ignored encodings). Added support for repeated parameter names. Implements issue #15 (Use native SHA1 if available, 10x speed improvement!). Fixed issue #16 (Should use POST when requesting access tokens.). Fixed Issue #17 (OAuth2 spec compliance). Implemented enhancement #13 (Adds support for PUT & DELETE http verbs). Fixes issue #18 (Complex/Composite url arguments [thanks novemberborn]) 20 | * 0.8.3 - Fixed an issue where the auth header code depended on the Array's toString method (Yohei Sasaki) Updated the getOAuthRequestToken method so we can access google's OAuth secured methods. Also re-implemented and fleshed out the test suite. 21 | * 0.8.2 - The request returning methods will now write the POST body if provided (Chris Anderson), the code responsible for manipulating the headers is a bit safe now when working with other code (Paul McKellar) and tweaked the package.json to use index.js instead of main.js 22 | * 0.8.1 - Added mechanism to get hold of a signed Node Request object, ready for attaching response listeners etc. (Perfect for streaming APIs) 23 | * 0.8.0 - Standardised method capitalisation, the old getOauthAccessToken is now getOAuthAccessToken (Breaking change to existing code) 24 | * 0.7.7 - Looks like non oauth_ parameters where appearing within the Authorization headers, which I believe to be inccorrect. 25 | * 0.7.6 - Added in oauth_verifier property to getAccessToken required for 1.0A 26 | * 0.7.5 - Added in a main.js to simplify the require'ing of OAuth 27 | * 0.7.4 - Minor change to add an error listener to the OAuth client (thanks troyk) 28 | * 0.7.3 - OAuth 2 now sends a Content-Length Http header to keep nginx happy :) 29 | * 0.7.2 - Fixes some broken unit tests! 30 | * 0.7.0 - Introduces support for HTTPS end points and callback URLS for OAuth 1.0A and Oauth 2 (Please be aware that this was a breaking change to the constructor arguments order) 31 | 32 | Contributors 33 | ============ 34 | 35 | * Ciaran Jessup - ciaranj@gmail.com 36 | * Mark Wubben - http://equalmedia.com/ 37 | -------------------------------------------------------------------------------- /Resources/node_modules/github/support/oauth/debian/changelog: -------------------------------------------------------------------------------- 1 | nodejs-oauth (0.8.2-0sg4) UNRELEASED; urgency=low 2 | 3 | * UNRELEASED 4 | 5 | -- SimpleGeo Nerds Mon, 15 Nov 2010 19:30:19 +0000 6 | 7 | nodejs-oauth (0.8.2-0sg2) UNRELEASED; urgency=low 8 | 9 | [ Wade Simmons ] 10 | * update copyright 11 | 12 | [ SimpleGeo Nerds ] 13 | 14 | -- SimpleGeo Nerds Thu, 14 Oct 2010 17:51:51 +0000 15 | 16 | nodejs-oauth (0.8.2-0sg1) UNRELEASED; urgency=low 17 | 18 | * UNRELEASED 19 | 20 | -- SimpleGeo Nerds Wed, 13 Oct 2010 23:19:29 +0000 21 | 22 | nodejs-oauth (0.8.2-0sg0) unstable; urgency=low 23 | 24 | * Debianized 25 | 26 | -- Wade Simmons Wed, 13 Oct 2010 17:08:18 -0600 27 | -------------------------------------------------------------------------------- /Resources/node_modules/github/support/oauth/debian/compat: -------------------------------------------------------------------------------- 1 | 5 2 | -------------------------------------------------------------------------------- /Resources/node_modules/github/support/oauth/debian/control: -------------------------------------------------------------------------------- 1 | Source: nodejs-oauth 2 | Section: misc 3 | Priority: extra 4 | Uploaders: Wade Simmons 5 | Maintainer: SimpleGeo Nerds 6 | build-Depends: cdbs, debhelper (>= 7) 7 | Standards-Version: 3.9.1 8 | 9 | Package: nodejs-oauth 10 | Depends: nodejs (>= 0.2.3), ${misc:Depends} 11 | Architecture: all 12 | Description: node-oauth 13 | http://github.com/ciaranj/node-oauth 14 | -------------------------------------------------------------------------------- /Resources/node_modules/github/support/oauth/debian/copyright: -------------------------------------------------------------------------------- 1 | This package was debianised by Wade Simmons 2 | 3 | The upstream repo is: 4 | http://github.com/ciaranj/node-oauth 5 | MIT license 6 | 7 | The Debian packaging is 8 | Copyright 2010, SimpleGeo, Inc. 9 | MIT license 10 | -------------------------------------------------------------------------------- /Resources/node_modules/github/support/oauth/debian/dirs: -------------------------------------------------------------------------------- 1 | usr/lib/nodejs/oauth 2 | -------------------------------------------------------------------------------- /Resources/node_modules/github/support/oauth/debian/install: -------------------------------------------------------------------------------- 1 | index.js usr/lib/nodejs/oauth 2 | lib usr/lib/nodejs/oauth 3 | -------------------------------------------------------------------------------- /Resources/node_modules/github/support/oauth/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | include /usr/share/cdbs/1/rules/debhelper.mk 4 | -------------------------------------------------------------------------------- /Resources/node_modules/github/support/oauth/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /Resources/node_modules/github/support/oauth/examples/term.ie.oauth-HMAC-SHA1.js: -------------------------------------------------------------------------------- 1 | var sys= require('sys') 2 | 3 | var OAuth= require('../lib/oauth').OAuth; 4 | 5 | var oa= new OAuth("http://term.ie/oauth/example/request_token.php", 6 | "http://term.ie/oauth/example/access_token.php", 7 | "key", 8 | "secret", 9 | "1.0", 10 | null, 11 | "HMAC-SHA1") 12 | 13 | oa.getOAuthRequestToken(function(error, oauth_token, oauth_token_secret, results){ 14 | if(error) sys.puts('error :' + error) 15 | else { 16 | sys.puts('oauth_token :' + oauth_token) 17 | sys.puts('oauth_token_secret :' + oauth_token_secret) 18 | sys.puts('requestoken results :' + sys.inspect(results)) 19 | sys.puts("Requesting access token") 20 | oa.getOAuthAccessToken(oauth_token, oauth_token_secret, function(error, oauth_access_token, oauth_access_token_secret, results2) { 21 | sys.puts('oauth_access_token :' + oauth_access_token) 22 | sys.puts('oauth_token_secret :' + oauth_access_token_secret) 23 | sys.puts('accesstoken results :' + sys.inspect(results2)) 24 | sys.puts("Requesting access token") 25 | var data= ""; 26 | oa.getProtectedResource("http://term.ie/oauth/example/echo_api.php?foo=bar&too=roo", "GET", oauth_access_token, oauth_access_token_secret, function (error, data, response) { 27 | sys.puts(data); 28 | }); 29 | }); 30 | } 31 | }) -------------------------------------------------------------------------------- /Resources/node_modules/github/support/oauth/examples/term.ie.oauth-PLAINTEXT.js: -------------------------------------------------------------------------------- 1 | var sys= require('sys') 2 | 3 | var OAuth= require('../lib/oauth').OAuth; 4 | 5 | var oa = new OAuth("http://term.ie/oauth/example/request_token.php?foo=bar", 6 | "http://term.ie/oauth/example/access_token.php", 7 | "key", 8 | "secret", 9 | "1.0", 10 | null, 11 | "PLAINTEXT") 12 | 13 | oa.getOAuthRequestToken(function(error, oauth_token, oauth_token_secret, results){ 14 | if (error) return console.log('error :' + error) 15 | console.log('oauth_token :' + oauth_token) 16 | console.log('oauth_token_secret :' + oauth_token_secret) 17 | console.log('requestoken results :', results) 18 | console.log("Requesting access token") 19 | oa.getOAuthAccessToken(oauth_token, oauth_token_secret, 20 | function(error, oauth_access_token, 21 | oauth_access_token_secret, results2) { 22 | console.log('oauth_access_token :' + oauth_access_token) 23 | console.log('oauth_token_secret :' + oauth_access_token_secret) 24 | console.log('accesstoken results :', results2) 25 | console.log("Requesting access token") 26 | var data= ""; 27 | oa.getProtectedResource( 28 | "http://term.ie/oauth/example/echo_api.php?foo=bar&too=roo", "GET", 29 | oauth_access_token, oauth_access_token_secret, 30 | function (error, data, response) { 31 | console.log(data); 32 | }); 33 | }); 34 | }) -------------------------------------------------------------------------------- /Resources/node_modules/github/support/oauth/index.js: -------------------------------------------------------------------------------- 1 | exports.OAuth = require("./lib/oauth").OAuth; 2 | exports.OAuth2 = require("./lib/oauth2").OAuth2; -------------------------------------------------------------------------------- /Resources/node_modules/github/support/oauth/package.json: -------------------------------------------------------------------------------- 1 | { "name" : "oauth" 2 | , "description" : "Library for interacting with OAuth 1.0, 1.0A and 2. Provides simplified client access and allows for construction of more complex apis and OAuth providers." 3 | , "version" : "0.8.4" 4 | , "directories" : { "lib" : "./lib" } 5 | , "main" : "index.js" 6 | , "author" : "Ciaran Jessup " 7 | , "repository" : { "type":"git", "url":"http://github.com/ciaranj/node-oauth.git" } 8 | } 9 | -------------------------------------------------------------------------------- /Resources/node_modules/github/support/oauth/tests/oauth2.js: -------------------------------------------------------------------------------- 1 | var vows = require('vows'), 2 | assert = require('assert'), 3 | OAuth2= require('../lib/oauth2').OAuth2; 4 | 5 | vows.describe('OAuth2').addBatch({ 6 | 'When handling the access token response': { 7 | topic: new OAuth2(), 8 | 'we should correctly extract the token if received as form-data': function (oa) { 9 | oa._request= function( method, url, fo, bar, callback) { 10 | callback(null, "access_token=access&refresh_token=refresh"); 11 | }; 12 | oa.getOAuthAccessToken("", {}, function(error, access_token, refresh_token) { 13 | assert.equal( access_token, "access"); 14 | assert.equal( refresh_token, "refresh"); 15 | }); 16 | }, 17 | 'we should correctly extract the token if received as a JSON literal': function (oa) { 18 | oa._request= function( method, url, fo, bar, callback) { 19 | callback(null, '{"access_token":"access","refresh_token":"refresh"}'); 20 | }; 21 | oa.getOAuthAccessToken("", {}, function(error, access_token, refresh_token) { 22 | assert.equal( access_token, "access"); 23 | assert.equal( refresh_token, "refresh"); 24 | }); 25 | } 26 | } 27 | }).export(module); -------------------------------------------------------------------------------- /Resources/node_modules/github/support/oauth/tests/sha1.js: -------------------------------------------------------------------------------- 1 | var vows = require('vows'), 2 | assert = require('assert'); 3 | 4 | vows.describe('SHA1 Hashing').addBatch({ 5 | 'When using the SHA1 Hashing function': { 6 | topic: require('../lib/sha1'), 7 | 'we get the specified digest as described in http://oauth.net/core/1.0/#sig_base_example (A.5.2)': function (sha1) { 8 | assert.equal (sha1.HMACSHA1( "kd94hf93k423kf44&pfkkdhi9sl3r4s00", 9 | "GET&http%3A%2F%2Fphotos.example.net%2Fphotos&file%3Dvacation.jpg%26oauth_consumer_key%3Ddpf43f3p2l4k3l03%26oauth_nonce%3Dkllo9940pd9333jh%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1191242096%26oauth_token%3Dnnch734d00sl2jdk%26oauth_version%3D1.0%26size%3Doriginal"), 10 | "tR3+Ty81lMeYAr/Fid0kMTYa/WM="); 11 | } 12 | } 13 | }).export(module); -------------------------------------------------------------------------------- /Resources/node_modules/github/support/paths.js: -------------------------------------------------------------------------------- 1 | require.paths.unshift(__dirname + "/../lib"); 2 | require.paths.unshift(__dirname + "/async/lib"); 3 | require.paths.unshift(__dirname + "/oauth/lib"); 4 | -------------------------------------------------------------------------------- /Resources/node_modules/github/vendor/node-async-testing/examples/test-readme.js: -------------------------------------------------------------------------------- 1 | var TestSuite = require('../async_testing').TestSuite; 2 | 3 | exports['README examples suite'] = (new TestSuite()) 4 | .setup(function(callback) { 5 | this.foo = 'bar'; 6 | process.nextTick(function() { 7 | callback(); 8 | }); 9 | }) 10 | .teardown(function(callback) { 11 | this.foo = null; 12 | 13 | process.nextTick(function() { 14 | callback(); 15 | }); 16 | }) 17 | .addTests({ 18 | "simple asynchronous": function(assert, finished) { 19 | setTimeout(function() { 20 | assert.ok(true); 21 | finished(); 22 | },50); 23 | }, 24 | "simple synchronous": function(assert) { 25 | assert.ok(true); 26 | }, 27 | "synchronous foo equal bar": function(assert) { 28 | assert.equal('bar', this.foo); 29 | }, 30 | "asynchronous foo equal bar": function(assert, finished, test) { 31 | process.nextTick(function() { 32 | assert.equal('bar', test.foo); 33 | finished(); 34 | }); 35 | }, 36 | "assertions expected (fails)": function(assert) { 37 | this.numAssertionsExpected = 3; 38 | 39 | assert.ok(true); 40 | // this test will fail! 41 | }, 42 | "uncaughtException listener": function(assert, finished, test) { 43 | test.numAssertionsExpected = 1; 44 | test.addListener('uncaughtException', function(err) { 45 | assert.equal('hello', err.message); 46 | finished(); 47 | }); 48 | 49 | throw new Error('hello'); 50 | } 51 | }); 52 | 53 | if (module === require.main) { 54 | require('../async_testing').runSuites(exports); 55 | } 56 | -------------------------------------------------------------------------------- /Resources/node_modules/github/vendor/node-async-testing/examples/test-suites.js: -------------------------------------------------------------------------------- 1 | var sys = require('sys'); 2 | var TestSuite = require('../async_testing').TestSuite; 3 | 4 | exports['First Suite'] = new TestSuite() 5 | .addTests({ 6 | "this does something": function(assert) { 7 | assert.ok(true); 8 | }, 9 | "this doesn't fail": function(assert, finished) { 10 | assert.ok(true); 11 | setTimeout(function() { 12 | assert.ok(true); 13 | finished(); 14 | }, 300); 15 | }, 16 | "this does something else": function(assert) { 17 | assert.ok(true); 18 | assert.ok(true); 19 | }, 20 | }); 21 | 22 | exports['Second Suite'] = new TestSuite() 23 | .addTests({ 24 | "this does something": function(assert) { 25 | assert.ok(true); 26 | }, 27 | "this fails": function(assert, finished) { 28 | setTimeout(function() { 29 | assert.ok(false); 30 | finished(); 31 | }, 300); 32 | }, 33 | "this does something else": function(assert) { 34 | assert.ok(true); 35 | assert.ok(true); 36 | }, 37 | "this errors": function() { 38 | throw new Error(); 39 | }, 40 | "this errors asynchronously": function(assert, finished) { 41 | process.nextTick(function() { 42 | throw new Error(); 43 | finished(); 44 | }); 45 | }, 46 | "more": function(assert) { 47 | assert.ok(true); 48 | }, 49 | "throws": function(assert) { 50 | assert.throws(function() { 51 | throw new Error(); 52 | }); 53 | }, 54 | "expected assertions": function(assert) { 55 | this.numAssertionsExpected = 1; 56 | assert.throws(function() { 57 | throw new Error(); 58 | }); 59 | }, 60 | }); 61 | 62 | exports['Setup Suite'] = (new TestSuite()) 63 | .setup(function() { 64 | this.foo = 'bar'; 65 | }) 66 | .addTests({ 67 | "foo equals bar": function(assert, finished, test) { 68 | assert.equal('bar', this.foo); 69 | assert.equal('bar', test.foo); 70 | finished(); 71 | } 72 | }); 73 | 74 | var count = 0; 75 | exports['Wait Suite'] = new TestSuite(); 76 | exports['Wait Suite'].addTests({ 77 | "count equal 0": function(assert, finished) { 78 | assert.equal(0, count); 79 | setTimeout(function() { 80 | count++; 81 | finished(); 82 | }, 300); 83 | }, 84 | "count equal 1": function(assert) { 85 | assert.equal(1, count); 86 | } 87 | }); 88 | 89 | if (module === require.main) { 90 | require('../async_testing').runSuites(exports); 91 | } 92 | -------------------------------------------------------------------------------- /Resources/node_modules/github/vendor/node-async-testing/node-async-test: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env node 2 | 3 | var asyncTesting = require('./async_testing'), 4 | path = require('path'); 5 | 6 | if( process.ARGV.length < 3 ) { 7 | var paths = [process.cwd()]; 8 | } 9 | else { 10 | var paths = []; 11 | process.ARGV.slice(2).forEach(function(dir) { 12 | if( dir.charAt(0) === '/' ) { 13 | paths.push(dir); 14 | } 15 | else { 16 | paths.push(path.join(process.cwd(),dir)); 17 | } 18 | }); 19 | } 20 | 21 | asyncTesting.runSuitesInPaths(paths); 22 | -------------------------------------------------------------------------------- /Resources/node_modules/github/vendor/node-async-testing/todo.txt: -------------------------------------------------------------------------------- 1 | exit status codes 2 | run specific suites 3 | run specific tests 4 | run all at once, errors be damned. 5 | try and give a hint as to which errors exited? by paying attention to which ones don't finish 6 | -------------------------------------------------------------------------------- /Resources/node_modules/github/vendor/node-oauth/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Run all tests 3 | # 4 | test: 5 | @@vows tests/* --spec 6 | 7 | .PHONY: test install -------------------------------------------------------------------------------- /Resources/node_modules/github/vendor/node-oauth/Readme.md: -------------------------------------------------------------------------------- 1 | node-oauth 2 | =========== 3 | A simple oauth API for node.js . This API allows users to authenticate against OAUTH providers, and thus act as OAuth consumers 4 | 5 | Tested against both Twitter (http://twitter.com), term.ie (http://term.ie/oauth/example/) and Yahoo! 6 | 7 | Also provides rudimentary OAuth2 support, tested against facebook connect and github. For more complete usage examples please take a look 8 | at connect-auth (http://github.com/ciaranj/connect-auth) 9 | 10 | If you're running a node.js version more recent than 0.4 then you will need to use a version of node.js greater than or equal to 0.9.0. 11 | If you're running a node.js version in the 0.2x stable branc, then you will need to use version 0.8.4. 12 | 13 | Please be aware that when moving from 0.8.x to 0.9.0 there are no major API changes your, I've bumped the semi-major version element 14 | so that I can release fixes to the 0.8.x stream if problems come out. 15 | 16 | Change History 17 | ============== 18 | * 0.9.0 - Compatibility fixes to bring node-oauth up to speed with node.js 0.4x [thanks to Rasmus Andersson for starting the work ] 19 | * 0.8.4 - Fixed issue #14 (Parameter ordering ignored encodings). Added support for repeated parameter names. Implements issue #15 (Use native SHA1 if available, 10x speed improvement!). Fixed issue #16 (Should use POST when requesting access tokens.). Fixed Issue #17 (OAuth2 spec compliance). Implemented enhancement #13 (Adds support for PUT & DELETE http verbs). Fixes issue #18 (Complex/Composite url arguments [thanks novemberborn]) 20 | * 0.8.3 - Fixed an issue where the auth header code depended on the Array's toString method (Yohei Sasaki) Updated the getOAuthRequestToken method so we can access google's OAuth secured methods. Also re-implemented and fleshed out the test suite. 21 | * 0.8.2 - The request returning methods will now write the POST body if provided (Chris Anderson), the code responsible for manipulating the headers is a bit safe now when working with other code (Paul McKellar) and tweaked the package.json to use index.js instead of main.js 22 | * 0.8.1 - Added mechanism to get hold of a signed Node Request object, ready for attaching response listeners etc. (Perfect for streaming APIs) 23 | * 0.8.0 - Standardised method capitalisation, the old getOauthAccessToken is now getOAuthAccessToken (Breaking change to existing code) 24 | * 0.7.7 - Looks like non oauth_ parameters where appearing within the Authorization headers, which I believe to be inccorrect. 25 | * 0.7.6 - Added in oauth_verifier property to getAccessToken required for 1.0A 26 | * 0.7.5 - Added in a main.js to simplify the require'ing of OAuth 27 | * 0.7.4 - Minor change to add an error listener to the OAuth client (thanks troyk) 28 | * 0.7.3 - OAuth 2 now sends a Content-Length Http header to keep nginx happy :) 29 | * 0.7.2 - Fixes some broken unit tests! 30 | * 0.7.0 - Introduces support for HTTPS end points and callback URLS for OAuth 1.0A and Oauth 2 (Please be aware that this was a breaking change to the constructor arguments order) 31 | 32 | Contributors 33 | ============ 34 | 35 | * Ciaran Jessup - ciaranj@gmail.com 36 | * Mark Wubben - http://equalmedia.com/ 37 | -------------------------------------------------------------------------------- /Resources/node_modules/github/vendor/node-oauth/debian/changelog: -------------------------------------------------------------------------------- 1 | nodejs-oauth (0.8.2-0sg4) UNRELEASED; urgency=low 2 | 3 | * UNRELEASED 4 | 5 | -- SimpleGeo Nerds Mon, 15 Nov 2010 19:30:19 +0000 6 | 7 | nodejs-oauth (0.8.2-0sg2) UNRELEASED; urgency=low 8 | 9 | [ Wade Simmons ] 10 | * update copyright 11 | 12 | [ SimpleGeo Nerds ] 13 | 14 | -- SimpleGeo Nerds Thu, 14 Oct 2010 17:51:51 +0000 15 | 16 | nodejs-oauth (0.8.2-0sg1) UNRELEASED; urgency=low 17 | 18 | * UNRELEASED 19 | 20 | -- SimpleGeo Nerds Wed, 13 Oct 2010 23:19:29 +0000 21 | 22 | nodejs-oauth (0.8.2-0sg0) unstable; urgency=low 23 | 24 | * Debianized 25 | 26 | -- Wade Simmons Wed, 13 Oct 2010 17:08:18 -0600 27 | -------------------------------------------------------------------------------- /Resources/node_modules/github/vendor/node-oauth/debian/compat: -------------------------------------------------------------------------------- 1 | 5 2 | -------------------------------------------------------------------------------- /Resources/node_modules/github/vendor/node-oauth/debian/control: -------------------------------------------------------------------------------- 1 | Source: nodejs-oauth 2 | Section: misc 3 | Priority: extra 4 | Uploaders: Wade Simmons 5 | Maintainer: SimpleGeo Nerds 6 | build-Depends: cdbs, debhelper (>= 7) 7 | Standards-Version: 3.9.1 8 | 9 | Package: nodejs-oauth 10 | Depends: nodejs (>= 0.2.3), ${misc:Depends} 11 | Architecture: all 12 | Description: node-oauth 13 | http://github.com/ciaranj/node-oauth 14 | -------------------------------------------------------------------------------- /Resources/node_modules/github/vendor/node-oauth/debian/copyright: -------------------------------------------------------------------------------- 1 | This package was debianised by Wade Simmons 2 | 3 | The upstream repo is: 4 | http://github.com/ciaranj/node-oauth 5 | MIT license 6 | 7 | The Debian packaging is 8 | Copyright 2010, SimpleGeo, Inc. 9 | MIT license 10 | -------------------------------------------------------------------------------- /Resources/node_modules/github/vendor/node-oauth/debian/dirs: -------------------------------------------------------------------------------- 1 | usr/lib/nodejs/oauth 2 | -------------------------------------------------------------------------------- /Resources/node_modules/github/vendor/node-oauth/debian/install: -------------------------------------------------------------------------------- 1 | index.js usr/lib/nodejs/oauth 2 | lib usr/lib/nodejs/oauth 3 | -------------------------------------------------------------------------------- /Resources/node_modules/github/vendor/node-oauth/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | include /usr/share/cdbs/1/rules/debhelper.mk 4 | -------------------------------------------------------------------------------- /Resources/node_modules/github/vendor/node-oauth/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /Resources/node_modules/github/vendor/node-oauth/examples/term.ie.oauth-HMAC-SHA1.js: -------------------------------------------------------------------------------- 1 | var sys= require('sys') 2 | 3 | var OAuth= require('../lib/oauth').OAuth; 4 | 5 | var oa= new OAuth("http://term.ie/oauth/example/request_token.php", 6 | "http://term.ie/oauth/example/access_token.php", 7 | "key", 8 | "secret", 9 | "1.0", 10 | null, 11 | "HMAC-SHA1") 12 | 13 | oa.getOAuthRequestToken(function(error, oauth_token, oauth_token_secret, results){ 14 | if(error) sys.puts('error :' + error) 15 | else { 16 | sys.puts('oauth_token :' + oauth_token) 17 | sys.puts('oauth_token_secret :' + oauth_token_secret) 18 | sys.puts('requestoken results :' + sys.inspect(results)) 19 | sys.puts("Requesting access token") 20 | oa.getOAuthAccessToken(oauth_token, oauth_token_secret, function(error, oauth_access_token, oauth_access_token_secret, results2) { 21 | sys.puts('oauth_access_token :' + oauth_access_token) 22 | sys.puts('oauth_token_secret :' + oauth_access_token_secret) 23 | sys.puts('accesstoken results :' + sys.inspect(results2)) 24 | sys.puts("Requesting access token") 25 | var data= ""; 26 | oa.getProtectedResource("http://term.ie/oauth/example/echo_api.php?foo=bar&too=roo", "GET", oauth_access_token, oauth_access_token_secret, function (error, data, response) { 27 | sys.puts(data); 28 | }); 29 | }); 30 | } 31 | }) -------------------------------------------------------------------------------- /Resources/node_modules/github/vendor/node-oauth/examples/term.ie.oauth-PLAINTEXT.js: -------------------------------------------------------------------------------- 1 | var sys= require('sys') 2 | 3 | var OAuth= require('../lib/oauth').OAuth; 4 | 5 | var oa = new OAuth("http://term.ie/oauth/example/request_token.php?foo=bar", 6 | "http://term.ie/oauth/example/access_token.php", 7 | "key", 8 | "secret", 9 | "1.0", 10 | null, 11 | "PLAINTEXT") 12 | 13 | oa.getOAuthRequestToken(function(error, oauth_token, oauth_token_secret, results){ 14 | if (error) return console.log('error :' + error) 15 | console.log('oauth_token :' + oauth_token) 16 | console.log('oauth_token_secret :' + oauth_token_secret) 17 | console.log('requestoken results :', results) 18 | console.log("Requesting access token") 19 | oa.getOAuthAccessToken(oauth_token, oauth_token_secret, 20 | function(error, oauth_access_token, 21 | oauth_access_token_secret, results2) { 22 | console.log('oauth_access_token :' + oauth_access_token) 23 | console.log('oauth_token_secret :' + oauth_access_token_secret) 24 | console.log('accesstoken results :', results2) 25 | console.log("Requesting access token") 26 | var data= ""; 27 | oa.getProtectedResource( 28 | "http://term.ie/oauth/example/echo_api.php?foo=bar&too=roo", "GET", 29 | oauth_access_token, oauth_access_token_secret, 30 | function (error, data, response) { 31 | console.log(data); 32 | }); 33 | }); 34 | }) -------------------------------------------------------------------------------- /Resources/node_modules/github/vendor/node-oauth/index.js: -------------------------------------------------------------------------------- 1 | exports.OAuth = require("./lib/oauth").OAuth; 2 | exports.OAuth2 = require("./lib/oauth2").OAuth2; -------------------------------------------------------------------------------- /Resources/node_modules/github/vendor/node-oauth/package.json: -------------------------------------------------------------------------------- 1 | { "name" : "oauth" 2 | , "description" : "Library for interacting with OAuth 1.0, 1.0A and 2. Provides simplified client access and allows for construction of more complex apis and OAuth providers." 3 | , "version" : "0.8.4" 4 | , "directories" : { "lib" : "./lib" } 5 | , "main" : "index.js" 6 | , "author" : "Ciaran Jessup " 7 | , "repository" : { "type":"git", "url":"http://github.com/ciaranj/node-oauth.git" } 8 | } 9 | -------------------------------------------------------------------------------- /Resources/node_modules/github/vendor/node-oauth/tests/oauth2.js: -------------------------------------------------------------------------------- 1 | var vows = require('vows'), 2 | assert = require('assert'), 3 | OAuth2= require('../lib/oauth2').OAuth2; 4 | 5 | vows.describe('OAuth2').addBatch({ 6 | 'When handling the access token response': { 7 | topic: new OAuth2(), 8 | 'we should correctly extract the token if received as form-data': function (oa) { 9 | oa._request= function( method, url, fo, bar, callback) { 10 | callback(null, "access_token=access&refresh_token=refresh"); 11 | }; 12 | oa.getOAuthAccessToken("", {}, function(error, access_token, refresh_token) { 13 | assert.equal( access_token, "access"); 14 | assert.equal( refresh_token, "refresh"); 15 | }); 16 | }, 17 | 'we should correctly extract the token if received as a JSON literal': function (oa) { 18 | oa._request= function( method, url, fo, bar, callback) { 19 | callback(null, '{"access_token":"access","refresh_token":"refresh"}'); 20 | }; 21 | oa.getOAuthAccessToken("", {}, function(error, access_token, refresh_token) { 22 | assert.equal( access_token, "access"); 23 | assert.equal( refresh_token, "refresh"); 24 | }); 25 | } 26 | } 27 | }).export(module); -------------------------------------------------------------------------------- /Resources/node_modules/github/vendor/node-oauth/tests/sha1.js: -------------------------------------------------------------------------------- 1 | var vows = require('vows'), 2 | assert = require('assert'); 3 | 4 | vows.describe('SHA1 Hashing').addBatch({ 5 | 'When using the SHA1 Hashing function': { 6 | topic: require('../lib/sha1'), 7 | 'we get the specified digest as described in http://oauth.net/core/1.0/#sig_base_example (A.5.2)': function (sha1) { 8 | assert.equal (sha1.HMACSHA1( "kd94hf93k423kf44&pfkkdhi9sl3r4s00", 9 | "GET&http%3A%2F%2Fphotos.example.net%2Fphotos&file%3Dvacation.jpg%26oauth_consumer_key%3Ddpf43f3p2l4k3l03%26oauth_nonce%3Dkllo9940pd9333jh%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1191242096%26oauth_token%3Dnnch734d00sl2jdk%26oauth_version%3D1.0%26size%3Doriginal"), 10 | "tR3+Ty81lMeYAr/Fid0kMTYa/WM="); 11 | } 12 | } 13 | }).export(module); -------------------------------------------------------------------------------- /Resources/nodejs/LICENSE: -------------------------------------------------------------------------------- 1 | Node's license follows: 2 | 3 | ==== 4 | 5 | Copyright Joyent, Inc. and other Node contributors. All rights reserved. 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to 8 | deal in the Software without restriction, including without limitation the 9 | rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 10 | sell copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 22 | IN THE SOFTWARE. 23 | 24 | ==== 25 | 26 | This license applies to all parts of Node that are not externally 27 | maintained libraries. 28 | 29 | The externally maintained libraries used by Node are: 30 | 31 | - v8, located at deps/v8. v8 is copyright Google, Inc, and released 32 | under a BSD license. 33 | 34 | - libev, located at deps/libev, and libeio, located at deps/libeio. libev 35 | and libeio are copyright Marc Alexander Lehmann, and dual-licensed 36 | under the MIT license and GPL2. 37 | 38 | - WAF build system, located at tools/waf. WAF is copyright Thomas Nagy, 39 | and released under the MIT license. 40 | 41 | - The SCONS build system, located at tools/scons. SCONS is copyright 42 | the SCONS Foundation and released under the MIT license. 43 | 44 | - C-Ares, an asynchronous DNS client, located at deps/c-ares. C-Ares is 45 | copyright the Massachusetts Institute of Technology, authored by 46 | Greg Hudson, Daniel Stenberg and others, and released under the MIT 47 | license. 48 | 49 | - Node, optionally, dynamically links to OpenSSL, cryptographic software 50 | written by Eric Young (eay@cryptsoft.com) to provide SSL/TLS encryption. 51 | OpenSSL is copyright The OpenSSL Project and released under the OpenSSL 52 | license. OpenSSL is not included in the Node distribution. 53 | See http://openssl.org/ for more information. 54 | 55 | - tools/doctool/markdown.js is copyright 2009-2010 Dominic Baggott and Ash 56 | Berli and released under the MIT license. 57 | 58 | - HTTP Parser, located at deps/http_parser, is a small C library 59 | copyright Ryan Lienhart Dahl and released under the MIT license. 60 | 61 | - src/platform_darwin_proctitle.cc, has code taken from the Chromium 62 | project copyright Google Inc. and released under a BSD license. 63 | 64 | - tools/closure_linter is copyright The Closure Linter Authors and 65 | Google Inc. and released under the Apache License, version 2.0. 66 | 67 | - tools/cpplint.py is copyright Google Inc. and released under a 68 | BSD license. 69 | 70 | - lib/buffer_ieee754.js is copyright 2008 Fair Oaks Labs, Inc. and released 71 | under the New BSD license. -------------------------------------------------------------------------------- /Resources/nodejs/builds/linux/node/bin/node: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appcelerator-archive/poc-nodejs-desktop/9eb08c8efd781646f1bca549b391b62ffa4cbf3c/Resources/nodejs/builds/linux/node/bin/node -------------------------------------------------------------------------------- /Resources/nodejs/builds/linux/node/bin/node-waf: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os, sys 3 | 4 | 5 | join = os.path.join 6 | bindir = os.path.dirname(os.path.realpath(__file__)) 7 | prefix = join(bindir, "..") 8 | wafdir = join(prefix, "lib", "node") 9 | 10 | w = join(wafdir, 'wafadmin') 11 | t = join(w, 'Tools') 12 | sys.path = [w, t] + sys.path 13 | 14 | import Scripting 15 | VERSION="1.5.16" 16 | Scripting.prepare(t, os.getcwd(), VERSION, wafdir) 17 | sys.exit(0) 18 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/linux/node/include/node/config.h: -------------------------------------------------------------------------------- 1 | /* Configuration header created by Waf - do not edit */ 2 | #ifndef _CONFIG_H_WAF 3 | #define _CONFIG_H_WAF 4 | 5 | #define HAVE_OPENSSL 1 6 | #define HAVE_PTHREAD_CREATE 1 7 | #define HAVE_PTHREAD_ATFORK 1 8 | #define HAVE_FUTIMES 1 9 | #define HAVE_READAHEAD 1 10 | #define HAVE_FDATASYNC 1 11 | #define HAVE_PREADWRITE 1 12 | #define HAVE_SENDFILE 1 13 | #define HAVE_SYNC_FILE_RANGE 1 14 | #define HAVE_SYS_INOTIFY_H 1 15 | #define HAVE_INOTIFY_INIT 1 16 | #define HAVE_SYS_EPOLL_H 1 17 | #define HAVE_EPOLL_CTL 1 18 | /* #undef HAVE_PORT_H */ 19 | #define HAVE_POLL_H 1 20 | #define HAVE_POLL 1 21 | /* #undef HAVE_SYS_EVENT_H */ 22 | #define HAVE_SYS_QUEUE_H 1 23 | /* #undef HAVE_KQUEUE */ 24 | #define HAVE_SYS_SELECT_H 1 25 | #define HAVE_SELECT 1 26 | #define HAVE_SYS_EVENTFD_H 1 27 | #define HAVE_EVENTFD 1 28 | #define HAVE_CLOCK_SYSCALL 1 29 | #define HAVE_CLOCK_GETTIME 1 30 | #define HAVE_NANOSLEEP 1 31 | #define HAVE_CEIL 1 32 | #define HAVE_CONFIG_H 1 33 | #endif /* _CONFIG_H_WAF */ 34 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/linux/node/include/node/node_config.h: -------------------------------------------------------------------------------- 1 | // Copyright Joyent, Inc. and other Node contributors. 2 | // 3 | // Permission is hereby granted, free of charge, to any person obtaining a 4 | // copy of this software and associated documentation files (the 5 | // "Software"), to deal in the Software without restriction, including 6 | // without limitation the rights to use, copy, modify, merge, publish, 7 | // distribute, sublicense, and/or sell copies of the Software, and to permit 8 | // persons to whom the Software is furnished to do so, subject to the 9 | // following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included 12 | // in all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 15 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 17 | // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 18 | // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 19 | // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 20 | // USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | 22 | #ifndef NODE_CONFIG_H 23 | #define NODE_CONFIG_H 24 | 25 | #define NODE_CFLAGS "-rdynamic -D_GNU_SOURCE -DHAVE_CONFIG_H=1 -pthread -m32 -g -O3 -DHAVE_OPENSSL=1 -DEV_FORK_ENABLE=0 -DEV_EMBED_ENABLE=0 -DEV_MULTIPLICITY=0 -DX_STACKSIZE=65536 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DEV_MULTIPLICITY=0 -DHAVE_FDATASYNC=1 -DPLATFORM=\"linux\" -D__POSIX__=1 -Wno-unused-parameter -D_FORTIFY_SOURCE=2 -I/home/chad/local/node/include/node" 26 | #define NODE_PREFIX "/home/chad/local/node" 27 | 28 | #endif /* NODE_CONFIG_H */ 29 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/linux/node/include/node/node_events.h: -------------------------------------------------------------------------------- 1 | // Copyright Joyent, Inc. and other Node contributors. 2 | // 3 | // Permission is hereby granted, free of charge, to any person obtaining a 4 | // copy of this software and associated documentation files (the 5 | // "Software"), to deal in the Software without restriction, including 6 | // without limitation the rights to use, copy, modify, merge, publish, 7 | // distribute, sublicense, and/or sell copies of the Software, and to permit 8 | // persons to whom the Software is furnished to do so, subject to the 9 | // following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included 12 | // in all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 15 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 17 | // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 18 | // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 19 | // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 20 | // USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | 22 | #ifndef SRC_EVENTS_H_ 23 | #define SRC_EVENTS_H_ 24 | 25 | #include 26 | #include 27 | 28 | namespace node { 29 | 30 | class EventEmitter : public ObjectWrap { 31 | public: 32 | static void Initialize(v8::Local ctemplate); 33 | static v8::Persistent constructor_template; 34 | 35 | bool Emit(v8::Handle event, 36 | int argc, 37 | v8::Handle argv[]); 38 | 39 | protected: 40 | EventEmitter() : ObjectWrap () { } 41 | }; 42 | 43 | } // namespace node 44 | #endif // SRC_EVENTS_H_ 45 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/linux/node/include/node/node_version.h: -------------------------------------------------------------------------------- 1 | // Copyright Joyent, Inc. and other Node contributors. 2 | // 3 | // Permission is hereby granted, free of charge, to any person obtaining a 4 | // copy of this software and associated documentation files (the 5 | // "Software"), to deal in the Software without restriction, including 6 | // without limitation the rights to use, copy, modify, merge, publish, 7 | // distribute, sublicense, and/or sell copies of the Software, and to permit 8 | // persons to whom the Software is furnished to do so, subject to the 9 | // following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included 12 | // in all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 15 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 17 | // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 18 | // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 19 | // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 20 | // USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | 22 | 23 | #include "node_config.h" 24 | 25 | #ifndef NODE_VERSION_H 26 | #define NODE_VERSION_H 27 | 28 | #define NODE_MAJOR_VERSION 0 29 | #define NODE_MINOR_VERSION 4 30 | #define NODE_PATCH_VERSION 10 31 | #define NODE_VERSION_IS_RELEASE 0 32 | 33 | #ifndef NODE_STRINGIFY 34 | #define NODE_STRINGIFY(n) NODE_STRINGIFY_HELPER(n) 35 | #define NODE_STRINGIFY_HELPER(n) #n 36 | #endif 37 | 38 | #if NODE_VERSION_IS_RELEASE 39 | # define NODE_VERSION_STRING NODE_STRINGIFY(NODE_MAJOR_VERSION) "." \ 40 | NODE_STRINGIFY(NODE_MINOR_VERSION) "." \ 41 | NODE_STRINGIFY(NODE_PATCH_VERSION) 42 | #else 43 | # define NODE_VERSION_STRING NODE_STRINGIFY(NODE_MAJOR_VERSION) "." \ 44 | NODE_STRINGIFY(NODE_MINOR_VERSION) "." \ 45 | NODE_STRINGIFY(NODE_PATCH_VERSION) "-pre" 46 | #endif 47 | 48 | #define NODE_VERSION "v" NODE_VERSION_STRING 49 | 50 | 51 | #define NODE_VERSION_AT_LEAST(major, minor, patch) \ 52 | (( (major) < NODE_MAJOR_VERSION) \ 53 | || ((major) == NODE_MAJOR_VERSION && (minor) < NODE_MINOR_VERSION) \ 54 | || ((major) == NODE_MAJOR_VERSION && (minor) == NODE_MINOR_VERSION && (patch) <= NODE_PATCH_VERSION)) 55 | 56 | #endif /* NODE_VERSION_H */ 57 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/linux/node/include/node/v8stdint.h: -------------------------------------------------------------------------------- 1 | // Copyright 2010 the V8 project authors. All rights reserved. 2 | // Redistribution and use in source and binary forms, with or without 3 | // modification, are permitted provided that the following conditions are 4 | // met: 5 | // 6 | // * Redistributions of source code must retain the above copyright 7 | // notice, this list of conditions and the following disclaimer. 8 | // * Redistributions in binary form must reproduce the above 9 | // copyright notice, this list of conditions and the following 10 | // disclaimer in the documentation and/or other materials provided 11 | // with the distribution. 12 | // * Neither the name of Google Inc. nor the names of its 13 | // contributors may be used to endorse or promote products derived 14 | // from this software without specific prior written permission. 15 | // 16 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 17 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 18 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 19 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 20 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 21 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 22 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | 28 | // Load definitions of standard types. 29 | 30 | #ifndef V8STDINT_H_ 31 | #define V8STDINT_H_ 32 | 33 | #include 34 | 35 | #if defined(_WIN32) && !defined(__MINGW32__) 36 | 37 | typedef signed char int8_t; 38 | typedef unsigned char uint8_t; 39 | typedef short int16_t; // NOLINT 40 | typedef unsigned short uint16_t; // NOLINT 41 | typedef int int32_t; 42 | typedef unsigned int uint32_t; 43 | typedef __int64 int64_t; 44 | typedef unsigned __int64 uint64_t; 45 | // intptr_t and friends are defined in crtdefs.h through stdio.h. 46 | 47 | #else 48 | 49 | #include 50 | 51 | #endif 52 | 53 | #endif // V8STDINT_H_ 54 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/linux/node/lib/node/wafadmin/Constants.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Yinon dot me gmail 2008 4 | 5 | """ 6 | these constants are somewhat public, try not to mess them 7 | 8 | maintainer: the version number is updated from the top-level wscript file 9 | """ 10 | 11 | # do not touch these three lines, they are updated automatically 12 | HEXVERSION=0x105016 13 | WAFVERSION="1.5.16" 14 | WAFREVISION = "7610:7647M" 15 | ABI = 7 16 | 17 | # permissions 18 | O644 = 420 19 | O755 = 493 20 | 21 | MAXJOBS = 99999999 22 | 23 | CACHE_DIR = 'c4che' 24 | CACHE_SUFFIX = '.cache.py' 25 | DBFILE = '.wafpickle-%d' % ABI 26 | WSCRIPT_FILE = 'wscript' 27 | WSCRIPT_BUILD_FILE = 'wscript_build' 28 | WAF_CONFIG_LOG = 'config.log' 29 | WAF_CONFIG_H = 'config.h' 30 | 31 | SIG_NIL = 'iluvcuteoverload' 32 | 33 | VARIANT = '_VARIANT_' 34 | DEFAULT = 'default' 35 | 36 | SRCDIR = 'srcdir' 37 | BLDDIR = 'blddir' 38 | APPNAME = 'APPNAME' 39 | VERSION = 'VERSION' 40 | 41 | DEFINES = 'defines' 42 | UNDEFINED = () 43 | 44 | BREAK = "break" 45 | CONTINUE = "continue" 46 | 47 | # task scheduler options 48 | JOBCONTROL = "JOBCONTROL" 49 | MAXPARALLEL = "MAXPARALLEL" 50 | NORMAL = "NORMAL" 51 | 52 | # task state 53 | NOT_RUN = 0 54 | MISSING = 1 55 | CRASHED = 2 56 | EXCEPTION = 3 57 | SKIPPED = 8 58 | SUCCESS = 9 59 | 60 | ASK_LATER = -1 61 | SKIP_ME = -2 62 | RUN_ME = -3 63 | 64 | 65 | LOG_FORMAT = "%(asctime)s %(c1)s%(zone)s%(c2)s %(message)s" 66 | HOUR_FORMAT = "%H:%M:%S" 67 | 68 | TEST_OK = True 69 | 70 | CFG_FILES = 'cfg_files' 71 | 72 | # positive '->' install 73 | # negative '<-' uninstall 74 | INSTALL = 1337 75 | UNINSTALL = -1337 76 | 77 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/linux/node/lib/node/wafadmin/Tools/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Thomas Nagy, 2006 (ita) 4 | 5 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/linux/node/lib/node/wafadmin/Tools/ar.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Thomas Nagy, 2006-2008 (ita) 4 | # Ralf Habacker, 2006 (rh) 5 | 6 | "ar and ranlib" 7 | 8 | import os, sys 9 | import Task, Utils 10 | from Configure import conftest 11 | 12 | ar_str = '${AR} ${ARFLAGS} ${AR_TGT_F}${TGT} ${AR_SRC_F}${SRC}' 13 | cls = Task.simple_task_type('static_link', ar_str, color='YELLOW', ext_in='.o', ext_out='.bin', shell=False) 14 | cls.maxjobs = 1 15 | cls.install = Utils.nada 16 | 17 | # remove the output in case it already exists 18 | old = cls.run 19 | def wrap(self): 20 | try: os.remove(self.outputs[0].abspath(self.env)) 21 | except OSError: pass 22 | return old(self) 23 | setattr(cls, 'run', wrap) 24 | 25 | def detect(conf): 26 | conf.find_program('ar', var='AR') 27 | conf.find_program('ranlib', var='RANLIB') 28 | conf.env.ARFLAGS = 'rcs' 29 | 30 | @conftest 31 | def find_ar(conf): 32 | v = conf.env 33 | conf.check_tool('ar') 34 | if not v['AR']: conf.fatal('ar is required for static libraries - not found') 35 | 36 | 37 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/linux/node/lib/node/wafadmin/Tools/cc.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Thomas Nagy, 2006 (ita) 4 | 5 | "Base for c programs/libraries" 6 | 7 | import os 8 | import TaskGen, Build, Utils, Task 9 | from Logs import debug 10 | import ccroot 11 | from TaskGen import feature, before, extension, after 12 | 13 | g_cc_flag_vars = [ 14 | 'CCDEPS', 'FRAMEWORK', 'FRAMEWORKPATH', 15 | 'STATICLIB', 'LIB', 'LIBPATH', 'LINKFLAGS', 'RPATH', 16 | 'CCFLAGS', 'CPPPATH', 'CPPFLAGS', 'CCDEFINES'] 17 | 18 | EXT_CC = ['.c'] 19 | 20 | g_cc_type_vars = ['CCFLAGS', 'LINKFLAGS'] 21 | 22 | # TODO remove in waf 1.6 23 | class cc_taskgen(ccroot.ccroot_abstract): 24 | pass 25 | 26 | @feature('cc') 27 | @before('apply_type_vars') 28 | @after('default_cc') 29 | def init_cc(self): 30 | self.p_flag_vars = set(self.p_flag_vars).union(g_cc_flag_vars) 31 | self.p_type_vars = set(self.p_type_vars).union(g_cc_type_vars) 32 | 33 | if not self.env['CC_NAME']: 34 | raise Utils.WafError("At least one compiler (gcc, ..) must be selected") 35 | 36 | @feature('cc') 37 | @after('apply_incpaths') 38 | def apply_obj_vars_cc(self): 39 | """after apply_incpaths for INC_PATHS""" 40 | env = self.env 41 | app = env.append_unique 42 | cpppath_st = env['CPPPATH_ST'] 43 | 44 | # local flags come first 45 | # set the user-defined includes paths 46 | for i in env['INC_PATHS']: 47 | app('_CCINCFLAGS', cpppath_st % i.bldpath(env)) 48 | app('_CCINCFLAGS', cpppath_st % i.srcpath(env)) 49 | 50 | # set the library include paths 51 | for i in env['CPPPATH']: 52 | app('_CCINCFLAGS', cpppath_st % i) 53 | 54 | @feature('cc') 55 | @after('apply_lib_vars') 56 | def apply_defines_cc(self): 57 | """after uselib is set for CCDEFINES""" 58 | self.defines = getattr(self, 'defines', []) 59 | lst = self.to_list(self.defines) + self.to_list(self.env['CCDEFINES']) 60 | milst = [] 61 | 62 | # now process the local defines 63 | for defi in lst: 64 | if not defi in milst: 65 | milst.append(defi) 66 | 67 | # CCDEFINES_ 68 | libs = self.to_list(self.uselib) 69 | for l in libs: 70 | val = self.env['CCDEFINES_'+l] 71 | if val: milst += val 72 | self.env['DEFLINES'] = ["%s %s" % (x[0], Utils.trimquotes('='.join(x[1:]))) for x in [y.split('=') for y in milst]] 73 | y = self.env['CCDEFINES_ST'] 74 | self.env['_CCDEFFLAGS'] = [y%x for x in milst] 75 | 76 | @extension(EXT_CC) 77 | def c_hook(self, node): 78 | # create the compilation task: cpp or cc 79 | if getattr(self, 'obj_ext', None): 80 | obj_ext = self.obj_ext 81 | else: 82 | obj_ext = '_%d.o' % self.idx 83 | 84 | task = self.create_task('cc', node, node.change_ext(obj_ext)) 85 | try: 86 | self.compiled_tasks.append(task) 87 | except AttributeError: 88 | raise Utils.WafError('Have you forgotten to set the feature "cc" on %s?' % str(self)) 89 | return task 90 | 91 | cc_str = '${CC} ${CCFLAGS} ${CPPFLAGS} ${_CCINCFLAGS} ${_CCDEFFLAGS} ${CC_SRC_F}${SRC} ${CC_TGT_F}${TGT}' 92 | cls = Task.simple_task_type('cc', cc_str, 'GREEN', ext_out='.o', ext_in='.c', shell=False) 93 | cls.scan = ccroot.scan 94 | cls.vars.append('CCDEPS') 95 | 96 | link_str = '${LINK_CC} ${CCLNK_SRC_F}${SRC} ${CCLNK_TGT_F}${TGT[0].abspath(env)} ${LINKFLAGS}' 97 | cls = Task.simple_task_type('cc_link', link_str, color='YELLOW', ext_in='.o', ext_out='.bin', shell=False) 98 | cls.maxjobs = 1 99 | cls.install = Utils.nada 100 | 101 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/linux/node/lib/node/wafadmin/Tools/compiler_cc.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Matthias Jahn jahn dôt matthias ât freenet dôt de, 2007 (pmarat) 4 | 5 | import os, sys, imp, types, ccroot 6 | import optparse 7 | import Utils, Configure, Options 8 | from Logs import debug 9 | 10 | c_compiler = { 11 | 'win32': ['gcc'], 12 | 'cygwin': ['gcc'], 13 | 'darwin': ['gcc'], 14 | 'aix': ['xlc', 'gcc'], 15 | 'linux': ['gcc', 'icc', 'suncc'], 16 | 'sunos': ['gcc', 'suncc'], 17 | 'irix': ['gcc'], 18 | 'hpux': ['gcc'], 19 | 'default': ['gcc'] 20 | } 21 | 22 | def __list_possible_compiler(platform): 23 | try: 24 | return c_compiler[platform] 25 | except KeyError: 26 | return c_compiler["default"] 27 | 28 | def detect(conf): 29 | """ 30 | for each compiler for the platform, try to configure the compiler 31 | in theory the tools should raise a configuration error if the compiler 32 | pretends to be something it is not (setting CC=icc and trying to configure gcc) 33 | """ 34 | try: test_for_compiler = Options.options.check_c_compiler 35 | except AttributeError: conf.fatal("Add set_options(opt): opt.tool_options('compiler_cc')") 36 | orig = conf.env 37 | for compiler in test_for_compiler.split(): 38 | conf.env = orig.copy() 39 | try: 40 | conf.check_tool(compiler) 41 | except Configure.ConfigurationError, e: 42 | debug('compiler_cc: %r' % e) 43 | else: 44 | if conf.env['CC']: 45 | orig.table = conf.env.get_merged_dict() 46 | conf.env = orig 47 | conf.check_message(compiler, '', True) 48 | conf.env['COMPILER_CC'] = compiler 49 | break 50 | conf.check_message(compiler, '', False) 51 | break 52 | else: 53 | conf.fatal('could not configure a c compiler!') 54 | 55 | def set_options(opt): 56 | build_platform = Utils.unversioned_sys_platform() 57 | possible_compiler_list = __list_possible_compiler(build_platform) 58 | test_for_compiler = ' '.join(possible_compiler_list) 59 | cc_compiler_opts = opt.add_option_group("C Compiler Options") 60 | cc_compiler_opts.add_option('--check-c-compiler', default="%s" % test_for_compiler, 61 | help='On this platform (%s) the following C-Compiler will be checked by default: "%s"' % (build_platform, test_for_compiler), 62 | dest="check_c_compiler") 63 | 64 | for c_compiler in test_for_compiler.split(): 65 | opt.tool_options('%s' % c_compiler, option_group=cc_compiler_opts) 66 | 67 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/linux/node/lib/node/wafadmin/Tools/compiler_cxx.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Matthias Jahn jahn dôt matthias ât freenet dôt de 2007 (pmarat) 4 | 5 | import os, sys, imp, types, ccroot 6 | import optparse 7 | import Utils, Configure, Options 8 | from Logs import debug 9 | 10 | cxx_compiler = { 11 | 'win32': ['g++'], 12 | 'cygwin': ['g++'], 13 | 'darwin': ['g++'], 14 | 'aix': ['xlc++', 'g++'], 15 | 'linux': ['g++', 'icpc', 'sunc++'], 16 | 'sunos': ['g++', 'sunc++'], 17 | 'irix': ['g++'], 18 | 'hpux': ['g++'], 19 | 'default': ['g++'] 20 | } 21 | 22 | def __list_possible_compiler(platform): 23 | try: 24 | return cxx_compiler[platform] 25 | except KeyError: 26 | return cxx_compiler["default"] 27 | 28 | def detect(conf): 29 | try: test_for_compiler = Options.options.check_cxx_compiler 30 | except AttributeError: raise Configure.ConfigurationError("Add set_options(opt): opt.tool_options('compiler_cxx')") 31 | orig = conf.env 32 | for compiler in test_for_compiler.split(): 33 | try: 34 | conf.env = orig.copy() 35 | conf.check_tool(compiler) 36 | except Configure.ConfigurationError, e: 37 | debug('compiler_cxx: %r' % e) 38 | else: 39 | if conf.env['CXX']: 40 | orig.table = conf.env.get_merged_dict() 41 | conf.env = orig 42 | conf.check_message(compiler, '', True) 43 | conf.env['COMPILER_CXX'] = compiler 44 | break 45 | conf.check_message(compiler, '', False) 46 | break 47 | else: 48 | conf.fatal('could not configure a cxx compiler!') 49 | 50 | def set_options(opt): 51 | build_platform = Utils.unversioned_sys_platform() 52 | possible_compiler_list = __list_possible_compiler(build_platform) 53 | test_for_compiler = ' '.join(possible_compiler_list) 54 | cxx_compiler_opts = opt.add_option_group('C++ Compiler Options') 55 | cxx_compiler_opts.add_option('--check-cxx-compiler', default="%s" % test_for_compiler, 56 | help='On this platform (%s) the following C++ Compiler will be checked by default: "%s"' % (build_platform, test_for_compiler), 57 | dest="check_cxx_compiler") 58 | 59 | for cxx_compiler in test_for_compiler.split(): 60 | opt.tool_options('%s' % cxx_compiler, option_group=cxx_compiler_opts) 61 | 62 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/linux/node/lib/node/wafadmin/Tools/compiler_d.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Carlos Rafael Giani, 2007 (dv) 4 | 5 | import os, sys, imp, types 6 | import Utils, Configure, Options 7 | 8 | def detect(conf): 9 | if getattr(Options.options, 'check_dmd_first', None): 10 | test_for_compiler = ['dmd', 'gdc'] 11 | else: 12 | test_for_compiler = ['gdc', 'dmd'] 13 | 14 | for d_compiler in test_for_compiler: 15 | try: 16 | conf.check_tool(d_compiler) 17 | except: 18 | pass 19 | else: 20 | break 21 | else: 22 | conf.fatal('no suitable d compiler was found') 23 | 24 | def set_options(opt): 25 | d_compiler_opts = opt.add_option_group('D Compiler Options') 26 | d_compiler_opts.add_option('--check-dmd-first', action='store_true', 27 | help='checks for the gdc compiler before dmd (default is the other way round)', 28 | dest='check_dmd_first', 29 | default=False) 30 | 31 | for d_compiler in ['gdc', 'dmd']: 32 | opt.tool_options('%s' % d_compiler, option_group=d_compiler_opts) 33 | 34 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/linux/node/lib/node/wafadmin/Tools/dmd.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Carlos Rafael Giani, 2007 (dv) 4 | # Thomas Nagy, 2008 (ita) 5 | 6 | import sys 7 | import Utils, ar 8 | from Configure import conftest 9 | 10 | @conftest 11 | def find_dmd(conf): 12 | conf.find_program(['dmd', 'ldc'], var='D_COMPILER', mandatory=True) 13 | 14 | @conftest 15 | def common_flags_ldc(conf): 16 | v = conf.env 17 | v['DFLAGS'] = ['-d-version=Posix'] 18 | v['DLINKFLAGS'] = [] 19 | v['D_shlib_DFLAGS'] = ['-relocation-model=pic'] 20 | 21 | @conftest 22 | def common_flags_dmd(conf): 23 | v = conf.env 24 | 25 | # _DFLAGS _DIMPORTFLAGS 26 | 27 | # Compiler is dmd so 'gdc' part will be ignored, just 28 | # ensure key is there, so wscript can append flags to it 29 | v['DFLAGS'] = ['-version=Posix'] 30 | 31 | v['D_SRC_F'] = '' 32 | v['D_TGT_F'] = ['-c', '-of'] 33 | v['DPATH_ST'] = '-I%s' # template for adding import paths 34 | 35 | # linker 36 | v['D_LINKER'] = v['D_COMPILER'] 37 | v['DLNK_SRC_F'] = '' 38 | v['DLNK_TGT_F'] = '-of' 39 | 40 | v['DLIB_ST'] = '-L-l%s' # template for adding libs 41 | v['DLIBPATH_ST'] = '-L-L%s' # template for adding libpaths 42 | 43 | # linker debug levels 44 | v['DFLAGS_OPTIMIZED'] = ['-O'] 45 | v['DFLAGS_DEBUG'] = ['-g', '-debug'] 46 | v['DFLAGS_ULTRADEBUG'] = ['-g', '-debug'] 47 | v['DLINKFLAGS'] = ['-quiet'] 48 | 49 | v['D_shlib_DFLAGS'] = ['-fPIC'] 50 | v['D_shlib_LINKFLAGS'] = ['-L-shared'] 51 | 52 | v['DHEADER_ext'] = '.di' 53 | v['D_HDR_F'] = ['-H', '-Hf'] 54 | 55 | def detect(conf): 56 | conf.find_dmd() 57 | conf.check_tool('ar') 58 | conf.check_tool('d') 59 | conf.common_flags_dmd() 60 | conf.d_platform_flags() 61 | 62 | if conf.env.D_COMPILER.find('ldc') > -1: 63 | conf.common_flags_ldc() 64 | 65 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/linux/node/lib/node/wafadmin/Tools/gas.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Thomas Nagy, 2008 (ita) 4 | 5 | "as and gas" 6 | 7 | import os, sys 8 | import Task 9 | from TaskGen import extension, taskgen, after, before 10 | 11 | EXT_ASM = ['.s', '.S', '.asm', '.ASM', '.spp', '.SPP'] 12 | 13 | as_str = '${AS} ${ASFLAGS} ${_ASINCFLAGS} ${SRC} -o ${TGT}' 14 | Task.simple_task_type('asm', as_str, 'PINK', ext_out='.o', shell=False) 15 | 16 | @extension(EXT_ASM) 17 | def asm_hook(self, node): 18 | # create the compilation task: cpp or cc 19 | try: obj_ext = self.obj_ext 20 | except AttributeError: obj_ext = '_%d.o' % self.idx 21 | 22 | task = self.create_task('asm', node, node.change_ext(obj_ext)) 23 | self.compiled_tasks.append(task) 24 | self.meths.append('asm_incflags') 25 | 26 | @after('apply_obj_vars_cc') 27 | @after('apply_obj_vars_cxx') 28 | @before('apply_link') 29 | def asm_incflags(self): 30 | self.env.append_value('_ASINCFLAGS', self.env.ASINCFLAGS) 31 | var = ('cxx' in self.features) and 'CXX' or 'CC' 32 | self.env.append_value('_ASINCFLAGS', self.env['_%sINCFLAGS' % var]) 33 | 34 | def detect(conf): 35 | conf.find_program(['gas', 'as'], var='AS') 36 | if not conf.env.AS: conf.env.AS = conf.env.CC 37 | #conf.env.ASFLAGS = ['-c'] <- may be necesary for .S files 38 | 39 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/linux/node/lib/node/wafadmin/Tools/gdc.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Carlos Rafael Giani, 2007 (dv) 4 | 5 | import sys 6 | import Utils, ar 7 | from Configure import conftest 8 | 9 | @conftest 10 | def find_gdc(conf): 11 | conf.find_program('gdc', var='D_COMPILER', mandatory=True) 12 | 13 | @conftest 14 | def common_flags_gdc(conf): 15 | v = conf.env 16 | 17 | # _DFLAGS _DIMPORTFLAGS 18 | 19 | # for mory info about the meaning of this dict see dmd.py 20 | v['DFLAGS'] = [] 21 | 22 | v['D_SRC_F'] = '' 23 | v['D_TGT_F'] = ['-c', '-o', ''] 24 | v['DPATH_ST'] = '-I%s' # template for adding import paths 25 | 26 | # linker 27 | v['D_LINKER'] = v['D_COMPILER'] 28 | v['DLNK_SRC_F'] = '' 29 | v['DLNK_TGT_F'] = ['-o', ''] 30 | 31 | v['DLIB_ST'] = '-l%s' # template for adding libs 32 | v['DLIBPATH_ST'] = '-L%s' # template for adding libpaths 33 | 34 | # debug levels 35 | v['DLINKFLAGS'] = [] 36 | v['DFLAGS_OPTIMIZED'] = ['-O3'] 37 | v['DFLAGS_DEBUG'] = ['-O0'] 38 | v['DFLAGS_ULTRADEBUG'] = ['-O0'] 39 | 40 | v['D_shlib_DFLAGS'] = [] 41 | v['D_shlib_LINKFLAGS'] = ['-shared'] 42 | 43 | v['DHEADER_ext'] = '.di' 44 | v['D_HDR_F'] = '-fintfc -fintfc-file=' 45 | 46 | def detect(conf): 47 | conf.find_gdc() 48 | conf.check_tool('ar') 49 | conf.check_tool('d') 50 | conf.common_flags_gdc() 51 | conf.d_platform_flags() 52 | 53 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/linux/node/lib/node/wafadmin/Tools/gob2.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Ali Sabil, 2007 4 | 5 | import TaskGen 6 | 7 | TaskGen.declare_chain( 8 | name = 'gob2', 9 | rule = '${GOB2} -o ${TGT[0].bld_dir(env)} ${GOB2FLAGS} ${SRC}', 10 | ext_in = '.gob', 11 | ext_out = '.c' 12 | ) 13 | 14 | def detect(conf): 15 | gob2 = conf.find_program('gob2', var='GOB2', mandatory=True) 16 | conf.env['GOB2'] = gob2 17 | conf.env['GOB2FLAGS'] = '' 18 | 19 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/linux/node/lib/node/wafadmin/Tools/icc.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Stian Selnes, 2008 4 | # Thomas Nagy 2009 5 | 6 | import os, sys 7 | import Configure, Options, Utils 8 | import ccroot, ar, gcc 9 | from Configure import conftest 10 | 11 | @conftest 12 | def find_icc(conf): 13 | if sys.platform == 'cygwin': 14 | conf.fatal('The Intel compiler does not work on Cygwin') 15 | 16 | v = conf.env 17 | cc = None 18 | if v['CC']: cc = v['CC'] 19 | elif 'CC' in conf.environ: cc = conf.environ['CC'] 20 | if not cc: cc = conf.find_program('icc', var='CC') 21 | if not cc: cc = conf.find_program('ICL', var='CC') 22 | if not cc: conf.fatal('Intel C Compiler (icc) was not found') 23 | cc = conf.cmd_to_list(cc) 24 | 25 | ccroot.get_cc_version(conf, cc, icc=True) 26 | v['CC'] = cc 27 | v['CC_NAME'] = 'icc' 28 | 29 | detect = ''' 30 | find_icc 31 | find_ar 32 | gcc_common_flags 33 | gcc_modifier_platform 34 | cc_load_tools 35 | cc_add_flags 36 | link_add_flags 37 | ''' 38 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/linux/node/lib/node/wafadmin/Tools/icpc.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Thomas Nagy 2009 4 | 5 | import os, sys 6 | import Configure, Options, Utils 7 | import ccroot, ar, gxx 8 | from Configure import conftest 9 | 10 | @conftest 11 | def find_icpc(conf): 12 | if sys.platform == 'cygwin': 13 | conf.fatal('The Intel compiler does not work on Cygwin') 14 | 15 | v = conf.env 16 | cxx = None 17 | if v['CXX']: cxx = v['CXX'] 18 | elif 'CXX' in conf.environ: cxx = conf.environ['CXX'] 19 | if not cxx: cxx = conf.find_program('icpc', var='CXX') 20 | if not cxx: conf.fatal('Intel C++ Compiler (icpc) was not found') 21 | cxx = conf.cmd_to_list(cxx) 22 | 23 | ccroot.get_cc_version(conf, cxx, icc=True) 24 | v['CXX'] = cxx 25 | v['CXX_NAME'] = 'icc' 26 | 27 | detect = ''' 28 | find_icpc 29 | find_ar 30 | gxx_common_flags 31 | gxx_modifier_platform 32 | cxx_load_tools 33 | cxx_add_flags 34 | ''' 35 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/linux/node/lib/node/wafadmin/Tools/nasm.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Thomas Nagy, 2008 4 | 5 | """ 6 | Nasm processing 7 | """ 8 | 9 | import os 10 | import TaskGen, Task, Utils 11 | from TaskGen import taskgen, before, extension 12 | 13 | nasm_str = '${NASM} ${NASM_FLAGS} ${NASM_INCLUDES} ${SRC} -o ${TGT}' 14 | 15 | EXT_NASM = ['.s', '.S', '.asm', '.ASM', '.spp', '.SPP'] 16 | 17 | @before('apply_link') 18 | def apply_nasm_vars(self): 19 | 20 | # flags 21 | if hasattr(self, 'nasm_flags'): 22 | for flag in self.to_list(self.nasm_flags): 23 | self.env.append_value('NASM_FLAGS', flag) 24 | 25 | # includes - well, if we suppose it works with c processing 26 | if hasattr(self, 'includes'): 27 | for inc in self.to_list(self.includes): 28 | node = self.path.find_dir(inc) 29 | if not node: 30 | raise Utils.WafError('cannot find the dir' + inc) 31 | self.env.append_value('NASM_INCLUDES', '-I%s' % node.srcpath(self.env)) 32 | self.env.append_value('NASM_INCLUDES', '-I%s' % node.bldpath(self.env)) 33 | 34 | @extension(EXT_NASM) 35 | def nasm_file(self, node): 36 | try: obj_ext = self.obj_ext 37 | except AttributeError: obj_ext = '_%d.o' % self.idx 38 | 39 | task = self.create_task('nasm', node, node.change_ext(obj_ext)) 40 | self.compiled_tasks.append(task) 41 | 42 | self.meths.append('apply_nasm_vars') 43 | 44 | # create our action here 45 | Task.simple_task_type('nasm', nasm_str, color='BLUE', ext_out='.o', shell=False) 46 | 47 | def detect(conf): 48 | nasm = conf.find_program(['nasm', 'yasm'], var='NASM', mandatory=True) 49 | 50 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/linux/node/lib/node/wafadmin/Tools/node_addon.py: -------------------------------------------------------------------------------- 1 | import os 2 | import TaskGen, Utils, Utils, Runner, Options, Build 3 | from TaskGen import extension, taskgen, before, after, feature 4 | from Configure import conf, conftest 5 | 6 | @taskgen 7 | @before('apply_incpaths', 'apply_lib_vars', 'apply_type_vars') 8 | @feature('node_addon') 9 | @before('apply_bundle') 10 | def init_node_addon(self): 11 | self.default_install_path = self.env['NODE_PATH'] 12 | self.uselib = self.to_list(getattr(self, 'uselib', '')) 13 | if not 'NODE' in self.uselib: self.uselib.append('NODE') 14 | self.env['MACBUNDLE'] = True 15 | 16 | @taskgen 17 | @before('apply_link', 'apply_lib_vars', 'apply_type_vars') 18 | @after('apply_bundle') 19 | @feature('node_addon') 20 | def node_addon_shlib_ext(self): 21 | self.env['shlib_PATTERN'] = "%s.node" 22 | 23 | def detect(conf): 24 | join = os.path.join 25 | 26 | conf.env['PREFIX_NODE'] = get_prefix() 27 | prefix = conf.env['PREFIX_NODE'] 28 | lib = join(prefix, 'lib') 29 | 30 | conf.env['LIBPATH_NODE'] = lib 31 | conf.env['CPPPATH_NODE'] = join(prefix, 'include', 'node') 32 | 33 | conf.env.append_value('CPPFLAGS_NODE', '-D_GNU_SOURCE') 34 | conf.env.append_value('CPPFLAGS_NODE', '-DEV_MULTIPLICITY=0') 35 | 36 | conf.env.append_value('CCFLAGS_NODE', '-D_LARGEFILE_SOURCE') 37 | conf.env.append_value('CCFLAGS_NODE', '-D_FILE_OFFSET_BITS=64') 38 | 39 | conf.env.append_value('CXXFLAGS_NODE', '-D_LARGEFILE_SOURCE') 40 | conf.env.append_value('CXXFLAGS_NODE', '-D_FILE_OFFSET_BITS=64') 41 | 42 | # with symbols 43 | conf.env.append_value('CCFLAGS', ['-g']) 44 | conf.env.append_value('CXXFLAGS', ['-g']) 45 | # install path 46 | conf.env['NODE_PATH'] = get_node_path() 47 | # this changes the install path of cxx task_gen 48 | conf.env['LIBDIR'] = conf.env['NODE_PATH'] 49 | 50 | found = os.path.exists(conf.env['NODE_PATH']) 51 | conf.check_message('node path', '', found, conf.env['NODE_PATH']) 52 | 53 | found = os.path.exists(join(prefix, 'bin', 'node')) 54 | conf.check_message('node prefix', '', found, prefix) 55 | 56 | ## On Cygwin we need to link to the generated symbol definitions 57 | if Options.platform.startswith('cygwin'): conf.env['LIB_NODE'] = 'node' 58 | 59 | ## On Mac OSX we need to use mac bundles 60 | if Options.platform == 'darwin': conf.check_tool('osx') 61 | 62 | def get_node_path(): 63 | join = os.path.join 64 | nodePath = None 65 | if not os.environ.has_key('NODE_PATH'): 66 | if not os.environ.has_key('HOME'): 67 | nodePath = join(get_prefix(), 'lib', 'node') 68 | else: 69 | nodePath = join(os.environ['HOME'], '.node_libraries') 70 | else: 71 | nodePath = os.environ['NODE_PATH'] 72 | return nodePath 73 | 74 | def get_prefix(): 75 | prefix = None 76 | if not os.environ.has_key('PREFIX_NODE'): 77 | prefix = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..', '..')) 78 | else: 79 | prefix = os.environ['PREFIX_NODE'] 80 | return prefix 81 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/linux/node/lib/node/wafadmin/Tools/suncc.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Thomas Nagy, 2006 (ita) 4 | # Ralf Habacker, 2006 (rh) 5 | 6 | import os, optparse 7 | import Utils, Options, Configure 8 | import ccroot, ar 9 | from Configure import conftest 10 | 11 | @conftest 12 | def find_scc(conf): 13 | v = conf.env 14 | cc = None 15 | if v['CC']: cc = v['CC'] 16 | elif 'CC' in conf.environ: cc = conf.environ['CC'] 17 | #if not cc: cc = conf.find_program('gcc', var='CC') 18 | if not cc: cc = conf.find_program('cc', var='CC') 19 | if not cc: conf.fatal('suncc was not found') 20 | cc = conf.cmd_to_list(cc) 21 | 22 | try: 23 | if not Utils.cmd_output(cc + ['-flags']): 24 | conf.fatal('suncc %r was not found' % cc) 25 | except ValueError: 26 | conf.fatal('suncc -flags could not be executed') 27 | 28 | v['CC'] = cc 29 | v['CC_NAME'] = 'sun' 30 | 31 | @conftest 32 | def scc_common_flags(conf): 33 | v = conf.env 34 | 35 | # CPPFLAGS CCDEFINES _CCINCFLAGS _CCDEFFLAGS 36 | 37 | v['CC_SRC_F'] = '' 38 | v['CC_TGT_F'] = ['-c', '-o', ''] 39 | v['CPPPATH_ST'] = '-I%s' # template for adding include paths 40 | 41 | # linker 42 | if not v['LINK_CC']: v['LINK_CC'] = v['CC'] 43 | v['CCLNK_SRC_F'] = '' 44 | v['CCLNK_TGT_F'] = ['-o', ''] # solaris hack, separate the -o from the target 45 | 46 | v['LIB_ST'] = '-l%s' # template for adding libs 47 | v['LIBPATH_ST'] = '-L%s' # template for adding libpaths 48 | v['STATICLIB_ST'] = '-l%s' 49 | v['STATICLIBPATH_ST'] = '-L%s' 50 | v['CCDEFINES_ST'] = '-D%s' 51 | 52 | v['SONAME_ST'] = '-Wl,-h -Wl,%s' 53 | v['SHLIB_MARKER'] = '-Bdynamic' 54 | v['STATICLIB_MARKER'] = '-Bstatic' 55 | 56 | # program 57 | v['program_PATTERN'] = '%s' 58 | 59 | # shared library 60 | v['shlib_CCFLAGS'] = ['-Kpic', '-DPIC'] 61 | v['shlib_LINKFLAGS'] = ['-G'] 62 | v['shlib_PATTERN'] = 'lib%s.so' 63 | 64 | # static lib 65 | v['staticlib_LINKFLAGS'] = ['-Bstatic'] 66 | v['staticlib_PATTERN'] = 'lib%s.a' 67 | 68 | detect = ''' 69 | find_scc 70 | find_cpp 71 | find_ar 72 | scc_common_flags 73 | cc_load_tools 74 | cc_add_flags 75 | link_add_flags 76 | ''' 77 | 78 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/linux/node/lib/node/wafadmin/Tools/suncxx.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Thomas Nagy, 2006 (ita) 4 | # Ralf Habacker, 2006 (rh) 5 | 6 | import os, optparse 7 | import Utils, Options, Configure 8 | import ccroot, ar 9 | from Configure import conftest 10 | 11 | @conftest 12 | def find_sxx(conf): 13 | v = conf.env 14 | cc = None 15 | if v['CXX']: cc = v['CXX'] 16 | elif 'CXX' in conf.environ: cc = conf.environ['CXX'] 17 | if not cc: cc = conf.find_program('c++', var='CXX') 18 | if not cc: conf.fatal('sunc++ was not found') 19 | cc = conf.cmd_to_list(cc) 20 | 21 | try: 22 | if not Utils.cmd_output(cc + ['-flags']): 23 | conf.fatal('sunc++ %r was not found' % cc) 24 | except ValueError: 25 | conf.fatal('sunc++ -flags could not be executed') 26 | 27 | v['CXX'] = cc 28 | v['CXX_NAME'] = 'sun' 29 | 30 | @conftest 31 | def sxx_common_flags(conf): 32 | v = conf.env 33 | 34 | # CPPFLAGS CXXDEFINES _CXXINCFLAGS _CXXDEFFLAGS 35 | 36 | v['CXX_SRC_F'] = '' 37 | v['CXX_TGT_F'] = ['-c', '-o', ''] 38 | v['CPPPATH_ST'] = '-I%s' # template for adding include paths 39 | 40 | # linker 41 | if not v['LINK_CXX']: v['LINK_CXX'] = v['CXX'] 42 | v['CXXLNK_SRC_F'] = '' 43 | v['CXXLNK_TGT_F'] = ['-o', ''] # solaris hack, separate the -o from the target 44 | 45 | v['LIB_ST'] = '-l%s' # template for adding libs 46 | v['LIBPATH_ST'] = '-L%s' # template for adding libpaths 47 | v['STATICLIB_ST'] = '-l%s' 48 | v['STATICLIBPATH_ST'] = '-L%s' 49 | v['CXXDEFINES_ST'] = '-D%s' 50 | 51 | v['SONAME_ST'] = '-Wl,-h -Wl,%s' 52 | v['SHLIB_MARKER'] = '-Bdynamic' 53 | v['STATICLIB_MARKER'] = '-Bstatic' 54 | 55 | # program 56 | v['program_PATTERN'] = '%s' 57 | 58 | # shared library 59 | v['shlib_CXXFLAGS'] = ['-Kpic', '-DPIC'] 60 | v['shlib_LINKFLAGS'] = ['-G'] 61 | v['shlib_PATTERN'] = 'lib%s.so' 62 | 63 | # static lib 64 | v['staticlib_LINKFLAGS'] = ['-Bstatic'] 65 | v['staticlib_PATTERN'] = 'lib%s.a' 66 | 67 | detect = ''' 68 | find_sxx 69 | find_cpp 70 | find_ar 71 | sxx_common_flags 72 | cxx_load_tools 73 | cxx_add_flags 74 | ''' 75 | 76 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/linux/node/lib/node/wafadmin/Tools/winres.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Brant Young, 2007 4 | 5 | "This hook is called when the class cpp/cc task generator encounters a '.rc' file: X{.rc -> [.res|.rc.o]}" 6 | 7 | import os, sys, re 8 | import TaskGen, Task 9 | from Utils import quote_whitespace 10 | from TaskGen import extension 11 | 12 | EXT_WINRC = ['.rc'] 13 | 14 | winrc_str = '${WINRC} ${_CPPDEFFLAGS} ${_CCDEFFLAGS} ${WINRCFLAGS} ${_CPPINCFLAGS} ${_CCINCFLAGS} ${WINRC_TGT_F} ${TGT} ${WINRC_SRC_F} ${SRC}' 15 | 16 | @extension(EXT_WINRC) 17 | def rc_file(self, node): 18 | obj_ext = '.rc.o' 19 | if self.env['WINRC_TGT_F'] == '/fo': obj_ext = '.res' 20 | 21 | rctask = self.create_task('winrc', node, node.change_ext(obj_ext)) 22 | self.compiled_tasks.append(rctask) 23 | 24 | # create our action, for use with rc file 25 | Task.simple_task_type('winrc', winrc_str, color='BLUE', before='cc cxx', shell=False) 26 | 27 | def detect(conf): 28 | v = conf.env 29 | 30 | winrc = v['WINRC'] 31 | v['WINRC_TGT_F'] = '-o' 32 | v['WINRC_SRC_F'] = '-i' 33 | # find rc.exe 34 | if not winrc: 35 | if v['CC_NAME'] in ['gcc', 'cc', 'g++', 'c++']: 36 | winrc = conf.find_program('windres', var='WINRC', path_list = v['PATH']) 37 | elif v['CC_NAME'] == 'msvc': 38 | winrc = conf.find_program('RC', var='WINRC', path_list = v['PATH']) 39 | v['WINRC_TGT_F'] = '/fo' 40 | v['WINRC_SRC_F'] = '' 41 | if not winrc: 42 | conf.fatal('winrc was not found!') 43 | 44 | v['WINRCFLAGS'] = '' 45 | 46 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/linux/node/lib/node/wafadmin/Tools/xlc.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Thomas Nagy, 2006-2008 (ita) 4 | # Ralf Habacker, 2006 (rh) 5 | # Yinon Ehrlich, 2009 6 | # Michael Kuhn, 2009 7 | 8 | import os, sys 9 | import Configure, Options, Utils 10 | import ccroot, ar 11 | from Configure import conftest 12 | 13 | @conftest 14 | def find_xlc(conf): 15 | cc = conf.find_program(['xlc_r', 'xlc'], var='CC', mandatory=True) 16 | cc = conf.cmd_to_list(cc) 17 | conf.env.CC_NAME = 'xlc' 18 | conf.env.CC = cc 19 | 20 | @conftest 21 | def find_cpp(conf): 22 | v = conf.env 23 | cpp = None 24 | if v['CPP']: cpp = v['CPP'] 25 | elif 'CPP' in conf.environ: cpp = conf.environ['CPP'] 26 | if not cpp: cpp = v['CC'] 27 | v['CPP'] = cpp 28 | 29 | @conftest 30 | def xlc_common_flags(conf): 31 | v = conf.env 32 | 33 | # CPPFLAGS CCDEFINES _CCINCFLAGS _CCDEFFLAGS 34 | v['CCFLAGS_DEBUG'] = ['-g'] 35 | v['CCFLAGS_RELEASE'] = ['-O2'] 36 | 37 | v['CC_SRC_F'] = '' 38 | v['CC_TGT_F'] = ['-c', '-o', ''] # shell hack for -MD 39 | v['CPPPATH_ST'] = '-I%s' # template for adding include paths 40 | 41 | # linker 42 | if not v['LINK_CC']: v['LINK_CC'] = v['CC'] 43 | v['CCLNK_SRC_F'] = '' 44 | v['CCLNK_TGT_F'] = ['-o', ''] # shell hack for -MD 45 | 46 | v['LIB_ST'] = '-l%s' # template for adding libs 47 | v['LIBPATH_ST'] = '-L%s' # template for adding libpaths 48 | v['STATICLIB_ST'] = '-l%s' 49 | v['STATICLIBPATH_ST'] = '-L%s' 50 | v['RPATH_ST'] = '-Wl,-rpath,%s' 51 | v['CCDEFINES_ST'] = '-D%s' 52 | 53 | v['SONAME_ST'] = '' 54 | v['SHLIB_MARKER'] = '' 55 | v['STATICLIB_MARKER'] = '' 56 | v['FULLSTATIC_MARKER'] = '-static' 57 | 58 | # program 59 | v['program_LINKFLAGS'] = ['-Wl,-brtl'] 60 | v['program_PATTERN'] = '%s' 61 | 62 | # shared library 63 | v['shlib_CCFLAGS'] = ['-fPIC', '-DPIC'] # avoid using -DPIC, -fPIC aleady defines the __PIC__ macro 64 | v['shlib_LINKFLAGS'] = ['-G', '-Wl,-brtl,-bexpfull'] 65 | v['shlib_PATTERN'] = 'lib%s.so' 66 | 67 | # static lib 68 | v['staticlib_LINKFLAGS'] = '' 69 | v['staticlib_PATTERN'] = 'lib%s.a' 70 | 71 | def detect(conf): 72 | conf.find_xlc() 73 | conf.find_cpp() 74 | conf.find_ar() 75 | conf.xlc_common_flags() 76 | conf.cc_load_tools() 77 | conf.cc_add_flags() 78 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/linux/node/lib/node/wafadmin/Tools/xlcxx.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Thomas Nagy, 2006 (ita) 4 | # Ralf Habacker, 2006 (rh) 5 | # Yinon Ehrlich, 2009 6 | # Michael Kuhn, 2009 7 | 8 | import os, sys 9 | import Configure, Options, Utils 10 | import ccroot, ar 11 | from Configure import conftest 12 | 13 | @conftest 14 | def find_xlcxx(conf): 15 | cxx = conf.find_program(['xlc++_r', 'xlc++'], var='CXX', mandatory=True) 16 | cxx = conf.cmd_to_list(cxx) 17 | conf.env.CXX_NAME = 'xlc++' 18 | conf.env.CXX = cxx 19 | 20 | @conftest 21 | def find_cpp(conf): 22 | v = conf.env 23 | cpp = None 24 | if v['CPP']: cpp = v['CPP'] 25 | elif 'CPP' in conf.environ: cpp = conf.environ['CPP'] 26 | if not cpp: cpp = v['CXX'] 27 | v['CPP'] = cpp 28 | 29 | @conftest 30 | def xlcxx_common_flags(conf): 31 | v = conf.env 32 | 33 | # CPPFLAGS CXXDEFINES _CXXINCFLAGS _CXXDEFFLAGS 34 | v['CXXFLAGS_DEBUG'] = ['-g'] 35 | v['CXXFLAGS_RELEASE'] = ['-O2'] 36 | 37 | v['CXX_SRC_F'] = '' 38 | v['CXX_TGT_F'] = ['-c', '-o', ''] # shell hack for -MD 39 | v['CPPPATH_ST'] = '-I%s' # template for adding include paths 40 | 41 | # linker 42 | if not v['LINK_CXX']: v['LINK_CXX'] = v['CXX'] 43 | v['CXXLNK_SRC_F'] = '' 44 | v['CXXLNK_TGT_F'] = ['-o', ''] # shell hack for -MD 45 | 46 | v['LIB_ST'] = '-l%s' # template for adding libs 47 | v['LIBPATH_ST'] = '-L%s' # template for adding libpaths 48 | v['STATICLIB_ST'] = '-l%s' 49 | v['STATICLIBPATH_ST'] = '-L%s' 50 | v['RPATH_ST'] = '-Wl,-rpath,%s' 51 | v['CXXDEFINES_ST'] = '-D%s' 52 | 53 | v['SONAME_ST'] = '' 54 | v['SHLIB_MARKER'] = '' 55 | v['STATICLIB_MARKER'] = '' 56 | v['FULLSTATIC_MARKER'] = '-static' 57 | 58 | # program 59 | v['program_LINKFLAGS'] = ['-Wl,-brtl'] 60 | v['program_PATTERN'] = '%s' 61 | 62 | # shared library 63 | v['shlib_CXXFLAGS'] = ['-fPIC', '-DPIC'] # avoid using -DPIC, -fPIC aleady defines the __PIC__ macro 64 | v['shlib_LINKFLAGS'] = ['-G', '-Wl,-brtl,-bexpfull'] 65 | v['shlib_PATTERN'] = 'lib%s.so' 66 | 67 | # static lib 68 | v['staticlib_LINKFLAGS'] = '' 69 | v['staticlib_PATTERN'] = 'lib%s.a' 70 | 71 | def detect(conf): 72 | conf.find_xlcxx() 73 | conf.find_cpp() 74 | conf.find_ar() 75 | conf.xlcxx_common_flags() 76 | conf.cxx_load_tools() 77 | conf.cxx_add_flags() 78 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/linux/node/lib/node/wafadmin/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Thomas Nagy, 2005 (ita) 4 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/linux/node/lib/pkgconfig/nodejs.pc: -------------------------------------------------------------------------------- 1 | version=0.4.9 2 | prefix=/home/chad/local/node 3 | libdir=${prefix}/lib 4 | includedir=${prefix}/include/node 5 | 6 | Name: nodejs 7 | Description: Evented I/O for V8 JavaScript. 8 | Version: ${version} 9 | Cflags: -I${includedir} 10 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/osx/node/bin/node: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/appcelerator-archive/poc-nodejs-desktop/9eb08c8efd781646f1bca549b391b62ffa4cbf3c/Resources/nodejs/builds/osx/node/bin/node -------------------------------------------------------------------------------- /Resources/nodejs/builds/osx/node/bin/node-waf: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os, sys 3 | 4 | 5 | join = os.path.join 6 | bindir = os.path.dirname(os.path.realpath(__file__)) 7 | prefix = join(bindir, "..") 8 | wafdir = join(prefix, "lib", "node") 9 | 10 | w = join(wafdir, 'wafadmin') 11 | t = join(w, 'Tools') 12 | sys.path = [w, t] + sys.path 13 | 14 | import Scripting 15 | VERSION="1.5.16" 16 | Scripting.prepare(t, os.getcwd(), VERSION, wafdir) 17 | sys.exit(0) 18 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/osx/node/include/node/config.h: -------------------------------------------------------------------------------- 1 | /* Configuration header created by Waf - do not edit */ 2 | #ifndef _CONFIG_H_WAF 3 | #define _CONFIG_H_WAF 4 | 5 | #define HAVE_SSL_LIBRARY_INIT 1 6 | #define HAVE_OPENSSL_CRYPTO_H 1 7 | #define HAVE_PTHREAD_CREATE 1 8 | #define HAVE_PTHREAD_ATFORK 1 9 | #define HAVE_FUTIMES 1 10 | /* #undef HAVE_READAHEAD */ 11 | #define HAVE_FDATASYNC 1 12 | #define HAVE_PREADWRITE 1 13 | #define HAVE_SENDFILE 1 14 | /* #undef HAVE_SYNC_FILE_RANGE */ 15 | /* #undef HAVE_SYS_INOTIFY_H */ 16 | /* #undef HAVE_SYS_EPOLL_H */ 17 | /* #undef HAVE_PORT_H */ 18 | #define HAVE_POLL_H 1 19 | #define HAVE_POLL 1 20 | #define HAVE_SYS_EVENT_H 1 21 | #define HAVE_SYS_QUEUE_H 1 22 | #define HAVE_KQUEUE 1 23 | #define HAVE_SYS_SELECT_H 1 24 | #define HAVE_SELECT 1 25 | /* #undef HAVE_SYS_EVENTFD_H */ 26 | /* #undef HAVE_CLOCK_SYSCALL */ 27 | #define HAVE_NANOSLEEP 1 28 | #define HAVE_CEIL 1 29 | #define HAVE_CONFIG_H 1 30 | #endif /* _CONFIG_H_WAF */ 31 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/osx/node/include/node/node_config.h: -------------------------------------------------------------------------------- 1 | // Copyright Joyent, Inc. and other Node contributors. 2 | // 3 | // Permission is hereby granted, free of charge, to any person obtaining a 4 | // copy of this software and associated documentation files (the 5 | // "Software"), to deal in the Software without restriction, including 6 | // without limitation the rights to use, copy, modify, merge, publish, 7 | // distribute, sublicense, and/or sell copies of the Software, and to permit 8 | // persons to whom the Software is furnished to do so, subject to the 9 | // following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included 12 | // in all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 15 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 17 | // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 18 | // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 19 | // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 20 | // USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | 22 | #ifndef NODE_CONFIG_H 23 | #define NODE_CONFIG_H 24 | 25 | #define NODE_CFLAGS "-rdynamic -D_GNU_SOURCE -DHAVE_CONFIG_H=1 -pthread -arch x86_64 -g -O3 -DHAVE_OPENSSL=1 -DEV_FORK_ENABLE=0 -DEV_EMBED_ENABLE=0 -DEV_MULTIPLICITY=0 -DX_STACKSIZE=65536 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DEV_MULTIPLICITY=0 -DHAVE_FDATASYNC=0 -DPLATFORM=\"darwin\" -D__POSIX__=1 -Wno-unused-parameter -D_FORTIFY_SOURCE=2 -I/Users/chadauld/local/node/include/node" 26 | #define NODE_PREFIX "/Users/chadauld/local/node" 27 | 28 | #endif /* NODE_CONFIG_H */ 29 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/osx/node/include/node/node_events.h: -------------------------------------------------------------------------------- 1 | // Copyright Joyent, Inc. and other Node contributors. 2 | // 3 | // Permission is hereby granted, free of charge, to any person obtaining a 4 | // copy of this software and associated documentation files (the 5 | // "Software"), to deal in the Software without restriction, including 6 | // without limitation the rights to use, copy, modify, merge, publish, 7 | // distribute, sublicense, and/or sell copies of the Software, and to permit 8 | // persons to whom the Software is furnished to do so, subject to the 9 | // following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included 12 | // in all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 15 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 17 | // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 18 | // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 19 | // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 20 | // USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | 22 | #ifndef SRC_EVENTS_H_ 23 | #define SRC_EVENTS_H_ 24 | 25 | #include 26 | #include 27 | 28 | namespace node { 29 | 30 | class EventEmitter : public ObjectWrap { 31 | public: 32 | static void Initialize(v8::Local ctemplate); 33 | static v8::Persistent constructor_template; 34 | 35 | bool Emit(v8::Handle event, 36 | int argc, 37 | v8::Handle argv[]); 38 | 39 | protected: 40 | EventEmitter() : ObjectWrap () { } 41 | }; 42 | 43 | } // namespace node 44 | #endif // SRC_EVENTS_H_ 45 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/osx/node/include/node/node_version.h: -------------------------------------------------------------------------------- 1 | // Copyright Joyent, Inc. and other Node contributors. 2 | // 3 | // Permission is hereby granted, free of charge, to any person obtaining a 4 | // copy of this software and associated documentation files (the 5 | // "Software"), to deal in the Software without restriction, including 6 | // without limitation the rights to use, copy, modify, merge, publish, 7 | // distribute, sublicense, and/or sell copies of the Software, and to permit 8 | // persons to whom the Software is furnished to do so, subject to the 9 | // following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included 12 | // in all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 15 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 17 | // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 18 | // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 19 | // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 20 | // USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | 22 | 23 | #include "node_config.h" 24 | 25 | #ifndef NODE_VERSION_H 26 | #define NODE_VERSION_H 27 | 28 | #define NODE_MAJOR_VERSION 0 29 | #define NODE_MINOR_VERSION 4 30 | #define NODE_PATCH_VERSION 8 31 | #define NODE_VERSION_IS_RELEASE 1 32 | 33 | #ifndef NODE_STRINGIFY 34 | #define NODE_STRINGIFY(n) NODE_STRINGIFY_HELPER(n) 35 | #define NODE_STRINGIFY_HELPER(n) #n 36 | #endif 37 | 38 | #if NODE_VERSION_IS_RELEASE 39 | # define NODE_VERSION_STRING NODE_STRINGIFY(NODE_MAJOR_VERSION) "." \ 40 | NODE_STRINGIFY(NODE_MINOR_VERSION) "." \ 41 | NODE_STRINGIFY(NODE_PATCH_VERSION) 42 | #else 43 | # define NODE_VERSION_STRING NODE_STRINGIFY(NODE_MAJOR_VERSION) "." \ 44 | NODE_STRINGIFY(NODE_MINOR_VERSION) "." \ 45 | NODE_STRINGIFY(NODE_PATCH_VERSION) "-pre" 46 | #endif 47 | 48 | #define NODE_VERSION "v" NODE_VERSION_STRING 49 | 50 | 51 | #define NODE_VERSION_AT_LEAST(major, minor, patch) \ 52 | (( (major) < NODE_MAJOR_VERSION) \ 53 | || ((major) == NODE_MAJOR_VERSION && (minor) < NODE_MINOR_VERSION) \ 54 | || ((major) == NODE_MAJOR_VERSION && (minor) == NODE_MINOR_VERSION && (patch) <= NODE_PATCH_VERSION)) 55 | 56 | #endif /* NODE_VERSION_H */ 57 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/osx/node/include/node/v8stdint.h: -------------------------------------------------------------------------------- 1 | // Copyright 2010 the V8 project authors. All rights reserved. 2 | // Redistribution and use in source and binary forms, with or without 3 | // modification, are permitted provided that the following conditions are 4 | // met: 5 | // 6 | // * Redistributions of source code must retain the above copyright 7 | // notice, this list of conditions and the following disclaimer. 8 | // * Redistributions in binary form must reproduce the above 9 | // copyright notice, this list of conditions and the following 10 | // disclaimer in the documentation and/or other materials provided 11 | // with the distribution. 12 | // * Neither the name of Google Inc. nor the names of its 13 | // contributors may be used to endorse or promote products derived 14 | // from this software without specific prior written permission. 15 | // 16 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 17 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 18 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 19 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 20 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 21 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 22 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | 28 | // Load definitions of standard types. 29 | 30 | #ifndef V8STDINT_H_ 31 | #define V8STDINT_H_ 32 | 33 | #include 34 | 35 | #if defined(_WIN32) && !defined(__MINGW32__) 36 | 37 | typedef signed char int8_t; 38 | typedef unsigned char uint8_t; 39 | typedef short int16_t; // NOLINT 40 | typedef unsigned short uint16_t; // NOLINT 41 | typedef int int32_t; 42 | typedef unsigned int uint32_t; 43 | typedef __int64 int64_t; 44 | typedef unsigned __int64 uint64_t; 45 | // intptr_t and friends are defined in crtdefs.h through stdio.h. 46 | 47 | #else 48 | 49 | #include 50 | 51 | #endif 52 | 53 | #endif // V8STDINT_H_ 54 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/osx/node/lib/node/wafadmin/Constants.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Yinon dot me gmail 2008 4 | 5 | """ 6 | these constants are somewhat public, try not to mess them 7 | 8 | maintainer: the version number is updated from the top-level wscript file 9 | """ 10 | 11 | # do not touch these three lines, they are updated automatically 12 | HEXVERSION=0x105016 13 | WAFVERSION="1.5.16" 14 | WAFREVISION = "7610:7647M" 15 | ABI = 7 16 | 17 | # permissions 18 | O644 = 420 19 | O755 = 493 20 | 21 | MAXJOBS = 99999999 22 | 23 | CACHE_DIR = 'c4che' 24 | CACHE_SUFFIX = '.cache.py' 25 | DBFILE = '.wafpickle-%d' % ABI 26 | WSCRIPT_FILE = 'wscript' 27 | WSCRIPT_BUILD_FILE = 'wscript_build' 28 | WAF_CONFIG_LOG = 'config.log' 29 | WAF_CONFIG_H = 'config.h' 30 | 31 | SIG_NIL = 'iluvcuteoverload' 32 | 33 | VARIANT = '_VARIANT_' 34 | DEFAULT = 'default' 35 | 36 | SRCDIR = 'srcdir' 37 | BLDDIR = 'blddir' 38 | APPNAME = 'APPNAME' 39 | VERSION = 'VERSION' 40 | 41 | DEFINES = 'defines' 42 | UNDEFINED = () 43 | 44 | BREAK = "break" 45 | CONTINUE = "continue" 46 | 47 | # task scheduler options 48 | JOBCONTROL = "JOBCONTROL" 49 | MAXPARALLEL = "MAXPARALLEL" 50 | NORMAL = "NORMAL" 51 | 52 | # task state 53 | NOT_RUN = 0 54 | MISSING = 1 55 | CRASHED = 2 56 | EXCEPTION = 3 57 | SKIPPED = 8 58 | SUCCESS = 9 59 | 60 | ASK_LATER = -1 61 | SKIP_ME = -2 62 | RUN_ME = -3 63 | 64 | 65 | LOG_FORMAT = "%(asctime)s %(c1)s%(zone)s%(c2)s %(message)s" 66 | HOUR_FORMAT = "%H:%M:%S" 67 | 68 | TEST_OK = True 69 | 70 | CFG_FILES = 'cfg_files' 71 | 72 | # positive '->' install 73 | # negative '<-' uninstall 74 | INSTALL = 1337 75 | UNINSTALL = -1337 76 | 77 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/osx/node/lib/node/wafadmin/Tools/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Thomas Nagy, 2006 (ita) 4 | 5 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/osx/node/lib/node/wafadmin/Tools/ar.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Thomas Nagy, 2006-2008 (ita) 4 | # Ralf Habacker, 2006 (rh) 5 | 6 | "ar and ranlib" 7 | 8 | import os, sys 9 | import Task, Utils 10 | from Configure import conftest 11 | 12 | ar_str = '${AR} ${ARFLAGS} ${AR_TGT_F}${TGT} ${AR_SRC_F}${SRC}' 13 | cls = Task.simple_task_type('static_link', ar_str, color='YELLOW', ext_in='.o', ext_out='.bin', shell=False) 14 | cls.maxjobs = 1 15 | cls.install = Utils.nada 16 | 17 | # remove the output in case it already exists 18 | old = cls.run 19 | def wrap(self): 20 | try: os.remove(self.outputs[0].abspath(self.env)) 21 | except OSError: pass 22 | return old(self) 23 | setattr(cls, 'run', wrap) 24 | 25 | def detect(conf): 26 | conf.find_program('ar', var='AR') 27 | conf.find_program('ranlib', var='RANLIB') 28 | conf.env.ARFLAGS = 'rcs' 29 | 30 | @conftest 31 | def find_ar(conf): 32 | v = conf.env 33 | conf.check_tool('ar') 34 | if not v['AR']: conf.fatal('ar is required for static libraries - not found') 35 | 36 | 37 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/osx/node/lib/node/wafadmin/Tools/compiler_cc.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Matthias Jahn jahn dôt matthias ât freenet dôt de, 2007 (pmarat) 4 | 5 | import os, sys, imp, types, ccroot 6 | import optparse 7 | import Utils, Configure, Options 8 | from Logs import debug 9 | 10 | c_compiler = { 11 | 'win32': ['gcc'], 12 | 'cygwin': ['gcc'], 13 | 'darwin': ['gcc'], 14 | 'aix': ['xlc', 'gcc'], 15 | 'linux': ['gcc', 'icc', 'suncc'], 16 | 'sunos': ['gcc', 'suncc'], 17 | 'irix': ['gcc'], 18 | 'hpux': ['gcc'], 19 | 'default': ['gcc'] 20 | } 21 | 22 | def __list_possible_compiler(platform): 23 | try: 24 | return c_compiler[platform] 25 | except KeyError: 26 | return c_compiler["default"] 27 | 28 | def detect(conf): 29 | """ 30 | for each compiler for the platform, try to configure the compiler 31 | in theory the tools should raise a configuration error if the compiler 32 | pretends to be something it is not (setting CC=icc and trying to configure gcc) 33 | """ 34 | try: test_for_compiler = Options.options.check_c_compiler 35 | except AttributeError: conf.fatal("Add set_options(opt): opt.tool_options('compiler_cc')") 36 | orig = conf.env 37 | for compiler in test_for_compiler.split(): 38 | conf.env = orig.copy() 39 | try: 40 | conf.check_tool(compiler) 41 | except Configure.ConfigurationError, e: 42 | debug('compiler_cc: %r' % e) 43 | else: 44 | if conf.env['CC']: 45 | orig.table = conf.env.get_merged_dict() 46 | conf.env = orig 47 | conf.check_message(compiler, '', True) 48 | conf.env['COMPILER_CC'] = compiler 49 | break 50 | conf.check_message(compiler, '', False) 51 | break 52 | else: 53 | conf.fatal('could not configure a c compiler!') 54 | 55 | def set_options(opt): 56 | build_platform = Utils.unversioned_sys_platform() 57 | possible_compiler_list = __list_possible_compiler(build_platform) 58 | test_for_compiler = ' '.join(possible_compiler_list) 59 | cc_compiler_opts = opt.add_option_group("C Compiler Options") 60 | cc_compiler_opts.add_option('--check-c-compiler', default="%s" % test_for_compiler, 61 | help='On this platform (%s) the following C-Compiler will be checked by default: "%s"' % (build_platform, test_for_compiler), 62 | dest="check_c_compiler") 63 | 64 | for c_compiler in test_for_compiler.split(): 65 | opt.tool_options('%s' % c_compiler, option_group=cc_compiler_opts) 66 | 67 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/osx/node/lib/node/wafadmin/Tools/compiler_cxx.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Matthias Jahn jahn dôt matthias ât freenet dôt de 2007 (pmarat) 4 | 5 | import os, sys, imp, types, ccroot 6 | import optparse 7 | import Utils, Configure, Options 8 | from Logs import debug 9 | 10 | cxx_compiler = { 11 | 'win32': ['g++'], 12 | 'cygwin': ['g++'], 13 | 'darwin': ['g++'], 14 | 'aix': ['xlc++', 'g++'], 15 | 'linux': ['g++', 'icpc', 'sunc++'], 16 | 'sunos': ['g++', 'sunc++'], 17 | 'irix': ['g++'], 18 | 'hpux': ['g++'], 19 | 'default': ['g++'] 20 | } 21 | 22 | def __list_possible_compiler(platform): 23 | try: 24 | return cxx_compiler[platform] 25 | except KeyError: 26 | return cxx_compiler["default"] 27 | 28 | def detect(conf): 29 | try: test_for_compiler = Options.options.check_cxx_compiler 30 | except AttributeError: raise Configure.ConfigurationError("Add set_options(opt): opt.tool_options('compiler_cxx')") 31 | orig = conf.env 32 | for compiler in test_for_compiler.split(): 33 | try: 34 | conf.env = orig.copy() 35 | conf.check_tool(compiler) 36 | except Configure.ConfigurationError, e: 37 | debug('compiler_cxx: %r' % e) 38 | else: 39 | if conf.env['CXX']: 40 | orig.table = conf.env.get_merged_dict() 41 | conf.env = orig 42 | conf.check_message(compiler, '', True) 43 | conf.env['COMPILER_CXX'] = compiler 44 | break 45 | conf.check_message(compiler, '', False) 46 | break 47 | else: 48 | conf.fatal('could not configure a cxx compiler!') 49 | 50 | def set_options(opt): 51 | build_platform = Utils.unversioned_sys_platform() 52 | possible_compiler_list = __list_possible_compiler(build_platform) 53 | test_for_compiler = ' '.join(possible_compiler_list) 54 | cxx_compiler_opts = opt.add_option_group('C++ Compiler Options') 55 | cxx_compiler_opts.add_option('--check-cxx-compiler', default="%s" % test_for_compiler, 56 | help='On this platform (%s) the following C++ Compiler will be checked by default: "%s"' % (build_platform, test_for_compiler), 57 | dest="check_cxx_compiler") 58 | 59 | for cxx_compiler in test_for_compiler.split(): 60 | opt.tool_options('%s' % cxx_compiler, option_group=cxx_compiler_opts) 61 | 62 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/osx/node/lib/node/wafadmin/Tools/compiler_d.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Carlos Rafael Giani, 2007 (dv) 4 | 5 | import os, sys, imp, types 6 | import Utils, Configure, Options 7 | 8 | def detect(conf): 9 | if getattr(Options.options, 'check_dmd_first', None): 10 | test_for_compiler = ['dmd', 'gdc'] 11 | else: 12 | test_for_compiler = ['gdc', 'dmd'] 13 | 14 | for d_compiler in test_for_compiler: 15 | try: 16 | conf.check_tool(d_compiler) 17 | except: 18 | pass 19 | else: 20 | break 21 | else: 22 | conf.fatal('no suitable d compiler was found') 23 | 24 | def set_options(opt): 25 | d_compiler_opts = opt.add_option_group('D Compiler Options') 26 | d_compiler_opts.add_option('--check-dmd-first', action='store_true', 27 | help='checks for the gdc compiler before dmd (default is the other way round)', 28 | dest='check_dmd_first', 29 | default=False) 30 | 31 | for d_compiler in ['gdc', 'dmd']: 32 | opt.tool_options('%s' % d_compiler, option_group=d_compiler_opts) 33 | 34 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/osx/node/lib/node/wafadmin/Tools/dmd.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Carlos Rafael Giani, 2007 (dv) 4 | # Thomas Nagy, 2008 (ita) 5 | 6 | import sys 7 | import Utils, ar 8 | from Configure import conftest 9 | 10 | @conftest 11 | def find_dmd(conf): 12 | conf.find_program(['dmd', 'ldc'], var='D_COMPILER', mandatory=True) 13 | 14 | @conftest 15 | def common_flags_ldc(conf): 16 | v = conf.env 17 | v['DFLAGS'] = ['-d-version=Posix'] 18 | v['DLINKFLAGS'] = [] 19 | v['D_shlib_DFLAGS'] = ['-relocation-model=pic'] 20 | 21 | @conftest 22 | def common_flags_dmd(conf): 23 | v = conf.env 24 | 25 | # _DFLAGS _DIMPORTFLAGS 26 | 27 | # Compiler is dmd so 'gdc' part will be ignored, just 28 | # ensure key is there, so wscript can append flags to it 29 | v['DFLAGS'] = ['-version=Posix'] 30 | 31 | v['D_SRC_F'] = '' 32 | v['D_TGT_F'] = ['-c', '-of'] 33 | v['DPATH_ST'] = '-I%s' # template for adding import paths 34 | 35 | # linker 36 | v['D_LINKER'] = v['D_COMPILER'] 37 | v['DLNK_SRC_F'] = '' 38 | v['DLNK_TGT_F'] = '-of' 39 | 40 | v['DLIB_ST'] = '-L-l%s' # template for adding libs 41 | v['DLIBPATH_ST'] = '-L-L%s' # template for adding libpaths 42 | 43 | # linker debug levels 44 | v['DFLAGS_OPTIMIZED'] = ['-O'] 45 | v['DFLAGS_DEBUG'] = ['-g', '-debug'] 46 | v['DFLAGS_ULTRADEBUG'] = ['-g', '-debug'] 47 | v['DLINKFLAGS'] = ['-quiet'] 48 | 49 | v['D_shlib_DFLAGS'] = ['-fPIC'] 50 | v['D_shlib_LINKFLAGS'] = ['-L-shared'] 51 | 52 | v['DHEADER_ext'] = '.di' 53 | v['D_HDR_F'] = ['-H', '-Hf'] 54 | 55 | def detect(conf): 56 | conf.find_dmd() 57 | conf.check_tool('ar') 58 | conf.check_tool('d') 59 | conf.common_flags_dmd() 60 | conf.d_platform_flags() 61 | 62 | if conf.env.D_COMPILER.find('ldc') > -1: 63 | conf.common_flags_ldc() 64 | 65 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/osx/node/lib/node/wafadmin/Tools/gas.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Thomas Nagy, 2008 (ita) 4 | 5 | "as and gas" 6 | 7 | import os, sys 8 | import Task 9 | from TaskGen import extension, taskgen, after, before 10 | 11 | EXT_ASM = ['.s', '.S', '.asm', '.ASM', '.spp', '.SPP'] 12 | 13 | as_str = '${AS} ${ASFLAGS} ${_ASINCFLAGS} ${SRC} -o ${TGT}' 14 | Task.simple_task_type('asm', as_str, 'PINK', ext_out='.o', shell=False) 15 | 16 | @extension(EXT_ASM) 17 | def asm_hook(self, node): 18 | # create the compilation task: cpp or cc 19 | try: obj_ext = self.obj_ext 20 | except AttributeError: obj_ext = '_%d.o' % self.idx 21 | 22 | task = self.create_task('asm', node, node.change_ext(obj_ext)) 23 | self.compiled_tasks.append(task) 24 | self.meths.append('asm_incflags') 25 | 26 | @after('apply_obj_vars_cc') 27 | @after('apply_obj_vars_cxx') 28 | @before('apply_link') 29 | def asm_incflags(self): 30 | self.env.append_value('_ASINCFLAGS', self.env.ASINCFLAGS) 31 | var = ('cxx' in self.features) and 'CXX' or 'CC' 32 | self.env.append_value('_ASINCFLAGS', self.env['_%sINCFLAGS' % var]) 33 | 34 | def detect(conf): 35 | conf.find_program(['gas', 'as'], var='AS') 36 | if not conf.env.AS: conf.env.AS = conf.env.CC 37 | #conf.env.ASFLAGS = ['-c'] <- may be necesary for .S files 38 | 39 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/osx/node/lib/node/wafadmin/Tools/gdc.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Carlos Rafael Giani, 2007 (dv) 4 | 5 | import sys 6 | import Utils, ar 7 | from Configure import conftest 8 | 9 | @conftest 10 | def find_gdc(conf): 11 | conf.find_program('gdc', var='D_COMPILER', mandatory=True) 12 | 13 | @conftest 14 | def common_flags_gdc(conf): 15 | v = conf.env 16 | 17 | # _DFLAGS _DIMPORTFLAGS 18 | 19 | # for mory info about the meaning of this dict see dmd.py 20 | v['DFLAGS'] = [] 21 | 22 | v['D_SRC_F'] = '' 23 | v['D_TGT_F'] = ['-c', '-o', ''] 24 | v['DPATH_ST'] = '-I%s' # template for adding import paths 25 | 26 | # linker 27 | v['D_LINKER'] = v['D_COMPILER'] 28 | v['DLNK_SRC_F'] = '' 29 | v['DLNK_TGT_F'] = ['-o', ''] 30 | 31 | v['DLIB_ST'] = '-l%s' # template for adding libs 32 | v['DLIBPATH_ST'] = '-L%s' # template for adding libpaths 33 | 34 | # debug levels 35 | v['DLINKFLAGS'] = [] 36 | v['DFLAGS_OPTIMIZED'] = ['-O3'] 37 | v['DFLAGS_DEBUG'] = ['-O0'] 38 | v['DFLAGS_ULTRADEBUG'] = ['-O0'] 39 | 40 | v['D_shlib_DFLAGS'] = [] 41 | v['D_shlib_LINKFLAGS'] = ['-shared'] 42 | 43 | v['DHEADER_ext'] = '.di' 44 | v['D_HDR_F'] = '-fintfc -fintfc-file=' 45 | 46 | def detect(conf): 47 | conf.find_gdc() 48 | conf.check_tool('ar') 49 | conf.check_tool('d') 50 | conf.common_flags_gdc() 51 | conf.d_platform_flags() 52 | 53 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/osx/node/lib/node/wafadmin/Tools/gob2.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Ali Sabil, 2007 4 | 5 | import TaskGen 6 | 7 | TaskGen.declare_chain( 8 | name = 'gob2', 9 | rule = '${GOB2} -o ${TGT[0].bld_dir(env)} ${GOB2FLAGS} ${SRC}', 10 | ext_in = '.gob', 11 | ext_out = '.c' 12 | ) 13 | 14 | def detect(conf): 15 | gob2 = conf.find_program('gob2', var='GOB2', mandatory=True) 16 | conf.env['GOB2'] = gob2 17 | conf.env['GOB2FLAGS'] = '' 18 | 19 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/osx/node/lib/node/wafadmin/Tools/icc.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Stian Selnes, 2008 4 | # Thomas Nagy 2009 5 | 6 | import os, sys 7 | import Configure, Options, Utils 8 | import ccroot, ar, gcc 9 | from Configure import conftest 10 | 11 | @conftest 12 | def find_icc(conf): 13 | if sys.platform == 'cygwin': 14 | conf.fatal('The Intel compiler does not work on Cygwin') 15 | 16 | v = conf.env 17 | cc = None 18 | if v['CC']: cc = v['CC'] 19 | elif 'CC' in conf.environ: cc = conf.environ['CC'] 20 | if not cc: cc = conf.find_program('icc', var='CC') 21 | if not cc: cc = conf.find_program('ICL', var='CC') 22 | if not cc: conf.fatal('Intel C Compiler (icc) was not found') 23 | cc = conf.cmd_to_list(cc) 24 | 25 | ccroot.get_cc_version(conf, cc, icc=True) 26 | v['CC'] = cc 27 | v['CC_NAME'] = 'icc' 28 | 29 | detect = ''' 30 | find_icc 31 | find_ar 32 | gcc_common_flags 33 | gcc_modifier_platform 34 | cc_load_tools 35 | cc_add_flags 36 | link_add_flags 37 | ''' 38 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/osx/node/lib/node/wafadmin/Tools/icpc.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Thomas Nagy 2009 4 | 5 | import os, sys 6 | import Configure, Options, Utils 7 | import ccroot, ar, gxx 8 | from Configure import conftest 9 | 10 | @conftest 11 | def find_icpc(conf): 12 | if sys.platform == 'cygwin': 13 | conf.fatal('The Intel compiler does not work on Cygwin') 14 | 15 | v = conf.env 16 | cxx = None 17 | if v['CXX']: cxx = v['CXX'] 18 | elif 'CXX' in conf.environ: cxx = conf.environ['CXX'] 19 | if not cxx: cxx = conf.find_program('icpc', var='CXX') 20 | if not cxx: conf.fatal('Intel C++ Compiler (icpc) was not found') 21 | cxx = conf.cmd_to_list(cxx) 22 | 23 | ccroot.get_cc_version(conf, cxx, icc=True) 24 | v['CXX'] = cxx 25 | v['CXX_NAME'] = 'icc' 26 | 27 | detect = ''' 28 | find_icpc 29 | find_ar 30 | gxx_common_flags 31 | gxx_modifier_platform 32 | cxx_load_tools 33 | cxx_add_flags 34 | ''' 35 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/osx/node/lib/node/wafadmin/Tools/nasm.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Thomas Nagy, 2008 4 | 5 | """ 6 | Nasm processing 7 | """ 8 | 9 | import os 10 | import TaskGen, Task, Utils 11 | from TaskGen import taskgen, before, extension 12 | 13 | nasm_str = '${NASM} ${NASM_FLAGS} ${NASM_INCLUDES} ${SRC} -o ${TGT}' 14 | 15 | EXT_NASM = ['.s', '.S', '.asm', '.ASM', '.spp', '.SPP'] 16 | 17 | @before('apply_link') 18 | def apply_nasm_vars(self): 19 | 20 | # flags 21 | if hasattr(self, 'nasm_flags'): 22 | for flag in self.to_list(self.nasm_flags): 23 | self.env.append_value('NASM_FLAGS', flag) 24 | 25 | # includes - well, if we suppose it works with c processing 26 | if hasattr(self, 'includes'): 27 | for inc in self.to_list(self.includes): 28 | node = self.path.find_dir(inc) 29 | if not node: 30 | raise Utils.WafError('cannot find the dir' + inc) 31 | self.env.append_value('NASM_INCLUDES', '-I%s' % node.srcpath(self.env)) 32 | self.env.append_value('NASM_INCLUDES', '-I%s' % node.bldpath(self.env)) 33 | 34 | @extension(EXT_NASM) 35 | def nasm_file(self, node): 36 | try: obj_ext = self.obj_ext 37 | except AttributeError: obj_ext = '_%d.o' % self.idx 38 | 39 | task = self.create_task('nasm', node, node.change_ext(obj_ext)) 40 | self.compiled_tasks.append(task) 41 | 42 | self.meths.append('apply_nasm_vars') 43 | 44 | # create our action here 45 | Task.simple_task_type('nasm', nasm_str, color='BLUE', ext_out='.o', shell=False) 46 | 47 | def detect(conf): 48 | nasm = conf.find_program(['nasm', 'yasm'], var='NASM', mandatory=True) 49 | 50 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/osx/node/lib/node/wafadmin/Tools/node_addon.py: -------------------------------------------------------------------------------- 1 | import os 2 | import TaskGen, Utils, Utils, Runner, Options, Build 3 | from TaskGen import extension, taskgen, before, after, feature 4 | from Configure import conf, conftest 5 | 6 | @taskgen 7 | @before('apply_incpaths', 'apply_lib_vars', 'apply_type_vars') 8 | @feature('node_addon') 9 | @before('apply_bundle') 10 | def init_node_addon(self): 11 | self.default_install_path = self.env['NODE_PATH'] 12 | self.uselib = self.to_list(getattr(self, 'uselib', '')) 13 | if not 'NODE' in self.uselib: self.uselib.append('NODE') 14 | self.env['MACBUNDLE'] = True 15 | 16 | @taskgen 17 | @before('apply_link', 'apply_lib_vars', 'apply_type_vars') 18 | @after('apply_bundle') 19 | @feature('node_addon') 20 | def node_addon_shlib_ext(self): 21 | self.env['shlib_PATTERN'] = "%s.node" 22 | 23 | def detect(conf): 24 | join = os.path.join 25 | 26 | conf.env['PREFIX_NODE'] = get_prefix() 27 | prefix = conf.env['PREFIX_NODE'] 28 | lib = join(prefix, 'lib') 29 | 30 | conf.env['LIBPATH_NODE'] = lib 31 | conf.env['CPPPATH_NODE'] = join(prefix, 'include', 'node') 32 | 33 | conf.env.append_value('CPPFLAGS_NODE', '-D_GNU_SOURCE') 34 | conf.env.append_value('CPPFLAGS_NODE', '-DEV_MULTIPLICITY=0') 35 | 36 | conf.env.append_value('CCFLAGS_NODE', '-D_LARGEFILE_SOURCE') 37 | conf.env.append_value('CCFLAGS_NODE', '-D_FILE_OFFSET_BITS=64') 38 | 39 | conf.env.append_value('CXXFLAGS_NODE', '-D_LARGEFILE_SOURCE') 40 | conf.env.append_value('CXXFLAGS_NODE', '-D_FILE_OFFSET_BITS=64') 41 | 42 | # with symbols 43 | conf.env.append_value('CCFLAGS', ['-g']) 44 | conf.env.append_value('CXXFLAGS', ['-g']) 45 | # install path 46 | conf.env['NODE_PATH'] = get_node_path() 47 | # this changes the install path of cxx task_gen 48 | conf.env['LIBDIR'] = conf.env['NODE_PATH'] 49 | 50 | found = os.path.exists(conf.env['NODE_PATH']) 51 | conf.check_message('node path', '', found, conf.env['NODE_PATH']) 52 | 53 | found = os.path.exists(join(prefix, 'bin', 'node')) 54 | conf.check_message('node prefix', '', found, prefix) 55 | 56 | ## On Cygwin we need to link to the generated symbol definitions 57 | if Options.platform.startswith('cygwin'): conf.env['LIB_NODE'] = 'node' 58 | 59 | ## On Mac OSX we need to use mac bundles 60 | if Options.platform == 'darwin': conf.check_tool('osx') 61 | 62 | def get_node_path(): 63 | join = os.path.join 64 | nodePath = None 65 | if not os.environ.has_key('NODE_PATH'): 66 | if not os.environ.has_key('HOME'): 67 | nodePath = join(get_prefix(), 'lib', 'node') 68 | else: 69 | nodePath = join(os.environ['HOME'], '.node_libraries') 70 | else: 71 | nodePath = os.environ['NODE_PATH'] 72 | return nodePath 73 | 74 | def get_prefix(): 75 | prefix = None 76 | if not os.environ.has_key('PREFIX_NODE'): 77 | prefix = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..', '..')) 78 | else: 79 | prefix = os.environ['PREFIX_NODE'] 80 | return prefix 81 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/osx/node/lib/node/wafadmin/Tools/suncc.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Thomas Nagy, 2006 (ita) 4 | # Ralf Habacker, 2006 (rh) 5 | 6 | import os, optparse 7 | import Utils, Options, Configure 8 | import ccroot, ar 9 | from Configure import conftest 10 | 11 | @conftest 12 | def find_scc(conf): 13 | v = conf.env 14 | cc = None 15 | if v['CC']: cc = v['CC'] 16 | elif 'CC' in conf.environ: cc = conf.environ['CC'] 17 | #if not cc: cc = conf.find_program('gcc', var='CC') 18 | if not cc: cc = conf.find_program('cc', var='CC') 19 | if not cc: conf.fatal('suncc was not found') 20 | cc = conf.cmd_to_list(cc) 21 | 22 | try: 23 | if not Utils.cmd_output(cc + ['-flags']): 24 | conf.fatal('suncc %r was not found' % cc) 25 | except ValueError: 26 | conf.fatal('suncc -flags could not be executed') 27 | 28 | v['CC'] = cc 29 | v['CC_NAME'] = 'sun' 30 | 31 | @conftest 32 | def scc_common_flags(conf): 33 | v = conf.env 34 | 35 | # CPPFLAGS CCDEFINES _CCINCFLAGS _CCDEFFLAGS 36 | 37 | v['CC_SRC_F'] = '' 38 | v['CC_TGT_F'] = ['-c', '-o', ''] 39 | v['CPPPATH_ST'] = '-I%s' # template for adding include paths 40 | 41 | # linker 42 | if not v['LINK_CC']: v['LINK_CC'] = v['CC'] 43 | v['CCLNK_SRC_F'] = '' 44 | v['CCLNK_TGT_F'] = ['-o', ''] # solaris hack, separate the -o from the target 45 | 46 | v['LIB_ST'] = '-l%s' # template for adding libs 47 | v['LIBPATH_ST'] = '-L%s' # template for adding libpaths 48 | v['STATICLIB_ST'] = '-l%s' 49 | v['STATICLIBPATH_ST'] = '-L%s' 50 | v['CCDEFINES_ST'] = '-D%s' 51 | 52 | v['SONAME_ST'] = '-Wl,-h -Wl,%s' 53 | v['SHLIB_MARKER'] = '-Bdynamic' 54 | v['STATICLIB_MARKER'] = '-Bstatic' 55 | 56 | # program 57 | v['program_PATTERN'] = '%s' 58 | 59 | # shared library 60 | v['shlib_CCFLAGS'] = ['-Kpic', '-DPIC'] 61 | v['shlib_LINKFLAGS'] = ['-G'] 62 | v['shlib_PATTERN'] = 'lib%s.so' 63 | 64 | # static lib 65 | v['staticlib_LINKFLAGS'] = ['-Bstatic'] 66 | v['staticlib_PATTERN'] = 'lib%s.a' 67 | 68 | detect = ''' 69 | find_scc 70 | find_cpp 71 | find_ar 72 | scc_common_flags 73 | cc_load_tools 74 | cc_add_flags 75 | link_add_flags 76 | ''' 77 | 78 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/osx/node/lib/node/wafadmin/Tools/suncxx.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Thomas Nagy, 2006 (ita) 4 | # Ralf Habacker, 2006 (rh) 5 | 6 | import os, optparse 7 | import Utils, Options, Configure 8 | import ccroot, ar 9 | from Configure import conftest 10 | 11 | @conftest 12 | def find_sxx(conf): 13 | v = conf.env 14 | cc = None 15 | if v['CXX']: cc = v['CXX'] 16 | elif 'CXX' in conf.environ: cc = conf.environ['CXX'] 17 | if not cc: cc = conf.find_program('c++', var='CXX') 18 | if not cc: conf.fatal('sunc++ was not found') 19 | cc = conf.cmd_to_list(cc) 20 | 21 | try: 22 | if not Utils.cmd_output(cc + ['-flags']): 23 | conf.fatal('sunc++ %r was not found' % cc) 24 | except ValueError: 25 | conf.fatal('sunc++ -flags could not be executed') 26 | 27 | v['CXX'] = cc 28 | v['CXX_NAME'] = 'sun' 29 | 30 | @conftest 31 | def sxx_common_flags(conf): 32 | v = conf.env 33 | 34 | # CPPFLAGS CXXDEFINES _CXXINCFLAGS _CXXDEFFLAGS 35 | 36 | v['CXX_SRC_F'] = '' 37 | v['CXX_TGT_F'] = ['-c', '-o', ''] 38 | v['CPPPATH_ST'] = '-I%s' # template for adding include paths 39 | 40 | # linker 41 | if not v['LINK_CXX']: v['LINK_CXX'] = v['CXX'] 42 | v['CXXLNK_SRC_F'] = '' 43 | v['CXXLNK_TGT_F'] = ['-o', ''] # solaris hack, separate the -o from the target 44 | 45 | v['LIB_ST'] = '-l%s' # template for adding libs 46 | v['LIBPATH_ST'] = '-L%s' # template for adding libpaths 47 | v['STATICLIB_ST'] = '-l%s' 48 | v['STATICLIBPATH_ST'] = '-L%s' 49 | v['CXXDEFINES_ST'] = '-D%s' 50 | 51 | v['SONAME_ST'] = '-Wl,-h -Wl,%s' 52 | v['SHLIB_MARKER'] = '-Bdynamic' 53 | v['STATICLIB_MARKER'] = '-Bstatic' 54 | 55 | # program 56 | v['program_PATTERN'] = '%s' 57 | 58 | # shared library 59 | v['shlib_CXXFLAGS'] = ['-Kpic', '-DPIC'] 60 | v['shlib_LINKFLAGS'] = ['-G'] 61 | v['shlib_PATTERN'] = 'lib%s.so' 62 | 63 | # static lib 64 | v['staticlib_LINKFLAGS'] = ['-Bstatic'] 65 | v['staticlib_PATTERN'] = 'lib%s.a' 66 | 67 | detect = ''' 68 | find_sxx 69 | find_cpp 70 | find_ar 71 | sxx_common_flags 72 | cxx_load_tools 73 | cxx_add_flags 74 | ''' 75 | 76 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/osx/node/lib/node/wafadmin/Tools/winres.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Brant Young, 2007 4 | 5 | "This hook is called when the class cpp/cc task generator encounters a '.rc' file: X{.rc -> [.res|.rc.o]}" 6 | 7 | import os, sys, re 8 | import TaskGen, Task 9 | from Utils import quote_whitespace 10 | from TaskGen import extension 11 | 12 | EXT_WINRC = ['.rc'] 13 | 14 | winrc_str = '${WINRC} ${_CPPDEFFLAGS} ${_CCDEFFLAGS} ${WINRCFLAGS} ${_CPPINCFLAGS} ${_CCINCFLAGS} ${WINRC_TGT_F} ${TGT} ${WINRC_SRC_F} ${SRC}' 15 | 16 | @extension(EXT_WINRC) 17 | def rc_file(self, node): 18 | obj_ext = '.rc.o' 19 | if self.env['WINRC_TGT_F'] == '/fo': obj_ext = '.res' 20 | 21 | rctask = self.create_task('winrc', node, node.change_ext(obj_ext)) 22 | self.compiled_tasks.append(rctask) 23 | 24 | # create our action, for use with rc file 25 | Task.simple_task_type('winrc', winrc_str, color='BLUE', before='cc cxx', shell=False) 26 | 27 | def detect(conf): 28 | v = conf.env 29 | 30 | winrc = v['WINRC'] 31 | v['WINRC_TGT_F'] = '-o' 32 | v['WINRC_SRC_F'] = '-i' 33 | # find rc.exe 34 | if not winrc: 35 | if v['CC_NAME'] in ['gcc', 'cc', 'g++', 'c++']: 36 | winrc = conf.find_program('windres', var='WINRC', path_list = v['PATH']) 37 | elif v['CC_NAME'] == 'msvc': 38 | winrc = conf.find_program('RC', var='WINRC', path_list = v['PATH']) 39 | v['WINRC_TGT_F'] = '/fo' 40 | v['WINRC_SRC_F'] = '' 41 | if not winrc: 42 | conf.fatal('winrc was not found!') 43 | 44 | v['WINRCFLAGS'] = '' 45 | 46 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/osx/node/lib/node/wafadmin/Tools/xlc.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Thomas Nagy, 2006-2008 (ita) 4 | # Ralf Habacker, 2006 (rh) 5 | # Yinon Ehrlich, 2009 6 | # Michael Kuhn, 2009 7 | 8 | import os, sys 9 | import Configure, Options, Utils 10 | import ccroot, ar 11 | from Configure import conftest 12 | 13 | @conftest 14 | def find_xlc(conf): 15 | cc = conf.find_program(['xlc_r', 'xlc'], var='CC', mandatory=True) 16 | cc = conf.cmd_to_list(cc) 17 | conf.env.CC_NAME = 'xlc' 18 | conf.env.CC = cc 19 | 20 | @conftest 21 | def find_cpp(conf): 22 | v = conf.env 23 | cpp = None 24 | if v['CPP']: cpp = v['CPP'] 25 | elif 'CPP' in conf.environ: cpp = conf.environ['CPP'] 26 | if not cpp: cpp = v['CC'] 27 | v['CPP'] = cpp 28 | 29 | @conftest 30 | def xlc_common_flags(conf): 31 | v = conf.env 32 | 33 | # CPPFLAGS CCDEFINES _CCINCFLAGS _CCDEFFLAGS 34 | v['CCFLAGS_DEBUG'] = ['-g'] 35 | v['CCFLAGS_RELEASE'] = ['-O2'] 36 | 37 | v['CC_SRC_F'] = '' 38 | v['CC_TGT_F'] = ['-c', '-o', ''] # shell hack for -MD 39 | v['CPPPATH_ST'] = '-I%s' # template for adding include paths 40 | 41 | # linker 42 | if not v['LINK_CC']: v['LINK_CC'] = v['CC'] 43 | v['CCLNK_SRC_F'] = '' 44 | v['CCLNK_TGT_F'] = ['-o', ''] # shell hack for -MD 45 | 46 | v['LIB_ST'] = '-l%s' # template for adding libs 47 | v['LIBPATH_ST'] = '-L%s' # template for adding libpaths 48 | v['STATICLIB_ST'] = '-l%s' 49 | v['STATICLIBPATH_ST'] = '-L%s' 50 | v['RPATH_ST'] = '-Wl,-rpath,%s' 51 | v['CCDEFINES_ST'] = '-D%s' 52 | 53 | v['SONAME_ST'] = '' 54 | v['SHLIB_MARKER'] = '' 55 | v['STATICLIB_MARKER'] = '' 56 | v['FULLSTATIC_MARKER'] = '-static' 57 | 58 | # program 59 | v['program_LINKFLAGS'] = ['-Wl,-brtl'] 60 | v['program_PATTERN'] = '%s' 61 | 62 | # shared library 63 | v['shlib_CCFLAGS'] = ['-fPIC', '-DPIC'] # avoid using -DPIC, -fPIC aleady defines the __PIC__ macro 64 | v['shlib_LINKFLAGS'] = ['-G', '-Wl,-brtl,-bexpfull'] 65 | v['shlib_PATTERN'] = 'lib%s.so' 66 | 67 | # static lib 68 | v['staticlib_LINKFLAGS'] = '' 69 | v['staticlib_PATTERN'] = 'lib%s.a' 70 | 71 | def detect(conf): 72 | conf.find_xlc() 73 | conf.find_cpp() 74 | conf.find_ar() 75 | conf.xlc_common_flags() 76 | conf.cc_load_tools() 77 | conf.cc_add_flags() 78 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/osx/node/lib/node/wafadmin/Tools/xlcxx.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Thomas Nagy, 2006 (ita) 4 | # Ralf Habacker, 2006 (rh) 5 | # Yinon Ehrlich, 2009 6 | # Michael Kuhn, 2009 7 | 8 | import os, sys 9 | import Configure, Options, Utils 10 | import ccroot, ar 11 | from Configure import conftest 12 | 13 | @conftest 14 | def find_xlcxx(conf): 15 | cxx = conf.find_program(['xlc++_r', 'xlc++'], var='CXX', mandatory=True) 16 | cxx = conf.cmd_to_list(cxx) 17 | conf.env.CXX_NAME = 'xlc++' 18 | conf.env.CXX = cxx 19 | 20 | @conftest 21 | def find_cpp(conf): 22 | v = conf.env 23 | cpp = None 24 | if v['CPP']: cpp = v['CPP'] 25 | elif 'CPP' in conf.environ: cpp = conf.environ['CPP'] 26 | if not cpp: cpp = v['CXX'] 27 | v['CPP'] = cpp 28 | 29 | @conftest 30 | def xlcxx_common_flags(conf): 31 | v = conf.env 32 | 33 | # CPPFLAGS CXXDEFINES _CXXINCFLAGS _CXXDEFFLAGS 34 | v['CXXFLAGS_DEBUG'] = ['-g'] 35 | v['CXXFLAGS_RELEASE'] = ['-O2'] 36 | 37 | v['CXX_SRC_F'] = '' 38 | v['CXX_TGT_F'] = ['-c', '-o', ''] # shell hack for -MD 39 | v['CPPPATH_ST'] = '-I%s' # template for adding include paths 40 | 41 | # linker 42 | if not v['LINK_CXX']: v['LINK_CXX'] = v['CXX'] 43 | v['CXXLNK_SRC_F'] = '' 44 | v['CXXLNK_TGT_F'] = ['-o', ''] # shell hack for -MD 45 | 46 | v['LIB_ST'] = '-l%s' # template for adding libs 47 | v['LIBPATH_ST'] = '-L%s' # template for adding libpaths 48 | v['STATICLIB_ST'] = '-l%s' 49 | v['STATICLIBPATH_ST'] = '-L%s' 50 | v['RPATH_ST'] = '-Wl,-rpath,%s' 51 | v['CXXDEFINES_ST'] = '-D%s' 52 | 53 | v['SONAME_ST'] = '' 54 | v['SHLIB_MARKER'] = '' 55 | v['STATICLIB_MARKER'] = '' 56 | v['FULLSTATIC_MARKER'] = '-static' 57 | 58 | # program 59 | v['program_LINKFLAGS'] = ['-Wl,-brtl'] 60 | v['program_PATTERN'] = '%s' 61 | 62 | # shared library 63 | v['shlib_CXXFLAGS'] = ['-fPIC', '-DPIC'] # avoid using -DPIC, -fPIC aleady defines the __PIC__ macro 64 | v['shlib_LINKFLAGS'] = ['-G', '-Wl,-brtl,-bexpfull'] 65 | v['shlib_PATTERN'] = 'lib%s.so' 66 | 67 | # static lib 68 | v['staticlib_LINKFLAGS'] = '' 69 | v['staticlib_PATTERN'] = 'lib%s.a' 70 | 71 | def detect(conf): 72 | conf.find_xlcxx() 73 | conf.find_cpp() 74 | conf.find_ar() 75 | conf.xlcxx_common_flags() 76 | conf.cxx_load_tools() 77 | conf.cxx_add_flags() 78 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/osx/node/lib/node/wafadmin/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # Thomas Nagy, 2005 (ita) 4 | -------------------------------------------------------------------------------- /Resources/nodejs/builds/osx/node/lib/pkgconfig/nodejs.pc: -------------------------------------------------------------------------------- 1 | version=0.4.8 2 | prefix=/Users/chadauld/local/node 3 | libdir=${prefix}/lib 4 | includedir=${prefix}/include/node 5 | 6 | Name: nodejs 7 | Description: Evented I/O for V8 JavaScript. 8 | Version: ${version} 9 | Cflags: -I${includedir} 10 | -------------------------------------------------------------------------------- /Resources/nodejs/nodejs.py: -------------------------------------------------------------------------------- 1 | import os, subprocess, time 2 | 3 | class TiNodeJS: 4 | def __init__(self): 5 | self.platform = Titanium.getPlatform() 6 | if self.platform == 'win': 7 | alert('Sorry the Windows platform is not supported yet!'); 8 | return 9 | 10 | self.nodepid = None 11 | self.nodeproc = None 12 | self.sep = Titanium.Filesystem.getSeparator() 13 | self.noderoot = Titanium.App.getHome() + self.sep + 'Resources' + self.sep + 'nodejs' 14 | self.nodebinary = self.noderoot + self.sep + 'builds' + self.sep + self.platform + self.sep + 'node' + self.sep + 'bin' + self.sep + 'node' 15 | self.pathtoappserver = Titanium.App.getHome() + self.sep + 'Resources' + self.sep + 'appserver.js' 16 | 17 | def startup(self, callback): 18 | print '@@@ Doing tinode startup!' 19 | 20 | #The first time through we'll need to set the execution bit 21 | if not os.access(self.nodebinary, os.X_OK): 22 | os.chmod(self.nodebinary, 744) 23 | 24 | self.nodeproc = subprocess.Popen(['nohup', self.nodebinary, self.pathtoappserver]) 25 | self.nodepid = self.nodeproc.pid 26 | print('Node started pid = %d' % self.nodepid) 27 | 28 | time.sleep(1) #Give server a moment to start listening (@TODO: actually verify it is listening) 29 | callback() 30 | 31 | def shutdown(self): 32 | print '@@@ Doing tinode shutdown!' 33 | 34 | if self.nodepid is not None: 35 | print('Killing Node pid = %d' % self.nodepid) 36 | 37 | #self.nodeproc.terminate() 38 | #self.nodeproc.wait() 39 | os.kill(self.nodepid, 6) 40 | os.wait() -------------------------------------------------------------------------------- /Resources/templates/profile.ejs: -------------------------------------------------------------------------------- 1 | avatar 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 |
Username<%= login %>
Name<%= name %>
Location<%= location %>
Company<%= company %>
Blog<%= blog %>
Public Repo Count<%= public_repo_count %>
Follower Count<%= followers_count %>
Following Count<%= following_count %>
-------------------------------------------------------------------------------- /Resources/templates/repos.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | <% for(var i=0; i 10 | <% var rowClass = (i % 2) ? 'alternate' : ''; %> 11 | 12 | 13 | 14 | 15 | 16 | 17 | <% } %> 18 |
NameDescForksWatchers
<%= repos[i].name %><%= repos[i].description %><%= repos[i].forks %><%= repos[i].watchers %>
-------------------------------------------------------------------------------- /Resources/templates/userlist.ejs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /manifest: -------------------------------------------------------------------------------- 1 | #appname:nodejs 2 | #appid:com.appcelerator.nodejs 3 | #publisher:Appcelerator, Inc 4 | #image:default_app_logo.png 5 | #url:http://appcelerator.com 6 | #guid:ae2dd61d-dfdb-496b-86db-bdadbc18c615 7 | #desc:Titanium Desktop NodeJS Prototype 8 | #type:desktop 9 | runtime:1.2.0.RC2 10 | tiapp:1.2.0.RC2 11 | tifilesystem:1.2.0.RC2 12 | tiplatform:1.2.0.RC2 13 | tiui:1.2.0.RC2 14 | python:1.2.0.RC2 15 | ticodec:1.2.0.RC2 16 | tidatabase:1.2.0.RC2 17 | timedia:1.2.0.RC2 18 | timonkey:1.2.0.RC2 19 | tinetwork:1.2.0.RC2 20 | tiprocess:1.2.0.RC2 21 | tiworker:1.2.0.RC2 22 | -------------------------------------------------------------------------------- /tiapp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | ae2dd61d-dfdb-496b-86db-bdadbc18c615 4 | 5 | com.appcelerator.nodejs 6 | nodejs 7 | 1.0 8 | Appcelerator, Inc 9 | http://appcelerator.com 10 | Titanium Desktop NodeJS Prototype 11 | default_app_logo.png 12 | 2011 by Appcelerator, Inc 13 | 14 | 15 | initial 16 | NodeJS Example 17 | app://index.html 18 | 600 19 | 3000 20 | 0 21 | 500 22 | 3000 23 | 0 24 | false 25 | true 26 | true 27 | true 28 | true 29 | true 30 | 31 | 32 | -------------------------------------------------------------------------------- /timanifest: -------------------------------------------------------------------------------- 1 | {"desc":"not specified","visibility":"private","appid":"com.appcelerator.nodejs","appversion":"1.0","runtime":{"package":"include","version":"1.2.0.RC2"},"image":"default_app_logo.png","platforms":["osx"],"url":"http:\/\/appcelerator.com","publisher":"cauld","guid":"ae2dd61d-dfdb-496b-86db-bdadbc18c615","appname":"nodejs","mid":"v2:2b2cdc72-bd1e-4910-984c-1b6cd46fd5ad|7c999f4e3b829e3c0c7a867e462b3391","modules":[{"name":"tinetwork","package":"include","version":"1.2.0.RC2"},{"name":"tiplatform","package":"include","version":"1.2.0.RC2"},{"name":"tidatabase","package":"include","version":"1.2.0.RC2"},{"name":"timonkey","package":"include","version":"1.2.0.RC2"},{"name":"tiapp","package":"include","version":"1.2.0.RC2"},{"name":"ticodec","package":"include","version":"1.2.0.RC2"},{"name":"timedia","package":"include","version":"1.2.0.RC2"},{"name":"tiprocess","package":"include","version":"1.2.0.RC2"},{"name":"runtime","package":"include","version":"1.2.0.RC2"},{"name":"tifilesystem","package":"include","version":"1.2.0.RC2"},{"name":"python","package":"include","version":"1.2.0.RC2"},{"name":"tiworker","package":"include","version":"1.2.0.RC2"},{"name":"tiui","package":"include","version":"1.2.0.RC2"}],"release":"false"} --------------------------------------------------------------------------------