xcake 0.3.1 → 0.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.
- checksums.yaml +4 -4
- data/.travis.yml +4 -1
- data/CHANGELOG.md +5 -0
- data/Gemfile.lock +52 -1
- data/bin/console +0 -2
- data/docs/Cakefile.md +16 -0
- data/docs/Getting Started.md +1 -1
- data/docs/Xcode Project Support.md +42 -0
- data/lib/xcake.rb +5 -0
- data/lib/xcake/command.rb +9 -4
- data/lib/xcake/configurable.rb +10 -17
- data/lib/xcake/configuration/proxies/preproccessor_definitions_setting_proxy.rb +48 -0
- data/lib/xcake/configuration/sugar.rb +17 -0
- data/lib/xcake/core_ext/string.rb +13 -0
- data/lib/xcake/generator/build_phase.rb +3 -6
- data/lib/xcake/generator/build_phase/compile_source_build_phase.rb +2 -2
- data/lib/xcake/generator/build_phase/copy_resources_build_phase.rb +1 -1
- data/lib/xcake/generator/build_phase/copy_xcassets_build_phase.rb +2 -2
- data/lib/xcake/generator/build_phase/header_file_build_phase.rb +2 -2
- data/lib/xcake/generator/configuration.rb +8 -2
- data/lib/xcake/informative.rb +15 -0
- data/lib/xcake/project.rb +17 -19
- data/lib/xcake/target.rb +12 -2
- data/lib/xcake/version.rb +1 -1
- data/xcake.gemspec +5 -2
- metadata +35 -6
- data/Cakefile +0 -10
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f0ff187c7c8abcfc66e786e8125838dea09a7988
|
|
4
|
+
data.tar.gz: 98741d58c0d01f646dde5fc098aa230462278c9e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d37659e6c2ff7d9068072ab13cd623a32a4fe4e0302dd1497f7c91ffd0635986f83ff456593b264a52feb24bd70a56d7ed047e45b153908ea59637ee55fd0ad2
|
|
7
|
+
data.tar.gz: c208c53456927326326dc25c9f5adcc37c8868ed56724276f19a52ce001174b7c5beed056c73240e0ed9396decb5f8efadff7e26ba3e36fb4097f9283be446b6
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
xcake (0.
|
|
4
|
+
xcake (0.4.1)
|
|
5
5
|
claide (~> 0.9.1)
|
|
6
6
|
hooks (~> 0.4.1)
|
|
7
|
+
tty (~> 0.3.2)
|
|
7
8
|
xcodeproj (~> 0.28)
|
|
8
9
|
|
|
9
10
|
GEM
|
|
@@ -16,6 +17,7 @@ GEM
|
|
|
16
17
|
thread_safe (~> 0.3, >= 0.3.4)
|
|
17
18
|
tzinfo (~> 1.1)
|
|
18
19
|
claide (0.9.1)
|
|
20
|
+
coderay (1.1.0)
|
|
19
21
|
colored (1.2)
|
|
20
22
|
coveralls (0.8.10)
|
|
21
23
|
json (~> 1.8)
|
|
@@ -28,15 +30,25 @@ GEM
|
|
|
28
30
|
docile (1.1.5)
|
|
29
31
|
domain_name (0.5.25)
|
|
30
32
|
unf (>= 0.0.5, < 1.0.0)
|
|
33
|
+
equatable (0.5.0)
|
|
31
34
|
hooks (0.4.1)
|
|
32
35
|
uber (~> 0.0.14)
|
|
33
36
|
http-cookie (1.0.2)
|
|
34
37
|
domain_name (~> 0.5)
|
|
35
38
|
i18n (0.7.0)
|
|
36
39
|
json (1.8.3)
|
|
40
|
+
method_source (0.8.2)
|
|
37
41
|
mime-types (2.99)
|
|
38
42
|
minitest (5.8.3)
|
|
43
|
+
necromancer (0.3.0)
|
|
39
44
|
netrc (0.11.0)
|
|
45
|
+
pastel (0.5.2)
|
|
46
|
+
equatable (~> 0.5)
|
|
47
|
+
tty-screen (~> 0.4)
|
|
48
|
+
pry (0.10.3)
|
|
49
|
+
coderay (~> 1.1.0)
|
|
50
|
+
method_source (~> 0.8.1)
|
|
51
|
+
slop (~> 3.4)
|
|
40
52
|
rake (10.4.2)
|
|
41
53
|
rest-client (1.8.0)
|
|
42
54
|
http-cookie (>= 1.0.2, < 2.0)
|
|
@@ -60,17 +72,55 @@ GEM
|
|
|
60
72
|
json (~> 1.8)
|
|
61
73
|
simplecov-html (~> 0.10.0)
|
|
62
74
|
simplecov-html (0.10.0)
|
|
75
|
+
slop (3.6.0)
|
|
63
76
|
term-ansicolor (1.3.2)
|
|
64
77
|
tins (~> 1.0)
|
|
65
78
|
thor (0.19.1)
|
|
66
79
|
thread_safe (0.3.5)
|
|
67
80
|
tins (1.6.0)
|
|
81
|
+
tty (0.3.2)
|
|
82
|
+
equatable (~> 0.5.0)
|
|
83
|
+
pastel (~> 0.5.1)
|
|
84
|
+
tty-cursor (~> 0.1.0)
|
|
85
|
+
tty-pager (~> 0.3.0)
|
|
86
|
+
tty-platform (~> 0.1.0)
|
|
87
|
+
tty-progressbar (~> 0.7.0)
|
|
88
|
+
tty-prompt (~> 0.2.0)
|
|
89
|
+
tty-screen (~> 0.4.0)
|
|
90
|
+
tty-spinner (~> 0.1.0)
|
|
91
|
+
tty-table (~> 0.4.0)
|
|
92
|
+
tty-which (~> 0.1.0)
|
|
93
|
+
tty-cursor (0.1.0)
|
|
94
|
+
tty-pager (0.3.0)
|
|
95
|
+
tty-screen (~> 0.4.0)
|
|
96
|
+
tty-which (~> 0.1.0)
|
|
97
|
+
verse (~> 0.4.0)
|
|
98
|
+
tty-platform (0.1.0)
|
|
99
|
+
tty-progressbar (0.7.0)
|
|
100
|
+
tty-screen (~> 0.4.0)
|
|
101
|
+
tty-prompt (0.2.0)
|
|
102
|
+
necromancer (~> 0.3.0)
|
|
103
|
+
pastel (~> 0.5.1)
|
|
104
|
+
tty-platform (~> 0.1.0)
|
|
105
|
+
tty-screen (0.4.3)
|
|
106
|
+
tty-spinner (0.1.0)
|
|
107
|
+
tty-table (0.4.0)
|
|
108
|
+
equatable (~> 0.5.0)
|
|
109
|
+
necromancer (~> 0.3.0)
|
|
110
|
+
pastel (~> 0.5.1)
|
|
111
|
+
tty-screen (~> 0.4.0)
|
|
112
|
+
unicode_utils (~> 1.4.0)
|
|
113
|
+
verse (~> 0.4.0)
|
|
114
|
+
tty-which (0.1.0)
|
|
68
115
|
tzinfo (1.2.2)
|
|
69
116
|
thread_safe (~> 0.1)
|
|
70
117
|
uber (0.0.15)
|
|
71
118
|
unf (0.1.4)
|
|
72
119
|
unf_ext
|
|
73
120
|
unf_ext (0.0.7.1)
|
|
121
|
+
unicode_utils (1.4.0)
|
|
122
|
+
verse (0.4.0)
|
|
123
|
+
unicode_utils (~> 1.4.0)
|
|
74
124
|
xcodeproj (0.28.2)
|
|
75
125
|
activesupport (>= 3)
|
|
76
126
|
claide (~> 0.9.1)
|
|
@@ -83,6 +133,7 @@ PLATFORMS
|
|
|
83
133
|
DEPENDENCIES
|
|
84
134
|
bundler (~> 1.10)
|
|
85
135
|
coveralls (~> 0.8)
|
|
136
|
+
pry (~> 0.10)
|
|
86
137
|
rake (~> 10.0)
|
|
87
138
|
rspec (~> 3.4.0)
|
|
88
139
|
xcake!
|
data/bin/console
CHANGED
data/docs/Cakefile.md
CHANGED
|
@@ -260,3 +260,19 @@ Allows you specify the devices an iOS App can run on, can be `:iphone_only`,
|
|
|
260
260
|
```ruby
|
|
261
261
|
configuration.supported_devices = :iphone_only
|
|
262
262
|
```
|
|
263
|
+
|
|
264
|
+
#### Product Bundle Identifier
|
|
265
|
+
|
|
266
|
+
Allows you specify the product bundle identifier.
|
|
267
|
+
|
|
268
|
+
```ruby
|
|
269
|
+
configuration.product_bundle_identifier = "com.test.app"
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
#### Preprocessor Definitions
|
|
273
|
+
|
|
274
|
+
Allows you to specify preprocessor definitions.
|
|
275
|
+
|
|
276
|
+
```ruby
|
|
277
|
+
configuration.preprocessor_definitions["NAME"] = "VALUE"
|
|
278
|
+
```
|
data/docs/Getting Started.md
CHANGED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
#Xcode Project Support
|
|
2
|
+
|
|
3
|
+
This document describes the level of support Xcake has for the various aspects of the Xcode Project.
|
|
4
|
+
|
|
5
|
+
## Project
|
|
6
|
+
|
|
7
|
+
- Create a Project File
|
|
8
|
+
- Create build configurations via configurations
|
|
9
|
+
- Set name of project file
|
|
10
|
+
- Setting Class Prefix
|
|
11
|
+
- Setting Organization
|
|
12
|
+
- Including Files and Groups (Currently done via Targets)
|
|
13
|
+
- Including Frameworks (Currently done via Targets)
|
|
14
|
+
- Specify build settings via configurations
|
|
15
|
+
- Specify schemes (Currently only for applications via configurations - Xcode auto-creates for other types)
|
|
16
|
+
|
|
17
|
+
## Target
|
|
18
|
+
|
|
19
|
+
- Create target
|
|
20
|
+
- Create build configurations via configurations
|
|
21
|
+
- Set name of target
|
|
22
|
+
- Set primary language
|
|
23
|
+
- Set platform
|
|
24
|
+
- Set deployment target
|
|
25
|
+
- Specify device (Universal, iPad Only or iPhone Only)
|
|
26
|
+
- Specifying Files and Assets to include for Target
|
|
27
|
+
- Specifying Frameworks to include for Target
|
|
28
|
+
- Specify build settings via configurations
|
|
29
|
+
- Simple methods for creating iOS, Mac and WatchOS Applications.
|
|
30
|
+
- Simple methods for creating Unit Tests
|
|
31
|
+
|
|
32
|
+
## Configuration
|
|
33
|
+
|
|
34
|
+
- Set name for configuration (Used for name of build configuration created)
|
|
35
|
+
- Specify build settings
|
|
36
|
+
- Used to create build configuration for project and targets.
|
|
37
|
+
- Used to create schemes for applications
|
|
38
|
+
|
|
39
|
+
## Scheme
|
|
40
|
+
|
|
41
|
+
- No manual control. For Application targets, xcake creates them based on the configurations for those targets (i.e "myApp-Debug". "myApp-Release")
|
|
42
|
+
- Xcode auto-creates them currently for other target types.
|
data/lib/xcake.rb
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
|
+
|
|
2
|
+
require "xcake/core_ext/string"
|
|
3
|
+
|
|
1
4
|
require "xcake/visitable"
|
|
2
5
|
require "xcake/visitor"
|
|
3
6
|
require "xcake/version"
|
|
4
7
|
|
|
8
|
+
require "xcake/informative"
|
|
5
9
|
require "xcake/command"
|
|
6
10
|
require "xcake/configuration"
|
|
7
11
|
require "xcake/configuration/sugar"
|
|
12
|
+
require "xcake/configuration/proxies/preproccessor_definitions_setting_proxy"
|
|
8
13
|
require "xcake/configurable"
|
|
9
14
|
|
|
10
15
|
require "xcake/generator/build_phase"
|
data/lib/xcake/command.rb
CHANGED
|
@@ -1,16 +1,21 @@
|
|
|
1
|
-
require
|
|
1
|
+
require "claide"
|
|
2
2
|
|
|
3
3
|
module Xcake
|
|
4
4
|
class Command < CLAide::Command
|
|
5
5
|
|
|
6
|
-
self.command =
|
|
6
|
+
self.command = "xcake"
|
|
7
7
|
self.version = VERSION
|
|
8
|
-
self.description =
|
|
8
|
+
self.description = "Create and maintain Xcode project files easily."
|
|
9
9
|
|
|
10
10
|
def run
|
|
11
|
+
file_path = "#{Dir.pwd}/Cakefile"
|
|
12
|
+
|
|
13
|
+
unless File.exist?(file_path)
|
|
14
|
+
raise Xcake::Informative, "Couldn't find Cakefile"
|
|
15
|
+
end
|
|
11
16
|
|
|
12
17
|
puts "Reading Cakefile..."
|
|
13
|
-
file_contents = File.read(
|
|
18
|
+
file_contents = File.read(file_path)
|
|
14
19
|
cakefile = eval(file_contents)
|
|
15
20
|
|
|
16
21
|
resolver = ProjectStructureResolver.new
|
data/lib/xcake/configurable.rb
CHANGED
|
@@ -87,20 +87,7 @@ module Xcake
|
|
|
87
87
|
# @return [Configuration] the new or existing debug configuration
|
|
88
88
|
#
|
|
89
89
|
def debug_configuration(name, &block)
|
|
90
|
-
|
|
91
|
-
configuration = debug_configurations.find do |c|
|
|
92
|
-
c.name == name.to_s
|
|
93
|
-
end
|
|
94
|
-
|
|
95
|
-
if configuration == nil
|
|
96
|
-
configuration = Configuration.new(name) do |b|
|
|
97
|
-
block.call(b) if block_given?
|
|
98
|
-
end
|
|
99
|
-
|
|
100
|
-
debug_configurations << configuration
|
|
101
|
-
end
|
|
102
|
-
|
|
103
|
-
configuration
|
|
90
|
+
build_configuration(:debug, name, &block)
|
|
104
91
|
end
|
|
105
92
|
|
|
106
93
|
# This either finds a release configuration
|
|
@@ -109,17 +96,23 @@ module Xcake
|
|
|
109
96
|
# @return [Configuration] the new or existing release configuration
|
|
110
97
|
#
|
|
111
98
|
def release_configuration(name, &block)
|
|
99
|
+
build_configuration(:release, name, &block)
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
private
|
|
112
103
|
|
|
113
|
-
|
|
104
|
+
def build_configuration(method, name, &block)
|
|
105
|
+
configuration_name = send("#{method}_configurations")
|
|
106
|
+
configuration = configuration_name.detect do |c|
|
|
114
107
|
c.name == name.to_s
|
|
115
108
|
end
|
|
116
109
|
|
|
117
|
-
if configuration
|
|
110
|
+
if configuration.nil?
|
|
118
111
|
configuration = Configuration.new(name) do |b|
|
|
119
112
|
block.call(b) if block_given?
|
|
120
113
|
end
|
|
121
114
|
|
|
122
|
-
|
|
115
|
+
configuration_name << configuration
|
|
123
116
|
end
|
|
124
117
|
|
|
125
118
|
configuration
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
module Xcake
|
|
2
|
+
class Configuration
|
|
3
|
+
# This class is a proxy to the Preprocessor build
|
|
4
|
+
# setting. It abstracts the setting of the value
|
|
5
|
+
# for this setting and makes it easier to define
|
|
6
|
+
# new preprocessor definitions.
|
|
7
|
+
#
|
|
8
|
+
class PreprocessorDefinitionsSettingProxy
|
|
9
|
+
# the settings for the configuration this
|
|
10
|
+
# proxy is for
|
|
11
|
+
#
|
|
12
|
+
# @return [Hash<String, Object>] the settings for the
|
|
13
|
+
# proxied configuration
|
|
14
|
+
#
|
|
15
|
+
attr_accessor :settings
|
|
16
|
+
|
|
17
|
+
# @return [String] the key for the settings where the
|
|
18
|
+
# preprocessor definitions are kept
|
|
19
|
+
#
|
|
20
|
+
attr_accessor :key
|
|
21
|
+
|
|
22
|
+
# @param [Hash<String, Object>] settings
|
|
23
|
+
# the settings for the proxied configuration
|
|
24
|
+
#
|
|
25
|
+
# @param [String] key
|
|
26
|
+
# the key for the settings where the preprocessor
|
|
27
|
+
# definitions are kept
|
|
28
|
+
#
|
|
29
|
+
def initialize(settings, key)
|
|
30
|
+
@settings = settings
|
|
31
|
+
@key = key
|
|
32
|
+
@settings[@key] ||= ["$(inherited)"]
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# The subscript operator is used to define the preprocessor defination
|
|
36
|
+
#
|
|
37
|
+
# @param [String] key
|
|
38
|
+
# the key for the preprocessor definition
|
|
39
|
+
#
|
|
40
|
+
# @param [Object] value
|
|
41
|
+
# the value for the preprocessor definition
|
|
42
|
+
#
|
|
43
|
+
def []=(key, value)
|
|
44
|
+
@settings[@key] << "#{key}=#{value}"
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -25,5 +25,22 @@ module Xcake
|
|
|
25
25
|
supported_devices = SUPPORTED_DEVICES[devices]
|
|
26
26
|
settings["TARGETED_DEVICE_FAMILY"] = supported_devices
|
|
27
27
|
end
|
|
28
|
+
|
|
29
|
+
# Convienience method to easily set the
|
|
30
|
+
# product's bundle identifier
|
|
31
|
+
#
|
|
32
|
+
def product_bundle_identifier=(identifier)
|
|
33
|
+
settings["PRODUCT_BUNDLE_IDENTIFIER"] = identifier
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# Convienence method to easily set the
|
|
37
|
+
# product's bundle identifier
|
|
38
|
+
#
|
|
39
|
+
def preprocessor_definitions
|
|
40
|
+
PreprocessorDefinitionsSettingProxy.new(
|
|
41
|
+
settings,
|
|
42
|
+
"GCC_PREPROCESSOR_DEFINITIONS"
|
|
43
|
+
)
|
|
44
|
+
end
|
|
28
45
|
end
|
|
29
46
|
end
|
|
@@ -40,11 +40,9 @@ module Xcake
|
|
|
40
40
|
# @return [PBXGroup] the group
|
|
41
41
|
#
|
|
42
42
|
def group_for_node(node)
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
@project.main_group
|
|
47
|
-
end
|
|
43
|
+
return @project.main_group unless node.parent
|
|
44
|
+
|
|
45
|
+
@project.main_group.find_subpath(node.parent.path, true)
|
|
48
46
|
end
|
|
49
47
|
|
|
50
48
|
# Adds file reference to the target.
|
|
@@ -68,7 +66,6 @@ module Xcake
|
|
|
68
66
|
file_reference = group.new_reference(node.path)
|
|
69
67
|
|
|
70
68
|
node.targets.each do |t|
|
|
71
|
-
puts "Added to #{t}"
|
|
72
69
|
add_file_reference_to_target(file_reference, t)
|
|
73
70
|
end
|
|
74
71
|
end
|
|
@@ -6,8 +6,8 @@ module Xcake
|
|
|
6
6
|
class CompileSourceBuildPhase < BuildPhase
|
|
7
7
|
|
|
8
8
|
def self.can_install_node(node)
|
|
9
|
-
File.directory?(node.path)
|
|
10
|
-
|
|
9
|
+
!File.directory?(node.path) &&
|
|
10
|
+
%w(.c .m .mm .cpp .swift).include?(File.extname(node.path))
|
|
11
11
|
end
|
|
12
12
|
|
|
13
13
|
def add_file_reference_to_target(file_reference, target)
|
|
@@ -6,8 +6,8 @@ module Xcake
|
|
|
6
6
|
class CopyXCAssetsBuildPhase < CopyResourcesBuildPhase
|
|
7
7
|
|
|
8
8
|
def self.can_install_node(node)
|
|
9
|
-
File.directory?(node.path)
|
|
10
|
-
|
|
9
|
+
File.directory?(node.path) &&
|
|
10
|
+
[".xcassets"].include?(File.extname(node.path))
|
|
11
11
|
end
|
|
12
12
|
|
|
13
13
|
def visit_node(node)
|
|
@@ -5,8 +5,8 @@ module Xcake
|
|
|
5
5
|
# and ignores them.
|
|
6
6
|
#
|
|
7
7
|
def self.can_install_node(node)
|
|
8
|
-
File.directory?(node.path)
|
|
9
|
-
|
|
8
|
+
!File.directory?(node.path) &&
|
|
9
|
+
[".h", ".hpp"].include?(File.extname(node.path))
|
|
10
10
|
end
|
|
11
11
|
end
|
|
12
12
|
end
|
|
@@ -9,11 +9,17 @@ module Xcake
|
|
|
9
9
|
|
|
10
10
|
include Visitor
|
|
11
11
|
|
|
12
|
-
#
|
|
12
|
+
# @return [Project] project for the configuration
|
|
13
|
+
#
|
|
14
|
+
attr_accessor :project
|
|
15
|
+
|
|
16
|
+
# @return [Object] object from xcode project the configuration is for
|
|
17
|
+
#
|
|
18
|
+
attr_accessor :configuration_target
|
|
13
19
|
|
|
14
20
|
# @param [Project] project for the configuration
|
|
15
21
|
#
|
|
16
|
-
# @param [Object] object
|
|
22
|
+
# @param [Object] object from xcode project the configuration is for
|
|
17
23
|
#
|
|
18
24
|
def initialize(project, configuration_target)
|
|
19
25
|
@project = project
|
data/lib/xcake/project.rb
CHANGED
|
@@ -71,6 +71,23 @@ module Xcake
|
|
|
71
71
|
target
|
|
72
72
|
end
|
|
73
73
|
|
|
74
|
+
# Visitable
|
|
75
|
+
def accept(visitor)
|
|
76
|
+
visitor.visit(self)
|
|
77
|
+
|
|
78
|
+
flatten_configurations.each do |c|
|
|
79
|
+
visitor.visit(c)
|
|
80
|
+
visitor.leave(c)
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
targets.each do |t|
|
|
84
|
+
visitor.visit(t)
|
|
85
|
+
visitor.leave(t)
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
visitor.leave(self)
|
|
89
|
+
end
|
|
90
|
+
|
|
74
91
|
protected
|
|
75
92
|
|
|
76
93
|
# Configurable
|
|
@@ -88,24 +105,5 @@ module Xcake
|
|
|
88
105
|
common_settings = Xcodeproj::Constants::PROJECT_DEFAULT_BUILD_SETTINGS
|
|
89
106
|
default_settings.merge!(Xcodeproj::Project::ProjectHelper.deep_dup(common_settings[:release]))
|
|
90
107
|
end
|
|
91
|
-
|
|
92
|
-
public
|
|
93
|
-
|
|
94
|
-
# Visitable
|
|
95
|
-
def accept(visitor)
|
|
96
|
-
visitor.visit(self)
|
|
97
|
-
|
|
98
|
-
flatten_configurations.each do |c|
|
|
99
|
-
visitor.visit(c)
|
|
100
|
-
visitor.leave(c)
|
|
101
|
-
end
|
|
102
|
-
|
|
103
|
-
self.targets.each do |t|
|
|
104
|
-
visitor.visit(t)
|
|
105
|
-
visitor.leave(t)
|
|
106
|
-
end
|
|
107
|
-
|
|
108
|
-
visitor.leave(self)
|
|
109
|
-
end
|
|
110
108
|
end
|
|
111
109
|
end
|
data/lib/xcake/target.rb
CHANGED
|
@@ -192,11 +192,21 @@ module Xcake
|
|
|
192
192
|
end
|
|
193
193
|
|
|
194
194
|
def default_debug_settings
|
|
195
|
-
Xcodeproj::Project::ProjectHelper.
|
|
195
|
+
Xcodeproj::Project::ProjectHelper.
|
|
196
|
+
common_build_settings(:debug,
|
|
197
|
+
platform,
|
|
198
|
+
deployment_target.to_s,
|
|
199
|
+
type,
|
|
200
|
+
language).merge!(default_settings)
|
|
196
201
|
end
|
|
197
202
|
|
|
198
203
|
def default_release_settings
|
|
199
|
-
Xcodeproj::Project::ProjectHelper.
|
|
204
|
+
Xcodeproj::Project::ProjectHelper.
|
|
205
|
+
common_build_settings(:release,
|
|
206
|
+
platform,
|
|
207
|
+
deployment_target.to_s,
|
|
208
|
+
type,
|
|
209
|
+
language).merge!(default_settings)
|
|
200
210
|
end
|
|
201
211
|
|
|
202
212
|
#Visitable
|
data/lib/xcake/version.rb
CHANGED
data/xcake.gemspec
CHANGED
|
@@ -10,15 +10,16 @@ Gem::Specification.new do |spec|
|
|
|
10
10
|
spec.email = ["james@supmenow.com"]
|
|
11
11
|
|
|
12
12
|
spec.summary = %q{DSL for Xcode Projects.}
|
|
13
|
-
spec.description = %q{Create your Xcode projects automatically using a stupid simple
|
|
14
|
-
DSL.}
|
|
13
|
+
spec.description = %q{Create your Xcode projects automatically using a stupid simple DSL.}
|
|
15
14
|
spec.homepage = "https://github.com/jcampbell05/xcake/"
|
|
16
15
|
spec.license = "MIT"
|
|
17
16
|
|
|
18
17
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
|
19
19
|
spec.executables = %w{ xcake }
|
|
20
20
|
spec.require_paths = ["lib"]
|
|
21
21
|
|
|
22
|
+
|
|
22
23
|
spec.required_ruby_version = '>= 2.0.0'
|
|
23
24
|
|
|
24
25
|
spec.add_development_dependency "bundler", "~> 1.10"
|
|
@@ -26,7 +27,9 @@ Gem::Specification.new do |spec|
|
|
|
26
27
|
spec.add_development_dependency "rspec", "~> 3.4.0"
|
|
27
28
|
spec.add_development_dependency "coveralls", "~> 0.8"
|
|
28
29
|
spec.add_development_dependency "yard", "~> 0.8"
|
|
30
|
+
spec.add_development_dependency "pry", "~> 0.10"
|
|
29
31
|
spec.add_dependency "claide", "~> 0.9.1"
|
|
30
32
|
spec.add_dependency "hooks", "~> 0.4.1"
|
|
31
33
|
spec.add_dependency "xcodeproj", "~> 0.28"
|
|
34
|
+
spec.add_dependency "tty", "~> 0.3.2"
|
|
32
35
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: xcake
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.4.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- James Campbell
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2015-12-
|
|
11
|
+
date: 2015-12-27 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -80,6 +80,20 @@ dependencies:
|
|
|
80
80
|
- - "~>"
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
82
|
version: '0.8'
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: pry
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - "~>"
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '0.10'
|
|
90
|
+
type: :development
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - "~>"
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: '0.10'
|
|
83
97
|
- !ruby/object:Gem::Dependency
|
|
84
98
|
name: claide
|
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -122,9 +136,21 @@ dependencies:
|
|
|
122
136
|
- - "~>"
|
|
123
137
|
- !ruby/object:Gem::Version
|
|
124
138
|
version: '0.28'
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
139
|
+
- !ruby/object:Gem::Dependency
|
|
140
|
+
name: tty
|
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
|
142
|
+
requirements:
|
|
143
|
+
- - "~>"
|
|
144
|
+
- !ruby/object:Gem::Version
|
|
145
|
+
version: 0.3.2
|
|
146
|
+
type: :runtime
|
|
147
|
+
prerelease: false
|
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
149
|
+
requirements:
|
|
150
|
+
- - "~>"
|
|
151
|
+
- !ruby/object:Gem::Version
|
|
152
|
+
version: 0.3.2
|
|
153
|
+
description: Create your Xcode projects automatically using a stupid simple DSL.
|
|
128
154
|
email:
|
|
129
155
|
- james@supmenow.com
|
|
130
156
|
executables:
|
|
@@ -139,7 +165,6 @@ files:
|
|
|
139
165
|
- ".yardopts"
|
|
140
166
|
- CHANGELOG.md
|
|
141
167
|
- CODE_OF_CONDUCT.md
|
|
142
|
-
- Cakefile
|
|
143
168
|
- Gemfile
|
|
144
169
|
- Gemfile.lock
|
|
145
170
|
- LICENSE
|
|
@@ -155,12 +180,15 @@ files:
|
|
|
155
180
|
- docs/Cakefile.md
|
|
156
181
|
- docs/Getting Started.md
|
|
157
182
|
- docs/Hooks.md
|
|
183
|
+
- docs/Xcode Project Support.md
|
|
158
184
|
- lib/fastlane_plugin.rb
|
|
159
185
|
- lib/xcake.rb
|
|
160
186
|
- lib/xcake/command.rb
|
|
161
187
|
- lib/xcake/configurable.rb
|
|
162
188
|
- lib/xcake/configuration.rb
|
|
189
|
+
- lib/xcake/configuration/proxies/preproccessor_definitions_setting_proxy.rb
|
|
163
190
|
- lib/xcake/configuration/sugar.rb
|
|
191
|
+
- lib/xcake/core_ext/string.rb
|
|
164
192
|
- lib/xcake/fastlane/xcake.rb
|
|
165
193
|
- lib/xcake/generator/build_phase.rb
|
|
166
194
|
- lib/xcake/generator/build_phase/compile_source_build_phase.rb
|
|
@@ -172,6 +200,7 @@ files:
|
|
|
172
200
|
- lib/xcake/generator/path.rb
|
|
173
201
|
- lib/xcake/generator/project.rb
|
|
174
202
|
- lib/xcake/generator/target.rb
|
|
203
|
+
- lib/xcake/informative.rb
|
|
175
204
|
- lib/xcake/node.rb
|
|
176
205
|
- lib/xcake/project.rb
|
|
177
206
|
- lib/xcake/project/hooks.rb
|