|
1 | 1 | 'use strict';
|
2 | 2 |
|
3 |
| -var path = require('path'); |
| 3 | +var Path = require('path'); |
4 | 4 | var assert = require('assert');
|
5 | 5 |
|
6 | 6 | var _ = require('lodash');
|
7 | 7 | var util = require('../util');
|
8 | 8 |
|
9 | 9 | module.exports = function () {
|
10 |
| - var regex = RegExp('^[^/]+/(([^/]+)/[^/]+/swagger/[^/]+)$'); |
| 10 | + var files = util.listGitHubFiles('Azure', 'azure-rest-api-specs', '*/swagger/*.json'); |
11 | 11 |
|
12 |
| - //TODO: use makeRequest lib to dowload archive |
13 |
| - var files = util.exec('wget -q -O- https://codeload.github.com/Azure/azure-rest-api-specs/tar.gz/master | tar -tz'); |
14 |
| - return _(files).split('\n').map(function (filename) { |
15 |
| - var result = regex.exec(filename); |
16 |
| - if (!result) |
17 |
| - return; |
| 12 | + //Workaround |
| 13 | + files = _.filter(files, x => (x.split('/').length == 4)); |
| 14 | + |
| 15 | + return _.map(files, filename => { |
18 | 16 |
|
19 | 17 | //Workaround for https://github.com/Azure/azure-rest-api-specs/issues/229
|
20 |
| - var service = result[2]; |
21 |
| - var filename = path.basename(result[1], '.json'); |
| 18 | + var service = filename.split('/')[0]; |
| 19 | + var basename = Path.basename(filename, '.json'); |
22 | 20 | if (['arm-compute', 'arm-machinelearning'].indexOf(service) !== -1
|
23 |
| - && !service.endsWith(filename)) { |
24 |
| - service += '-' + filename; |
| 21 | + && !service.endsWith(basename)) { |
| 22 | + service += '-' + basename; |
25 | 23 | }
|
26 | 24 |
|
27 | 25 | return {
|
28 | 26 | info: {
|
29 | 27 | 'x-serviceName': service,
|
30 | 28 | 'x-origin': {
|
31 |
| - url: 'https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/' + result[1], |
| 29 | + url: util.rawGitHubUrl('Azure', 'azure-rest-api-specs', filename), |
32 | 30 | format: 'swagger',
|
33 | 31 | version: '2.0'
|
34 | 32 | }
|
35 | 33 | }
|
36 | 34 | }
|
37 |
| - }).compact().value(); |
| 35 | + }); |
38 | 36 | }
|
0 commit comments