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…
	
	Add table
		Add a link
		
	
		Reference in a new issue