assemblyline-cli 0.0.6 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f0503156dc1216f0eeabf88439428799b9428780
4
- data.tar.gz: dfc8dbe138236ee7d31cae9f76a905dde0726635
3
+ metadata.gz: 0e4d9c5da410f82b87d264d272100f55a0cc8e71
4
+ data.tar.gz: 66eb2a8ccee7faa4f1b71fc128e025f5f1ed19eb
5
5
  SHA512:
6
- metadata.gz: affe342046f7fbb8640e24897577f75e0ec69c45d63e0d8e704b8b6146d3720634fb29a341c17baddf6e2d0a592a6c2902fc6b4d11bf8d3837d65397b3068431
7
- data.tar.gz: f428b2520c256f69e4c9d4c45bd9cabc891e0cd0d4e853d9d9ec4b2dafed8b249ee5b628e72891cdac7a5e059cd5cab7fc02ac67940bee7b0ef06f959bda5465
6
+ metadata.gz: de32c7559d592245e4e00dca60cae50262de03d8e88bc78faa3bd50f985c82f4e179e5644ddd153c810e3ddac9705e58887c3fa98b3c1c3cc647b645b7ba8245
7
+ data.tar.gz: 4b4c49b66c8add2fd3a041242d5b600c32416b8f9f50d83b1802e81121fe0ca8b160e5482f416020892fbbae461643defb33b6bcc76daf40f37587a112687ee7
@@ -3,10 +3,14 @@ require 'thor'
3
3
 
4
4
  module Assemblyline
5
5
  class CLI < Thor
6
- desc 'build URL (REF)', 'Build an assemblyline project from a git url and optionaly merge REF into master'
7
- option :debug, type: :boolean
8
- def build(url, ref = nil)
9
- exec "docker run --rm #{bind_mounts} #{env_flags} #{debug_flags} #{assemblyline_builder} bin/build #{url} #{ref}"
6
+ desc 'build GIT_URL or PATH', 'Build an assemblyline project from a git url or path'
7
+ option :debug, type: :boolean, default: false, desc: 'start assemblyline-builder with a tty'
8
+ option :push, type: :boolean, default: false, desc: 'push the built image to docker repo'
9
+ option :ref, type: :string, desc: 'merge this ref into master before building'
10
+ option :dev, type: :string, desc: 'use a local dev checkout of assemblyline-builder', banner: 'PATH'
11
+ def build(url_or_path)
12
+ init_local_mount url_or_path
13
+ exec "docker run --rm #{bind_mounts} #{env_flags} #{debug_flags} #{local_mount} #{assemblyline_builder} bin/build #{build_command(url_or_path)}" # rubocop:disable Metrics/LineLength
10
14
  end
11
15
 
12
16
  desc 'update', 'update assemblyline'
@@ -23,9 +27,37 @@ module Assemblyline
23
27
 
24
28
  private
25
29
 
30
+ attr_reader :local_mount
31
+
32
+ def build_command(url_or_path)
33
+ if local_mount
34
+ "local_build #{push}#{sha}"
35
+ else
36
+ "build #{push}#{url_or_path} #{options[:ref]}"
37
+ end
38
+ end
39
+
40
+ def push
41
+ return unless options[:push]
42
+ '--push '
43
+ end
44
+
45
+ def sha
46
+ `git rev-parse --short HEAD`.chomp
47
+ end
48
+
49
+ def init_local_mount(path)
50
+ return unless dir?(path)
51
+ @local_mount = "-v #{File.expand_path(Dir.pwd, path)}:/usr/assemblyline/local"
52
+ end
53
+
54
+ def dir?(path)
55
+ File.directory?(File.expand_path(Dir.pwd, path))
56
+ end
57
+
26
58
  def debug_flags
27
59
  return unless options[:debug]
28
- "-v #{Dir.pwd}:/usr/src -ti"
60
+ '-ti'
29
61
  end
30
62
 
31
63
  def env_flags
@@ -1,3 +1,3 @@
1
1
  module Assemblyline
2
- CLI_VERSION = '0.0.6'
2
+ CLI_VERSION = '0.0.7'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: assemblyline-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ed Robinson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-24 00:00:00.000000000 Z
11
+ date: 2015-03-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -103,7 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
103
103
  version: '0'
104
104
  requirements: []
105
105
  rubyforge_project:
106
- rubygems_version: 2.2.2
106
+ rubygems_version: 2.4.5
107
107
  signing_key:
108
108
  specification_version: 4
109
109
  summary: A super-lightweight wrapper to start assemblyline tasks