Skip to content

Commit

Permalink
jitpack on the works
Browse files Browse the repository at this point in the history
  • Loading branch information
cesarferreira committed Aug 17, 2017
1 parent e836543 commit ad58830
Show file tree
Hide file tree
Showing 5 changed files with 58 additions and 8 deletions.
2 changes: 1 addition & 1 deletion lib/metadata/jcenter.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ const self = module.exports = {
return new Promise((resolve, reject) => {
const substitute = info.dependency.replace(/\./g, '/').replace(/:/g, '/')
let url = `https://jcenter.bintray.com/${substitute}/maven-metadata.xml`
log(url)

require('node-read-url')
.promise(url)
.then(response => {
Expand Down
45 changes: 45 additions & 0 deletions lib/metadata/jitpack.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#!/usr/bin/env node
'use strict';

const Chalk = require('chalk');
const log = console.log;
const Constants = require('../utils/constants');
const fs = require('fs-extra');
const Hive = require('../handlers/Hive');
const xml2js = require('xml2js');

// Main code //
const self = module.exports = {
getLatestVersion: (info) => {
return new Promise((resolve, reject) => {
const substitute = info.dependency.replace(/\./g, '/').replace(/:/g, '/')
let url = `https://jcenter.bintray.com/${substitute}/maven-metadata.xml`

require('node-read-url')
.promise(url)
.then(response => {
xml2js.parseString(response, (err, result) => {
if (result.metadata.version.length === 1) {
resolve(result.metadata.version[0])
} else {
resolve('+')
}
});
}).catch(err => resolve('+'));
}).catch(err => resolve('+'));
},
getLatestVersionByPair: (pair) => {
return Hive.get(pair)
.then(info => {
return self.getLatestVersion(info);
}).catch(err => {
log(`Cant find the pair: ${pair}`)
});
}
};


// self.getLatestVersionByPair('square/picasso2')
// .then(version => {
// log(`version: ${version}`)
// })
2 changes: 1 addition & 1 deletion lib/metadata/maven.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ const self = module.exports = {
return new Promise((resolve, reject) => {
const substitute = info.dependency.replace(/\./g, '/').replace(/:/g, '/')
let url = `http://repo1.maven.org/maven2/${substitute}/maven-metadata.xml`
log(url)

require('node-read-url')
.promise(url)
.then(response => {
Expand Down
13 changes: 11 additions & 2 deletions lib/metadata/metadata.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,32 @@ const Chalk = require('chalk');
const log = console.log;
const Constants = require('../utils/constants');
const fs = require('fs-extra');

const JCenter = require('./jcenter')
const Maven = require('./jcenter')
const Jitpack = require('./jitpack')

// Main code //
const self = module.exports = {
getLatestVersion: (info) => {
let promise = {};
const server = info.repository.server.toLowerCase();
log(server)
switch (server) {
case 'jcenter':
promise = JCenter.getLatestVersion(info);
break;
case 'maven':
promise = Maven.getLatestVersion(info);
switch (info.repository.server.url) {
case 'https://jitpack.io':
promise = Jitpack.getLatestVersion(info);
break;
default:
promise = Maven.getLatestVersion(info);
break;
}
break;
default:
// What is the meaning of life?!
break;
}
return promise;
Expand Down
4 changes: 0 additions & 4 deletions lib/tasks/add.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,8 @@ const Metadata = require('../metadata/metadata');
// Main code //
const self = module.exports = {
init: (input) => {

QuickSearch.search(input[0])
.then(result => {

if (result.rating === 1) {
log(Chalk.blue('==>') + Chalk.bold(' Found it!'));

Expand All @@ -23,14 +21,12 @@ const self = module.exports = {
Metadata.getLatestVersion(info)
.then(version => {
log(`${info.compileType} "${info.dependency}:${version}"`);

})
});
} else {
log(Chalk.blue('==>') + Chalk.bold(' Did you mean'));
log(`${result.target}`);
}
});

}
};

0 comments on commit ad58830

Please sign in to comment.