Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Ward <matt.ward@xamarin.com>2017-05-24 16:53:24 +0300
committerMatt Ward <matt.ward@xamarin.com>2017-05-24 18:21:15 +0300
commit1402026d9f254b78c6ced41f58e36ff0c140ba70 (patch)
treee064a79d304d43b71751afe5fa41dfc905d3e28f /main/src/addins/MonoDevelop.Packaging
parentdd7cc3ae2c77b3068493572e36789e69e3caf0dd (diff)
[Packaging] Fix no packages shown in Packages folder
Opening a previously created NuGet packaging project would show no packages in the Packages folder. The problem was that the PackageReference project item is exported by both the NuGet addin and the Packaging addin. The NuGet addin's PackageReference project item was used instead of the one defined by the Packaging addin so no package references were available for the packaging project. Now only one PackageReference project item type is exported and the packaging project uses the one defined by the NuGet addin.
Diffstat (limited to 'main/src/addins/MonoDevelop.Packaging')
-rw-r--r--main/src/addins/MonoDevelop.Packaging/MonoDevelop.Packaging.csproj2
-rw-r--r--main/src/addins/MonoDevelop.Packaging/MonoDevelop.Packaging/PackageReferenceCollection.cs3
-rw-r--r--main/src/addins/MonoDevelop.Packaging/MonoDevelop.Packaging/PackagingNuGetProject.cs10
-rw-r--r--main/src/addins/MonoDevelop.Packaging/MonoDevelop.Packaging/PackagingProject.cs8
-rw-r--r--main/src/addins/MonoDevelop.Packaging/MonoDevelop.Packaging/ProjectPackageReferenceExtensions.cs (renamed from main/src/addins/MonoDevelop.Packaging/MonoDevelop.Packaging/PackageReference.cs)36
5 files changed, 20 insertions, 39 deletions
diff --git a/main/src/addins/MonoDevelop.Packaging/MonoDevelop.Packaging.csproj b/main/src/addins/MonoDevelop.Packaging/MonoDevelop.Packaging.csproj
index b6fc5f5f3c..44bed848ff 100644
--- a/main/src/addins/MonoDevelop.Packaging/MonoDevelop.Packaging.csproj
+++ b/main/src/addins/MonoDevelop.Packaging/MonoDevelop.Packaging.csproj
@@ -91,7 +91,6 @@
<Compile Include="MonoDevelop.Packaging\NuGetFilePropertyProvider.cs" />
<Compile Include="MonoDevelop.Packaging\NuGetFileDescriptor.cs" />
<Compile Include="MonoDevelop.Packaging\PackagingNuGetProject.cs" />
- <Compile Include="MonoDevelop.Packaging\PackageReference.cs" />
<Compile Include="MonoDevelop.Packaging\PackageReferenceCollection.cs" />
<Compile Include="MonoDevelop.Packaging\AddPlatformImplementationHandler.cs" />
<Compile Include="MonoDevelop.Packaging.Gui\AddPlatformImplementationDialog.cs" />
@@ -121,6 +120,7 @@
</Compile>
<Compile Include="MonoDevelop.Packaging.OptionPanels\ProjectNuGetBuildOptionsPanel.cs" />
<Compile Include="MonoDevelop.Packaging\ProjectIsDotNetProjectOnlyCondition.cs" />
+ <Compile Include="MonoDevelop.Packaging\ProjectPackageReferenceExtensions.cs" />
</ItemGroup>
<ItemGroup>
<InternalsVisibleTo Include="MonoDevelop.Packaging.Tests" />
diff --git a/main/src/addins/MonoDevelop.Packaging/MonoDevelop.Packaging/PackageReferenceCollection.cs b/main/src/addins/MonoDevelop.Packaging/MonoDevelop.Packaging/PackageReferenceCollection.cs
index f3262a7bc0..d8f852623e 100644
--- a/main/src/addins/MonoDevelop.Packaging/MonoDevelop.Packaging/PackageReferenceCollection.cs
+++ b/main/src/addins/MonoDevelop.Packaging/MonoDevelop.Packaging/PackageReferenceCollection.cs
@@ -25,12 +25,13 @@
// THE SOFTWARE.
using System;
+using MonoDevelop.PackageManagement;
using MonoDevelop.Projects;
namespace MonoDevelop.Packaging
{
[Serializable]
- class PackageReferenceCollection : ProjectItemCollection<PackageReference>
+ class PackageReferenceCollection : ProjectItemCollection<ProjectPackageReference>
{
}
}
diff --git a/main/src/addins/MonoDevelop.Packaging/MonoDevelop.Packaging/PackagingNuGetProject.cs b/main/src/addins/MonoDevelop.Packaging/MonoDevelop.Packaging/PackagingNuGetProject.cs
index d1b707234b..6e75e6d494 100644
--- a/main/src/addins/MonoDevelop.Packaging/MonoDevelop.Packaging/PackagingNuGetProject.cs
+++ b/main/src/addins/MonoDevelop.Packaging/MonoDevelop.Packaging/PackagingNuGetProject.cs
@@ -74,7 +74,7 @@ namespace MonoDevelop.Packaging
return await Runtime.RunInMainThread (async () => {
// Check if this NuGet package is already installed and should be removed.
- PackageReference existingPackageReference = project.FindPackageReference (packageIdentity);
+ ProjectPackageReference existingPackageReference = project.FindPackageReference (packageIdentity);
if (existingPackageReference != null) {
if (ShouldRemoveExistingPackageReference (existingPackageReference, packageIdentity)) {
project.PackageReferences.Remove (existingPackageReference);
@@ -94,9 +94,9 @@ namespace MonoDevelop.Packaging
GenerateNuGetBuildPackagingTargets (packageIdentity);
}
- var packageReference = new PackageReference (packageIdentity);
+ var packageReference = ProjectPackageReference.Create (packageIdentity);
if (developmentDependency)
- packageReference.PrivateAssets = "All";
+ packageReference.Metadata.SetValue ("PrivateAssets", "All");
project.PackageReferences.Add (packageReference);
await SaveProject ();
return true;
@@ -109,7 +109,7 @@ namespace MonoDevelop.Packaging
CancellationToken token)
{
return await Runtime.RunInMainThread (() => {
- PackageReference packageReference = project.FindPackageReference (packageIdentity);
+ ProjectPackageReference packageReference = project.FindPackageReference (packageIdentity);
if (packageReference != null) {
project.PackageReferences.Remove (packageReference);
SaveProject ();
@@ -122,7 +122,7 @@ namespace MonoDevelop.Packaging
/// If the package version is already installed then there is no need to install the
/// NuGet package.
/// </summary>
- bool ShouldRemoveExistingPackageReference (PackageReference packageReference, PackageIdentity packageIdentity)
+ bool ShouldRemoveExistingPackageReference (ProjectPackageReference packageReference, PackageIdentity packageIdentity)
{
var existingPackageReference = packageReference.ToNuGetPackageReference ();
return !VersionComparer.Default.Equals (existingPackageReference.PackageIdentity.Version, packageIdentity.Version);
diff --git a/main/src/addins/MonoDevelop.Packaging/MonoDevelop.Packaging/PackagingProject.cs b/main/src/addins/MonoDevelop.Packaging/MonoDevelop.Packaging/PackagingProject.cs
index 86291d6fd8..35f95c483c 100644
--- a/main/src/addins/MonoDevelop.Packaging/MonoDevelop.Packaging/PackagingProject.cs
+++ b/main/src/addins/MonoDevelop.Packaging/MonoDevelop.Packaging/PackagingProject.cs
@@ -275,12 +275,12 @@ namespace MonoDevelop.Packaging
get { return packageReferences; }
}
- public PackageReference FindPackageReference (PackageIdentity packageIdentity)
+ public ProjectPackageReference FindPackageReference (PackageIdentity packageIdentity)
{
return PackageReferences.FirstOrDefault (packageReference => IsMatch (packageReference, packageIdentity));
}
- bool IsMatch (PackageReference packageReference, PackageIdentity packageIdentity)
+ bool IsMatch (ProjectPackageReference packageReference, PackageIdentity packageIdentity)
{
return String.Equals (packageReference.Include, packageIdentity.Id, StringComparison.OrdinalIgnoreCase);
}
@@ -297,12 +297,12 @@ namespace MonoDevelop.Packaging
referenceAssemblyFrameworks.AddRange (frameworks.Select (fx => new ReferenceAssemblyFramework (fx)));
}
- PackageReference GetNuGetBuildPackagingPackageReference ()
+ ProjectPackageReference GetNuGetBuildPackagingPackageReference ()
{
return PackageReferences.FirstOrDefault (packageReference => IsNuGetBuildPackagingReference (packageReference));
}
- bool IsNuGetBuildPackagingReference (PackageReference packageReference)
+ bool IsNuGetBuildPackagingReference (ProjectPackageReference packageReference)
{
return StringComparer.OrdinalIgnoreCase.Equals (packageReference.Include, "NuGet.Build.Packaging");
}
diff --git a/main/src/addins/MonoDevelop.Packaging/MonoDevelop.Packaging/PackageReference.cs b/main/src/addins/MonoDevelop.Packaging/MonoDevelop.Packaging/ProjectPackageReferenceExtensions.cs
index 5660ce1187..0b86a19799 100644
--- a/main/src/addins/MonoDevelop.Packaging/MonoDevelop.Packaging/PackageReference.cs
+++ b/main/src/addins/MonoDevelop.Packaging/MonoDevelop.Packaging/ProjectPackageReferenceExtensions.cs
@@ -1,10 +1,10 @@
//
-// PackageReference.cs
+// ProjectPackageReferenceExtensions.cs
//
// Author:
// Matt Ward <matt.ward@xamarin.com>
//
-// Copyright (c) 2016 Xamarin Inc. (http://xamarin.com)
+// Copyright (c) 2017 Xamarin Inc. (http://xamarin.com)
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
@@ -24,38 +24,18 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
-using MonoDevelop.Core.Serialization;
-using MonoDevelop.Projects;
+using MonoDevelop.PackageManagement;
+using NuGet.Packaging;
using NuGet.Frameworks;
-using NuGet.Packaging.Core;
-using NuGet.Versioning;
namespace MonoDevelop.Packaging
{
- [ExportProjectItemType ("PackageReference")]
- class PackageReference : ProjectItem
+ static class ProjectPackageReferenceExtensions
{
- internal PackageReference (PackageIdentity packageIdentity)
+ internal static PackageReference ToNuGetPackageReference (this ProjectPackageReference packageReference)
{
- Include = packageIdentity.Id;
- Version = packageIdentity.Version.ToString ();
- }
-
- public PackageReference ()
- {
- }
-
- [ItemProperty ("Version")]
- public string Version { get; set; }
-
- [ItemProperty ("PrivateAssets")]
- public string PrivateAssets { get; set; }
-
- internal NuGet.Packaging.PackageReference ToNuGetPackageReference ()
- {
- var identity = new PackageIdentity (Include, new NuGetVersion (Version));
- return new NuGet.Packaging.PackageReference (identity, NuGetFramework.Parse ("any"));
+ var nugetPackageReference = packageReference.CreatePackageReference ();
+ return new PackageReference (nugetPackageReference.PackageIdentity, NuGetFramework.Parse ("any"));
}
}
}
-