swiftlang/swift-package-manager

[SR-4385] Enable SPM to describe which packages are edited

Open

#5057 aperta il 28 mar 2017

Vedi su GitHub
 (4 commenti) (0 reazioni) (0 assegnatari)Swift (1462 fork)batch import
enhancementgood first issue

Metriche repository

Star
 (10.145 star)
Metriche merge PR
 (Merge medio 9g 13h) (90 PR mergiate in 30 g)

Descrizione

Previous ID SR-4385
Radar None
Original Reporter djones6 (JIRA User)
Type New Feature
Votes 0
Component/s Package Manager
Labels New Feature, StarterBug
Assignee None
Priority Medium

md5: cd414a7c57207ae4a22460897a82f609

Issue 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:

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.

Guida contributor