Merge pull request #1034 from atom/index-js
Update index.json when publishing
This commit is contained in:
commit
f6db9bc84c
3 changed files with 98 additions and 2 deletions
|
@ -10,9 +10,10 @@
|
||||||
],
|
],
|
||||||
|
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"atom-package-manager": "0.112.0",
|
"atom-package-manager": "0.122.0",
|
||||||
"coffee-script": "~1.7.1",
|
"coffee-script": "~1.7.1",
|
||||||
"coffeelint": "~1.3.0"
|
"coffeelint": "~1.3.0",
|
||||||
|
"request": "*"
|
||||||
},
|
},
|
||||||
|
|
||||||
"private": true,
|
"private": true,
|
||||||
|
|
86
script/dump-version-info.js
Normal file
86
script/dump-version-info.js
Normal 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);
|
||||||
|
});
|
||||||
|
});
|
|
@ -190,6 +190,15 @@ def upload_node(bucket, access_key, secret_key, version):
|
||||||
s3put(bucket, access_key, secret_key, OUT_DIR,
|
s3put(bucket, access_key, secret_key, OUT_DIR,
|
||||||
'atom-shell/dist/{0}'.format(version), [node_lib])
|
'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():
|
def auth_token():
|
||||||
token = os.environ.get('ATOM_SHELL_GITHUB_TOKEN')
|
token = os.environ.get('ATOM_SHELL_GITHUB_TOKEN')
|
||||||
|
|
Loading…
Reference in a new issue