xcake 0.9.0 → 0.10.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b77df3cd23fa234738b12a4b908521af9abadfb2235883c82581f7c687aa1da5
4
- data.tar.gz: 0c13c5bd3c7731022b6f4376d476a15790e9cc1ddafcafb61119201b66ee153d
3
+ metadata.gz: f10dc2b5418af42a8060494dce9fc880d0de048b691d196d07449fb5e8e4610f
4
+ data.tar.gz: 12682aba93d4e5bbb69738925a340fbf160dd9a3ae9f6fb13fe9511dd11991f5
5
5
  SHA512:
6
- metadata.gz: 0f146ce1f82ec0a38b44b146c4dd58122ffd27a16b24673cff3f1f0132d53a77e15476c596fff6b7ee1dacc26448a8375ef803bda0ce0414c492f26ead423214
7
- data.tar.gz: 47d1d3d1ab0ff600c80f67413c7dd86386599210e9f240a17ab7ff69583131f15016960447605cfc57abb40399a563c9cf423631bc8c9320af52e965e854425d
6
+ metadata.gz: 30fbe5b4051d81781fb75b5db8d00945dd10158617216fff3f16d0a7f7f3e731b3bf38453c76f9f763803d5bcadf746ef8c2d0d8555fec48af6f9bc6e95259d4
7
+ data.tar.gz: 790ec183b083aed7640f98ed5a71b4dc680e06c7026c164831f7712d2bcf16aed49eb1198ab3560ba8a5721142bc75f82e18c7b16dbaee8af7b4767db9081d8b
@@ -1,7 +1,7 @@
1
1
  module Xcake
2
2
  module CoreExtensions
3
3
  # @example Including in a class
4
- # Class.send(:include, Xcake::CoreExtensions::ClassDescendants) # done with send because of old ruby versions
4
+ # extend Xcake::CoreExtensions::ClassDescendants
5
5
  #
6
6
  module ClassDescendants
7
7
  # Returns all descendants of a class
@@ -8,6 +8,12 @@ module Xcake
8
8
  # String coataining the contents of the script to run
9
9
  attr_accessor :script
10
10
 
11
+ # input/output paths
12
+ attr_accessor :input_paths
13
+ attr_accessor :output_paths
14
+ attr_accessor :input_file_list_paths
15
+ attr_accessor :output_file_list_paths
16
+
11
17
  def build_phase_type
12
18
  Xcodeproj::Project::Object::PBXShellScriptBuildPhase
13
19
  end
@@ -15,6 +21,10 @@ module Xcake
15
21
  def configure_native_build_phase(native_build_phase, _context)
16
22
  native_build_phase.name = name
17
23
  native_build_phase.shell_script = script.strip_heredoc
24
+ native_build_phase.input_paths = input_paths || []
25
+ native_build_phase.output_paths = output_paths || []
26
+ native_build_phase.input_file_list_paths = input_file_list_paths || []
27
+ native_build_phase.output_file_list_paths = output_file_list_paths || []
18
28
  end
19
29
 
20
30
  def to_s
@@ -17,7 +17,7 @@ module Xcake
17
17
  #
18
18
  # @example Using Supported Devices
19
19
  #
20
- # Target.new do |t|
20
+ # Target.new(project) do |t|
21
21
  # t.all_configurations.each do |c|
22
22
  # c.supported_devices = :ipad_only
23
23
  # end
@@ -63,7 +63,7 @@ module Xcake
63
63
  # the newly created target
64
64
  #
65
65
  def target(&block)
66
- target = Target.new(&block)
66
+ target = Target.new(self, &block)
67
67
  targets << target
68
68
  target
69
69
  end
@@ -5,6 +5,10 @@ module Xcake
5
5
  include Hooks
6
6
  include Hooks::InstanceHooks
7
7
 
8
+ # Defines hook which is ran before project is saved.
9
+ #
10
+ define_hooks :before_save
11
+
8
12
  # Defines hook which is ran after project is saved.
9
13
  #
10
14
  define_hooks :after_save
@@ -60,6 +60,10 @@ module Xcake
60
60
  t.type = :ui_test_bundle
61
61
  configure_test_target_for_host_target(t, host_target)
62
62
 
63
+ t.all_configurations.each do |c|
64
+ c.settings['TEST_TARGET_NAME'] = host_target.name
65
+ end
66
+
63
67
  yield(t) if block_given?
64
68
  end
65
69
  end
@@ -182,16 +182,19 @@ module Xcake
182
182
  #
183
183
  attr_accessor :schemes
184
184
 
185
+ # @param [Project] project
186
+ # the project the target belongs to.
187
+ #
185
188
  # @param [Proc] block
186
189
  # an optional block that configures the target through the DSL.
187
190
  #
188
191
  # @example Creating a Target.
189
192
  #
190
- # Target.new do |t|
193
+ # Target.new(project) do |t|
191
194
  # t.name "test"
192
195
  # end
193
196
  #
194
- def initialize
197
+ def initialize(project)
195
198
  @pinned_build_phases = []
196
199
  @build_phases = []
197
200
  @build_rules = []
@@ -200,6 +203,7 @@ module Xcake
200
203
  @system_libraries = []
201
204
  @target_dependencies = []
202
205
  @schemes = []
206
+ @project = project
203
207
 
204
208
  yield(self) if block_given?
205
209
  end
@@ -3,7 +3,7 @@ module Xcake
3
3
  include Dependency
4
4
  include Plugin
5
5
  include Visitor
6
- Class.send(:include, CoreExtensions::ClassDescendants) # done with send because of old ruby versions
6
+ extend CoreExtensions::ClassDescendants
7
7
 
8
8
  attr_accessor :context
9
9
 
@@ -8,6 +8,7 @@ module Xcake
8
8
 
9
9
  def leave_project(project)
10
10
  native_project = @context.native_object_for(project)
11
+ project.run_hook :before_save, native_project
11
12
  native_project.save
12
13
  project.run_hook :after_save
13
14
 
@@ -5,6 +5,8 @@ module Xcake
5
5
  end
6
6
 
7
7
  module ClassMethods
8
+ include CoreExtensions::ClassDescendants
9
+
8
10
  def load_plugins
9
11
  Dir[plugins_location].each { |file| require file }
10
12
  descendants
@@ -1,3 +1,3 @@
1
1
  module Xcake
2
- VERSION = '0.9.0'.freeze
2
+ VERSION = '0.10.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xcake
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Makarov
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-12-30 00:00:00.000000000 Z
12
+ date: 2020-07-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: claide
@@ -99,28 +99,42 @@ dependencies:
99
99
  requirements:
100
100
  - - "<"
101
101
  - !ruby/object:Gem::Version
102
- version: '5'
102
+ version: '6'
103
103
  type: :runtime
104
104
  prerelease: false
105
105
  version_requirements: !ruby/object:Gem::Requirement
106
106
  requirements:
107
107
  - - "<"
108
108
  - !ruby/object:Gem::Version
109
- version: '5'
109
+ version: '6'
110
110
  - !ruby/object:Gem::Dependency
111
111
  name: bundler
112
112
  requirement: !ruby/object:Gem::Requirement
113
113
  requirements:
114
- - - "~>"
114
+ - - ">="
115
115
  - !ruby/object:Gem::Version
116
116
  version: '1.10'
117
117
  type: :development
118
118
  prerelease: false
119
119
  version_requirements: !ruby/object:Gem::Requirement
120
120
  requirements:
121
- - - "~>"
121
+ - - ">="
122
122
  - !ruby/object:Gem::Version
123
123
  version: '1.10'
124
+ - !ruby/object:Gem::Dependency
125
+ name: os
126
+ requirement: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '1.0'
131
+ type: :development
132
+ prerelease: false
133
+ version_requirements: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '1.0'
124
138
  - !ruby/object:Gem::Dependency
125
139
  name: pry
126
140
  requirement: !ruby/object:Gem::Requirement
@@ -169,14 +183,28 @@ dependencies:
169
183
  requirements:
170
184
  - - "~>"
171
185
  - !ruby/object:Gem::Version
172
- version: '10.0'
186
+ version: '12.0'
173
187
  type: :development
174
188
  prerelease: false
175
189
  version_requirements: !ruby/object:Gem::Requirement
176
190
  requirements:
177
191
  - - "~>"
178
192
  - !ruby/object:Gem::Version
179
- version: '10.0'
193
+ version: '12.0'
194
+ - !ruby/object:Gem::Dependency
195
+ name: rb-readline
196
+ requirement: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - "~>"
199
+ - !ruby/object:Gem::Version
200
+ version: 0.5.4
201
+ type: :development
202
+ prerelease: false
203
+ version_requirements: !ruby/object:Gem::Requirement
204
+ requirements:
205
+ - - "~>"
206
+ - !ruby/object:Gem::Version
207
+ version: 0.5.4
180
208
  - !ruby/object:Gem::Dependency
181
209
  name: rspec
182
210
  requirement: !ruby/object:Gem::Requirement
@@ -191,6 +219,20 @@ dependencies:
191
219
  - - "~>"
192
220
  - !ruby/object:Gem::Version
193
221
  version: 3.4.0
222
+ - !ruby/object:Gem::Dependency
223
+ name: rubocop
224
+ requirement: !ruby/object:Gem::Requirement
225
+ requirements:
226
+ - - "~>"
227
+ - !ruby/object:Gem::Version
228
+ version: 0.64.0
229
+ type: :development
230
+ prerelease: false
231
+ version_requirements: !ruby/object:Gem::Requirement
232
+ requirements:
233
+ - - "~>"
234
+ - !ruby/object:Gem::Version
235
+ version: 0.64.0
194
236
  - !ruby/object:Gem::Dependency
195
237
  name: rubocop-git
196
238
  requirement: !ruby/object:Gem::Requirement
@@ -311,15 +353,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
311
353
  requirements:
312
354
  - - ">="
313
355
  - !ruby/object:Gem::Version
314
- version: 2.0.0
356
+ version: 2.3.3
315
357
  required_rubygems_version: !ruby/object:Gem::Requirement
316
358
  requirements:
317
359
  - - ">="
318
360
  - !ruby/object:Gem::Version
319
361
  version: '0'
320
362
  requirements: []
321
- rubyforge_project:
322
- rubygems_version: 2.7.7
363
+ rubygems_version: 3.1.2
323
364
  signing_key:
324
365
  specification_version: 4
325
366
  summary: Generate Xcode Projects