Open
Description
If JNIgen is run as part of another build system (#977 (comment)), or if JNIgen is run as standalone (#879), it would be useful to know what files an JNIgen run transitively depends on.
The list of files / directories / glob patterns should include:
- entrypoints headers declared in config.
- Any transitive dependencies (can libclang report what was used? Would using include directive suffice?)
pubspec.yaml
ffigen version might be updatedjnigen.yaml
the config file (@HosseinYousefi how would this work once we switch to a programmatic config? I guess the dart script running JNIgen would need to be in the deps.)
For standalone runs:
- We should maybe save the environment, so that subsequent runs can check for equality.
For runs from another build system:
- We should maybe have a flag in the config to ignore the environment (A build system invoking might also try to invoke FFIgen with a (mostly) empty environment [native_assets_cli] Protocol environment variables #32)
The list of files/directories/globs should be output in some kind of format. (Maybe we should align with the BuildOutput.dependencies
in the native assets CLI, which currently supports files and directories.)
Edit: This would tie in to dart-lang/sdk#56512.
Metadata
Metadata
Assignees
Type
Projects
Status
Backlog