teapot 3.4.0 → 3.4.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
@@ -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
@@ -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