framework-generate 0.2.0 → 1.0.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: fef9f1fd34ff8648f028e22665e5303fd78d10ad
4
- data.tar.gz: f3a85739d37b7898864147aa60a4883673e247ab
3
+ metadata.gz: c52393e7d7a5c188978e2e98c037d962f496e8ee
4
+ data.tar.gz: f88232ba8e3b446421127c2caee605f2607dcdf2
5
5
  SHA512:
6
- metadata.gz: 3fd36151284c6c0e5647ec11b72d33df7b3d686372a3bf389357398df0176a0dbe03a2772a9228577b25470dd646078828f8fb38ed62ffec2070bad8323c331c
7
- data.tar.gz: 1778457b557ee4a09bf9cd41b573202ddfefc338abdc833ac9af6acb2d553fe154cdbd65135b8fe9dc781acd30b7f4ac09b8048aef219e8110b0d0a192880fdd
6
+ metadata.gz: '05933b66155c86b44c8d4c76d8dcbb4d45d4f700cf7d84b61c934b6592b89395e685bbe20edf1a69457df2c7f9c6370635d9d19be2dfa160e99f5a17c52a3584'
7
+ data.tar.gz: 32a88d51219ce0e3b4fd51c8515823e41c2bbe7020e5ffdfe36d3ad97f60e884e6b065f63abdd679bdcb47a1fbfec02e207308d924cf90164e2092f37db813dd
data/README.md CHANGED
@@ -21,12 +21,6 @@ framework-generate
21
21
 
22
22
  To view the full `FrameworkSpec` documentation see the [`docs`](docs/FrameworkSpec.md) folder.
23
23
 
24
- ## Todo
25
-
26
- - [X] Add documentation
27
- - [ ] Add tests
28
- - [ ] Release 1.0
29
-
30
24
  ## License
31
25
 
32
26
  This project is licensed under the terms of the MIT license. See the [LICENSE](LICENSE) file.
@@ -2,12 +2,10 @@ require 'xcodeproj'
2
2
 
3
3
  module FrameworkGenerate
4
4
  class Project
5
- attr_accessor :name, :platforms, :language, :targets
5
+ attr_accessor :name, :targets
6
6
 
7
- def initialize(name = nil, platforms = nil, language = nil, targets = nil)
7
+ def initialize(name = nil, targets = nil)
8
8
  @name = name
9
- @platforms = platforms
10
- @language = language
11
9
  @targets = targets
12
10
 
13
11
  yield(self) if block_given?
@@ -19,7 +17,7 @@ module FrameworkGenerate
19
17
  end
20
18
 
21
19
  def to_s
22
- "Project<#{name}, #{platforms}, #{language}, #{targets}>"
20
+ "Project<#{name}, #{targets}>"
23
21
  end
24
22
 
25
23
  # DSL
@@ -83,19 +81,9 @@ module FrameworkGenerate
83
81
 
84
82
  def general_build_settings(settings)
85
83
  settings['SDKROOT'] = 'macosx'
86
- settings['SUPPORTED_PLATFORMS'] = FrameworkGenerate::Platform::supported_platforms(@platforms)
87
84
  settings['TARGETED_DEVICE_FAMILY'] = '1,2,3,4'
88
- settings['MACOSX_DEPLOYMENT_TARGET'] = FrameworkGenerate::Platform::deployment_target(@platforms, :macos)
89
- settings['IPHONEOS_DEPLOYMENT_TARGET'] = FrameworkGenerate::Platform::deployment_target(@platforms, :ios)
90
- settings['TVOS_DEPLOYMENT_TARGET'] = FrameworkGenerate::Platform::deployment_target(@platforms, :tvos)
91
- settings['WATCHOS_DEPLOYMENT_TARGET'] = FrameworkGenerate::Platform::deployment_target(@platforms, :watchos)
92
85
  settings['CODE_SIGN_IDENTITY'] = ''
93
86
  settings['COMBINE_HIDPI_IMAGES'] = 'YES'
94
- settings['FRAMEWORK_SEARCH_PATHS[sdk=macosx*]'] = FrameworkGenerate::Platform::search_paths(@platforms, :macos)
95
- settings['FRAMEWORK_SEARCH_PATHS[sdk=iphone*]'] = FrameworkGenerate::Platform::search_paths(@platforms, :ios)
96
- settings['FRAMEWORK_SEARCH_PATHS[sdk=appletv*]'] = FrameworkGenerate::Platform::search_paths(@platforms, :tvos)
97
- settings['FRAMEWORK_SEARCH_PATHS[sdk=watch*]'] = FrameworkGenerate::Platform::search_paths(@platforms, :watchos)
98
- settings['SWIFT_VERSION'] = @language.version
99
87
  settings['SWIFT_OPTIMIZATION_LEVEL'] = '-Owholemodule'
100
88
  settings['CLANG_WARN_INFINITE_RECURSION'] = 'YES'
101
89
  settings['CLANG_WARN_SUSPICIOUS_MOVE'] = 'YES'
@@ -106,8 +94,6 @@ module FrameworkGenerate
106
94
  end
107
95
 
108
96
  def test_build_settings(settings)
109
- settings['SUPPORTED_PLATFORMS'] = FrameworkGenerate::Platform::supported_platforms(@platforms, true)
110
-
111
97
  settings['LD_RUNPATH_SEARCH_PATHS'] = '$(inherited) @executable_path/Frameworks @loader_path/Frameworks'
112
98
  settings['LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]'] = '$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks'
113
99
 
@@ -134,7 +120,7 @@ module FrameworkGenerate
134
120
 
135
121
  scheme = Xcodeproj::XCScheme.new
136
122
 
137
- created_target = target.create(project, language)
123
+ created_target = target.create(project, target.language)
138
124
 
139
125
  scheme.add_build_target(created_target)
140
126
 
@@ -143,7 +129,7 @@ module FrameworkGenerate
143
129
  end
144
130
 
145
131
  if target.test_target != nil
146
- created_test_target = target.test_target.create(project, language)
132
+ created_test_target = target.test_target.create(project, target.language)
147
133
  created_test_target.add_dependency(created_target)
148
134
 
149
135
  scheme.add_test_target(created_test_target)
@@ -2,10 +2,12 @@ require 'xcodeproj'
2
2
 
3
3
  module FrameworkGenerate
4
4
  class Target
5
- attr_accessor :name, :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
5
+ 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
6
6
 
7
- def initialize(name = 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)
7
+ 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)
8
8
  @name = name
9
+ @platforms = platforms
10
+ @language = language
9
11
  @info_plist = info_plist
10
12
  @bundle_id = bundle_id
11
13
  @header = header
@@ -32,6 +34,16 @@ module FrameworkGenerate
32
34
  settings['INFOPLIST_FILE'] = @info_plist
33
35
  settings['PRODUCT_BUNDLE_IDENTIFIER'] = @bundle_id
34
36
  settings['APPLICATION_EXTENSION_API_ONLY'] = @is_safe_for_extensions ? 'YES' : 'NO';
37
+ settings['SUPPORTED_PLATFORMS'] = FrameworkGenerate::Platform::supported_platforms(@platforms)
38
+ settings['MACOSX_DEPLOYMENT_TARGET'] = FrameworkGenerate::Platform::deployment_target(@platforms, :macos)
39
+ settings['IPHONEOS_DEPLOYMENT_TARGET'] = FrameworkGenerate::Platform::deployment_target(@platforms, :ios)
40
+ settings['TVOS_DEPLOYMENT_TARGET'] = FrameworkGenerate::Platform::deployment_target(@platforms, :tvos)
41
+ settings['WATCHOS_DEPLOYMENT_TARGET'] = FrameworkGenerate::Platform::deployment_target(@platforms, :watchos)
42
+ settings['FRAMEWORK_SEARCH_PATHS[sdk=macosx*]'] = FrameworkGenerate::Platform::search_paths(@platforms, :macos)
43
+ settings['FRAMEWORK_SEARCH_PATHS[sdk=iphone*]'] = FrameworkGenerate::Platform::search_paths(@platforms, :ios)
44
+ settings['FRAMEWORK_SEARCH_PATHS[sdk=appletv*]'] = FrameworkGenerate::Platform::search_paths(@platforms, :tvos)
45
+ settings['FRAMEWORK_SEARCH_PATHS[sdk=watch*]'] = FrameworkGenerate::Platform::search_paths(@platforms, :watchos)
46
+ settings['SWIFT_VERSION'] = @language.version
35
47
 
36
48
  settings
37
49
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: framework-generate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pierre-Marc Airoldi