├── .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 | 
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 |
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 |
2 |
3 |
4 | Username |
5 | <%= login %> |
6 |
7 |
8 | Name |
9 | <%= name %> |
10 |
11 |
12 | Location |
13 | <%= location %> |
14 |
15 |
16 | Company |
17 | <%= company %> |
18 |
19 |
20 | Blog |
21 | <%= blog %> |
22 |
23 |
24 | Public Repo Count |
25 | <%= public_repo_count %> |
26 |
27 |
28 | Follower Count |
29 | <%= followers_count %> |
30 |
31 |
32 | Following Count |
33 | <%= following_count %> |
34 |
35 |
--------------------------------------------------------------------------------
/Resources/templates/repos.ejs:
--------------------------------------------------------------------------------
1 |
2 |
3 | Name |
4 | Desc |
5 | Forks |
6 | Watchers |
7 |
8 |
9 | <% for(var i=0; i
10 | <% var rowClass = (i % 2) ? 'alternate' : ''; %>
11 |
12 | <%= repos[i].name %> |
13 | <%= repos[i].description %> |
14 | <%= repos[i].forks %> |
15 | <%= repos[i].watchers %> |
16 |
17 | <% } %>
18 |
--------------------------------------------------------------------------------
/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"}
--------------------------------------------------------------------------------