teapot 3.4.0 → 3.4.1

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