tasks in Starlark • No tests • Learning cost for Bazel • Large numbers of submodules • No dependency resolver • Abandoned dependencies Implementations of Bazel rules in Starlark
Resolving Dependencies... 🗑 Cleaning Dependencies... 📦 Building OrderedCollections for iOS 🚀 Combining into XCFramework... 📦 Building DequeModule for iOS 🚀 Combining into XCFramework... 📦 Building Collections for iOS 🚀 Combining into XCFramework... 📦 Building Logging for iOS 🚀 Combining into XCFramework... ❇ Succeeded.
generates Xcode Project from each package 3. Build the projects with xcodebuild 4. xcodebuild generates XCFramework How does Scipio work? Resolve manifests Fetch packages Generate Xcode Project Build XCFrameworks
"isDebugSymbolsEmbedded" : true, "frameworkType" : "static", "sdks" : [ "iOS" ], "isSimulatorSupported" : true }, "targetName" : "AwesomeKit", "clangVersion" : "clang-1400.0.29.102", "pin" : { "version" : "5.0.1", "revision" : "d458564516e5676af9c70b4f4b2a9178294f1bc6" } } • A JSON f ile contains build contexts • Scipio try to check this before building • Building will be skipped if existing framework is valid .AwesomeKit.version
• Compare SHA256 hash of VersionFiles • Restore same frameworks built in the past AwesomeKit.xcframework Destination Directory System Cache Directory AAAAAA.xcframework BBBBBB.xcframework Restore
is a good solution • Created an OSS, Scipio • Feedbacks and Pull Requests are welcome • https://github.com/giginet/Scipio • Please look forward to our future work!