Comments (5)
Hi, thanks for interest !
It's right that we may not always need the sysroot... I guess the fact that our main targets were phones and pis made it natural to assume it would always be there, and always needed. Our primary use-case involves compling C -sys bindings and linking with system libraries so sysroot management is not something we can dispense with completely.
I'll have a look if I an easily add a "non-sysroot" target option...
I also hate to say that, but with cargo becoming smarter and smarter, dinghy value is getting smaller. In your use case, you could just use cargo and setup a simple sh script (which you can hand to cargo with a CARGO_..._RUNNER option) to scp and ssh/exec the test on your remote device.
As a matter of fact, we have started an effort to split dinghy in two and working around cargo instead of using cargo as library: dingy would just discover plugged-in or known devices, setup the environment, call the regular cargo executable with the right parameters. It would then act as a simpel runner, even for the incredibly convoluted ios case.
from dinghy.
Thank you for the insight, we are just starting to get rust on board for our project. I will look into the runner option, too. I am guessing it's kind of similar to the situation with xargo as a separate tool vs xbuild as cargo extension when developing for bare metal.
from dinghy.
the sysroot is required only for the crates where TARGET_SYSROOT
need to be defined , mostly when a configure script is involved : https://github.com/snipsco/dinghy/blob/061be68744cb64eb0437ad9e9491f201fa31d10d/dinghy-lib/src/toolchain.rs#L86
from dinghy.
@kali Is the work on simplifying Dinghy still in progress and is the project active? You also mentioned that Dinghy value is getting smaller. Is there a better way now to run cargo tests on mobile devices?
from dinghy.
@mfronczyk It's a bit in limbo. It could come back, but not short term. The current version is "good enough" for my company use, so it's unlikely we'll invest the weeks on the splitting.
We are still relying on the master version, though, so we are going to keep it alive for quite a while.
My mid-term strategy is actually to wait a bit... Cargo is evolving in the right direction, as Xargo and other integrated build tools pulls for more flexibility. It may make more of dinghy redundant, to the point where the only remaining relevant part is the ios integration.
from dinghy.
Related Issues (20)
- Share resource files between tests HOT 7
- No device support directory for iOS version 12.5 HOT 3
- deploy to iOS devices with ios-deploy HOT 2
- Duplicate executable file in ios *.app folder
- On the use `std::fs::ReadDir.next()` HOT 3
- Maintain CHANGELOG HOT 2
- tvOS simulator support HOT 1
- watchOS simulator support
- copy libc++_shared.so for Android tests HOT 2
- `undefined symbol: ANativeWindow_setBuffersGeometry` with visual tests using `wgpu` HOT 4
- Getting files generated by tests back? HOT 3
- Add macOS M1 binary to release CI HOT 2
- Faiiled to build what use ndk_context project HOT 3
- Use `xcrun devicectl` to deploy to iOS devices. HOT 2
- Dinghy hangs on macOS-14 runner HOT 1
- OpenHarmony support(ohos) HOT 1
- Support cargo-dinghy as a cargo test runner HOT 4
- Provide an example how to measure (code coverage) profiling data and save it on the host
- Run test on iOS failed: No such file or directory (os error 2) HOT 5
- xcrun: error: unable to find utility "devicectl", not a developer tool or in PATH HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dinghy.