beekeeper-util
Version:
CLI utility for managing the beekeeper-service
73 lines (59 loc) • 2.51 kB
text/coffeescript
async = require 'async'
colors = require 'colors'
program = require 'commander'
QuayService = require './src/quay-service.coffee'
DockerHubService = require './src/docker-hub-service.coffee'
ProjectService = require './src/project-service.coffee'
CodefreshService = require './src/codefresh-service.coffee'
TravisService = require './src/travis-service.coffee'
CodecovService = require './src/codecov-service.coffee'
GithubService = require './src/github-service.coffee'
packageJSON = require './package.json'
program
.version packageJSON.version
.usage '[options] <project-name>'
.option '-o, --owner <octoblu>', 'Project owner'
class Command
constructor: () ->
process.on 'uncaughtException',
{ , } = ()
= new ProjectService { }
= new QuayService { }
= new DockerHubService { }
= new CodefreshService { }
= new TravisService { }
= new CodecovService { , }
= new GithubService { }
parseOptions: =>
program.parse process.argv
repo = program.args[0] || .name
owner = program.owner || .owner
return {
repo,
owner
}
run: =>
.getRepo { , }, (error, githubRepo) =>
return error if error?
= githubRepo.private
async.series [
async.apply .configure, { , , }
async.apply .configure, { , , }
async.apply .configureEnv, { , , }
async.apply .configure, { }
async.apply .configure, { , , }
async.apply .configure, { , , }
async.apply .configure, { , , }
], (error) =>
return error if error?
console.log colors.green('SUCCESS'), colors.white('it has been done. Gump it when ready.')
process.exit 0
dieHelp: (error) =>
console.error error.toString()
program.outputHelp()
process.exit 1
die: (error) =>
return process.exit(0) unless error?
console.error error.stack
process.exit 1
module.exports = Command