Comments (3)
Jumping in sideways a bit here - I haven't done the internal analysis, but I suspect this is related to apple/swift-package-manager#6162 (and in turn #50), where Docc is relying in swift package manager to "provide all the relevant symbols" - but there's some edge cases where its unable to provide them.
The gist in my debugging found that there we assumptions and potentially multiple paths in SwiftPM for getting the symbols, and the paths diverged when compiling swift vs. using libraries. There were some comments in SwiftPM source that talked to "combining paths down the road", which I suspect is fundamentally part of this issue. If I read the code right (no promises there), the "quick path" for libraries expected relevant module caches to have been populated already from all the various libraries, and process which didn't hold up when using the static library from a binaryTarget. I suspect C++ interop is in the same relative boat, although there may be more blocks - if they're C++ symbols, I've no idea if those have representations yet in the symbol graphs.
from swift-docc-plugin.
While running swift package dump-symbol-graph
works with the attached sample, which does not do much of any C++ at all, the same command breaks with my actual codebase that uses C++, like this:
Building for debugging...
[2/2] Compiling plugin Swift-DocC Preview
Build complete! (6.61s)
-- Emitting symbol graph for SwiftNavigation
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "/Users/miguel/cvs/SwiftNavigation/Sources/CRecast/include/Bridging.h"
^
from swift-docc-plugin.
Related Issues (20)
- Snippet crash: No value associated with key 'chunks' HOT 5
- Provide sensible defaults when using `--source-service` argument
- Support for skipping synthesized symbols HOT 2
- Docc cannot generate the documentation folder HOT 6
- Running the plugin using Xcode 13 produces error 'variable binding in a condition requires an initializer'
- Support for binary targets
- Xcode 13 produces error `Cannot find type 'SnippetBuilder' in scope`
- Cannot Specify Platform For Documents Generation HOT 1
- Ability to generate Objective-C docs for Swift symbols
- swift-docc-plugin generate-documentation results in empty docc catalog - no symbols - when using a local binary target/XCFramework
- inconsistent recognition of the target provided to `preview-documentation`
- No symbols are extracted when generating documentation (w/ the CLI) while the package uses a local XCFramework reference HOT 1
- Generated documentation could not be viewed on GitHub pages saying "The page you’re looking for can’t be found" HOT 1
- Add support for ObjC/C Package HOT 2
- Preview Documentation reports error on exit HOT 1
- Rebuild docs when snippet changes. HOT 3
- New `--include-extended-types` changes seems to break `--additional-symbol-graph-dir` HOT 4
- error: no such module 'UIKit' HOT 4
- Warning when building a package using the plugin with Swift 5.9.
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 swift-docc-plugin.