From b42fb1c5c16a11279c7f67b5f7a57fcdf4e9c4b5 Mon Sep 17 00:00:00 2001 From: Morten Christensen Date: Tue, 7 May 2013 12:35:13 -0200 Subject: [PATCH] WIP Related to PackagingService --- .../Packaging/DefaultPackageContext.cs | 45 +++++++++++++++++++ src/Umbraco.Core/Packaging/IPackageContext.cs | 11 +++++ src/Umbraco.Core/Umbraco.Core.csproj | 6 +++ src/Umbraco.Core/packages.config | 1 + 4 files changed, 63 insertions(+) create mode 100644 src/Umbraco.Core/Packaging/DefaultPackageContext.cs create mode 100644 src/Umbraco.Core/Packaging/IPackageContext.cs diff --git a/src/Umbraco.Core/Packaging/DefaultPackageContext.cs b/src/Umbraco.Core/Packaging/DefaultPackageContext.cs new file mode 100644 index 0000000000..3598f0f292 --- /dev/null +++ b/src/Umbraco.Core/Packaging/DefaultPackageContext.cs @@ -0,0 +1,45 @@ +using System; +using NuGet; +using Umbraco.Core.Configuration; + +namespace Umbraco.Core.Packaging +{ + internal class DefaultPackageContext : IPackageContext + { + public DefaultPackageContext(Func mapPath) + {} + + private readonly string _localPackageRepoFolderPath; + private readonly string _pluginInstallFolderPath; + private readonly Lazy _localPackageManager; + private readonly Lazy _localPackageRepository; + private readonly Lazy _publicPackageManager; + private readonly Lazy _privatePackageManager; + private readonly Lazy _publicPackageRepository; + private readonly Lazy _sprivatePackageRepository; + + /// + /// Gets the local path resolver. + /// + public IPackagePathResolver LocalPathResolver + { + get { return ((PackageManager)LocalPackageManager).PathResolver; } + } + + /// + /// Gets the local package manager. + /// + public IPackageManager LocalPackageManager + { + get { return _localPackageManager.Value; } + } + + /// + /// Gets the public package manager. + /// + public IPackageManager PublicPackageManager + { + get { return _publicPackageManager.Value; } + } + } +} \ No newline at end of file diff --git a/src/Umbraco.Core/Packaging/IPackageContext.cs b/src/Umbraco.Core/Packaging/IPackageContext.cs new file mode 100644 index 0000000000..f1420d1654 --- /dev/null +++ b/src/Umbraco.Core/Packaging/IPackageContext.cs @@ -0,0 +1,11 @@ +using NuGet; + +namespace Umbraco.Core.Packaging +{ + internal interface IPackageContext + { + IPackageManager LocalPackageManager { get; } + IPackageManager PublicPackageManager { get; } + IPackagePathResolver LocalPathResolver { get; } + } +} \ No newline at end of file diff --git a/src/Umbraco.Core/Umbraco.Core.csproj b/src/Umbraco.Core/Umbraco.Core.csproj index 422c9c48b4..cd4f87dab4 100644 --- a/src/Umbraco.Core/Umbraco.Core.csproj +++ b/src/Umbraco.Core/Umbraco.Core.csproj @@ -45,6 +45,10 @@ ..\packages\Newtonsoft.Json.4.5.11\lib\net40\Newtonsoft.Json.dll + + False + ..\packages\Nuget.Core.2.5.0\lib\net40-Client\NuGet.Core.dll + @@ -229,6 +233,8 @@ + + diff --git a/src/Umbraco.Core/packages.config b/src/Umbraco.Core/packages.config index 6c2b077259..f820b06b32 100644 --- a/src/Umbraco.Core/packages.config +++ b/src/Umbraco.Core/packages.config @@ -6,5 +6,6 @@ + \ No newline at end of file