theangelperalta / example-buck-ribs-needle Goto Github PK
View Code? Open in Web Editor NEWAn example app showing how Buck, RIBS, and Needle can be used to build a simple iOS app.
License: MIT License
An example app showing how Buck, RIBS, and Needle can be used to build a simple iOS app.
License: MIT License
Hi, Angel. can we communicate more deeply about the design and development of ribs pluginpoint? In this regard, it seems uber does not have more guidance and open source?
Trying to get the example to run
My machine:
Model Name: Mac Studio
Model Identifier: Mac13,1
Chip: Apple M1 Max
Total Number of Cores: 10 (8 performance and 2 efficiency)
Memory: 32 GB
make install_buck currently doesn't work, the pex file doesn't exist at the current location. I updated install_buck to this instead:
install_buck:
curl https://jitpack.io/com/github/airbnb/buck/626d201d241a051e79cbeafc63b78574b1d1e463/buck-626d201d241a051e79cbeafc63b78574b1d1e463.pex --output tools/buck
chmod u+x tools/buck
This installs buck correctly. Before I push up the fix, I want to make sure my make debug works as well.
Running make debug in the root of the project gives the following error
make debug
tools/buck.pex install //App:TicTacToeApp --run --simulator-name '"iPhone 11"'
Unable to connect to Buck daemon, restarting it...
Buck daemon started.
Parsing buck files: finished in 3.1 sec
Creating action graph: finished in 1.1 sec
Building... 40.1 sec (68%) 60/87 jobs, 58 updated
- IDLE
- IDLE
- IDLE
- IDLE
- IDLE
- IDLE
- //Libraries/Models:Models#apple-swift-compile,iphoneos-arm64... 0.1 sec
- //Pods:RxCocoa#apple-swift-compile,iphoneos-arm64... 0.1 sec
- IDLE
- //Pods:RIBs#apple-swift-compile,iphoneos-arm64... 0.1 sec
Libraries/Models/Sources/Core/ScoreStream.swift:29:30: error: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
public protocol ScoreStream: class {
^~~~~
AnyObject
Pods/RIBs/ios/RIBs/Classes/DI/Component.swift:67:24: error: cannot find 'NSRecursiveLock' in scope
private let lock = NSRecursiveLock()
^~~~~~~~~~~~~~~
Pods/RIBs/ios/RIBs/Classes/LeakDetector/Executor.swift:32:49: error: cannot find type 'TimeInterval' in scope
public static func execute(withDelay delay: TimeInterval, maxFrameDuration: Int = 33, logic: @escaping () -> ()) {
^~~~~~~~~~~~
Pods/RIBs/ios/RIBs/Classes/LeakDetector/Executor.swift:33:22: error: cannot find 'DispatchTimeInterval' in scope
let period = DispatchTimeInterval.milliseconds(maxFrameDuration / 3)
^~~~~~~~~~~~~~~~~~~~
Pods/RIBs/ios/RIBs/Classes/LeakDetector/Executor.swift:34:31: error: cannot find 'Date' in scope
var lastRunLoopTime = Date().timeIntervalSinceReferenceDate
^~~~
Pods/RIBs/ios/RIBs/Classes/LeakDetector/Executor.swift:38:20: error: cannot find 'DispatchTimeInterval' in scope
.timer(DispatchTimeInterval.milliseconds(0), period: period, scheduler: MainScheduler.instance)
^~~~~~~~~~~~~~~~~~~~
Pods/RIBs/ios/RIBs/Classes/LeakDetector/LeakDetector.swift:77:66: error: cannot find type 'TimeInterval' in scope
public func expectDeallocate(object: AnyObject, inTime time: TimeInterval = LeakDefaultExpectationTime.deallocation) -> LeakDetectionHandle {
^~~~~~~~~~~~
Pods/RIBs/ios/RIBs/Classes/LeakDetector/LeakDetector.swift:117:63: error: cannot find type 'UIViewController' in scope
public func expectViewControllerDisappear(viewController: UIViewController, inTime time: TimeInterval = LeakDefaultExpectationTime.viewDisappear) -> LeakDetectionHandle {
^~~~~~~~~~~~~~~~
Pods/RIBs/ios/RIBs/Classes/LeakDetector/LeakDetector.swift:117:94: error: cannot find type 'TimeInterval' in scope
public func expectViewControllerDisappear(viewController: UIViewController, inTime time: TimeInterval = LeakDefaultExpectationTime.viewDisappear) -> LeakDetectionHandle {
^~~~~~~~~~~~
Pods/RIBs/ios/RIBs/Classes/LeakDetector/LeakDetector.swift:162:35: error: cannot find 'NSMapTable' in scope
private let trackingObjects = NSMapTable<AnyObject, AnyObject>.strongToWeakObjects()
^~~~~~~~~~
Pods/RIBs/ios/RIBs/Classes/LeakDetector/LeakDetector.swift:166:35: error: cannot find 'ProcessInfo' in scope
if let environmentValue = ProcessInfo().environment["DISABLE_LEAK_DETECTION"] {
^~~~~~~~~~~
Pods/RIBs/ios/RIBs/Classes/LeakDetector/LeakDetector.swift:81:70: error: cannot find type 'NSString' in scope
let objectId = String(ObjectIdentifier(object).hashValue) as NSString
^~~~~~~~
[2022-08-06 13:04:17.534][error][command:9087a655-f2c1-4185-944a-5a7fb7ca018a][tid:120][com.facebook.buck.swift.SwiftCompileStep] Error running /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc -frontend -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk -target arm64-apple-ios15.5 -Xcc -I -Xcc buck-out/gen/Pods/RxRelay#apple-swift-objc-generated-header,iphoneos-arm64.hmap -Xcc -I -Xcc buck-out/gen/Pods/RxSwift#apple-swift-objc-generated-header,iphoneos-arm64.hmap -Xcc -I -Xcc buck-out/gen/Pods/RxRelay#header-mode-symlink-tree-with-umbrella-header-modulemap,headers,iphoneos-arm64 -Xcc -I -Xcc buck-out/gen/Pods/RxRelay#apple-swift-compile,iphoneos-arm64/RxRelay.swiftmodule -Xcc -I -Xcc buck-out -Xcc -I -Xcc buck-out/gen/Pods/RxSwift#header-mode-symlink-tree-with-umbrella-header-modulemap,headers,iphoneos-arm64 -Xcc -I -Xcc buck-out/gen/Pods/RxSwift#apple-swift-compile,iphoneos-arm64/RxSwift.swiftmodule -I buck-out/gen/Pods/RxRelay#apple-swift-compile,iphoneos-arm64 -I buck-out/gen/Pods/RxSwift#apple-swift-compile,iphoneos-arm64 -c -enable-objc-interop -parse-as-library -serialize-debugging-options -module-name RIBs -emit-module -emit-module-path buck-out/gen/Pods/RIBs#apple-swift-compile,iphoneos-arm64/RIBs.swiftmodule -emit-objc-header-path buck-out/gen/Pods/RIBs#apple-swift-compile,iphoneos-arm64/RIBs-Swift.h -o buck-out/gen/Pods/RIBs#apple-swift-compile,iphoneos-arm64/RIBs.o -swift-version 5 -DBUCK -whole-module-optimization -Onone -DDEBUG -enable-testing -g -suppress-warnings -filelist /Users/michaelmanahan/Desktop/Repos/example-buck-ribs-needle/buck-out/bin/Pods/RIBs#apple-swift-compile,iphoneos-arm64__filelist.txt: Optional[Pods/RIBs/ios/RIBs/Classes/DI/Component.swift:67:24: error: cannot find 'NSRecursiveLock' in scope
private let lock = NSRecursiveLock()
^~~~~~~~~~~~~~~
Pods/RIBs/ios/RIBs/Classes/LeakDetector/Executor.swift:32:49: error: cannot find type 'TimeInterval' in scope
public static func execute(withDelay delay: TimeInterval, maxFrameDuration: Int = 33, logic: @escaping () -> ()) {
^~~~~~~~~~~~
Pods/RIBs/ios/RIBs/Classes/LeakDetector/Executor.swift:33:22: error: cannot find 'DispatchTimeInterval' in scope
let period = DispatchTimeInterval.milliseconds(maxFrameDuration / 3)
^~~~~~~~~~~~~~~~~~~~
Pods/RIBs/ios/RIBs/Classes/LeakDetector/Executor.swift:34:31: error: cannot find 'Date' in scope
var lastRunLoopTime = Date().timeIntervalSinceReferenceDate
^~~~
Pods/RIBs/ios/RIBs/Classes/LeakDetector/Executor.swift:38:20: error: cannot find 'DispatchTimeInterval' in scope
.timer(DispatchTimeInterval.milliseconds(0), period: period, scheduler: MainScheduler.instance)
^~~~~~~~~~~~~~~~~~~~
Pods/RIBs/ios/RIBs/Classes/LeakDetector/LeakDetector.swift:77:66: error: cannot find type 'TimeInterval' in scope
public func expectDeallocate(object: AnyObject, inTime time: TimeInterval = LeakDefaultExpectationTime.deallocation) -> LeakDetectionHandle {
^~~~~~~~~~~~
Pods/RIBs/ios/RIBs/Classes/LeakDetector/LeakDetector.swift:117:63: error: cannot find type 'UIViewController' in scope
public func expectViewControllerDisappear(viewController: UIViewController, inTime time: TimeInterval = LeakDefaultExpectationTime.viewDisappear) -> LeakDetectionHandle {
^~~~~~~~~~~~~~~~
Pods/RIBs/ios/RIBs/Classes/LeakDetector/LeakDetector.swift:117:94: error: cannot find type 'TimeInterval' in scope
public func expectViewControllerDisappear(viewController: UIViewController, inTime time: TimeInterval = LeakDefaultExpectationTime.viewDisappear) -> LeakDetectionHandle {
^~~~~~~~~~~~
Pods/RIBs/ios/RIBs/Classes/LeakDetector/LeakDetector.swift:162:35: error: cannot find 'NSMapTable' in scope
private let trackingObjects = NSMapTable<AnyObject, AnyObject>.strongToWeakObjects()
^~~~~~~~~~
Pods/RIBs/ios/RIBs/Classes/LeakDetector/LeakDetector.swift:166:35: error: cannot find 'ProcessInfo' in scope
if let environmentValue = ProcessInfo().environment["DISABLE_LEAK_DETECTION"] {
^~~~~~~~~~~
Pods/RIBs/ios/RIBs/Classes/LeakDetector/LeakDetector.swift:81:70: error: cannot find type 'NSString' in scope
let objectId = String(ObjectIdentifier(object).hashValue) as NSString
^~~~~~~~
]
Command failed with exit code 1.
command: [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc, -frontend, -sdk, /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk, -target, arm64-apple-ios15.5, -Xcc, -I, -Xcc, buck-out/gen/Pods/RxRelay#apple-swift-objc-generated-header,i...
<truncated>
...
stderr: Libraries/Models/Sources/Core/ScoreStream.swift:29:30: error: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
public protocol ScoreStream: class {
^~~~~
AnyObject
When running <swift compile>.
When building rule //Libraries/Models:Models#apple-swift-compile,iphoneos-arm64.
make: *** [debug] Error 1
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.