teapot 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 82c11fa3631f5f64272f82742fc2e2a605915050
4
- data.tar.gz: 482fc59f950b17490993fa10561290beb0963369
3
+ metadata.gz: a4b9985b5523ab61e6016f73b9d1a7de0a424317
4
+ data.tar.gz: f699a936b8c6f38b761b80902c628ba054eaa8c1
5
5
  SHA512:
6
- metadata.gz: c817753effc821940fc78ec441d4534414392e59c34f6d1ce3c8ad28d64941ca25bd257d1095545a965b37b7a8f7b6f470ce8fcaa59e2adcf674a41bd6ec9e8e
7
- data.tar.gz: 4fc45e4498e1ac51e42cc9bed6fca53c6629af3dac8c3edb537d8a62faa425a0f9b91030020e76b0347fd16424e2e94aafb4ade7759c3cd57b909f556aa7223f
6
+ metadata.gz: 5da3b8ebc748e36b9bedc8731c6c42c5e783061bc30dc3f77f003af4001b7f8076ee5b9cebd4154325af554a4125cba6e12c308419a4688935b277bd589ca7a6
7
+ data.tar.gz: 14f418012735d4e469f919779ed8c5ab4f7048ac33cf0357ae7d8f6f7603e0699b29a41021389a982e6401c8a649a05ded1539bc90954ca9459c2aba8a8211ba
@@ -4,10 +4,14 @@ before_install:
4
4
  # For testing purposes:
5
5
  - git config --local user.name "Samuel Williams"
6
6
  rvm:
7
- - 2.0.0
8
7
  - 2.1.8
9
8
  - 2.2.4
10
9
  - 2.3.0
11
10
  - ruby-head
12
11
  - rbx-2
13
12
  env: COVERAGE=true
13
+ matrix:
14
+ fast_finish: true
15
+ allow_failures:
16
+ - rvm: ruby-head
17
+ - rvm: "rbx-2"
data/bin/teapot CHANGED
@@ -34,23 +34,6 @@ require 'teapot/repository'
34
34
  require 'time'
35
35
  require 'trollop'
36
36
 
37
- OPTIONS = Trollop::options do
38
- version "teapot v#{Teapot::VERSION}"
39
-
40
- opt :configuration, "Specify a specific build configuration.", :type => :string
41
-
42
- opt :only, "Only compiled direct dependencies."
43
- opt :continuous, "Run the build graph continually.", :type => :boolean, :short => :n
44
-
45
- opt :in, "Work in the given directory.", :type => :string
46
- opt :unlock, "Don't use package lockfile when fetching."
47
-
48
- opt :force, "Force the operation if it would otherwise be be stopped due to a warning."
49
-
50
- opt :verbose, "Verbose output and error backtraces.", :type => :boolean
51
- opt :version, "Print version and exit", :short => :none
52
- end
53
-
54
37
  def make_controller(root = nil)
55
38
  root ||= OPTIONS[:in] || Dir.getwd
56
39
  Teapot::Controller.new(root, OPTIONS)
@@ -66,10 +49,14 @@ module Application
66
49
  make_controller.fetch
67
50
  end
68
51
 
69
- def self.build(targets = ARGV)
52
+ def self.build(targets = ARGV.slice!(0..-1))
70
53
  make_controller.build(targets)
71
54
  end
72
-
55
+
56
+ def self.exec(target = ARGV.shift)
57
+ make_controller.build([target])
58
+ end
59
+
73
60
  def self.list(only = ARGV)
74
61
  if only.size > 0
75
62
  make_controller.list(Set.new(only))
@@ -86,7 +73,7 @@ module Application
86
73
  project_name = ARGV.shift
87
74
  project_directory = project_name.gsub(/\s+/, '-').downcase
88
75
  source = ARGV.shift
89
- packages = ARGV
76
+ packages = ARGV.slice!(0..-1)
90
77
 
91
78
  root = Build::Files::Path.join(Dir.getwd, project_directory)
92
79
 
@@ -108,6 +95,10 @@ module Application
108
95
  end
109
96
  end
110
97
 
98
+ def valid_actions
99
+ (Application.public_methods - Module.methods).collect(&:to_s)
100
+ end
101
+
111
102
  def track_time
112
103
  start_time = Time.now
113
104
 
@@ -117,10 +108,31 @@ ensure
117
108
  elapsed_time = end_time - start_time
118
109
 
119
110
  $stdout.flush
120
- $stderr.puts ("Elapsed Time: %0.3fs" % elapsed_time).color(:magenta)
111
+ $stderr.puts Rainbow("Elapsed Time: %0.3fs" % elapsed_time).magenta
112
+ end
113
+
114
+ OPTIONS = Trollop::options do
115
+ banner Rainbow("Teapot: a decentralised package manager and build tool.").bright.blue
116
+ version "teapot v#{Teapot::VERSION}"
117
+
118
+ opt :configuration, "Specify a specific build configuration.", :type => :string
119
+
120
+ opt :limit, "Limit build to <i> concurrent processes at once where possible", :type => :integer
121
+
122
+ opt :only, "Only compiled direct dependencies."
123
+ opt :continuous, "Run the build graph continually (experimental).", :type => :boolean, :short => :n
124
+
125
+ opt :in, "Work in the given directory.", :type => :string
126
+ opt :unlock, "Don't use package lockfile when fetching."
127
+
128
+ opt :force, "Force the operation if it would otherwise be be stopped due to a warning."
129
+
130
+ opt :verbose, "Verbose output and error backtraces.", :type => :boolean
131
+ opt :version, "Print version and exit", :short => :none
132
+
133
+ opt :help, "Show this message"
121
134
  end
122
135
 
123
- valid_actions = (Application.public_methods - Module.methods).collect(&:to_s)
124
136
  action = ARGV.shift
125
137
 
126
138
  # Check that the command was invoked correctly...
@@ -68,7 +68,7 @@ module Teapot
68
68
  ordered = context.direct_targets(ordered)
69
69
  end
70
70
 
71
- controller = Build::Controller.new(logger: self.logger) do |controller|
71
+ controller = Build::Controller.new(logger: self.logger, limit: @options[:limit]) do |controller|
72
72
  ordered.each do |resolution|
73
73
  target = resolution.provider
74
74
 
@@ -85,7 +85,7 @@ module Teapot
85
85
  # We need to catch interrupt here, and exit with the correct exit code:
86
86
  begin
87
87
  controller.run do |walker|
88
- show_dependencies(walker)
88
+ # show_dependencies(walker)
89
89
 
90
90
  # Only run once is asked:
91
91
  unless @options[:continuous]
@@ -19,5 +19,5 @@
19
19
  # THE SOFTWARE.
20
20
 
21
21
  module Teapot
22
- VERSION = "1.0.2"
22
+ VERSION = "1.0.3"
23
23
  end
@@ -26,16 +26,16 @@ Gem::Specification.new do |spec|
26
26
 
27
27
  spec.has_rdoc = 'yard'
28
28
 
29
- spec.required_ruby_version = '>= 2.0'
29
+ spec.required_ruby_version = '>= 2.1'
30
30
 
31
31
  spec.add_dependency "rainbow", "~> 2.0.0"
32
32
  spec.add_dependency "trollop", "~> 2.1"
33
33
 
34
34
  spec.add_dependency "system", "~> 0.1.3"
35
35
 
36
- spec.add_dependency "graphviz", "~> 0.2.0"
36
+ spec.add_dependency "graphviz", "~> 0.3.0"
37
37
 
38
- spec.add_dependency "build", "~> 1.0.6"
38
+ spec.add_dependency "build", "~> 1.0.7"
39
39
 
40
40
  # This could be a good option in the future for teapot fetch:
41
41
  #spec.add_dependency "rugged"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: teapot
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
@@ -58,28 +58,28 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 0.2.0
61
+ version: 0.3.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 0.2.0
68
+ version: 0.3.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: build
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 1.0.6
75
+ version: 1.0.7
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 1.0.6
82
+ version: 1.0.7
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: bundler
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -197,7 +197,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
197
197
  requirements:
198
198
  - - ">="
199
199
  - !ruby/object:Gem::Version
200
- version: '2.0'
200
+ version: '2.1'
201
201
  required_rubygems_version: !ruby/object:Gem::Requirement
202
202
  requirements:
203
203
  - - ">="
@@ -205,7 +205,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
205
205
  version: '0'
206
206
  requirements: []
207
207
  rubyforge_project:
208
- rubygems_version: 2.5.1
208
+ rubygems_version: 2.2.2
209
209
  signing_key:
210
210
  specification_version: 4
211
211
  summary: Teapot is a tool for managing complex cross-platform builds.