Skip to content

Commit

Permalink
Merge pull request #649 from mavnn/master
Browse files Browse the repository at this point in the history
Handle transient dependencies better in pack command
  • Loading branch information
forki committed Feb 24, 2015
2 parents b877575 + 6e1159c commit 016da70
Showing 1 changed file with 16 additions and 2 deletions.
18 changes: 16 additions & 2 deletions src/Paket.Core/PackageMetaData.fs
Original file line number Diff line number Diff line change
Expand Up @@ -171,13 +171,27 @@ let findDependencies (dependencies : DependenciesFile) config (template : Templa
let withDepsAndIncluded =
files
|> List.fold (fun templatefile file -> addFile (toFile config file) targetDir templatefile) withDeps


let locked =
(dependencies.FindLockfile().FullName
|> LockFile.LoadFrom).ResolvedPackages

// Add any paket references
let referenceFile =
ProjectFile.FindReferencesFile <| FileInfo project.FileName |> Option.map (ReferencesFile.FromFile)
match referenceFile with
| Some r ->
r.NugetPackages
|> List.map (fun np -> np.Name.Id, dependencies.DirectDependencies.[np.Name])
|> List.map (fun np ->
let dep =
match Map.tryFind np.Name dependencies.DirectDependencies with
| Some direct -> direct
// If it's a transient dependency set
// min version to current locked version
| None ->
let resolved =
locked |> Map.find (NormalizedPackageName np.Name)
VersionRequirement(Minimum resolved.Version, PreReleaseStatus.All)
np.Name.Id, dep)
|> List.fold addDependency withDepsAndIncluded
| None -> withDepsAndIncluded

0 comments on commit 016da70

Please sign in to comment.