framework-generate 1.0.0 → 1.1.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:
|
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
|