You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
2.6 KiB
83 lines
2.6 KiB
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) |
|
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) |
|
|
|
using System; |
|
using ICSharpCode.SharpDevelop.Internal.Templates; |
|
using ICSharpCode.SharpDevelop.Project; |
|
|
|
namespace PackageManagement.Tests.Helpers |
|
{ |
|
public static class ProjectHelper |
|
{ |
|
public static TestableProject CreateTestProject() |
|
{ |
|
return CreateTestProject("TestProject"); |
|
} |
|
|
|
public static TestableProject CreateTestProject(string name) |
|
{ |
|
Solution solution = new Solution(); |
|
solution.FileName = @"d:\projects\Test\TestSolution.sln"; |
|
|
|
ProjectCreateInformation createInfo = new ProjectCreateInformation(); |
|
createInfo.Solution = solution; |
|
createInfo.ProjectName = name; |
|
createInfo.SolutionPath = @"d:\projects\Test"; |
|
createInfo.ProjectBasePath = @"d:\projects\Test\TestProject"; |
|
createInfo.OutputProjectFileName = @"d:\projects\Test\TestProject\TestProject.csproj"; |
|
|
|
var project = new TestableProject(createInfo); |
|
project.Parent = solution; |
|
return project; |
|
} |
|
|
|
public static void AddReference(MSBuildBasedProject project, string referenceName) |
|
{ |
|
var referenceProjectItem = new ReferenceProjectItem(project, referenceName); |
|
ProjectService.AddProjectItem(project, referenceProjectItem); |
|
} |
|
|
|
public static void AddFile(MSBuildBasedProject project, string fileName) |
|
{ |
|
var fileProjectItem = new FileProjectItem(project, ItemType.Compile); |
|
fileProjectItem.FileName = fileName; |
|
ProjectService.AddProjectItem(project, fileProjectItem); |
|
} |
|
|
|
public static ReferenceProjectItem GetReference(MSBuildBasedProject project, string referenceName) |
|
{ |
|
foreach (ReferenceProjectItem referenceProjectItem in project.GetItemsOfType(ItemType.Reference)) { |
|
if (referenceProjectItem.Include == referenceName) { |
|
return referenceProjectItem; |
|
} |
|
} |
|
return null; |
|
} |
|
|
|
public static FileProjectItem GetFile(MSBuildBasedProject project, string fileName) |
|
{ |
|
foreach (ProjectItem projectItem in project.Items) { |
|
FileProjectItem fileItem = projectItem as FileProjectItem; |
|
if (fileItem != null) { |
|
if (fileItem.FileName == fileName) { |
|
return fileItem; |
|
} |
|
} |
|
} |
|
return null; |
|
} |
|
|
|
public static FileProjectItem GetFileFromInclude(TestableProject project, string include) |
|
{ |
|
foreach (ProjectItem projectItem in project.Items) { |
|
FileProjectItem fileItem = projectItem as FileProjectItem; |
|
if (fileItem != null) { |
|
if (fileItem.Include == include) { |
|
return fileItem; |
|
} |
|
} |
|
} |
|
return null; |
|
} |
|
} |
|
}
|
|
|