@@ -6,27 +6,19 @@ import Foundation
6
6
7
7
public final class XcodeTemplates {
8
8
9
- private let templates : [ XcodeTemplate ]
9
+ private let config : Config
10
+ private let fileSystem : FileSystem
10
11
11
- public init ( config: Config ) {
12
- var templates : [ XcodeTemplate ] = UIFramework . Kind
13
- . allCases
14
- . compactMap { try ? NodeXcodeTemplate ( for: $0, config: config) }
15
- if config. isViewInjectedTemplateEnabled {
16
- templates. append ( NodeViewInjectedXcodeTemplate ( config: config) )
17
- }
18
- templates += [
19
- PluginListNodeXcodeTemplate ( config: config) ,
20
- PluginNodeXcodeTemplate ( config: config) ,
21
- PluginXcodeTemplate ( config: config) ,
22
- WorkerXcodeTemplate ( config: config)
23
- ]
24
- self . templates = templates
12
+ public init (
13
+ config: Config ,
14
+ fileSystem: FileSystem = FileManager . default
15
+ ) {
16
+ self . config = config
17
+ self . fileSystem = fileSystem
25
18
}
26
19
27
20
public func generate(
28
- identifier: String ,
29
- using fileSystem: FileSystem = FileManager . default
21
+ identifier: String
30
22
) throws {
31
23
let url : URL = fileSystem. libraryURL
32
24
. appendingPathComponent ( " Developer " )
@@ -35,13 +27,24 @@ public final class XcodeTemplates {
35
27
. appendingPathComponent ( " File Templates " )
36
28
. appendingPathComponent ( " Nodes Architecture Framework ( \( identifier) ) " )
37
29
try ? fileSystem. removeItem ( at: url)
38
- try generate ( at: url, using : fileSystem )
30
+ try generate ( at: url)
39
31
}
40
32
41
33
public func generate(
42
- at url: URL ,
43
- using fileSystem: FileSystem = FileManager . default
34
+ at url: URL
44
35
) throws {
36
+ var templates : [ XcodeTemplate ] = UIFramework . Kind
37
+ . allCases
38
+ . compactMap { try ? NodeXcodeTemplate ( for: $0, config: config) }
39
+ if config. isViewInjectedTemplateEnabled {
40
+ templates. append ( NodeViewInjectedXcodeTemplate ( config: config) )
41
+ }
42
+ templates += [
43
+ PluginListNodeXcodeTemplate ( config: config) ,
44
+ PluginNodeXcodeTemplate ( config: config) ,
45
+ PluginXcodeTemplate ( config: config) ,
46
+ WorkerXcodeTemplate ( config: config)
47
+ ]
45
48
let generator : XcodeTemplateGenerator = . init( fileSystem: fileSystem)
46
49
try templates. forEach { try generator. generate ( template: $0, into: url) }
47
50
}
0 commit comments