diff --git a/Sources/XcodeGenKit/SourceGenerator.swift b/Sources/XcodeGenKit/SourceGenerator.swift index 87e27df3..77a6f5d6 100644 --- a/Sources/XcodeGenKit/SourceGenerator.swift +++ b/Sources/XcodeGenKit/SourceGenerator.swift @@ -188,7 +188,7 @@ class SourceGenerator { } if let fileExtension = path.extension { switch fileExtension { - case "swift", "m", "mm", "cpp", "c", "cc", "S", "xcdatamodeld": return .sources + case "swift", "m", "mm", "cpp", "c", "cc", "S", "xcdatamodeld", "metal": return .sources case "h", "hh", "hpp", "ipp", "tpp", "hxx", "def": return .headers case "modulemap": guard targetType == .staticLibrary else { return nil } diff --git a/Tests/XcodeGenKitTests/SourceGeneratorTests.swift b/Tests/XcodeGenKitTests/SourceGeneratorTests.swift index 11525791..b382ab9c 100644 --- a/Tests/XcodeGenKitTests/SourceGeneratorTests.swift +++ b/Tests/XcodeGenKitTests/SourceGeneratorTests.swift @@ -390,6 +390,7 @@ class SourceGeneratorTests: XCTestCase { - file.apns - file.123 - file.xcassets + - file.metal - Info.plist """ try createDirectories(directories) @@ -437,6 +438,7 @@ class SourceGeneratorTests: XCTestCase { try pbxProj.expectFile(paths: ["C", "file.xcassets"], buildPhase: .resources) try pbxProj.expectFile(paths: ["C", "file.123"], buildPhase: .resources) try pbxProj.expectFile(paths: ["C", "Info.plist"], buildPhase: .none) + try pbxProj.expectFile(paths: ["C", "file.metal"], buildPhase: .sources) } $0.it("duplicate TargetSource is included once in sources build phase") {