framework-generate 1.2.1 → 1.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/README.md +4 -0
- data/lib/framework-generate/project.rb +11 -0
- data/lib/framework-generate/target.rb +30 -2
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6b81c50a7da8dfadc9b6fbcbc508b23d17133fa2
|
4
|
+
data.tar.gz: 94d3ec140450a8acd5c66e04f860f41ed5724c14
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
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:
|
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.
|
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.
|
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.
|
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
|