@@ -47,22 +47,22 @@ let package = Package(
4747
4848 . target(
4949 name: " SwiftFormat " ,
50- dependencies: [
50+ dependencies: omittingExternalDependenciesIfNecessary ( [
5151 . product( name: " Markdown " , package : " swift-markdown " ) ,
5252 . product( name: " SwiftSyntax " , package : " swift-syntax " ) ,
5353 . product( name: " SwiftSyntaxBuilder " , package : " swift-syntax " ) ,
5454 . product( name: " SwiftOperators " , package : " swift-syntax " ) ,
5555 . product( name: " SwiftParser " , package : " swift-syntax " ) ,
5656 . product( name: " SwiftParserDiagnostics " , package : " swift-syntax " ) ,
57- ] ,
57+ ] ) ,
5858 exclude: [ " CMakeLists.txt " ]
5959 ) ,
6060 . target(
6161 name: " _SwiftFormatTestSupport " ,
62- dependencies: [
62+ dependencies: omittingExternalDependenciesIfNecessary ( [
6363 " SwiftFormat " ,
6464 . product( name: " SwiftOperators " , package : " swift-syntax " ) ,
65- ]
65+ ] )
6666 ) ,
6767 . plugin(
6868 name: " Format Source Code " ,
@@ -93,44 +93,42 @@ let package = Package(
9393 . executableTarget(
9494 name: " generate-swift-format " ,
9595 dependencies: [
96- " SwiftFormat " ,
97- . product( name: " SwiftSyntax " , package : " swift-syntax " ) ,
98- . product( name: " SwiftParser " , package : " swift-syntax " ) ,
96+ " SwiftFormat "
9997 ]
10098 ) ,
10199 . executableTarget(
102100 name: " swift-format " ,
103- dependencies: [
101+ dependencies: omittingExternalDependenciesIfNecessary ( [
104102 " _SwiftFormatInstructionCounter " ,
105103 " SwiftFormat " ,
106104 . product( name: " ArgumentParser " , package : " swift-argument-parser " ) ,
107105 . product( name: " SwiftSyntax " , package : " swift-syntax " ) ,
108106 . product( name: " SwiftParser " , package : " swift-syntax " ) ,
109- ] ,
107+ ] ) ,
110108 exclude: [ " CMakeLists.txt " ] ,
111109 linkerSettings: swiftformatLinkSettings
112110 ) ,
113111
114112 . testTarget(
115113 name: " SwiftFormatPerformanceTests " ,
116- dependencies: [
114+ dependencies: omittingExternalDependenciesIfNecessary ( [
117115 " SwiftFormat " ,
118116 " _SwiftFormatTestSupport " ,
119117 . product( name: " SwiftSyntax " , package : " swift-syntax " ) ,
120118 . product( name: " SwiftParser " , package : " swift-syntax " ) ,
121- ]
119+ ] )
122120 ) ,
123121 . testTarget(
124122 name: " SwiftFormatTests " ,
125- dependencies: [
123+ dependencies: omittingExternalDependenciesIfNecessary ( [
126124 " SwiftFormat " ,
127125 " _SwiftFormatTestSupport " ,
128126 . product( name: " Markdown " , package : " swift-markdown " ) ,
129127 . product( name: " SwiftOperators " , package : " swift-syntax " ) ,
130128 . product( name: " SwiftParser " , package : " swift-syntax " ) ,
131129 . product( name: " SwiftSyntax " , package : " swift-syntax " ) ,
132130 . product( name: " SwiftSyntaxBuilder " , package : " swift-syntax " ) ,
133- ]
131+ ] )
134132 ) ,
135133 ]
136134)
@@ -149,20 +147,40 @@ var installAction: Bool { hasEnvironmentVariable("SWIFTFORMAT_CI_INSTALL") }
149147/// remote dependency.
150148var useLocalDependencies : Bool { hasEnvironmentVariable ( " SWIFTCI_USE_LOCAL_DEPS " ) }
151149
150+ var omitExternalDependencies : Bool {
151+ true || hasEnvironmentVariable ( " SWIFTFORMAT_OMIT_EXTERNAL_DEPENDENCIES " )
152+ }
153+
154+ func omittingExternalDependenciesIfNecessary(
155+ _ dependencies: [ Target . Dependency ]
156+ ) -> [ Target
157+ . Dependency ]
158+ {
159+ guard omitExternalDependencies else {
160+ return dependencies
161+ }
162+ return dependencies. filter { dependency in
163+ if case . productItem( _, let package , _, _) = dependency {
164+ return package == nil
165+ }
166+ return true
167+ }
168+ }
169+
152170// MARK: - Dependencies
153171
154172var dependencies : [ Package . Dependency ] {
155- if useLocalDependencies {
173+ if omitExternalDependencies {
174+ return [ ]
175+ } else if useLocalDependencies {
156176 return [
157177 . package ( path: " ../swift-argument-parser " ) ,
158178 . package ( path: " ../swift-markdown " ) ,
159- . package ( path: " ../swift-syntax " ) ,
160179 ]
161180 } else {
162181 return [
163182 . package ( url: " https://github.com/apple/swift-argument-parser.git " , from: " 1.2.2 " ) ,
164183 . package ( url: " https://github.com/apple/swift-markdown.git " , from: " 0.2.0 " ) ,
165- . package ( url: " https://github.com/swiftlang/swift-syntax.git " , branch: " main " ) ,
166184 ]
167185 }
168186}
0 commit comments