teapot 1.0.2 → 1.0.3
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 +4 -4
- data/.travis.yml +5 -1
- data/bin/teapot +34 -22
- data/lib/teapot/controller/build.rb +2 -2
- data/lib/teapot/version.rb +1 -1
- data/teapot.gemspec +3 -3
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a4b9985b5523ab61e6016f73b9d1a7de0a424317
|
4
|
+
data.tar.gz: f699a936b8c6f38b761b80902c628ba054eaa8c1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5da3b8ebc748e36b9bedc8731c6c42c5e783061bc30dc3f77f003af4001b7f8076ee5b9cebd4154325af554a4125cba6e12c308419a4688935b277bd589ca7a6
|
7
|
+
data.tar.gz: 14f418012735d4e469f919779ed8c5ab4f7048ac33cf0357ae7d8f6f7603e0699b29a41021389a982e6401c8a649a05ded1539bc90954ca9459c2aba8a8211ba
|
data/.travis.yml
CHANGED
@@ -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).
|
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]
|
data/lib/teapot/version.rb
CHANGED
data/teapot.gemspec
CHANGED
@@ -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.
|
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.
|
36
|
+
spec.add_dependency "graphviz", "~> 0.3.0"
|
37
37
|
|
38
|
-
spec.add_dependency "build", "~> 1.0.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|