You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -414,6 +415,31 @@ The index store generated by `xcodebuild` exists in DerivedData at a location de
414
415
415
416
By default Periphery, looks for the index store at `.build/debug/index/store`. Therefore, if you intend to run Periphery directly after calling `swift test`, you can omit the `--index-store-path` option, and Periphery will use the index store created when the project was built for testing. However if this isn't the case, then you must provide Periphery the location of the index store with `--index-store-path`.
416
417
418
+
## Build Systems
419
+
420
+
Periphery can analyze projects using third-party build systems such as Bazel, though it cannot drive them automatically like SwiftPM and xcodebuild. Instead, you need to specify the index store location and provide a file-target mapping file.
421
+
422
+
A file-target mapping file contains a simple mapping of source files to build targets. You will need to generate this file yourself using the appropriate tooling for your build system. The format is as follows:
423
+
424
+
```
425
+
{
426
+
"file_targets": {
427
+
"path/to/file_a.swift": ["TargetA"],
428
+
"path/to/file_b.swift": ["TargetB", "TargetC"]
429
+
}
430
+
}
431
+
```
432
+
433
+
> Relative paths are assumed to be relative to the current directory.
Periphery supports both macOS and Linux. macOS supports both Xcode and Swift Package Manager (SPM) projects, whereas only SPM projects are supported on Linux.
@Option(help:"Comma-separated list of schemes that must be built in order to produce the targets passed to the --targets option. Xcode projects only", transform:split(by:","))
@Option(help:"Path glob of source files which should be included from the results. Note that this option is purely cosmetic, these files will still be indexed. Multiple globs may be delimited by a pipe", transform:split(by:"|"))
0 commit comments