sidpug-arcana opened a new issue, #209:
URL: https://github.com/apache/arrow-swift/issues/209

   ## Describe the bug
   
   `swift build` in `CDataWGo/` fails, because `CDataWGo/Package.swift` still 
declares a local dependency on `../Arrow`:
   
   ```swift
   .package(path: "../Arrow")  // 👈  Reference to a Local Package
   ```
   
   That directory no longer exists. The package was consolidated into a single 
manifest at the repository root in #109 (`d24935c`, "Move ArrowTests to 
standard layout"), but the `CDataWGo` manifest was not updated at the time.
   
   Error on `main` (`f02f9d0`), macOS 27.0, Swift 6.4.2:
   
   ```console
   $ cd CDataWGo && swift build
   error: the package at '.../arrow-swift/Arrow' cannot be accessed
   (.../arrow-swift/Arrow doesn't exist in file system)
   ```
   
   Changing only the path to `..` is not enough, because SwiftPM derives a path 
dependency's identity from its directory name. The existing product reference 
then fails:
   
   ```console
   error: 'cdatawgo': unknown package 'Arrow' in dependencies of target 
'go-swift';
   valid packages are: 'arrow-swift' (at '.../arrow-swift')
   ```
   
   ## Expected behavior
   
   `swift build` in `CDataWGo/` should succeed, so the Go ↔ Swift C data 
interface harness can be built, or the harness should be removed if it is no 
longer maintained.
   
   I verified that this manifest change builds successfully:
   
   ```swift
   .package(name: "Arrow", path: "..")
   ```
   
   It works both against the current root manifest (`swift-tools-version: 
5.10`) and against the `swift-tools-version: 6.1` root from #202.
   
   ## Additional context
   
   - Nothing in CI builds `CDataWGo/`, which is why this went unnoticed: 
`ci/scripts/{build,test}.sh` only build the root package. The Swift side is 
also excluded from SwiftLint (`.swiftlint.yml`), and Dependabot only tracks the 
Go module there.
   - The harness builds the static `go-swift` library from 
`CDataWGo/Sources/go-swift/CDataTest.swift`, which `CDataWGo/main.go` links 
with cgo to exercise the C data interface against `arrow-go` in both directions.
   - The same layout migration left stale `/Arrow/` and `/ArrowFlight/` entries 
in `.github/dependabot.yml`; those are cleaned up separately in #208.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to