As of Swift 3.1, if I put a package into editable mode, the source for that package ends up in Packages/ and so it is easy to see which packages are currently considered 'edited'.
However, this isn't so easy when combined with the --build-path option. For example:
swift package --build-path=build1 fetch
swift package --build-path=build1 edit <package> --revision master
swift package --build-path=build2 fetch
...results in build1 using the source in Packages/<package> but build2 does not.
The existing command show-dependencies gives clues as to which packages are being edited - in the example above, a package would be shown as <package>.git@unspecified in build1 but a tagged version in build 2.
It would be useful to have a way to definitively list which sources are being used to build a given build directory.
This is particularly the case as of SE-0149 because a package could be linked to source elsewhere via --path. For convenience, a symlink is placed in Packages/ but if multiple builds used a different path for the same dependency, the link would only reflect the state of one of those builds.
Additional Detail from JIRA
| | | |------------------|-----------------| |Votes | 0 | |Component/s | Package Manager | |Labels | New Feature, StarterBug | |Assignee | None | |Priority | Medium | md5: cd414a7c57207ae4a22460897a82f609Issue Description:
As of Swift 3.1, if I put a package into editable mode, the source for that package ends up in
Packages/
and so it is easy to see which packages are currently considered 'edited'.However, this isn't so easy when combined with the
--build-path
option. For example:...results in build1 using the source in
Packages/<package>
but build2 does not.The existing command
show-dependencies
gives clues as to which packages are being edited - in the example above, a package would be shown as<package>.git@unspecified
in build1 but a tagged version in build 2.It would be useful to have a way to definitively list which sources are being used to build a given build directory.
This is particularly the case as of SE-0149 because a package could be linked to source elsewhere via
--path
. For convenience, a symlink is placed in Packages/ but if multiple builds used a different path for the same dependency, the link would only reflect the state of one of those builds.