@@ -11,9 +11,13 @@ class ReferenceGeneratorTests: XCTestCase {
1111 let containerItemProxy = project. makeContainerItemProxy ( fileReference: remoteProjectFileReference)
1212 let productReferenceProxy = project. makeReferenceProxy ( containerItemProxy: containerItemProxy)
1313 let productsGroup = project. makeProductsGroup ( children: [ productReferenceProxy] )
14+ let pluginDependency = project. makePluginDependency ( )
15+ let ( target, _) = project. makeTarget ( productReferenceProxy: productReferenceProxy)
16+ target. dependencies. append ( pluginDependency)
1417
1518 pbxProject. projectReferences. append ( [ " ProductGroup " : productsGroup. reference,
1619 " ProjectRef " : remoteProjectFileReference. reference] )
20+ pbxProject. targets. append ( target)
1721
1822 let referenceGenerator = ReferenceGenerator ( outputSettings: PBXOutputSettings ( ) )
1923 try referenceGenerator. generateReferences ( proj: project)
@@ -22,6 +26,7 @@ class ReferenceGeneratorTests: XCTestCase {
2226 XCTAssert ( !containerItemProxy. reference. temporary)
2327 XCTAssert ( !productReferenceProxy. reference. temporary)
2428 XCTAssert ( !remoteProjectFileReference. reference. temporary)
29+ XCTAssert ( !pluginDependency. productReference!. temporary)
2530 }
2631
2732 func test_projectReferencingRemoteXcodeprojBundle_generatesDeterministicIdentifiers( ) throws {
@@ -32,7 +37,9 @@ class ReferenceGeneratorTests: XCTestCase {
3237 let containerItemProxy = project. makeContainerItemProxy ( fileReference: remoteProjectFileReference)
3338 let productReferenceProxy = project. makeReferenceProxy ( containerItemProxy: containerItemProxy)
3439 let productsGroup = project. makeProductsGroup ( children: [ productReferenceProxy] )
40+ let pluginDependency = project. makePluginDependency ( )
3541 let ( target, buildFile) = project. makeTarget ( productReferenceProxy: productReferenceProxy)
42+ target. dependencies. append ( pluginDependency)
3643
3744 pbxProject. projectReferences. append ( [ " ProductGroup " : productsGroup. reference,
3845 " ProjectRef " : remoteProjectFileReference. reference] )
@@ -41,7 +48,7 @@ class ReferenceGeneratorTests: XCTestCase {
4148 let referenceGenerator = ReferenceGenerator ( outputSettings: PBXOutputSettings ( ) )
4249 try referenceGenerator. generateReferences ( proj: project)
4350
44- return [ remoteProjectFileReference, containerItemProxy, productReferenceProxy, productsGroup, buildFile]
51+ return [ remoteProjectFileReference, containerItemProxy, productReferenceProxy, productsGroup, buildFile, pluginDependency . productReference! . getObject ( ) ! ]
4552 . map { $0. reference. value }
4653 }
4754
@@ -132,6 +139,15 @@ private extension PBXProj {
132139 return productsGroup
133140 }
134141
142+ func makePluginDependency( ) -> PBXTargetDependency {
143+ let packageReference = XCRemoteSwiftPackageReference ( repositoryURL: " repository " )
144+ let packageDependency = XCSwiftPackageProductDependency ( productName: " product " , package : packageReference, isPlugin: true )
145+ let targetDependency = PBXTargetDependency ( product: packageDependency)
146+ add ( object: targetDependency. productReference!. getObject ( ) !)
147+
148+ return targetDependency
149+ }
150+
135151 func makeTarget( productReferenceProxy: PBXReferenceProxy ) -> ( target: PBXTarget , buildFile: PBXBuildFile ) {
136152 let buildFile = PBXBuildFile ( file: productReferenceProxy)
137153 add ( object: buildFile)
0 commit comments