vsvipergen 0.1.6 → 0.1.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +2 -0
- data/Gemfile.lock +10 -4
- data/bin/console +118 -109
- data/bin/setup +1 -1
- data/exe/vsvipergen +118 -107
- data/lib/templates/VS<$$>Contracts.h +4 -4
- data/lib/templates/VS<$$>Contracts.java +1 -1
- data/lib/templates/VS<$$>Contracts.swift +36 -0
- data/lib/templates/architecturalDecisionRecordFile/VS<$$>_adr.md +32 -0
- data/lib/templates/interactor/VS<$$>Interactor.h +6 -5
- data/lib/templates/interactor/VS<$$>Interactor.java +1 -1
- data/lib/templates/interactor/VS<$$>Interactor.m +4 -6
- data/lib/templates/interactor/VS<$$>Interactor.swift +22 -0
- data/lib/templates/model/VS<$$>VO.h +4 -4
- data/lib/templates/model/VS<$$>VO.java +2 -2
- data/lib/templates/model/VS<$$>VO.m +6 -6
- data/lib/templates/model/VS<$$>VO.swift +17 -0
- data/lib/templates/presenter/VS<$$>Presenter.h +7 -5
- data/lib/templates/presenter/VS<$$>Presenter.java +1 -1
- data/lib/templates/presenter/VS<$$>Presenter.m +6 -7
- data/lib/templates/presenter/VS<$$>Presenter.swift +23 -0
- data/lib/templates/router/VS<$$>Router.h +4 -3
- data/lib/templates/router/VS<$$>Router.java +1 -1
- data/lib/templates/router/VS<$$>Router.m +5 -4
- data/lib/templates/router/VS<$$>Router.swift +42 -0
- data/lib/templates/view/VS<$$>Page.java +1 -1
- data/lib/templates/view/VS<$$>ViewController.h +5 -4
- data/lib/templates/view/VS<$$>ViewController.m +5 -2
- data/lib/templates/view/VS<$$>ViewController.swift +18 -0
- data/lib/vsvipergen.rb +64 -18
- data/lib/vsvipergen/version.rb +1 -1
- data/lib/vsvipergen_adr.rb +29 -0
- data/lib/vsvipergen_contracts.rb +32 -7
- data/lib/vsvipergen_interactor.rb +35 -9
- data/lib/vsvipergen_model.rb +42 -12
- data/lib/vsvipergen_presenter.rb +35 -9
- data/lib/vsvipergen_router.rb +35 -9
- data/lib/vsvipergen_view.rb +35 -9
- data/vsvipergen.gemspec +4 -3
- metadata +29 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7de45e52ba16e779f44ba299885f21c2f685504edaf0bb60fe05cbc6a165e8fd
|
4
|
+
data.tar.gz: 13f2a1197f241cfa9579b6a45e70cd96d307f7a9f9e5b90dabbffb2a2db723a7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2371e05a656c0a59e31942a169abe7aad55ddd7d18562898203b45139372fb9838f1f1b141d56dc33172c2c76713bd5d43b2240e873608130b187ae766ef7215
|
7
|
+
data.tar.gz: 4f90d98ffab97a5ac8de13274e0d99366b77c152175d6b33b2efd320a440ab69f32ea3ea9dc02217522349a83e4294c5135c60926c1cffce4459da72247d8ef8
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
vsvipergen (0.1.
|
4
|
+
vsvipergen (0.1.11)
|
5
5
|
colorize (~> 0.8.1)
|
6
6
|
xcodeproj (~> 1.7.0)
|
7
7
|
|
@@ -11,10 +11,15 @@ GEM
|
|
11
11
|
CFPropertyList (3.0.0)
|
12
12
|
atomos (0.1.3)
|
13
13
|
claide (1.0.2)
|
14
|
+
coderay (1.1.3)
|
14
15
|
colored2 (3.1.2)
|
15
16
|
colorize (0.8.1)
|
17
|
+
method_source (1.0.0)
|
16
18
|
nanaimo (0.2.6)
|
17
|
-
|
19
|
+
pry (0.13.1)
|
20
|
+
coderay (~> 1.1)
|
21
|
+
method_source (~> 1.0)
|
22
|
+
rake (13.0.0)
|
18
23
|
xcodeproj (1.7.0)
|
19
24
|
CFPropertyList (>= 2.3.3, < 4.0)
|
20
25
|
atomos (~> 0.1.3)
|
@@ -28,9 +33,10 @@ PLATFORMS
|
|
28
33
|
DEPENDENCIES
|
29
34
|
bundler (~> 1.16)
|
30
35
|
colorize (~> 0.8.1)
|
31
|
-
|
36
|
+
pry (~> 0.13.1)
|
37
|
+
rake (~> 13.0)
|
32
38
|
vsvipergen!
|
33
39
|
xcodeproj (~> 1.7.0)
|
34
40
|
|
35
41
|
BUNDLED WITH
|
36
|
-
1.
|
42
|
+
1.17.2
|
data/bin/console
CHANGED
@@ -8,142 +8,151 @@ require "vsvipergen_interactor"
|
|
8
8
|
require "vsvipergen_presenter"
|
9
9
|
require "vsvipergen_view"
|
10
10
|
require "vsvipergen_router"
|
11
|
+
require "vsvipergen_adr"
|
11
12
|
require "xcodeproj"
|
12
13
|
require "colorize"
|
14
|
+
require 'pry'
|
13
15
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
now = Time.now.strftime("%Y/%m/%d")
|
21
|
-
year = Time.now.strftime("%Y")
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
# objective-c 선택일 경우 프로젝트 파일 이름 입력 요구
|
32
|
-
if lang.strip == "objc" || lang.strip == "o" then
|
33
|
-
puts "input xcode project file name [ex:VLunch] :"
|
34
|
-
while true
|
35
|
-
projectName = gets
|
36
|
-
|
37
|
-
break if (projectName.strip != "")
|
16
|
+
begin
|
17
|
+
#################################################
|
18
|
+
############ handle user input start ############
|
19
|
+
projectName = ""
|
20
|
+
lang = ""
|
21
|
+
prefix = ""
|
22
|
+
now = Time.now.strftime("%Y/%m/%d")
|
23
|
+
year = Time.now.strftime("%Y")
|
24
|
+
orgName = ""
|
25
|
+
|
26
|
+
# orgName 입력 요구
|
27
|
+
while true
|
28
|
+
puts "input organization name : "
|
29
|
+
orgName = gets
|
30
|
+
|
31
|
+
break if (orgName.strip != "")
|
38
32
|
end
|
39
|
-
end
|
40
33
|
|
41
|
-
#
|
42
|
-
|
43
|
-
|
34
|
+
# 프로그래밍 언어 입력 요구
|
35
|
+
while true
|
36
|
+
puts "input language [o:objc, a:android, s:swift] : "
|
37
|
+
lang = gets
|
44
38
|
|
45
|
-
if
|
46
|
-
|
47
|
-
end
|
39
|
+
break if (lang.strip == "objc" || lang.strip == "o" || lang.strip == "android" || lang.strip == "a" || lang.strip == "swift" || lang.strip == "s")
|
40
|
+
end
|
48
41
|
|
49
|
-
# objective-c 선택일 경우
|
50
|
-
if lang.strip == "objc" || lang.strip == "o" then
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
42
|
+
# objective-c or swift 선택일 경우 프로젝트 파일 이름 입력 요구
|
43
|
+
if lang.strip == "objc" || lang.strip == "o" || lang.strip == "swift" || lang.strip == "s" then
|
44
|
+
puts "input xcode project file name [ex:VLunch] :"
|
45
|
+
while true
|
46
|
+
projectName = gets
|
47
|
+
|
48
|
+
break if (projectName.strip != "")
|
49
|
+
end
|
56
50
|
end
|
57
|
-
end
|
58
51
|
|
59
|
-
|
60
|
-
|
52
|
+
# 파일 prefix 입력 요구
|
53
|
+
puts "input file prefix [ex:input" + " Login".yellow + " for VS" + "Login".yellow + "ViewController(or VS" + "Login".yellow + "Page), ...] : "
|
54
|
+
prefix = gets
|
61
55
|
|
56
|
+
if prefix == "" then
|
57
|
+
prefix = "Default"
|
58
|
+
end
|
62
59
|
|
60
|
+
############# handle user input end #############
|
61
|
+
#################################################
|
63
62
|
|
64
63
|
|
65
|
-
#################################################
|
66
|
-
############# create file generator #############
|
67
|
-
fileGenerators = []
|
68
|
-
generatedFilePaths = []
|
69
|
-
subPathAndFilePathHashes = []
|
70
64
|
|
71
|
-
generatorFactory = Vsvipergen::ViperGeneratorFactory.new
|
72
|
-
generatorFactory.init(filePrefix, modelPrefix, now, year)
|
73
65
|
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
############# create file generator #############
|
80
|
-
#################################################
|
66
|
+
#################################################
|
67
|
+
############# create file generator #############
|
68
|
+
fileGenerators = []
|
69
|
+
generatedFilePaths = []
|
70
|
+
subPathAndFilePathHashes = []
|
81
71
|
|
72
|
+
generatorFactory = Vsvipergen::ViperGeneratorFactory.new
|
73
|
+
generatorFactory.init(prefix, now, year, projectName, orgName)
|
74
|
+
|
75
|
+
generatorFactory.createAdrFileGenerator
|
76
|
+
|
77
|
+
if lang.strip == "objc" || lang.strip == "o" then
|
78
|
+
fileGenerators = generatorFactory.createObjcGenerator
|
79
|
+
elsif lang.strip == "swift" || lang.strip == "s" then
|
80
|
+
fileGenerators = generatorFactory.createSwiftGenerator
|
81
|
+
else
|
82
|
+
fileGenerators = generatorFactory.createAndroidGenerator
|
83
|
+
end
|
82
84
|
|
85
|
+
############# create file generator #############
|
86
|
+
#################################################
|
83
87
|
|
84
|
-
#################################################
|
85
|
-
################## make file ###################
|
86
|
-
for generator in fileGenerators
|
87
|
-
files = generator.makeFiles
|
88
|
+
#################################################
|
89
|
+
################## make file ###################
|
88
90
|
|
89
|
-
|
91
|
+
for generator in fileGenerators
|
92
|
+
files = generator.makeFiles
|
90
93
|
|
91
|
-
|
92
|
-
|
94
|
+
for file in files
|
95
|
+
generatedFilePaths.push(file)
|
96
|
+
end
|
93
97
|
end
|
94
|
-
end
|
95
|
-
################## make file ###################
|
96
|
-
#################################################
|
97
98
|
|
98
|
-
|
99
|
+
################## make file ###################
|
99
100
|
#################################################
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
#
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
101
|
+
|
102
|
+
if lang.strip == "objc" || lang.strip == "o" || lang.strip == "swift" || lang.strip == "s" then
|
103
|
+
#################################################
|
104
|
+
############# add file to project ##############
|
105
|
+
# Open the existing Xcode project
|
106
|
+
xcodeProjectFile = projectName.strip + ".xcodeproj".strip
|
107
|
+
project = Xcodeproj::Project.open(xcodeProjectFile.strip)
|
108
|
+
targets = project.targets
|
109
|
+
mainTarget = project.targets.first
|
110
|
+
newGroup = project.new_group(prefix.strip.downcase)
|
111
|
+
|
112
|
+
# Add files, groups to the project in the main group
|
113
|
+
for filePath in generatedFilePaths
|
114
|
+
puts "filePath : #{filePath}"
|
115
|
+
|
116
|
+
# extract child group name from file path
|
117
|
+
pathArr = filePath.split("/")
|
118
|
+
childGroupName = pathArr[pathArr.count - 2]
|
119
|
+
puts "childGroupName : #{childGroupName}"
|
120
|
+
childGroup = nil
|
121
|
+
|
122
|
+
if childGroupName != "" then
|
123
|
+
# check same child group added to newGroup
|
124
|
+
addChildGroupAlready = false
|
125
|
+
newGroup.groups.each { |group|
|
126
|
+
if group.name == childGroupName then
|
127
|
+
addChildGroupAlready = true
|
128
|
+
childGroup = group
|
129
|
+
end
|
130
|
+
}
|
131
|
+
|
132
|
+
# add child group to newGroup
|
133
|
+
if addChildGroupAlready == false then
|
134
|
+
puts "add child group : #{childGroupName}"
|
135
|
+
childGroup = newGroup.new_group(childGroupName)
|
123
136
|
end
|
124
|
-
}
|
125
137
|
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
138
|
+
# Add file to child group
|
139
|
+
file = childGroup.new_file(filePath.strip)
|
140
|
+
else
|
141
|
+
puts "could not extract child group name from file path, add file to parent group(#{newGroup.name})".red
|
142
|
+
# Add file to new group
|
143
|
+
file = newGroup.new_file(filePath.strip)
|
130
144
|
end
|
131
145
|
|
132
|
-
# Add file to
|
133
|
-
|
134
|
-
else
|
135
|
-
puts "could not extract child group name from file path, add file to parent group(#{newGroup.name})".red
|
136
|
-
# Add file to new group
|
137
|
-
file = newGroup.new_file(filePath.strip)
|
146
|
+
# Add the file to the main target
|
147
|
+
mainTarget.add_file_references([file])
|
138
148
|
end
|
139
149
|
|
140
|
-
#
|
141
|
-
|
150
|
+
# Save the project file
|
151
|
+
project.save(xcodeProjectFile)
|
152
|
+
puts "all files added to xcode project."
|
153
|
+
############# add file to project ##############
|
154
|
+
#################################################
|
142
155
|
end
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
puts "all files added to xcode project."
|
147
|
-
############# add file to project ##############
|
148
|
-
#################################################
|
149
|
-
end
|
156
|
+
rescue StandardError => msg
|
157
|
+
puts msg
|
158
|
+
end
|
data/bin/setup
CHANGED
data/exe/vsvipergen
CHANGED
@@ -7,139 +7,150 @@ require "vsvipergen_interactor"
|
|
7
7
|
require "vsvipergen_presenter"
|
8
8
|
require "vsvipergen_view"
|
9
9
|
require "vsvipergen_router"
|
10
|
+
require "vsvipergen_adr"
|
10
11
|
require "xcodeproj"
|
11
12
|
require "colorize"
|
12
13
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
now = Time.now.strftime("%Y/%m/%d")
|
20
|
-
year = Time.now.strftime("%Y")
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
# objective-c 선택일 경우 프로젝트 파일 이름 입력 요구
|
31
|
-
if lang.strip == "objc" || lang.strip == "o" then
|
32
|
-
puts "input xcode project file name [ex:VLunch] :"
|
33
|
-
while true
|
34
|
-
projectName = gets
|
35
|
-
|
36
|
-
break if (projectName.strip != "")
|
14
|
+
begin
|
15
|
+
#################################################
|
16
|
+
############ handle user input start ############
|
17
|
+
projectName = ""
|
18
|
+
lang = ""
|
19
|
+
prefix = ""
|
20
|
+
now = Time.now.strftime("%Y/%m/%d")
|
21
|
+
year = Time.now.strftime("%Y")
|
22
|
+
orgName = ""
|
23
|
+
|
24
|
+
# orgName 입력 요구
|
25
|
+
while true
|
26
|
+
puts "input organization name : "
|
27
|
+
orgName = gets
|
28
|
+
|
29
|
+
break if (orgName.strip != "")
|
37
30
|
end
|
38
|
-
end
|
39
31
|
|
40
|
-
#
|
41
|
-
|
42
|
-
|
32
|
+
# 프로그래밍 언어 입력 요구
|
33
|
+
while true
|
34
|
+
puts "input language [o:objc, a:android, s:swift] : "
|
35
|
+
lang = gets
|
43
36
|
|
44
|
-
if
|
45
|
-
|
46
|
-
end
|
37
|
+
break if (lang.strip == "objc" || lang.strip == "o" || lang.strip == "android" || lang.strip == "a" || lang.strip == "swift" || lang.strip == "s")
|
38
|
+
end
|
47
39
|
|
48
|
-
# objective-c 선택일 경우
|
49
|
-
if lang.strip == "objc" || lang.strip == "o" then
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
40
|
+
# objective-c or swift 선택일 경우 프로젝트 파일 이름 입력 요구
|
41
|
+
if lang.strip == "objc" || lang.strip == "o" || lang.strip == "swift" || lang.strip == "s" then
|
42
|
+
puts "input xcode project file name [ex:VLunch] :"
|
43
|
+
while true
|
44
|
+
projectName = gets
|
45
|
+
|
46
|
+
break if (projectName.strip != "")
|
47
|
+
end
|
55
48
|
end
|
56
|
-
end
|
57
49
|
|
58
|
-
|
59
|
-
|
50
|
+
# 파일 prefix 입력 요구
|
51
|
+
puts "input file prefix [ex:input" + " Login".yellow + " for VS" + "Login".yellow + "ViewController(or VS" + "Login".yellow + "Page), ...] : "
|
52
|
+
prefix = gets
|
60
53
|
|
54
|
+
if prefix == "" then
|
55
|
+
prefix = "Default"
|
56
|
+
end
|
61
57
|
|
58
|
+
############# handle user input end #############
|
59
|
+
#################################################
|
62
60
|
|
63
61
|
|
64
|
-
#################################################
|
65
|
-
############# create file generator #############
|
66
|
-
fileGenerators = []
|
67
|
-
generatedFilePaths = []
|
68
62
|
|
69
|
-
generatorFactory = Vsvipergen::ViperGeneratorFactory.new
|
70
|
-
generatorFactory.init(filePrefix, modelPrefix, now, year)
|
71
63
|
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
############# create file generator #############
|
78
|
-
#################################################
|
64
|
+
#################################################
|
65
|
+
############# create file generator #############
|
66
|
+
fileGenerators = []
|
67
|
+
generatedFilePaths = []
|
68
|
+
subPathAndFilePathHashes = []
|
79
69
|
|
70
|
+
generatorFactory = Vsvipergen::ViperGeneratorFactory.new
|
71
|
+
generatorFactory.init(prefix, now, year, projectName, orgName)
|
72
|
+
|
73
|
+
generatorFactory.createAdrFileGenerator
|
74
|
+
|
75
|
+
if lang.strip == "objc" || lang.strip == "o" then
|
76
|
+
fileGenerators = generatorFactory.createObjcGenerator
|
77
|
+
elsif lang.strip == "swift" || lang.strip == "s" then
|
78
|
+
fileGenerators = generatorFactory.createSwiftGenerator
|
79
|
+
else
|
80
|
+
fileGenerators = generatorFactory.createAndroidGenerator
|
81
|
+
end
|
82
|
+
|
83
|
+
############# create file generator #############
|
84
|
+
#################################################
|
80
85
|
|
86
|
+
#################################################
|
87
|
+
################## make file ###################
|
81
88
|
|
82
|
-
|
83
|
-
|
84
|
-
for generator in fileGenerators
|
85
|
-
files = generator.makeFiles
|
89
|
+
for generator in fileGenerators
|
90
|
+
files = generator.makeFiles
|
86
91
|
|
87
|
-
|
88
|
-
|
92
|
+
for file in files
|
93
|
+
generatedFilePaths.push(file)
|
94
|
+
end
|
89
95
|
end
|
90
|
-
end
|
91
|
-
################## make file ###################
|
92
|
-
#################################################
|
93
96
|
|
94
|
-
|
97
|
+
################## make file ###################
|
95
98
|
#################################################
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
#
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
99
|
+
|
100
|
+
if lang.strip == "objc" || lang.strip == "o" || lang.strip == "swift" || lang.strip == "s" then
|
101
|
+
#################################################
|
102
|
+
############# add file to project ##############
|
103
|
+
# Open the existing Xcode project
|
104
|
+
xcodeProjectFile = projectName.strip + ".xcodeproj".strip
|
105
|
+
project = Xcodeproj::Project.open(xcodeProjectFile.strip)
|
106
|
+
targets = project.targets
|
107
|
+
mainTarget = project.targets.first
|
108
|
+
newGroup = project.new_group(prefix.strip.downcase)
|
109
|
+
|
110
|
+
# Add files, groups to the project in the main group
|
111
|
+
for filePath in generatedFilePaths
|
112
|
+
puts "filePath : #{filePath}"
|
113
|
+
|
114
|
+
# extract child group name from file path
|
115
|
+
pathArr = filePath.split("/")
|
116
|
+
childGroupName = pathArr[pathArr.count - 2]
|
117
|
+
puts "childGroupName : #{childGroupName}"
|
118
|
+
childGroup = nil
|
119
|
+
|
120
|
+
if childGroupName != "" then
|
121
|
+
# check same child group added to newGroup
|
122
|
+
addChildGroupAlready = false
|
123
|
+
newGroup.groups.each { |group|
|
124
|
+
if group.name == childGroupName then
|
125
|
+
addChildGroupAlready = true
|
126
|
+
childGroup = group
|
127
|
+
end
|
128
|
+
}
|
129
|
+
|
130
|
+
# add child group to newGroup
|
131
|
+
if addChildGroupAlready == false then
|
132
|
+
puts "add child group : #{childGroupName}"
|
133
|
+
childGroup = newGroup.new_group(childGroupName)
|
119
134
|
end
|
120
|
-
}
|
121
135
|
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
136
|
+
# Add file to child group
|
137
|
+
file = childGroup.new_file(filePath.strip)
|
138
|
+
else
|
139
|
+
puts "could not extract child group name from file path, add file to parent group(#{newGroup.name})".red
|
140
|
+
# Add file to new group
|
141
|
+
file = newGroup.new_file(filePath.strip)
|
126
142
|
end
|
127
143
|
|
128
|
-
# Add file to
|
129
|
-
|
130
|
-
else
|
131
|
-
puts "could not extract child group name from file path, add file to parent group(#{newGroup.name})".red
|
132
|
-
# Add file to new group
|
133
|
-
file = newGroup.new_file(filePath.strip)
|
144
|
+
# Add the file to the main target
|
145
|
+
mainTarget.add_file_references([file])
|
134
146
|
end
|
135
147
|
|
136
|
-
#
|
137
|
-
|
148
|
+
# Save the project file
|
149
|
+
project.save(xcodeProjectFile)
|
150
|
+
puts "all files added to xcode project."
|
151
|
+
############# add file to project ##############
|
152
|
+
#################################################
|
138
153
|
end
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
puts "all files added to xcode project."
|
143
|
-
############# add file to project ##############
|
144
|
-
#################################################
|
145
|
-
end
|
154
|
+
rescue StandardError => msg
|
155
|
+
puts msg
|
156
|
+
end
|