Open rauhul opened 3 weeks ago
Do you have some sample code I could try?
Almost, you can repro on branch pico2-blink
of swift-embedded-examples
but right now it has a hardcoded path into my env.
This is my build command on that branch right now:
TOOLCHAINS=org.swift.59202408071a make || PICO_SDK_PATH=/Users/rauhul/Developer/scratch/pico-sdk cmake -B build -G Ninja -DPICO_PLATFORM=rp2350 && ninja -C build | swift demangle && open build
Sometimes SwiftPM also just decides to build more than just ModuleB...
OK, just taking notes. From what I've seen, we're building SwiftSyntax twice, once as a tool and once as a destination. Given we are cross compiling in this example, why is SwiftSyntax being compiled for armv7em?
(update, it's only being build for host, but I do see it both in the plugin-tools.yaml and release.yaml)
On a second build with no changes, I'm seeing SwiftSyntax for production being built again but not for plugin-tools.
On a third build with no changes, nothing builds as expected.
Is it reproducible with SwiftPM command-line tools:
swift build
,swift test
,swift package
etc?swift build
,swift test
,swift package
etc.Description
Given a package with structure:
where ModuleB's content really comes from a build tool plugin
Adding a file to Module A like
Bar.swift
will trigger SwiftPM to rebuild ModuleB even though none of its inputs have changed. This can be really rough for users because ModuleB may take a while to compile, see the RP2350 module in swift-embedded-examples:which gets rebuilt anytime the Application module adds or removes files.
Expected behavior
No response
Actual behavior
No response
Steps to reproduce
No response
Swift Package Manager version/commit hash
No response
Swift & OS version (output of
swift --version ; uname -a
)No response