Przeglądaj źródła

Avoids linking nghttp2 in Carthage project (#450)

* Avoids linking nghttp2 in Carthage project

* Applies the following fixes

- makes nghttp2 flag search more generic (also searches in all available
targets)
- uses swift 4.2 toolchain
William Izzo 6 lat temu
rodzic
commit
67a5352f17

+ 2 - 2
Package.resolved

@@ -24,8 +24,8 @@
         "repositoryURL": "https://github.com/apple/swift-nio.git",
         "state": {
           "branch": null,
-          "revision": "29a9f2aca71c8afb07e291336f1789337ce235dd",
-          "version": "1.13.2"
+          "revision": "ba7970fe396e8198b84c6c1b44b38a1d4e2eb6bd",
+          "version": "1.14.1"
         }
       },
       {

+ 1 - 1
SwiftGRPC-Carthage.xcodeproj/GeneratedModuleMap/CNIONghttp2/module.modulemap

@@ -1,4 +1,4 @@
 module CNIONghttp2 {
-    umbrella "/Users/mrebello/Development/grpc-swift/.build/checkouts/swift-nio-http2.git-1684232237084789971/Sources/CNIONghttp2/include"
+    umbrella "/Users/William/Documents/work/clients/perceptolab/safehome/grpc-swift/.build/checkouts/swift-nio-http2.git--6139390414245659487/Sources/CNIONghttp2/include"
     export *
 }

Plik diff jest za duży
+ 2365 - 2394
SwiftGRPC-Carthage.xcodeproj/project.pbxproj


+ 2 - 2
SwiftGRPC-Carthage.xcodeproj/xcshareddata/xcschemes/Echo.xcscheme

@@ -24,7 +24,7 @@
           <BuildableReference
             BuildableIdentifier = "primary"
             BuildableName = "'$(TARGET_NAME)'"
-            BlueprintName = "SwiftGRPCNIOTests"
+            BlueprintName = "SwiftGRPCTests"
             ReferencedContainer = "container:SwiftGRPC-Carthage.xcodeproj">
           </BuildableReference>
         </TestableReference>
@@ -33,7 +33,7 @@
           <BuildableReference
             BuildableIdentifier = "primary"
             BuildableName = "'$(TARGET_NAME)'"
-            BlueprintName = "SwiftGRPCTests"
+            BlueprintName = "SwiftGRPCNIOTests"
             ReferencedContainer = "container:SwiftGRPC-Carthage.xcodeproj">
           </BuildableReference>
         </TestableReference>

+ 20 - 21
SwiftGRPC-Carthage.xcodeproj/xcshareddata/xcschemes/SwiftGRPC-Package.xcscheme

@@ -32,9 +32,8 @@
             buildForAnalyzing = "YES">
             <BuildableReference
                BuildableIdentifier = "primary"
-               BlueprintIdentifier = "SwiftGRPC::SwiftGRPC"
-               BuildableName = "SwiftGRPC.framework"
-               BlueprintName = "SwiftGRPC"
+               BuildableName = "&apos;$(TARGET_NAME)&apos;"
+               BlueprintName = "RootsEncoder"
                ReferencedContainer = "container:SwiftGRPC-Carthage.xcodeproj">
             </BuildableReference>
          </BuildActionEntry>
@@ -46,8 +45,9 @@
             buildForAnalyzing = "YES">
             <BuildableReference
                BuildableIdentifier = "primary"
-               BuildableName = "&apos;$(TARGET_NAME)&apos;"
-               BlueprintName = "Echo"
+               BlueprintIdentifier = "SwiftGRPC::SwiftGRPC"
+               BuildableName = "SwiftGRPC.framework"
+               BlueprintName = "SwiftGRPC"
                ReferencedContainer = "container:SwiftGRPC-Carthage.xcodeproj">
             </BuildableReference>
          </BuildActionEntry>
@@ -59,9 +59,8 @@
             buildForAnalyzing = "YES">
             <BuildableReference
                BuildableIdentifier = "primary"
-               BlueprintIdentifier = "SwiftGRPC::CgRPC"
-               BuildableName = "CgRPC.framework"
-               BlueprintName = "CgRPC"
+               BuildableName = "&apos;$(TARGET_NAME)&apos;"
+               BlueprintName = "EchoNIO"
                ReferencedContainer = "container:SwiftGRPC-Carthage.xcodeproj">
             </BuildableReference>
          </BuildActionEntry>
@@ -73,9 +72,8 @@
             buildForAnalyzing = "YES">
             <BuildableReference
                BuildableIdentifier = "primary"
-               BlueprintIdentifier = "SwiftGRPC::BoringSSL"
-               BuildableName = "BoringSSL.framework"
-               BlueprintName = "BoringSSL"
+               BuildableName = "&apos;$(TARGET_NAME)&apos;"
+               BlueprintName = "Simple"
                ReferencedContainer = "container:SwiftGRPC-Carthage.xcodeproj">
             </BuildableReference>
          </BuildActionEntry>
@@ -88,7 +86,7 @@
             <BuildableReference
                BuildableIdentifier = "primary"
                BuildableName = "&apos;$(TARGET_NAME)&apos;"
-               BlueprintName = "Simple"
+               BlueprintName = "Echo"
                ReferencedContainer = "container:SwiftGRPC-Carthage.xcodeproj">
             </BuildableReference>
          </BuildActionEntry>
@@ -113,8 +111,9 @@
             buildForAnalyzing = "YES">
             <BuildableReference
                BuildableIdentifier = "primary"
-               BuildableName = "&apos;$(TARGET_NAME)&apos;"
-               BlueprintName = "RootsEncoder"
+               BlueprintIdentifier = "SwiftGRPC::BoringSSL"
+               BuildableName = "BoringSSL.framework"
+               BlueprintName = "BoringSSL"
                ReferencedContainer = "container:SwiftGRPC-Carthage.xcodeproj">
             </BuildableReference>
          </BuildActionEntry>
@@ -126,8 +125,9 @@
             buildForAnalyzing = "YES">
             <BuildableReference
                BuildableIdentifier = "primary"
-               BuildableName = "&apos;$(TARGET_NAME)&apos;"
-               BlueprintName = "EchoNIO"
+               BlueprintIdentifier = "SwiftGRPC::CgRPC"
+               BuildableName = "CgRPC.framework"
+               BlueprintName = "CgRPC"
                ReferencedContainer = "container:SwiftGRPC-Carthage.xcodeproj">
             </BuildableReference>
          </BuildActionEntry>
@@ -171,7 +171,7 @@
             <BuildableReference
                BuildableIdentifier = "primary"
                BuildableName = "&apos;$(TARGET_NAME)&apos;"
-               BlueprintName = "SwiftGRPCNIOTests"
+               BlueprintName = "SwiftGRPCTests"
                ReferencedContainer = "container:SwiftGRPC-Carthage.xcodeproj">
             </BuildableReference>
          </TestableReference>
@@ -180,7 +180,7 @@
             <BuildableReference
                BuildableIdentifier = "primary"
                BuildableName = "&apos;$(TARGET_NAME)&apos;"
-               BlueprintName = "SwiftGRPCTests"
+               BlueprintName = "SwiftGRPCNIOTests"
                ReferencedContainer = "container:SwiftGRPC-Carthage.xcodeproj">
             </BuildableReference>
          </TestableReference>
@@ -201,9 +201,8 @@
       <MacroExpansion>
          <BuildableReference
             BuildableIdentifier = "primary"
-            BlueprintIdentifier = "SwiftGRPC::SwiftGRPC"
-            BuildableName = "SwiftGRPC.framework"
-            BlueprintName = "SwiftGRPC"
+            BuildableName = "&apos;$(TARGET_NAME)&apos;"
+            BlueprintName = "RootsEncoder"
             ReferencedContainer = "container:SwiftGRPC-Carthage.xcodeproj">
          </BuildableReference>
       </MacroExpansion>

+ 2 - 2
SwiftGRPC-Carthage.xcodeproj/xcshareddata/xcschemes/protoc-gen-swiftgrpc.xcscheme

@@ -24,7 +24,7 @@
           <BuildableReference
             BuildableIdentifier = "primary"
             BuildableName = "'$(TARGET_NAME)'"
-            BlueprintName = "SwiftGRPCNIOTests"
+            BlueprintName = "SwiftGRPCTests"
             ReferencedContainer = "container:SwiftGRPC-Carthage.xcodeproj">
           </BuildableReference>
         </TestableReference>
@@ -33,7 +33,7 @@
           <BuildableReference
             BuildableIdentifier = "primary"
             BuildableName = "'$(TARGET_NAME)'"
-            BlueprintName = "SwiftGRPCTests"
+            BlueprintName = "SwiftGRPCNIOTests"
             ReferencedContainer = "container:SwiftGRPC-Carthage.xcodeproj">
           </BuildableReference>
         </TestableReference>

+ 16 - 2
patch-carthage-project.rb

@@ -8,9 +8,23 @@ targets_to_remove = project.targets.select { |target| !carthage_targets.include?
 targets_to_remove.each do |target|
   target.remove_from_project
 end
+
+# 2) Prevent linking of nghttp2 library
+project.targets.each do |target|
+  target.build_configurations.each do |conf|
+    current_ldflags = target.build_settings(conf.name)["OTHER_LDFLAGS"]
+    if current_ldflags.is_a? String
+      target.build_settings(conf.name)["OTHER_LDFLAGS"] = "" if current_ldflags.downcase().include?("nghttp2")
+    else
+      cleaned_ldflags = current_ldflags.select { |flag| !flag.downcase().include?("nghttp2") }
+      target.build_settings(conf.name)["OTHER_LDFLAGS"] = cleaned_ldflags
+    end
+  end
+end
+
 project.save
 
-# 2) Add SwiftProtobuf to the build actions list
+# 3) Add SwiftProtobuf to the build actions list
 schemePath = Xcodeproj::XCScheme.shared_data_dir(project_path) + "SwiftGRPC-Package.xcscheme"
 scheme = Xcodeproj::XCScheme.new(schemePath)
 
@@ -22,7 +36,7 @@ newBuildAction.build_for_running = true
 newBuildAction.build_for_testing = true
 scheme.build_action.add_entry(newBuildAction)
 
-# 3) Add a "Pre-Actions" script to the "BuildAction" of SwiftGRPC-Package.xcscheme.
+# 4) Add a "Pre-Actions" script to the "BuildAction" of SwiftGRPC-Package.xcscheme.
 # The Pre-Actions script will resolve the SPM dependencies and fix the corresponding paths in SwiftGRPC-Carthage.xcodeproj before the BuildAction
 buildActions = scheme.build_action.xml_element
 

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików