diff --git a/build/_k-standard-goals.shade b/build/_k-standard-goals.shade index d33db6def5..b04bbe3353 100644 --- a/build/_k-standard-goals.shade +++ b/build/_k-standard-goals.shade @@ -72,8 +72,8 @@ default Configuration='${E("Configuration")}' copy sourceDir='${Path.GetDirectoryName(project)}' include='bin/**/' outputDir='${Path.Combine(BUILD_DIR, Path.GetFileNameWithoutExtension(project))}' overwrite='${true}' each='var project in nativeProjects' -#nuget-install target='install' description='Copy NuGet packages to local repo' - nuget-local-publish sourcePackagesDir='${BUILD_DIR}' +#nuget-install target='install' description='Install NuGet packages to local repo' + kpm-publish sourcePackagesDir='${BUILD_DIR}' targetPackagesDir='${E("PACKAGES_PUBLISH_DIR")}' #xunit-test target='test' if='Directory.Exists("test")' k-test each='var projectFile in Files.Include("test/**/project.json")' diff --git a/build/_kpm-publish.shade b/build/_kpm-publish.shade new file mode 100644 index 0000000000..099a0648ae --- /dev/null +++ b/build/_kpm-publish.shade @@ -0,0 +1,21 @@ +@{/* + +kpm-publish + Builds project. Downloads and executes k sdk tools. + +sourcePackagesDir='' + Required. Path to packages to install (skips symbol packages) + +targetPackagesDir='' + Optional. Path to publish packages. +*/} + +default targetPackagesDir='' + +@{ + var packages = Directory.EnumerateFiles(sourcePackagesDir, "*.nupkg") + .Where(p => !p.EndsWith(".symbols.nupkg")); +} + +exec program='cmd' commandline='/C kpm packages add ${package} ${targetPackagesDir}' if='!IsMono' each='var package in packages' +exec program='kpm' commandline='packages add ${package} ${targetPackagesDir}' if='IsMono' each='var package in packages'