Merge pull request #1034 from atom/index-js

Update index.json when publishing
This commit is contained in:
Cheng Zhao 2015-01-21 13:38:56 -08:00
commit f6db9bc84c
3 changed files with 98 additions and 2 deletions

View file

@ -10,9 +10,10 @@
],
"devDependencies": {
"atom-package-manager": "0.112.0",
"atom-package-manager": "0.122.0",
"coffee-script": "~1.7.1",
"coffeelint": "~1.3.0"
"coffeelint": "~1.3.0",
"request": "*"
},
"private": true,

View file

@ -0,0 +1,86 @@
var app = require('app');
var fs = require('fs');
var path = require('path');
var request = require('request');
var TARGET_URL = 'http://gh-contractor-zcbenz.s3.amazonaws.com/atom-shell/dist/index.json';
function getDate() {
var today = new Date();
var year = today.getFullYear();
var month = today.getMonth() + 1;
if (month <= 9)
month = '0' + month;
var day= today.getDate();
if (day <= 9)
day = '0' + day;
return year + '-' + month + '-' + day;
}
function getApmVersion() {
var package = require(path.resolve(__dirname, '..', 'package.json'));
return package.devDependencies['atom-package-manager'];
}
function getInfoForCurrentVersion() {
var json = {};
json.version = process.versions['atom-shell'];
json.date = getDate();
json.apm = getApmVersion();
var names = ['node', 'v8', 'uv', 'zlib', 'openssl', 'modules', 'chrome']
for (var i in names) {
var name = names[i];
json[name] = process.versions[name];
}
json.files = [
'darwin-x64',
'darwin-x64-symbols',
'linux-ia32',
'linux-ia32-symbols',
'linux-x64',
'linux-x64-symbols',
'win32-ia32',
'win32-ia32-symbols',
];
return json;
}
function getIndexJsInServer(callback) {
request(TARGET_URL, function(e, res, body) {
if (e)
callback(e);
else if (res.statusCode != 200)
callback(new Error('Server returned ' + res.statusCode));
else
callback(null, JSON.parse(body));
});
}
function findObjectByVersion(all, version) {
for (var i in all)
if (all[i].version == version)
return i;
return -1;
}
app.on('ready', function() {
getIndexJsInServer(function(e, all) {
if (e) {
console.error(e);
process.exit(1);
}
var current = getInfoForCurrentVersion();
var found = findObjectByVersion(all, current.version);
if (found == -1)
all.unshift(current);
else
all[found] = current;
fs.writeFileSync(process.argv[2], JSON.stringify(all));
process.exit(0);
});
});

View file

@ -190,6 +190,15 @@ def upload_node(bucket, access_key, secret_key, version):
s3put(bucket, access_key, secret_key, OUT_DIR,
'atom-shell/dist/{0}'.format(version), [node_lib])
# Upload the index.json
atom_shell = os.path.join(OUT_DIR, 'atom.exe')
index_json = os.path.join(OUT_DIR, 'index.json')
execute([atom_shell,
os.path.join(SOURCE_ROOT, 'script', 'dump-version-info.js'),
index_json])
s3put(bucket, access_key, secret_key, OUT_DIR, 'atom-shell/dist',
[index_json])
def auth_token():
token = os.environ.get('ATOM_SHELL_GITHUB_TOKEN')