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 +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.
|