|
|
|
@ -59,6 +59,7 @@ namespace ICSharpCode.SharpDevelop.Templates
@@ -59,6 +59,7 @@ namespace ICSharpCode.SharpDevelop.Templates
|
|
|
|
|
|
|
|
|
|
string name; |
|
|
|
|
string defaultPlatform; |
|
|
|
|
string relativePath; |
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// The language of the project.
|
|
|
|
@ -92,6 +93,9 @@ namespace ICSharpCode.SharpDevelop.Templates
@@ -92,6 +93,9 @@ namespace ICSharpCode.SharpDevelop.Templates
|
|
|
|
|
} else { |
|
|
|
|
name = "${ProjectName}"; |
|
|
|
|
} |
|
|
|
|
if (element.HasAttribute("directory")) { |
|
|
|
|
relativePath = element.GetAttribute("directory"); |
|
|
|
|
} |
|
|
|
|
languageName = element.GetAttribute("language"); |
|
|
|
|
if (string.IsNullOrEmpty(languageName)) { |
|
|
|
|
ProjectTemplateImpl.WarnAttributeMissing(element, "language"); |
|
|
|
@ -301,7 +305,7 @@ namespace ICSharpCode.SharpDevelop.Templates
@@ -301,7 +305,7 @@ namespace ICSharpCode.SharpDevelop.Templates
|
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
DirectoryName projectBasePath = projectCreateOptions.ProjectBasePath; |
|
|
|
|
DirectoryName projectBasePath = GetProjectBasePath(projectCreateOptions); |
|
|
|
|
string newProjectName = StringParser.Parse(name, new StringTagPair("ProjectName", projectCreateOptions.ProjectName)); |
|
|
|
|
Directory.CreateDirectory(projectBasePath); |
|
|
|
|
FileName projectLocation = projectBasePath.CombineFile(newProjectName + descriptor.ProjectFileExtension); |
|
|
|
@ -546,6 +550,15 @@ namespace ICSharpCode.SharpDevelop.Templates
@@ -546,6 +550,15 @@ namespace ICSharpCode.SharpDevelop.Templates
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
DirectoryName GetProjectBasePath(ProjectTemplateOptions projectCreateOptions) |
|
|
|
|
{ |
|
|
|
|
if (String.IsNullOrEmpty(relativePath)) { |
|
|
|
|
return projectCreateOptions.ProjectBasePath; |
|
|
|
|
} |
|
|
|
|
string relativeBasePath = StringParser.Parse(relativePath, new StringTagPair("ProjectName", projectCreateOptions.ProjectName)); |
|
|
|
|
return projectCreateOptions.ProjectBasePath.CombineDirectory(relativeBasePath); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void RunPreCreateActions(ProjectCreateInformation projectCreateInformation) |
|
|
|
|
{ |
|
|
|
|
foreach (var action in preCreateActions) { |
|
|
|
|