framework-generate 1.0.0 → 1.1.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
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1a1f81cf334acb873df9c312586d80bc5e6d2461
|
4
|
+
data.tar.gz: c1e95eab5f0b18ced214c7cf8d24dbaea778a1a1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7c0e028ce6f3ebd0fa9feca17391a40731f29e175fcd7b2db52f8f26b1b0ad9947b884cefb81c89dee8552967101977c7902ddc1d75a14d04fad94665ad5d3da
|
7
|
+
data.tar.gz: b6471b8e21ffb0f457883bb3320591eacd663a4aab2a1d52e5378b3ac9526b512b4a30e175575a1d62a08fbac0b7ccaa3b6dc7d70009430610189d98c493e1c8
|
File without changes
|
@@ -2,11 +2,12 @@ require 'xcodeproj'
|
|
2
2
|
|
3
3
|
module FrameworkGenerate
|
4
4
|
class Project
|
5
|
-
attr_accessor :name, :targets
|
5
|
+
attr_accessor :name, :targets, :scripts_directory
|
6
6
|
|
7
|
-
def initialize(name = nil, targets = nil)
|
7
|
+
def initialize(name = nil, targets = nil, scripts_directory = nil)
|
8
8
|
@name = name
|
9
9
|
@targets = targets
|
10
|
+
@scripts_directory = scripts_directory
|
10
11
|
|
11
12
|
yield(self) if block_given?
|
12
13
|
end
|
@@ -100,6 +101,10 @@ module FrameworkGenerate
|
|
100
101
|
settings
|
101
102
|
end
|
102
103
|
|
104
|
+
def target_with_name(project, name)
|
105
|
+
project.native_targets.detect { |e| e.name == name }
|
106
|
+
end
|
107
|
+
|
103
108
|
def generate
|
104
109
|
|
105
110
|
project = Xcodeproj::Project.new(project_path)
|
@@ -117,10 +122,13 @@ module FrameworkGenerate
|
|
117
122
|
end
|
118
123
|
|
119
124
|
@targets.each do |target|
|
125
|
+
target.create(project, target.language, @scripts_directory)
|
126
|
+
end
|
120
127
|
|
128
|
+
@targets.each do |target|
|
121
129
|
scheme = Xcodeproj::XCScheme.new
|
122
130
|
|
123
|
-
created_target =
|
131
|
+
created_target = target_with_name(project, target.name)
|
124
132
|
|
125
133
|
scheme.add_build_target(created_target)
|
126
134
|
|
@@ -128,13 +136,18 @@ module FrameworkGenerate
|
|
128
136
|
scheme.add_test_target(created_target)
|
129
137
|
end
|
130
138
|
|
131
|
-
|
132
|
-
created_test_target =
|
139
|
+
unless target.test_target.nil?
|
140
|
+
created_test_target = target_with_name(project, target.test_target.name)
|
141
|
+
|
133
142
|
created_test_target.add_dependency(created_target)
|
134
143
|
|
135
144
|
scheme.add_test_target(created_test_target)
|
136
145
|
end
|
137
146
|
|
147
|
+
unless scheme.test_action.nil?
|
148
|
+
scheme.test_action.code_coverage_enabled = true
|
149
|
+
end
|
150
|
+
|
138
151
|
scheme.save_as(project.path, target.name, true)
|
139
152
|
xcschememanagement['SchemeUserState']["#{target.name}.xcscheme"] = {}
|
140
153
|
xcschememanagement['SchemeUserState']["#{target.name}.xcscheme"]['isShown'] = true
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'xcodeproj'
|
2
|
+
require 'fileutils'
|
2
3
|
|
3
4
|
module FrameworkGenerate
|
4
5
|
class Target
|
@@ -142,15 +143,29 @@ module FrameworkGenerate
|
|
142
143
|
end
|
143
144
|
end
|
144
145
|
|
145
|
-
def copy_carthage_frameworks(project, build_phase)
|
146
|
-
|
146
|
+
def copy_carthage_frameworks(project, build_phase, scripts_directory)
|
147
|
+
script_file_name = 'copy-carthage-frameworks.sh'
|
148
|
+
script_file_path = File.join(File.dirname(__FILE__), script_file_name)
|
147
149
|
|
148
|
-
|
150
|
+
if scripts_directory.nil?
|
151
|
+
script_file = File.open(script_file_path)
|
149
152
|
|
150
|
-
|
153
|
+
build_phase.shell_script = script_file.read
|
151
154
|
|
152
|
-
|
155
|
+
script_file.close
|
156
|
+
else
|
157
|
+
script_path = File.join(Dir.pwd, scripts_directory, script_file_name)
|
158
|
+
dirname = File.dirname(script_path)
|
159
|
+
unless File.directory?(dirname)
|
160
|
+
FileUtils.mkdir_p(dirname)
|
161
|
+
end
|
162
|
+
|
163
|
+
FileUtils.cp(script_file_path, script_path, { :preserve => true })
|
153
164
|
|
165
|
+
xcode_path = File.join("${SRCROOT}", scripts_directory, script_file_name)
|
166
|
+
build_phase.shell_script = " exec \"#{xcode_path}\""
|
167
|
+
end
|
168
|
+
|
154
169
|
add_framework_to_copy_phase(project, build_phase)
|
155
170
|
end
|
156
171
|
|
@@ -207,7 +222,7 @@ module FrameworkGenerate
|
|
207
222
|
add_build_scripts(target, @post_build_scripts)
|
208
223
|
end
|
209
224
|
|
210
|
-
def create(project, language)
|
225
|
+
def create(project, language, scripts_directory)
|
211
226
|
name = @name
|
212
227
|
type = @type
|
213
228
|
|
@@ -250,7 +265,7 @@ module FrameworkGenerate
|
|
250
265
|
# Copy frameworks to test target
|
251
266
|
if target.test_target_type?
|
252
267
|
build_phase = target.new_shell_script_build_phase('Copy Carthage Frameworks')
|
253
|
-
copy_carthage_frameworks(project, build_phase)
|
268
|
+
copy_carthage_frameworks(project, build_phase, scripts_directory)
|
254
269
|
end
|
255
270
|
|
256
271
|
target
|