diff --git a/src/Forge.Core/Paket.fs b/src/Forge.Core/Paket.fs index ac4d225..37d240d 100644 --- a/src/Forge.Core/Paket.fs +++ b/src/Forge.Core/Paket.fs @@ -9,16 +9,15 @@ let getPaketLocation () = if Directory.Exists local then local else paketLocation let getPaket () = - let local = directory ".paket" "paket.exe" - if File.Exists local then local else paketLocation "paket.exe" + getPaketLocation () "paket.exe" - -let Copy folder = +let copy folder = folder ".paket" |> Directory.CreateDirectory |> ignore Directory.GetFiles location |> Seq.iter (fun x -> - let fn = Path.GetFileName x - File.Copy (x, folder ".paket" fn, true) ) + let filename = Path.GetFileName x + File.Copy (x, folder ".paket" filename, true) ) + let Update () = let f = getPaketLocation () @@ -30,5 +29,9 @@ let Run args = let args' = args |> String.concat " " run f args' directory - +let Init folder = + if Directory.GetFiles folder |> Seq.exists (fun n -> n.EndsWith "paket.dependencies") |> not then + copy folder + Update () + Run ["init"] diff --git a/src/Forge.Core/Templates.fs b/src/Forge.Core/Templates.fs index a1a61ce..84cad81 100644 --- a/src/Forge.Core/Templates.fs +++ b/src/Forge.Core/Templates.fs @@ -197,9 +197,7 @@ module Project = sed "<%= paketPath %>" (relative directory) projectFolder sed "<%= packagesPath %>" (relative packagesDirectory) projectFolder - Paket.Copy directory - if Directory.GetFiles directory |> Seq.exists (fun n -> n.EndsWith "paket.dependencies") |> not then - Paket.Run ["init"] + Paket.Init directory Directory.GetFiles projectFolder |> Seq.tryFind (fun n -> n.EndsWith "paket.references")