teapot 3.4.0 → 3.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/teapot/command/list.rb +5 -5
- data/lib/teapot/loader.rb +8 -8
- data/lib/teapot/select.rb +1 -1
- data/lib/teapot/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +80 -80
- metadata.gz.sig +0 -0
- data/.gitignore +0 -21
- data/.rspec +0 -4
- data/.travis.yml +0 -33
- data/Gemfile +0 -4
- data/Gemfile.local +0 -23
- data/README.md +0 -171
- data/Rakefile +0 -19
- data/materials/kurocha.png +0 -0
- data/materials/kurocha.svg +0 -101
- data/materials/teapot.png +0 -0
- data/materials/teapot.svg +0 -82
- data/spec/spec_helper.rb +0 -11
- data/spec/teapot/command/clone_spec.rb +0 -57
- data/spec/teapot/command/fetch_spec/repositories/thing/README.md +0 -3
- data/spec/teapot/command/fetch_spec/repositories/thing/teapot.rb +0 -2
- data/spec/teapot/command/fetch_spec/test-project/teapot.rb +0 -8
- data/spec/teapot/command/fetch_spec.rb +0 -107
- data/spec/teapot/command_spec.rb +0 -59
- data/spec/teapot/configuration_spec/teapot.rb +0 -13
- data/spec/teapot/configuration_spec.rb +0 -33
- data/spec/teapot/context_spec/teapot.rb +0 -40
- data/spec/teapot/context_spec.rb +0 -61
- data/spec/teapot/target_spec/teapot.rb +0 -52
- data/spec/teapot/target_spec.rb +0 -55
- data/teapot.gemspec +0 -46
@@ -1,33 +0,0 @@
|
|
1
|
-
# Copyright, 2016, by Samuel G. D. Williams. <http://www.codeotaku.com>
|
2
|
-
#
|
3
|
-
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
-
# of this software and associated documentation files (the "Software"), to deal
|
5
|
-
# in the Software without restriction, including without limitation the rights
|
6
|
-
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
-
# copies of the Software, and to permit persons to whom the Software is
|
8
|
-
# furnished to do so, subject to the following conditions:
|
9
|
-
#
|
10
|
-
# The above copyright notice and this permission notice shall be included in
|
11
|
-
# all copies or substantial portions of the Software.
|
12
|
-
#
|
13
|
-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
-
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
-
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
-
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
-
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
-
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
|
-
# THE SOFTWARE.
|
20
|
-
|
21
|
-
require 'teapot/context'
|
22
|
-
require 'teapot/configuration'
|
23
|
-
|
24
|
-
RSpec.describe Teapot::Configuration do
|
25
|
-
let(:root) {Build::Files::Path.new(__dir__) + "configuration_spec"}
|
26
|
-
let(:context) {Teapot::Context.new(root)}
|
27
|
-
|
28
|
-
it "merged targets" do
|
29
|
-
selection = context.select
|
30
|
-
|
31
|
-
expect(selection.configuration.targets[:build]).to be == ["Bar", "Foo"]
|
32
|
-
end
|
33
|
-
end
|
@@ -1,40 +0,0 @@
|
|
1
|
-
|
2
|
-
#
|
3
|
-
# This file is part of the "Teapot" project, and is released under the MIT license.
|
4
|
-
#
|
5
|
-
|
6
|
-
teapot_version "3.0.0"
|
7
|
-
|
8
|
-
define_target "context_spec" do |target|
|
9
|
-
end
|
10
|
-
|
11
|
-
define_configuration 'development' do |configuration|
|
12
|
-
configuration.import 'context_spec'
|
13
|
-
end
|
14
|
-
|
15
|
-
define_configuration 'context_spec' do |configuration|
|
16
|
-
configuration.public!
|
17
|
-
|
18
|
-
configuration[:source] = "../kurocha"
|
19
|
-
|
20
|
-
configuration.require "variants"
|
21
|
-
|
22
|
-
configuration.require "platform-darwin-osx"
|
23
|
-
configuration.require "platform-darwin-ios"
|
24
|
-
|
25
|
-
configuration.require "unit-test"
|
26
|
-
configuration.require "euclid"
|
27
|
-
|
28
|
-
configuration.require "ogg"
|
29
|
-
configuration.require "vorbis"
|
30
|
-
|
31
|
-
configuration.require "jpeg"
|
32
|
-
configuration.require "png"
|
33
|
-
|
34
|
-
configuration.require "freetype"
|
35
|
-
|
36
|
-
configuration.require "dream"
|
37
|
-
configuration.require "tagged-format"
|
38
|
-
|
39
|
-
configuration.require "opencv"
|
40
|
-
end
|
data/spec/teapot/context_spec.rb
DELETED
@@ -1,61 +0,0 @@
|
|
1
|
-
# Copyright, 2012, by Samuel G. D. Williams. <http://www.codeotaku.com>
|
2
|
-
#
|
3
|
-
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
-
# of this software and associated documentation files (the "Software"), to deal
|
5
|
-
# in the Software without restriction, including without limitation the rights
|
6
|
-
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
-
# copies of the Software, and to permit persons to whom the Software is
|
8
|
-
# furnished to do so, subject to the following conditions:
|
9
|
-
#
|
10
|
-
# The above copyright notice and this permission notice shall be included in
|
11
|
-
# all copies or substantial portions of the Software.
|
12
|
-
#
|
13
|
-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
-
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
-
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
-
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
-
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
-
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
|
-
# THE SOFTWARE.
|
20
|
-
|
21
|
-
require 'teapot/context'
|
22
|
-
|
23
|
-
RSpec.describe Teapot::Context do
|
24
|
-
let(:root) {Build::Files::Path.new(__dir__) + "context_spec"}
|
25
|
-
let(:context) {Teapot::Context.new(root)}
|
26
|
-
|
27
|
-
it "should specify correct number of packages" do
|
28
|
-
default_configuration = context.configuration
|
29
|
-
|
30
|
-
expect(default_configuration.packages.count).to be == 0
|
31
|
-
end
|
32
|
-
|
33
|
-
it "should select configuration" do
|
34
|
-
expect(context.configuration.name).to be == 'development'
|
35
|
-
end
|
36
|
-
|
37
|
-
context "with specific configuration" do
|
38
|
-
let(:context) {Teapot::Context.new(root, configuration: 'context_spec')}
|
39
|
-
|
40
|
-
it "should select configuration" do
|
41
|
-
expect(context.configuration.name).to be == 'context_spec'
|
42
|
-
end
|
43
|
-
|
44
|
-
it "should specify correct number of packages" do
|
45
|
-
default_configuration = context.configuration
|
46
|
-
|
47
|
-
expect(default_configuration.packages.count).to be == 13
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
it "should load teapot script" do
|
52
|
-
selection = context.select
|
53
|
-
|
54
|
-
# There is one configuration:
|
55
|
-
expect(selection.configurations.count).to be == 2
|
56
|
-
expect(selection.targets.count).to be == 1
|
57
|
-
|
58
|
-
# We didn't expect any of them to actually load...
|
59
|
-
expect(selection.unresolved.count).to be > 0
|
60
|
-
end
|
61
|
-
end
|
@@ -1,52 +0,0 @@
|
|
1
|
-
|
2
|
-
teapot_version "1.0"
|
3
|
-
|
4
|
-
# Variants
|
5
|
-
define_target "variant-debug" do |target|
|
6
|
-
target.priority = 20
|
7
|
-
|
8
|
-
target.provides "Variant/debug" do
|
9
|
-
default variant "debug"
|
10
|
-
|
11
|
-
append buildflags %W{-O0 -g -Wall -Wmissing-prototypes}
|
12
|
-
append linkflags %W{-g}
|
13
|
-
end
|
14
|
-
|
15
|
-
target.provides :variant => "Variant/debug"
|
16
|
-
end
|
17
|
-
|
18
|
-
define_target "variant-release" do |target|
|
19
|
-
target.provides "Variant/release" do
|
20
|
-
default variant "release"
|
21
|
-
|
22
|
-
append buildflags %W{-O3 -DNDEBUG}
|
23
|
-
end
|
24
|
-
|
25
|
-
target.provides :variant => "Variant/release"
|
26
|
-
end
|
27
|
-
|
28
|
-
# Platforms
|
29
|
-
define_target "platform-generic" do |target|
|
30
|
-
target.provides "Platform/generic" do
|
31
|
-
default platform_name "generic"
|
32
|
-
|
33
|
-
default build_prefix {platforms_path + "cache/#{platform_name}-#{variant}"}
|
34
|
-
default install_prefix {platforms_path + "#{platform_name}-#{variant}"}
|
35
|
-
end
|
36
|
-
|
37
|
-
target.provides :platform => "Platform/generic"
|
38
|
-
end
|
39
|
-
|
40
|
-
# Test Targets
|
41
|
-
define_target "target_spec" do |target|
|
42
|
-
target.provides "Test/TargetSpec" do
|
43
|
-
append targets 'target_spec'
|
44
|
-
flags ['foo']
|
45
|
-
end
|
46
|
-
|
47
|
-
target.depends :variant
|
48
|
-
target.depends :platform
|
49
|
-
end
|
50
|
-
|
51
|
-
define_configuration "target_spec" do |configuration|
|
52
|
-
end
|
data/spec/teapot/target_spec.rb
DELETED
@@ -1,55 +0,0 @@
|
|
1
|
-
# Copyright, 2012, by Samuel G. D. Williams. <http://www.codeotaku.com>
|
2
|
-
#
|
3
|
-
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
-
# of this software and associated documentation files (the "Software"), to deal
|
5
|
-
# in the Software without restriction, including without limitation the rights
|
6
|
-
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
-
# copies of the Software, and to permit persons to whom the Software is
|
8
|
-
# furnished to do so, subject to the following conditions:
|
9
|
-
#
|
10
|
-
# The above copyright notice and this permission notice shall be included in
|
11
|
-
# all copies or substantial portions of the Software.
|
12
|
-
#
|
13
|
-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
-
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
-
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
-
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
-
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
-
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
|
-
# THE SOFTWARE.
|
20
|
-
|
21
|
-
require 'teapot/context'
|
22
|
-
|
23
|
-
RSpec.describe Teapot::Target do
|
24
|
-
let(:root) {Build::Files::Path.new(__dir__) + "target_spec"}
|
25
|
-
|
26
|
-
it "should generate correct chain for configuration" do
|
27
|
-
context = Teapot::Context.new(root)
|
28
|
-
selection = context.select(["Test/TargetSpec"])
|
29
|
-
|
30
|
-
target = selection.targets['target_spec']
|
31
|
-
expect(target).to_not be == nil
|
32
|
-
|
33
|
-
chain = selection.chain
|
34
|
-
expect(chain.providers.size).to be == 4
|
35
|
-
expect(chain.providers).to include target
|
36
|
-
|
37
|
-
expect(chain.ordered.size).to be == 3
|
38
|
-
expect(chain.ordered[0].name).to be == 'Variant/debug'
|
39
|
-
expect(chain.ordered[1].name).to be == 'Platform/generic'
|
40
|
-
expect(chain.ordered[2].name).to be == 'Test/TargetSpec'
|
41
|
-
expect(chain.ordered[2].provider).to be == target
|
42
|
-
end
|
43
|
-
|
44
|
-
it "should match wildcard packages" do
|
45
|
-
context = Teapot::Context.new(root)
|
46
|
-
selection = context.select(["Test/*"])
|
47
|
-
|
48
|
-
target = selection.targets['target_spec']
|
49
|
-
expect(target).to_not be == nil
|
50
|
-
|
51
|
-
chain = selection.chain
|
52
|
-
expect(chain.providers.size).to be == 4
|
53
|
-
expect(chain.providers).to include target
|
54
|
-
end
|
55
|
-
end
|
data/teapot.gemspec
DELETED
@@ -1,46 +0,0 @@
|
|
1
|
-
|
2
|
-
require_relative 'lib/teapot/version'
|
3
|
-
|
4
|
-
Gem::Specification.new do |spec|
|
5
|
-
spec.name = "teapot"
|
6
|
-
spec.version = Teapot::VERSION
|
7
|
-
spec.authors = ["Samuel Williams"]
|
8
|
-
spec.email = ["samuel.williams@oriontransfer.co.nz"]
|
9
|
-
spec.description = <<-EOF
|
10
|
-
Teapot is a tool for managing complex cross-platform builds. It provides
|
11
|
-
advanced package-based dependency management with a single configuration file
|
12
|
-
per project. It can fetch, list, build, visualise and create projects, and
|
13
|
-
has been designed from the ground up to support collaborative decentralised
|
14
|
-
development.
|
15
|
-
EOF
|
16
|
-
spec.summary = %q{Teapot is a tool for managing complex cross-platform builds.}
|
17
|
-
spec.homepage = "http://www.teapot.nz"
|
18
|
-
spec.license = "MIT"
|
19
|
-
|
20
|
-
spec.files = `git ls-files`.split($/)
|
21
|
-
spec.executables = spec.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
22
|
-
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
23
|
-
spec.require_paths = ["lib"]
|
24
|
-
|
25
|
-
spec.required_ruby_version = '>= 2.1.0'
|
26
|
-
|
27
|
-
spec.add_dependency "graphviz", "~> 1.0"
|
28
|
-
spec.add_dependency "rugged", "~> 1.0"
|
29
|
-
|
30
|
-
spec.add_dependency "build", "~> 2.4"
|
31
|
-
spec.add_dependency "build-environment", "~> 1.10"
|
32
|
-
spec.add_dependency "build-files", "~> 1.4"
|
33
|
-
spec.add_dependency "build-dependency", "~> 1.4"
|
34
|
-
spec.add_dependency "build-uri", "~> 1.0"
|
35
|
-
spec.add_dependency "build-text", "~> 1.0"
|
36
|
-
|
37
|
-
spec.add_dependency "process-group", "~> 1.2"
|
38
|
-
|
39
|
-
spec.add_dependency "console", "~> 1.0"
|
40
|
-
spec.add_dependency "samovar", "~> 2.0"
|
41
|
-
|
42
|
-
spec.add_development_dependency "covered"
|
43
|
-
spec.add_development_dependency "bundler"
|
44
|
-
spec.add_development_dependency "rspec", "~> 3.6"
|
45
|
-
spec.add_development_dependency "rake"
|
46
|
-
end
|