framework-generate 1.2.1 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 84e2965c2ac296c9af44b62f96bfbc75664cd215
4
- data.tar.gz: ae5a490b1f77bdd69d571366006bba1fdf0364ba
3
+ metadata.gz: 6b81c50a7da8dfadc9b6fbcbc508b23d17133fa2
4
+ data.tar.gz: 94d3ec140450a8acd5c66e04f860f41ed5724c14
5
5
  SHA512:
6
- metadata.gz: 328f80bae08682e9719719b2ae50f0c17a186d434e9d529d483bc322260c19fe7b4ab1ef98b66cfb4f4ccd7528ecf337b60cfa7df883c01826d3205ed8e20f5f
7
- data.tar.gz: 5c144f6adf9838396a04ec423111925f5a37de8d7a810724350dba2d07446e5ea91d67af31f4182e7fc88fef1e07c9c1db536e0912e62910917bdb0531f0fec9
6
+ metadata.gz: 4386f7b10a8492ec0d2f3c3190a0124cbcdcdfaee6794f8b4eda599af9259c0fc347a354a0cc3ee1e4f4c7b30fd8d4b3907937351bf57cdee26c8d389cd5bfbe
7
+ data.tar.gz: a29f3fd9148dbeb4923426828331bcca0ae0bfba632cf4ad3ff360f37117cc7cb21851c5844e52dcd8a6a24d2777cefc9e330b8ddf5914c52a10039089645317
data/README.md CHANGED
@@ -24,6 +24,10 @@ framework-generate
24
24
 
25
25
  To view the full `FrameworkSpec` documentation see the [`docs`](docs/FrameworkSpec.md) folder.
26
26
 
27
+ ### Sample FrameworkSpec Files
28
+
29
+ Don't know where to start? Some FrameworkSpec files exist [here](https://github.com/petester42/framework-specs) for a couple projects. It can be a good place to start!
30
+
27
31
  ## Contributing
28
32
 
29
33
  Love framework-generate but want to make it even better?
@@ -88,6 +88,12 @@ module FrameworkGenerate
88
88
  settings['CLANG_WARN_SUSPICIOUS_MOVE'] = 'YES'
89
89
  settings['ENABLE_STRICT_OBJC_MSGSEND'] = 'YES'
90
90
  settings['GCC_NO_COMMON_BLOCKS'] = 'YES'
91
+ settings['CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING'] = 'YES'
92
+ settings['CLANG_WARN_COMMA'] = 'YES'
93
+ settings['CLANG_WARN_NON_LITERAL_NULL_CONVERSION'] = 'YES'
94
+ settings['CLANG_WARN_OBJC_LITERAL_CONVERSION'] = 'YES'
95
+ settings['CLANG_WARN_RANGE_LOOP_ANALYSIS'] = 'YES'
96
+ settings['CLANG_WARN_STRICT_PROTOTYPES'] = 'YES'
91
97
 
92
98
  settings
93
99
  end
@@ -129,6 +135,11 @@ module FrameworkGenerate
129
135
 
130
136
  scheme.add_build_target(created_target)
131
137
 
138
+ unless scheme.launch_action.nil?
139
+ target.add_launch_arguments(scheme.launch_action)
140
+ target.add_environment_variables(scheme.launch_action)
141
+ end
142
+
132
143
  if created_target.test_target_type?
133
144
  scheme.add_test_target(created_target)
134
145
  end
@@ -3,9 +3,9 @@ require 'fileutils'
3
3
 
4
4
  module FrameworkGenerate
5
5
  class Target
6
- attr_accessor :name, :platforms, :language, :info_plist, :bundle_id, :header, :include_files, :exclude_files, :resource_files, :dependencies, :type, :pre_build_scripts, :post_build_scripts, :test_target, :is_safe_for_extensions, :enable_code_coverage
6
+ attr_accessor :name, :platforms, :language, :info_plist, :bundle_id, :header, :include_files, :exclude_files, :resource_files, :dependencies, :type, :pre_build_scripts, :post_build_scripts, :test_target, :is_safe_for_extensions, :enable_code_coverage, :launch_arguments, :environment_variables
7
7
 
8
- def initialize(name = nil, platforms = nil, language = nil, info_plist = nil, bundle_id = nil, header = nil, include_files = nil, exclude_files = nil, resource_files = nil, dependencies = nil, type = :framework, pre_build_scripts = nil, post_build_scripts = nil, test_target = nil, is_safe_for_extensions = false, enable_code_coverage = false)
8
+ def initialize(name = nil, platforms = nil, language = nil, info_plist = nil, bundle_id = nil, header = nil, include_files = nil, exclude_files = nil, resource_files = nil, dependencies = nil, type = :framework, pre_build_scripts = nil, post_build_scripts = nil, test_target = nil, is_safe_for_extensions = false, enable_code_coverage = false, launch_arguments = nil, environment_variables = nil)
9
9
  @name = name
10
10
  @platforms = platforms
11
11
  @language = language
@@ -22,6 +22,8 @@ module FrameworkGenerate
22
22
  @test_target = test_target
23
23
  @is_safe_for_extensions = is_safe_for_extensions
24
24
  @enable_code_coverage = enable_code_coverage
25
+ @launch_arguments = launch_arguments
26
+ @environment_variables = environment_variables
25
27
 
26
28
  yield(self) if block_given?
27
29
  end
@@ -32,6 +34,12 @@ module FrameworkGenerate
32
34
 
33
35
  def target_build_settings(settings)
34
36
  settings.delete('CODE_SIGN_IDENTITY')
37
+ settings.delete('CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING')
38
+ settings.delete('CLANG_WARN_COMMA')
39
+ settings.delete('CLANG_WARN_NON_LITERAL_NULL_CONVERSION')
40
+ settings.delete('CLANG_WARN_OBJC_LITERAL_CONVERSION')
41
+ settings.delete('CLANG_WARN_RANGE_LOOP_ANALYSIS')
42
+ settings.delete('CLANG_WARN_STRICT_PROTOTYPES')
35
43
 
36
44
  settings['INFOPLIST_FILE'] = @info_plist
37
45
  settings['PRODUCT_BUNDLE_IDENTIFIER'] = @bundle_id
@@ -236,6 +244,26 @@ module FrameworkGenerate
236
244
  add_build_scripts(target, @post_build_scripts)
237
245
  end
238
246
 
247
+ def add_launch_arguments(launch_action)
248
+ return if @launch_arguments.nil?
249
+
250
+ command_line_arguments = @launch_arguments.map do |launch_arguement|
251
+ { argument: launch_arguement, enabled: true }
252
+ end
253
+
254
+ launch_action.command_line_arguments = Xcodeproj::XCScheme::CommandLineArguments.new(command_line_arguments)
255
+ end
256
+
257
+ def add_environment_variables(launch_action)
258
+ return if @environment_variables.nil?
259
+
260
+ environment_variables = @environment_variables.map do |key, value|
261
+ { key: key, value: value, enabled: true }
262
+ end
263
+
264
+ launch_action.environment_variables = Xcodeproj::XCScheme::EnvironmentVariables.new(environment_variables)
265
+ end
266
+
239
267
  def create(project, language, scripts_directory)
240
268
  name = @name
241
269
  type = @type
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: framework-generate
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pierre-Marc Airoldi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-02 00:00:00.000000000 Z
11
+ date: 2017-09-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: xcodeproj
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 1.4.0
19
+ version: 1.5.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: 2.0.0
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 1.4.0
29
+ version: 1.5.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 2.0.0
@@ -69,7 +69,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
69
69
  version: '0'
70
70
  requirements: []
71
71
  rubyforge_project:
72
- rubygems_version: 2.6.12
72
+ rubygems_version: 2.5.1
73
73
  signing_key:
74
74
  specification_version: 4
75
75
  summary: Tool to generate an Xcode framework project