teapot 3.4.0 → 3.4.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.md DELETED
@@ -1,171 +0,0 @@
1
- # ![Teapot](materials/teapot.svg)
2
-
3
- Teapot is a decentralised build tool for managing complex cross-platform projects. It has many goals but it is primarily designed to improve the experience for developers trying to make cross-platform applications and libraries with a minimum of overhead.
4
-
5
- - Provide useful feedback when dependencies are not met or errors are encountered.
6
- - Decentralised dependency management allows use within private organisations without exposing code.
7
- - Generators can simplify the construction of new projects as well as assist with the development of existing ones.
8
- - The build subsystem provides a simple set of canonical operations for building libraries and executables to minimise configuration overhead.
9
-
10
- [![Build Status](https://secure.travis-ci.org/kurocha/teapot.svg)](http://travis-ci.org/kurocha/teapot)
11
- [![Code Climate](https://codeclimate.com/github/kurocha/teapot.svg)](https://codeclimate.com/github/kurocha/teapot)
12
- [![Coverage Status](https://coveralls.io/repos/kurocha/teapot/badge.svg)](https://coveralls.io/r/kurocha/teapot)
13
- [![Gitter Chat](https://badges.gitter.im/kurocha/community.svg)](https://gitter.im/kurocha/community)
14
-
15
- ## Installation
16
-
17
- Ensure that you already have a working install of Ruby 2.0.0+ and run the following to install `teapot`:
18
-
19
- $ gem install teapot
20
-
21
- ## Usage
22
-
23
- Teapot doesn't have a default centralised package management system but there is a [canonical one](https://github.com/kurocha) for developing cross-platform C++ applications. This example shows how to use this framework.
24
-
25
- ### Create Project
26
-
27
- Firstly, create your project by running:
28
-
29
- $ teapot create "My Project" https://github.com/kurocha generate-project
30
- $ cd my-project
31
-
32
- You will be asked to merge the project file. At present, merge tools are not very good and thus you may need to take a moment to review the changes. You want to keep most of the original file, but you would like to add the `define_target` blocks which are being added.
33
-
34
- In the resulting project directory that has been created, you can see the list of dependencies:
35
-
36
- $ teapot list
37
- ... lots of output ...
38
-
39
- To only see things exported by your current project, you can run:
40
-
41
- $ teapot list root
42
- Package root (from /private/tmp/my-project):
43
- #<Teapot::Project "my-project">
44
- My Project description.
45
- - Summary: A brief one line summary of the project.
46
- - License: MIT License
47
- - Version: 0.1.0
48
- - Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
49
- #<Teapot::Target "my-project-library">
50
- - depends on "Build/Files"
51
- - depends on "Build/Clang"
52
- - depends on :platform
53
- - depends on "Language/C++14" {:private=>true}
54
- - provides "Library/MyProject"
55
- #<Teapot::Target "my-project-test">
56
- - depends on "Library/UnitTest"
57
- - depends on "Library/MyProject"
58
- - provides "Test/MyProject"
59
- #<Teapot::Target "my-project-executable">
60
- - depends on "Build/Files"
61
- - depends on "Build/Clang"
62
- - depends on :platform
63
- - depends on "Language/C++14" {:private=>true}
64
- - depends on "Library/MyProject"
65
- - provides "Executable/MyProject"
66
- #<Teapot::Target "my-project-run">
67
- - depends on "Executable/MyProject"
68
- - provides "Run/MyProject"
69
- #<Teapot::Configuration "development" visibility=private>
70
- - references root from /private/tmp/my-project
71
- - clones platforms from https://github.com/kurocha/platforms
72
- - clones unit-test from https://github.com/kurocha/unit-test
73
- - clones generate-cpp-class from https://github.com/kurocha/generate-cpp-class
74
- - clones generate-project from https://github.com/kurocha/generate-project
75
- - clones variants from https://github.com/kurocha/variants
76
- - clones platform-darwin-osx from https://github.com/kurocha/platform-darwin-osx
77
- - clones platform-darwin-ios from https://github.com/kurocha/platform-darwin-ios
78
- - clones build-clang from https://github.com/kurocha/build-clang
79
- - clones build-darwin from https://github.com/kurocha/build-darwin
80
- - clones build-files from https://github.com/kurocha/build-files
81
- - clones streams from https://github.com/kurocha/streams
82
- - clones generate-template from https://github.com/kurocha/generate-template
83
- #<Teapot::Configuration "my-project" visibility=public>
84
- - references root from /private/tmp/my-project
85
-
86
- ### Run Tests
87
-
88
- Testing is a good idea, and teapot supports test driven development.
89
-
90
- $ teapot Test/MyProject
91
-
92
- #### Wildcard Targets
93
-
94
- To run all tests:
95
-
96
- $ teapot "Test/*"
97
-
98
- Provided you are using an environment that supports sanitizers, you can test more thoroughly using:
99
-
100
- $ teapot "Test/*" variant-sanitize
101
-
102
- ### Run Project
103
-
104
- We can now build and run the project executable:
105
-
106
- $ teapot Run/MyProject
107
- I'm a little teapot,
108
- Short and stout,
109
- Here is my handle (one hand on hip),
110
- Here is my spout (other arm out with elbow and wrist bent).
111
- When I get all steamed up,
112
- Hear me shout,
113
- Tip me over and pour me out! (lean over toward spout)
114
-
115
- ~
116
- ___^___ __
117
- .- / \./ /
118
- / / _/
119
- \__| |
120
- \_______/
121
-
122
- The resulting executables and libraries will be framework dependent, but are typically located in:
123
-
124
- $ cd teapot/platforms/development/$PLATFORM-debug/bin
125
- $ ./$PROJECT_NAME
126
-
127
- ### Cloning Project
128
-
129
- You can clone another project which will fetch all dependencies:
130
-
131
- $ teapot clone https://github.com/kurocha/tagged-format
132
- $ cd tagged-format
133
- $ teapot build Executable/TaggedFormat
134
-
135
- ## Open Issues
136
-
137
- - Should packages be built into a shared prefix or should they be built into unique prefixes and joined together either via install or `-L` and `-I`?
138
- - Relative include paths might fail to work correctly if headers are not installed into same directory.
139
- - Should packages have some way to expose system requirements, e.g. installed compiler, libraries, etc. Perhaps some kind of `Package#valid?` which allows custom logic?
140
-
141
- ## Contributing
142
-
143
- 1. Fork it
144
- 2. Create your feature branch (`git checkout -b my-new-feature`)
145
- 3. Commit your changes (`git commit -am 'Add some feature'`)
146
- 4. Push to the branch (`git push origin my-new-feature`)
147
- 5. Create new Pull Request
148
-
149
- ## License
150
-
151
- Released under the MIT license.
152
-
153
- Copyright, 2012, 2014, by [Samuel G. D. Williams](http://www.codeotaku.com/samuel-williams).
154
-
155
- Permission is hereby granted, free of charge, to any person obtaining a copy
156
- of this software and associated documentation files (the "Software"), to deal
157
- in the Software without restriction, including without limitation the rights
158
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
159
- copies of the Software, and to permit persons to whom the Software is
160
- furnished to do so, subject to the following conditions:
161
-
162
- The above copyright notice and this permission notice shall be included in
163
- all copies or substantial portions of the Software.
164
-
165
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
166
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
167
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
168
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
169
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
170
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
171
- THE SOFTWARE.
data/Rakefile DELETED
@@ -1,19 +0,0 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
3
-
4
- # Load all rake tasks:
5
- import(*Dir.glob('tasks/**/*.rake'))
6
-
7
- RSpec::Core::RakeTask.new(:test)
8
-
9
- task :environment do
10
- $LOAD_PATH.unshift File.expand_path('lib', __dir__)
11
- end
12
-
13
- task :console => :environment do
14
- require 'pry'
15
-
16
- Pry.start
17
- end
18
-
19
- task :default => :test
Binary file
@@ -1,101 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
-
4
- <svg
5
- xmlns:dc="http://purl.org/dc/elements/1.1/"
6
- xmlns:cc="http://creativecommons.org/ns#"
7
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
- xmlns:svg="http://www.w3.org/2000/svg"
9
- xmlns="http://www.w3.org/2000/svg"
10
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
- width="128pt"
13
- height="128pt"
14
- viewBox="0 0 160 160"
15
- id="svg3403"
16
- version="1.1"
17
- inkscape:version="0.91 r13725"
18
- sodipodi:docname="kurocha.svg">
19
- <defs
20
- id="defs3405" />
21
- <sodipodi:namedview
22
- id="base"
23
- pagecolor="#ffffff"
24
- bordercolor="#666666"
25
- borderopacity="1.0"
26
- inkscape:pageopacity="0.0"
27
- inkscape:pageshadow="2"
28
- inkscape:zoom="3.5"
29
- inkscape:cx="104.53051"
30
- inkscape:cy="99.464665"
31
- inkscape:document-units="px"
32
- inkscape:current-layer="g38"
33
- showgrid="false"
34
- units="pt"
35
- inkscape:window-width="1920"
36
- inkscape:window-height="1054"
37
- inkscape:window-x="0"
38
- inkscape:window-y="0"
39
- inkscape:window-maximized="1" />
40
- <metadata
41
- id="metadata3408">
42
- <rdf:RDF>
43
- <cc:Work
44
- rdf:about="">
45
- <dc:format>image/svg+xml</dc:format>
46
- <dc:type
47
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
48
- <dc:title></dc:title>
49
- </cc:Work>
50
- </rdf:RDF>
51
- </metadata>
52
- <g
53
- inkscape:label="Layer 1"
54
- inkscape:groupmode="layer"
55
- id="layer1"
56
- transform="translate(0,-892.36223)">
57
- <g
58
- id="g36"
59
- transform="matrix(0.7036536,0,0,0.7036536,-255.86452,913.02177)">
60
- <g
61
- id="g38">
62
- <ellipse
63
- cx="473.57303"
64
- cy="186.68559"
65
- rx="48.167"
66
- ry="5.8959999"
67
- id="ellipse40"
68
- style="fill:#290f01" />
69
- <g
70
- id="g42"
71
- transform="translate(0.40604395,23.956593)">
72
- <path
73
- d="m 514.888,59.404 c 5.632,-14.131 -1.051,-20.75 -0.548,-22.182 0.507,-1.437 4.245,-7.809 11.094,-13.888 -2.651,-0.44 -16.256,1.168 -16.256,1.168 l -69.283,19.57 c -1.879,0.688 -8.808,8.596 -10.686,11.355 6.521,-0.771 10.692,0.19 10.692,0.19 0,0 -0.058,1.729 0.362,4.255 0.293,0.809 37.997,0.749 37.997,0.749 l 36.628,-1.217 z"
74
- id="path44"
75
- inkscape:connector-curvature="0"
76
- style="fill:#290f01" />
77
- <path
78
- d="m 500.681,42.508 c 0,1.934 -1.563,3.499 -3.5,3.499 -1.935,0 -3.5,-1.565 -3.5,-3.499 0,-1.932 1.565,-3.495 3.5,-3.495 1.936,0 3.5,1.563 3.5,3.495 z"
79
- id="path46"
80
- inkscape:connector-curvature="0"
81
- style="fill:#ffffff" />
82
- <path
83
- d="m 466.14,48.982 c 0,1.932 -1.563,3.497 -3.501,3.497 -1.936,0 -3.494,-1.565 -3.494,-3.497 0,-1.933 1.559,-3.5 3.494,-3.5 1.937,0 3.501,1.568 3.501,3.5 z"
84
- id="path48"
85
- inkscape:connector-curvature="0"
86
- style="fill:#ffffff" />
87
- </g>
88
- <path
89
- d="m 578.24004,92.123593 c -2.75,-0.667 -11.296,3.683 -16.417,11.499997 -5.121,7.817 -8.661,13.378 -12.267,14.727 -3.607,1.352 -7.877,-1.169 -9.396,-1.414 -2.16,-9.058 -10.217,-19.941997 -17.749,-24.188997 -0.292,-8.569 -2.104,-10.259 -2.104,-10.259 l -42.226,1.968 -43.854,-1.969 c 0,0 -1.52,4.405 -1.449,8.819 -5.713,5.694 -8.769,7.372 -12.971,13.953997 -1.321,2.072 -2.312,4.176 -3.053,6.702 -2.446,-0.162 -4.192,-1.261 -4.192,-1.261 0,0 -6.231,-17.814997 -10.798,-20.278997 -4.564,-2.463 -12.027,-4.021 -18.404,-1.194 -6.377,2.827 -11.811,10.999997 -13.913,17.809997 -2.101,6.813 -3.115,18.546 2.9,29.627 6.015,11.091 13.623,21.656 29.562,25.572 15.941,3.914 25.125,4.857 25.125,4.857 0.899,1.225 1.832,2.417 2.814,3.571 4.09,3.393 7.664,3.42 10.392,5.708 0,0 -0.143,5.792 1.595,6.227 1.737,0.436 13.365,4.2 36.246,3.623 22.883,-0.583 35.345,-2.32 36.355,-4.2 1.018,-1.888 1.378,-5.438 1.378,-5.438 3.465,-2.889 8.76,-5.181 12.216,-8.028 1.313,-1.683 2.529,-3.439 3.671,-5.252 0,0 13.821,-3.313 18.965,-6.938 5.146,-3.623 9.493,-10.982 11.016,-13.913 1.522,-2.924 6.004,-19.09 9.142,-25.997 3.138,-6.907 6.533,-11.376 9.146,-12.438 2.607,-1.064 7.983,-1.758 7.646,-3.208 -5.335,-2.916997 -6.626,-8.021997 -9.376,-8.687997 z m -194.591,49.176997 c -5.287,-6.236 -10.795,-24.783 -7.099,-34.927 3.695,-10.146997 9.709,-12.752997 18.041,-11.015997 8.333,1.741 10.146,17.316997 11.304,24.707997 1.16,7.393 8.262,7.537 8.262,7.537 0,0 -3.335,5.938 3.258,26.81 -18.585,3.521 -28.475,-6.882 -33.766,-13.112 z"
90
- id="path50"
91
- inkscape:connector-curvature="0"
92
- style="fill:#26992e" />
93
- <path
94
- d="m 440.63104,69.034593 c 0,0 -0.704,-2.043 -0.628,-2.232 0.076,-0.189 1.401,-0.243 1.97,-2.51 0.569,-2.267 4.057,-11.223 6.699,-13.617 2.642,-2.396 10.513,-7.014 10.686,-8.566 0.163,-1.551 2.747,-1.975 2.747,-1.975 0,0 0.828,-1.886 0.175,-2.607 -0.657,-0.717 -3.938,-1.681 -4.62,-4.648 -0.683,-2.972 2.656,-6.689 7.91,-8.163 5.245,-1.473 9.899,0.01 10.855,2.9 0.964,2.891 -1.351,5.384 -1.532,6.337 -0.184,0.957 1.506,2.156 1.506,2.156 0,0 2.439,-0.975 3.385,0.265 0.951,1.239 10.088,1.088 13.593,1.763 3.499,0.674 11.155,6.507 12.815,8.147 1.668,1.64 2.818,1.02 3.024,1.112 0.206,0.092 0.625,2.232 0.625,2.232 l -69.21,19.406 z"
95
- id="path52"
96
- inkscape:connector-curvature="0"
97
- style="fill:#26992e" />
98
- </g>
99
- </g>
100
- </g>
101
- </svg>
data/materials/teapot.png DELETED
Binary file
data/materials/teapot.svg DELETED
@@ -1,82 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
- <svg version="1.1" id="TeapotLogo" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
- width="596.08px" height="197.684px" viewBox="0 0 596.08 197.684" enable-background="new 0 0 596.08 197.684"
5
- xml:space="preserve">
6
- <g>
7
- <path fill="#26992E" d="M44.586,59.396c3.081,0,5.729,1.074,7.939,3.216c2.211,2.145,3.316,4.724,3.316,7.739
8
- s-1.105,5.628-3.316,7.839s-4.858,3.316-7.939,3.316h-5.025v56.079c3.081,0,5.694,1.105,7.839,3.316
9
- c2.142,2.211,3.216,4.859,3.216,7.939c0,3.085-1.074,5.697-3.216,7.84c-2.145,2.145-4.758,3.216-7.839,3.216
10
- c-6.165,0-11.426-2.177-15.779-6.532c-4.356-4.354-6.532-9.613-6.532-15.779V81.505h-5.829c-3.084,0-5.697-1.071-7.839-3.216
11
- c-2.145-2.142-3.216-4.755-3.216-7.839c0-3.081,1.071-5.694,3.216-7.839c2.142-2.142,4.755-3.216,7.839-3.216h5.829V30.25
12
- c0-3.081,1.105-5.694,3.316-7.839c2.211-2.142,4.855-3.216,7.939-3.216c3.081,0,5.694,1.074,7.839,3.216
13
- c2.142,2.145,3.216,4.758,3.216,7.839v29.145H44.586z"/>
14
- <path fill="#26992E" d="M169.965,107.033c0,2.948-0.974,5.326-2.915,7.135c-1.944,1.809-4.522,2.713-7.738,2.713H95.394
15
- c1.206,5.764,3.483,10.186,6.834,13.267c4.287,4.959,10.553,7.939,18.794,8.944c8.241,1.006,15.376-0.635,21.406-4.924
16
- c2.01-2.143,4.689-3.217,8.04-3.217c3.348,0,5.694,0.873,7.035,2.613c3.75,4.155,3.75,8.512,0,13.064
17
- c-9.648,8.845-21.476,13.235-35.477,13.166c-14.004-0.066-25.728-4.99-35.175-14.773c-9.447-9.779-14.239-21.572-14.371-35.376
18
- c0.132-13.8,4.924-25.627,14.371-35.477c9.447-9.849,20.87-14.773,34.271-14.773c13.398,0,24.688,4.391,33.869,13.166
19
- c9.177,8.778,14.17,19.934,14.975,33.466V107.033z M121.524,78.491c-7.773,0.402-14.004,2.814-18.693,7.236
20
- c-4.692,4.422-7.506,9.114-8.442,14.07h56.883c-1.206-4.689-4.457-9.247-9.749-13.668
21
- C136.229,81.707,129.564,79.163,121.524,78.491z"/>
22
- <path fill="#26992E" d="M198.205,145.223c-9.18-9.78-13.769-21.607-13.769-35.477s4.588-25.728,13.769-35.577
23
- c9.177-9.849,20.533-14.773,34.069-14.773c9.513,0,18.423,2.949,26.733,8.844c0.669-2.544,1.941-4.655,3.819-6.332
24
- c1.875-1.674,4.187-2.513,6.935-2.513c2.745,0,5.157,1.074,7.236,3.216c2.076,2.145,3.115,4.692,3.115,7.638v78.993
25
- c0,2.949-1.04,5.462-3.115,7.537c-2.079,2.08-4.491,3.116-7.236,3.116c-2.748,0-5.06-0.804-6.935-2.412
26
- c-1.878-1.608-3.15-3.685-3.819-6.231c-8.175,5.764-17.085,8.644-26.733,8.644C218.738,159.896,207.381,155.006,198.205,145.223z
27
- M205.943,109.746c0,8.109,2.443,14.908,7.336,20.401c4.89,5.496,11.187,8.241,18.894,8.241c7.704,0,14.07-2.745,19.095-8.241
28
- c5.025-5.493,7.538-12.261,7.538-20.301s-2.547-14.874-7.638-20.502c-5.094-5.628-11.426-8.442-18.995-8.442
29
- c-7.572,0-13.837,2.783-18.793,8.342C208.421,94.806,205.943,101.641,205.943,109.746z"/>
30
- <path fill="#562F04" d="M322.798,194.367c-2.211,2.211-4.824,3.316-7.839,3.316s-5.597-1.105-7.738-3.316
31
- c-2.145-2.211-3.216-4.724-3.216-7.537V70.048c0-2.946,1.037-5.458,3.116-7.537c2.076-2.076,4.554-3.116,7.437-3.116
32
- c2.88,0,5.358,0.804,7.437,2.412c2.076,1.608,3.316,3.552,3.718,5.829c8.442-5.493,17.553-8.241,27.336-8.241
33
- c13.398,0,24.855,4.959,34.371,14.874c9.513,9.918,14.271,21.777,14.271,35.577c0,13.803-4.758,25.562-14.271,35.275
34
- c-9.516,9.717-20.973,14.572-34.371,14.572c-10.32,0-19.296-2.745-26.934-8.241v35.377
35
- C326.115,189.644,325.009,192.156,322.798,194.367z M371.943,89.545c-5.226-5.493-11.592-8.241-19.095-8.241
36
- c-7.506,0-13.838,2.782-18.995,8.341c-5.16,5.562-7.738,12.497-7.738,20.803c0,8.311,2.613,14.809,7.839,19.497
37
- c5.091,5.628,11.356,8.442,18.793,8.442s13.8-2.814,19.095-8.442c5.292-5.628,7.94-12.292,7.94-19.999
38
- C379.782,102.243,377.169,95.444,371.943,89.545z"/>
39
- </g>
40
- <g>
41
- <path fill="#562F04" d="M584.824,59.396c3.081,0,5.729,1.074,7.939,3.216c2.211,2.145,3.316,4.724,3.316,7.739
42
- s-1.105,5.628-3.316,7.839s-4.858,3.316-7.939,3.316h-5.025v56.079c3.081,0,5.694,1.105,7.84,3.316
43
- c2.141,2.211,3.215,4.859,3.215,7.939c0,3.085-1.074,5.697-3.215,7.84c-2.146,2.145-4.759,3.216-7.84,3.216
44
- c-6.164,0-11.426-2.177-15.778-6.532c-4.356-4.354-6.532-9.613-6.532-15.779V81.505h-5.829c-3.084,0-5.697-1.071-7.839-3.216
45
- c-2.145-2.142-3.217-4.755-3.217-7.839c0-3.081,1.072-5.694,3.217-7.839c2.142-2.142,4.755-3.216,7.839-3.216h5.829V30.25
46
- c0-3.081,1.105-5.694,3.316-7.839c2.211-2.142,4.855-3.216,7.939-3.216c3.081,0,5.693,1.074,7.839,3.216
47
- c2.142,2.145,3.216,4.758,3.216,7.839v29.145H584.824z"/>
48
- </g>
49
- <g>
50
- <g>
51
- <ellipse fill="#290F01" cx="473.167" cy="162.729" rx="48.167" ry="5.896"/>
52
- <g>
53
- <path fill="#290F01" d="M514.888,59.404c5.632-14.131-1.051-20.75-0.548-22.182c0.507-1.437,4.245-7.809,11.094-13.888
54
- c-2.651-0.44-16.256,1.168-16.256,1.168l-69.283,19.57c-1.879,0.688-8.808,8.596-10.686,11.355
55
- c6.521-0.771,10.692,0.19,10.692,0.19s-0.058,1.729,0.362,4.255c0.293,0.809,37.997,0.749,37.997,0.749L514.888,59.404z"/>
56
- <path fill="#FFFFFF" d="M500.681,42.508c0,1.934-1.563,3.499-3.5,3.499c-1.935,0-3.5-1.565-3.5-3.499
57
- c0-1.932,1.565-3.495,3.5-3.495C499.117,39.013,500.681,40.576,500.681,42.508z"/>
58
- <path fill="#FFFFFF" d="M466.14,48.982c0,1.932-1.563,3.497-3.501,3.497c-1.936,0-3.494-1.565-3.494-3.497
59
- c0-1.933,1.559-3.5,3.494-3.5C464.576,45.482,466.14,47.05,466.14,48.982z"/>
60
- </g>
61
- <path fill="#26992E" d="M577.834,68.167c-2.75-0.667-11.296,3.683-16.417,11.5s-8.661,13.378-12.267,14.727
62
- c-3.607,1.352-7.877-1.169-9.396-1.414c-2.16-9.058-10.217-19.942-17.749-24.189c-0.292-8.569-2.104-10.259-2.104-10.259
63
- L477.675,60.5l-43.854-1.969c0,0-1.52,4.405-1.449,8.819c-5.713,5.694-8.769,7.372-12.971,13.954
64
- c-1.321,2.072-2.312,4.176-3.053,6.702c-2.446-0.162-4.192-1.261-4.192-1.261s-6.231-17.815-10.798-20.279
65
- c-4.564-2.463-12.027-4.021-18.404-1.194s-11.811,11-13.913,17.81c-2.101,6.813-3.115,18.546,2.9,29.627
66
- c6.015,11.091,13.623,21.656,29.562,25.572c15.941,3.914,25.125,4.857,25.125,4.857c0.899,1.225,1.832,2.417,2.814,3.571
67
- c4.09,3.393,7.664,3.42,10.392,5.708c0,0-0.143,5.792,1.595,6.227c1.737,0.436,13.365,4.2,36.246,3.623
68
- c22.883-0.583,35.345-2.32,36.355-4.2c1.018-1.888,1.378-5.438,1.378-5.438c3.465-2.889,8.76-5.181,12.216-8.028
69
- c1.313-1.683,2.529-3.439,3.671-5.252c0,0,13.821-3.313,18.965-6.938c5.146-3.623,9.493-10.982,11.016-13.913
70
- c1.522-2.924,6.004-19.09,9.142-25.997s6.533-11.376,9.146-12.438c2.607-1.064,7.983-1.758,7.646-3.208
71
- C581.875,73.938,580.584,68.833,577.834,68.167z M383.243,117.344c-5.287-6.236-10.795-24.783-7.099-34.927
72
- c3.695-10.147,9.709-12.753,18.041-11.016c8.333,1.741,10.146,17.317,11.304,24.708c1.16,7.393,8.262,7.537,8.262,7.537
73
- s-3.335,5.938,3.258,26.81C398.424,133.977,388.534,123.574,383.243,117.344z"/>
74
- <path fill="#26992E" d="M440.225,45.078c0,0-0.704-2.043-0.628-2.232s1.401-0.243,1.97-2.51s4.057-11.223,6.699-13.617
75
- c2.642-2.396,10.513-7.014,10.686-8.566c0.163-1.551,2.747-1.975,2.747-1.975s0.828-1.886,0.175-2.607
76
- c-0.657-0.717-3.938-1.681-4.62-4.648c-0.683-2.972,2.656-6.689,7.91-8.163c5.245-1.473,9.899,0.01,10.855,2.9
77
- c0.964,2.891-1.351,5.384-1.532,6.337c-0.184,0.957,1.506,2.156,1.506,2.156s2.439-0.975,3.385,0.265
78
- c0.951,1.239,10.088,1.088,13.593,1.763c3.499,0.674,11.155,6.507,12.815,8.147c1.668,1.64,2.818,1.02,3.024,1.112
79
- s0.625,2.232,0.625,2.232L440.225,45.078z"/>
80
- </g>
81
- </g>
82
- </svg>
data/spec/spec_helper.rb DELETED
@@ -1,11 +0,0 @@
1
-
2
- require "covered/rspec"
3
-
4
- RSpec.configure do |config|
5
- # Enable flags like --only-failures and --next-failure
6
- config.example_status_persistence_file_path = ".rspec_status"
7
-
8
- config.expect_with :rspec do |c|
9
- c.syntax = :expect
10
- end
11
- end
@@ -1,57 +0,0 @@
1
-
2
- # Copyright, 2016, by Samuel G. D. Williams. <http://www.codeotaku.com>
3
- #
4
- # Permission is hereby granted, free of charge, to any person obtaining a copy
5
- # of this software and associated documentation files (the "Software"), to deal
6
- # in the Software without restriction, including without limitation the rights
7
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
- # copies of the Software, and to permit persons to whom the Software is
9
- # furnished to do so, subject to the following conditions:
10
- #
11
- # The above copyright notice and this permission notice shall be included in
12
- # all copies or substantial portions of the Software.
13
- #
14
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20
- # THE SOFTWARE.
21
-
22
- require 'teapot/command'
23
-
24
- RSpec.describe Teapot::Command::Clone, order: :defined do
25
- let(:root) {Build::Files::Path.new(__dir__) + "clone_spec"}
26
- let(:source) {'https://github.com/kurocha/tagged-format'}
27
-
28
- let(:top) {Teapot::Command::Top["--root", root.to_s]}
29
-
30
- before do
31
- root.delete
32
- end
33
-
34
- context "clone remote source" do
35
- subject {top['clone', source]}
36
-
37
- it "should checkout files" do
38
- expect{subject.call}.to_not raise_error
39
-
40
- expect(File).to be_exist(root + "teapot.rb")
41
-
42
- selection = top.context.select
43
-
44
- # Check that we actually fetched some remote targets.
45
- expect(selection.targets).to include(
46
- "tagged-format-library",
47
- "tagged-format-executable",
48
- "tagged-format-tests",
49
- "build-files",
50
- "unit-test-library",
51
- "unit-test-tests",
52
- "variant-debug",
53
- "variant-release",
54
- )
55
- end
56
- end
57
- end
@@ -1,3 +0,0 @@
1
- # Thing
2
-
3
- This thing is so great.
@@ -1,2 +0,0 @@
1
-
2
- teapot_version "2.0"
@@ -1,8 +0,0 @@
1
-
2
- teapot_version "2.0"
3
-
4
- define_configuration "test" do |configuration|
5
- configuration[:source] = "../repositories"
6
-
7
- configuration.require "thing"
8
- end
@@ -1,107 +0,0 @@
1
-
2
- # Copyright, 2016, by Samuel G. D. Williams. <http://www.codeotaku.com>
3
- #
4
- # Permission is hereby granted, free of charge, to any person obtaining a copy
5
- # of this software and associated documentation files (the "Software"), to deal
6
- # in the Software without restriction, including without limitation the rights
7
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
- # copies of the Software, and to permit persons to whom the Software is
9
- # furnished to do so, subject to the following conditions:
10
- #
11
- # The above copyright notice and this permission notice shall be included in
12
- # all copies or substantial portions of the Software.
13
- #
14
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20
- # THE SOFTWARE.
21
-
22
- require 'teapot/command'
23
-
24
- RSpec.describe Teapot::Command::Fetch, order: :defined do
25
- let(:root) {Build::Files::Path.new(__dir__) + "fetch_spec"}
26
- let(:project_path) {root + 'test-project'}
27
- let(:thing_path) {root + "repositories/thing"}
28
- let(:thing_package_path) {project_path + "teapot/packages/test/thing"}
29
-
30
- let(:top) {Teapot::Command::Top["--root", project_path.to_s]}
31
-
32
- context "clean project" do
33
- subject {top['clean']}
34
-
35
- it "should delete all packages" do
36
- expect{subject.call}.to_not raise_error
37
-
38
- expect(File).to_not be_exist(root + "test-project/teapot/packages/test")
39
- end
40
-
41
- it "can create thing repository" do
42
- (thing_path + ".git").delete
43
-
44
- system("git", "init", chdir: thing_path)
45
- system("git", "add", "teapot.rb", chdir: thing_path)
46
- system("git", "commit", "-m", "Teapot file for testing", chdir: thing_path)
47
- end
48
-
49
- let(:lockfile_path) {root + "test-project/test-lock.yml"}
50
-
51
- it "should delete the lock file" do
52
- lockfile_path.delete
53
-
54
- expect(File).to_not be_exist(lockfile_path)
55
- end
56
- end
57
-
58
- context "initial fetch" do
59
- subject {top['fetch']}
60
-
61
- it "should fetch repositories" do
62
- expect{subject.call}.to_not raise_error
63
-
64
- # Did the thing package checkout correctly?
65
- expect(File).to be_exist(root + "test-project/teapot/packages/test/thing/teapot.rb")
66
- end
67
-
68
- it "should fetch repositories with no changes" do
69
- expect{subject.call}.to_not raise_error
70
-
71
- # Did the thing package checkout correctly?
72
- expect(File).to be_exist(root + "test-project/teapot/packages/test/thing/teapot.rb")
73
- end
74
- end
75
-
76
- context "fetch with worktree modifications" do
77
- subject {top['fetch']}
78
- let(:path) {root + "test-project/teapot/packages/test/thing/README.md"}
79
-
80
- it "can make local modifications" do
81
- path.write("Hello World")
82
-
83
- expect(File).to be_exist(path)
84
- end
85
-
86
- it "can't fetch with local modifications" do
87
- expect{subject.call}.to raise_error(Teapot::Command::FetchError, /local modifications/)
88
-
89
- path.delete
90
- end
91
- end
92
-
93
- context "fetch with upstream changes" do
94
- subject {top['fetch', '--update']}
95
-
96
- it "can commit upstream changes" do
97
- system("git", "add", "README.md", chdir: thing_path)
98
- system("git", "commit", "-m", "Add documentation", chdir: thing_path)
99
- end
100
-
101
- it "can fetch changes" do
102
- expect{subject.call}.to_not raise_error
103
-
104
- expect(File).to be_exist(thing_package_path + "README.md")
105
- end
106
- end
107
- end
@@ -1,59 +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/command'
22
-
23
- RSpec.describe Teapot::Command, order: :defined do
24
- let(:source) {"https://github.com/kurocha"}
25
- # let(:source) {File.expand_path("../../../../kurocha", __dir__)}
26
- let(:root) {Build::Files::Path.new(__dir__) + "command_spec"}
27
- let(:project_name) {"Test Project"}
28
- let(:project_path) {root + 'test-project'}
29
-
30
- let(:top) {Teapot::Command::Top["--root", project_path.to_s]}
31
-
32
- context Teapot::Command::Create do
33
- subject {top["create", project_name, source.to_s, "generate-project", "generate-travis"]}
34
-
35
- it "should create a new project" do
36
- root.delete
37
-
38
- expect{subject.call}.to_not raise_error
39
- expect(project_path + "teapot.rb").to be_exist
40
- expect(project_path + ".travis.yml").to be_exist
41
- end
42
- end
43
-
44
- context Teapot::Command::Build do
45
- subject {top["build", "Run/TestProject"]}
46
-
47
- it "should build project" do
48
- expect{subject.call}.to_not raise_error
49
- end
50
- end
51
-
52
- context Teapot::Command::Fetch do
53
- subject {top["fetch"]}
54
-
55
- it "should fetch any changes" do
56
- expect{subject.call}.to_not raise_error
57
- end
58
- end
59
- end
@@ -1,13 +0,0 @@
1
-
2
- teapot_version "2.0"
3
-
4
- define_configuration "build-bar" do |configuration|
5
- configuration.import "build-foo"
6
-
7
- configuration.targets[:build] << "Bar"
8
- end
9
-
10
- define_configuration "build-foo" do |configuration|
11
- configuration.targets[:build] << "Foo"
12
- end
13
-