phoenx 0.2.4 → 0.3.0
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/lib/phoenx.rb +1 -0
- data/lib/phoenx/entities/project.rb +6 -0
- data/lib/phoenx/entities/target.rb +14 -0
- data/lib/phoenx/gem_version.rb +1 -1
- data/lib/phoenx/use_cases/extract_build_settings.rb +16 -50
- data/lib/phoenx/use_cases/generate_project.rb +12 -0
- data/lib/phoenx/use_cases/generate_target.rb +26 -11
- data/lib/phoenx/use_cases/target/add_header.rb +104 -0
- data/lib/phoenx/utilities/files_utils.rb +8 -2
- data/lib/phoenx/utilities/xcodeproj_utils.rb +7 -1
- metadata +16 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 35e088d7d32779137e61c4ced1fc7346134f3a9d
|
4
|
+
data.tar.gz: 58141339eb08460992ee1b724916beec44fe89ca
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c7580465b974fd07f8f33d9abf3351ddbbc22e59d8de85292611550f1c8ba4b6c1a937ccef91eb7fc3f03d2cf28037feaf0bd1d704cedab26da30dc189e8fe36
|
7
|
+
data.tar.gz: a2635e5c9c72c02c23d7761f934a361393f96a04b4285c84c8d252d1024cd004c5a21a6913ecc8e23cc05dfcc0d018ec9bebeb1d490617a1a2553ae0cd1a9200
|
data/lib/phoenx.rb
CHANGED
@@ -18,6 +18,7 @@ require 'phoenx/entities/dependency'
|
|
18
18
|
require 'phoenx/use_cases/generate_workspace'
|
19
19
|
require 'phoenx/use_cases/generate_project'
|
20
20
|
require 'phoenx/use_cases/generate_target'
|
21
|
+
require 'phoenx/use_cases/target/add_header'
|
21
22
|
require 'phoenx/use_cases/extract_build_settings'
|
22
23
|
|
23
24
|
require 'phoenx/utilities/xcodeproj_utils'
|
@@ -8,7 +8,10 @@ module Phoenx
|
|
8
8
|
attr_accessor :pre_install_scripts
|
9
9
|
attr_accessor :post_install_scripts
|
10
10
|
attr_accessor :project_name
|
11
|
+
attr_accessor :support_files
|
12
|
+
attr_accessor :excluded_support_files
|
11
13
|
attr_reader :targets
|
14
|
+
attr_accessor :deterministic_project
|
12
15
|
|
13
16
|
def initialize
|
14
17
|
|
@@ -17,6 +20,9 @@ module Phoenx
|
|
17
20
|
@targets = []
|
18
21
|
@pre_install_scripts = []
|
19
22
|
@post_install_scripts = []
|
23
|
+
@support_files = []
|
24
|
+
@excluded_support_files = []
|
25
|
+
@deterministic_project = false
|
20
26
|
|
21
27
|
yield self
|
22
28
|
|
@@ -4,14 +4,17 @@ module Phoenx
|
|
4
4
|
|
5
5
|
attr_accessor :name
|
6
6
|
attr_accessor :resources
|
7
|
+
attr_accessor :excluded_resources
|
7
8
|
attr_accessor :frameworks
|
8
9
|
attr_accessor :libraries
|
9
10
|
attr_accessor :sources
|
11
|
+
attr_accessor :excluded_sources
|
10
12
|
attr_accessor :system_frameworks
|
11
13
|
attr_accessor :system_libraries
|
12
14
|
attr_accessor :pre_build_scripts
|
13
15
|
attr_accessor :post_build_scripts
|
14
16
|
attr_accessor :support_files
|
17
|
+
attr_accessor :excluded_support_files
|
15
18
|
attr_reader :dependencies
|
16
19
|
|
17
20
|
attr_reader :config_files
|
@@ -27,8 +30,11 @@ module Phoenx
|
|
27
30
|
@pre_build_scripts = []
|
28
31
|
@post_build_scripts = []
|
29
32
|
@resources = []
|
33
|
+
@excluded_resources = []
|
30
34
|
@sources = []
|
35
|
+
@excluded_sources = []
|
31
36
|
@support_files = []
|
37
|
+
@excluded_support_files = []
|
32
38
|
|
33
39
|
end
|
34
40
|
|
@@ -50,8 +56,13 @@ module Phoenx
|
|
50
56
|
attr_reader :target_type
|
51
57
|
attr_accessor :sub_projects
|
52
58
|
attr_accessor :private_headers
|
59
|
+
attr_accessor :excluded_private_headers
|
53
60
|
attr_accessor :project_headers
|
61
|
+
attr_accessor :excluded_project_headers
|
54
62
|
attr_accessor :public_headers
|
63
|
+
attr_accessor :excluded_public_headers
|
64
|
+
attr_accessor :umbrella_header
|
65
|
+
attr_accessor :module_name
|
55
66
|
|
56
67
|
public
|
57
68
|
|
@@ -66,8 +77,11 @@ module Phoenx
|
|
66
77
|
@version = version
|
67
78
|
@sub_projects = []
|
68
79
|
@private_headers = []
|
80
|
+
@excluded_private_headers = []
|
69
81
|
@project_headers = []
|
82
|
+
@excluded_project_headers = []
|
70
83
|
@public_headers = []
|
84
|
+
@excluded_public_headers = []
|
71
85
|
|
72
86
|
yield(self)
|
73
87
|
|
data/lib/phoenx/gem_version.rb
CHANGED
@@ -18,31 +18,7 @@ module Phoenx
|
|
18
18
|
|
19
19
|
target.build_configuration_list.build_configurations.each do |config|
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
config.build_settings.each do |key,values|
|
24
|
-
|
25
|
-
file.write(key + ' = ')
|
26
|
-
|
27
|
-
if values.is_a?(String)
|
28
|
-
|
29
|
-
file.write(values)
|
30
|
-
|
31
|
-
else
|
32
|
-
|
33
|
-
values.each do |value|
|
34
|
-
|
35
|
-
file.write(value + ' ')
|
36
|
-
|
37
|
-
end
|
38
|
-
|
39
|
-
end
|
40
|
-
|
41
|
-
file.puts
|
42
|
-
|
43
|
-
end
|
44
|
-
|
45
|
-
file.close
|
21
|
+
extract_settings(config, 'xcconfig/' + target.name + '/')
|
46
22
|
|
47
23
|
end
|
48
24
|
|
@@ -56,35 +32,25 @@ module Phoenx
|
|
56
32
|
|
57
33
|
@project.build_configuration_list.build_configurations.each do |config|
|
58
34
|
|
59
|
-
|
60
|
-
|
61
|
-
config.build_settings.each do |key,values|
|
62
|
-
|
63
|
-
file.write(key + ' = ')
|
64
|
-
|
65
|
-
if values.is_a?(String)
|
66
|
-
|
67
|
-
file.write(values)
|
68
|
-
|
69
|
-
else
|
70
|
-
|
71
|
-
values.each do |value|
|
72
|
-
|
73
|
-
file.write(value + ' ')
|
74
|
-
|
75
|
-
end
|
76
|
-
|
77
|
-
end
|
78
|
-
|
79
|
-
file.puts
|
80
|
-
|
81
|
-
end
|
82
|
-
|
83
|
-
file.close
|
35
|
+
extract_settings(config, 'xcconfig/')
|
84
36
|
|
85
37
|
end
|
86
38
|
|
87
39
|
end
|
40
|
+
|
41
|
+
def extract_settings(config, to_folder)
|
42
|
+
|
43
|
+
build_settings = config.build_settings.map { |key,values|
|
44
|
+
key + ' = ' + (values.is_a?(String) ? values : values.join(' '))
|
45
|
+
}
|
46
|
+
|
47
|
+
build_settings.sort!
|
48
|
+
|
49
|
+
open(to_folder + config.name + '.xcconfig', 'w') { |file|
|
50
|
+
build_settings.each { |setting| file.puts(setting) }
|
51
|
+
}
|
52
|
+
|
53
|
+
end
|
88
54
|
|
89
55
|
def extract
|
90
56
|
|
@@ -26,10 +26,15 @@ module Phoenx
|
|
26
26
|
|
27
27
|
self.generate_configurations
|
28
28
|
self.add_config_files
|
29
|
+
self.add_support_files
|
29
30
|
self.build_targets
|
30
31
|
|
31
32
|
@project.main_group.sort_recursively
|
32
33
|
|
34
|
+
if @project_spec.deterministic_project
|
35
|
+
@project.predictabilize_uuids
|
36
|
+
end
|
37
|
+
|
33
38
|
@project.save(@project_spec.project_file_name)
|
34
39
|
|
35
40
|
@project_spec.post_install_scripts.each do |post_script|
|
@@ -104,6 +109,13 @@ module Phoenx
|
|
104
109
|
end
|
105
110
|
|
106
111
|
end
|
112
|
+
|
113
|
+
def add_support_files
|
114
|
+
|
115
|
+
files = Phoenx.merge_files_array(@project_spec.support_files, @project_spec.excluded_support_files)
|
116
|
+
Phoenx.get_or_add_files(@project, files)
|
117
|
+
|
118
|
+
end
|
107
119
|
|
108
120
|
end
|
109
121
|
|
@@ -19,7 +19,8 @@ module Phoenx
|
|
19
19
|
|
20
20
|
def add_support_files
|
21
21
|
|
22
|
-
Phoenx.
|
22
|
+
files = Phoenx.merge_files_array(@target_spec.support_files, @target_spec.excluded_support_files)
|
23
|
+
Phoenx.get_or_add_files(@project, files)
|
23
24
|
|
24
25
|
end
|
25
26
|
|
@@ -96,7 +97,7 @@ module Phoenx
|
|
96
97
|
def add_resources
|
97
98
|
|
98
99
|
# Add Resource files
|
99
|
-
resources = Phoenx.merge_files_array(@target_spec.resources)
|
100
|
+
resources = Phoenx.merge_files_array(@target_spec.resources, @target_spec.excluded_resources)
|
100
101
|
|
101
102
|
unless !@target_spec.resources || @target_spec.resources.empty? || !resources.empty?
|
102
103
|
puts "No resources found".yellow
|
@@ -137,6 +138,22 @@ module Phoenx
|
|
137
138
|
|
138
139
|
end
|
139
140
|
|
141
|
+
elsif Phoenx.is_translation_folder?(source)
|
142
|
+
|
143
|
+
parts = source.split("/")
|
144
|
+
translation_folder_index = parts.index { |part| Phoenx.is_translation_folder?(part) }
|
145
|
+
|
146
|
+
parent_path = parts[0..translation_folder_index - 1].join('/')
|
147
|
+
parent_group = @project.main_group.find_subpath(parent_path)
|
148
|
+
|
149
|
+
variant_group = parent_group[File.basename(source)]
|
150
|
+
if variant_group == nil
|
151
|
+
variant_group = parent_group.new_variant_group(File.basename(source))
|
152
|
+
self.target.resources_build_phase.add_file_reference(variant_group)
|
153
|
+
end
|
154
|
+
|
155
|
+
variant_group.new_file(parts[translation_folder_index..parts.count].join('/'))
|
156
|
+
|
140
157
|
else
|
141
158
|
|
142
159
|
group = @project.main_group.find_subpath(File.dirname(source), false)
|
@@ -164,7 +181,7 @@ module Phoenx
|
|
164
181
|
def add_sources
|
165
182
|
|
166
183
|
# Add Source files
|
167
|
-
sources = Phoenx.merge_files_array(@target_spec.sources)
|
184
|
+
sources = Phoenx.merge_files_array(@target_spec.sources, @target_spec.excluded_sources)
|
168
185
|
|
169
186
|
unless !@target_spec.sources || @target_spec.sources.empty? || !sources.empty?
|
170
187
|
puts "No sources found".yellow
|
@@ -188,9 +205,9 @@ module Phoenx
|
|
188
205
|
|
189
206
|
end
|
190
207
|
|
191
|
-
def add_headers(header_files,attributes)
|
208
|
+
def add_headers(header_files, excluded_header_files, attributes)
|
192
209
|
|
193
|
-
headers = Phoenx.merge_files_array(header_files)
|
210
|
+
headers = Phoenx.merge_files_array(header_files, excluded_header_files)
|
194
211
|
|
195
212
|
unless !header_files || header_files.empty? || !headers.empty?
|
196
213
|
puts "No #{attributes["ATTRIBUTES"].first} headers found".yellow
|
@@ -211,19 +228,19 @@ module Phoenx
|
|
211
228
|
|
212
229
|
def add_public_headers
|
213
230
|
|
214
|
-
self.add_headers(@target_spec.public_headers,ATTRIBUTES_PUBLIC_HEADERS)
|
231
|
+
self.add_headers(@target_spec.public_headers, @target_spec.excluded_public_headers, ATTRIBUTES_PUBLIC_HEADERS)
|
215
232
|
|
216
233
|
end
|
217
234
|
|
218
235
|
def add_private_headers
|
219
236
|
|
220
|
-
self.add_headers(@target_spec.private_headers,ATTRIBUTES_PRIVATE_HEADERS)
|
237
|
+
self.add_headers(@target_spec.private_headers, @target_spec.excluded_private_headers, ATTRIBUTES_PRIVATE_HEADERS)
|
221
238
|
|
222
239
|
end
|
223
240
|
|
224
241
|
def add_project_headers
|
225
242
|
|
226
|
-
self.add_headers(@target_spec.project_headers,ATTRIBUTES_PROJECT_HEADERS)
|
243
|
+
self.add_headers(@target_spec.project_headers, @target_spec.excluded_project_headers, ATTRIBUTES_PROJECT_HEADERS)
|
227
244
|
|
228
245
|
end
|
229
246
|
|
@@ -384,9 +401,7 @@ module Phoenx
|
|
384
401
|
puts ">> Target ".green + @target_spec.name.bold unless @project_spec.targets.length == 1
|
385
402
|
|
386
403
|
self.add_sources
|
387
|
-
|
388
|
-
self.add_private_headers
|
389
|
-
self.add_project_headers
|
404
|
+
Phoenx::Target::HeaderBuilder.new(@project, @target, @target_spec).build
|
390
405
|
self.add_resources
|
391
406
|
self.add_config_files
|
392
407
|
self.add_sub_projects
|
@@ -0,0 +1,104 @@
|
|
1
|
+
module Phoenx
|
2
|
+
|
3
|
+
module Target
|
4
|
+
|
5
|
+
class HeaderBuilder
|
6
|
+
|
7
|
+
attr_reader :project
|
8
|
+
attr_reader :target
|
9
|
+
|
10
|
+
attr_reader :target_spec
|
11
|
+
|
12
|
+
attr_reader :umbrella_headers
|
13
|
+
|
14
|
+
def initialize(project, target, target_spec)
|
15
|
+
|
16
|
+
@project = project
|
17
|
+
@target = target
|
18
|
+
|
19
|
+
@target_spec = target_spec
|
20
|
+
|
21
|
+
@umbrella_headers = []
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
def build
|
26
|
+
|
27
|
+
self.add_public_headers
|
28
|
+
self.add_project_headers
|
29
|
+
self.add_private_headers
|
30
|
+
|
31
|
+
self.generate_umbrella_header
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
def add_public_headers
|
36
|
+
|
37
|
+
self.add_headers(@target_spec.public_headers, ATTRIBUTES_PUBLIC_HEADERS, true)
|
38
|
+
|
39
|
+
end
|
40
|
+
|
41
|
+
def add_project_headers
|
42
|
+
|
43
|
+
self.add_headers(@target_spec.project_headers, ATTRIBUTES_PROJECT_HEADERS, true)
|
44
|
+
|
45
|
+
end
|
46
|
+
|
47
|
+
def add_private_headers
|
48
|
+
|
49
|
+
self.add_headers(@target_spec.private_headers, ATTRIBUTES_PRIVATE_HEADERS, false)
|
50
|
+
|
51
|
+
end
|
52
|
+
|
53
|
+
|
54
|
+
def generate_umbrella_header
|
55
|
+
|
56
|
+
unless @target_spec.umbrella_header == nil
|
57
|
+
|
58
|
+
entries = @umbrella_headers.map{ |header|
|
59
|
+
unless @target_spec.module_name == nil
|
60
|
+
import = '<' + @target_spec.module_name + '/' + File.basename(header) + '>'
|
61
|
+
else
|
62
|
+
import = '"' + File.basename(header) + '"'
|
63
|
+
end
|
64
|
+
'#import ' + import
|
65
|
+
}
|
66
|
+
|
67
|
+
open(@target_spec.umbrella_header, "w") { |file|
|
68
|
+
entries.each { |header| file.puts header }
|
69
|
+
}
|
70
|
+
|
71
|
+
end
|
72
|
+
|
73
|
+
end
|
74
|
+
|
75
|
+
def add_headers(header_files, attributes, add_to_umbrella_header)
|
76
|
+
|
77
|
+
headers = Phoenx.merge_files_array(header_files)
|
78
|
+
|
79
|
+
unless !header_files || header_files.empty? || !headers.empty?
|
80
|
+
puts "No #{attributes["ATTRIBUTES"].first} headers found".yellow
|
81
|
+
end
|
82
|
+
|
83
|
+
Phoenx.add_groups_for_files(@project, headers)
|
84
|
+
|
85
|
+
headers.each do |header|
|
86
|
+
|
87
|
+
file = Phoenx.get_or_add_file(@project,header)
|
88
|
+
|
89
|
+
build_file = @target.headers_build_phase.add_file_reference(file, true)
|
90
|
+
build_file.settings = attributes
|
91
|
+
|
92
|
+
if add_to_umbrella_header
|
93
|
+
@umbrella_headers << header
|
94
|
+
end
|
95
|
+
|
96
|
+
end
|
97
|
+
|
98
|
+
end
|
99
|
+
|
100
|
+
end
|
101
|
+
|
102
|
+
end
|
103
|
+
|
104
|
+
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Phoenx
|
2
2
|
|
3
|
-
def Phoenx.merge_files_array(files)
|
3
|
+
def Phoenx.merge_files_array(files, excluded_files = nil)
|
4
4
|
|
5
5
|
if files == nil
|
6
6
|
|
@@ -14,9 +14,15 @@ module Phoenx
|
|
14
14
|
resources.concat Dir[source]
|
15
15
|
|
16
16
|
end
|
17
|
+
|
18
|
+
unless excluded_files == nil
|
19
|
+
|
20
|
+
resources -= merge_files_array(excluded_files)
|
21
|
+
|
22
|
+
end
|
17
23
|
|
18
24
|
return resources
|
19
25
|
|
20
26
|
end
|
21
27
|
|
22
|
-
end
|
28
|
+
end
|
@@ -8,6 +8,12 @@ module Phoenx
|
|
8
8
|
|
9
9
|
end
|
10
10
|
|
11
|
+
def Phoenx.is_translation_folder?(file)
|
12
|
+
|
13
|
+
return file.include?('lproj')
|
14
|
+
|
15
|
+
end
|
16
|
+
|
11
17
|
def Phoenx.add_groups_for_files(project,files)
|
12
18
|
|
13
19
|
files.each do |path|
|
@@ -19,7 +25,7 @@ module Phoenx
|
|
19
25
|
|
20
26
|
groups.each do |g|
|
21
27
|
|
22
|
-
if Phoenx.is_bundle?(g)
|
28
|
+
if Phoenx.is_bundle?(g) || Phoenx.is_translation_folder?(g)
|
23
29
|
|
24
30
|
break
|
25
31
|
|
metadata
CHANGED
@@ -1,69 +1,69 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: phoenx
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jens Meder
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-02-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: xcodeproj
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 1.4.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 1.4.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: colored
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '1.2'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.2'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '1.11'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '1.11'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '3.0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '3.0'
|
69
69
|
description: An Xcode Project and Workspace Generator
|
@@ -74,6 +74,8 @@ executables:
|
|
74
74
|
extensions: []
|
75
75
|
extra_rdoc_files: []
|
76
76
|
files:
|
77
|
+
- bin/phoenx
|
78
|
+
- lib/phoenx.rb
|
77
79
|
- lib/phoenx/cli/cli_factory.rb
|
78
80
|
- lib/phoenx/cli/command.rb
|
79
81
|
- lib/phoenx/cli/option.rb
|
@@ -89,13 +91,12 @@ files:
|
|
89
91
|
- lib/phoenx/use_cases/generate_project.rb
|
90
92
|
- lib/phoenx/use_cases/generate_target.rb
|
91
93
|
- lib/phoenx/use_cases/generate_workspace.rb
|
94
|
+
- lib/phoenx/use_cases/target/add_header.rb
|
92
95
|
- lib/phoenx/utilities/files_utils.rb
|
93
96
|
- lib/phoenx/utilities/xcodeproj_utils.rb
|
94
97
|
- lib/phoenx/validators/configuration_validator.rb
|
95
98
|
- lib/phoenx/validators/project_validator.rb
|
96
99
|
- lib/phoenx/validators/workspace_validator.rb
|
97
|
-
- lib/phoenx.rb
|
98
|
-
- bin/phoenx
|
99
100
|
homepage: https://www.github.com/jensmeder/Phoenx
|
100
101
|
licenses:
|
101
102
|
- MIT
|
@@ -106,17 +107,17 @@ require_paths:
|
|
106
107
|
- lib
|
107
108
|
required_ruby_version: !ruby/object:Gem::Requirement
|
108
109
|
requirements:
|
109
|
-
- -
|
110
|
+
- - ">="
|
110
111
|
- !ruby/object:Gem::Version
|
111
112
|
version: '0'
|
112
113
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
113
114
|
requirements:
|
114
|
-
- -
|
115
|
+
- - ">="
|
115
116
|
- !ruby/object:Gem::Version
|
116
117
|
version: '0'
|
117
118
|
requirements: []
|
118
119
|
rubyforge_project:
|
119
|
-
rubygems_version: 2.0
|
120
|
+
rubygems_version: 2.5.0
|
120
121
|
signing_key:
|
121
122
|
specification_version: 4
|
122
123
|
summary: Phoenx generates Xcode projects (*.xcodeproj) and workspaces (*.xcworkspace)
|