@@ -37,13 +37,16 @@ public interface IGenerator
3737 IAssemblyNameProvider AssemblyNameProvider { get ; }
3838 }
3939
40- public abstract class ProjectGeneration : IGenerator
40+ public class ProjectGeneration : IGenerator
4141 {
42+ // do not remove because of the Validation API, used in LegacyStyleProjectGeneration
43+ public static readonly string MSBuildNamespaceUri = "http://schemas.microsoft.com/developer/msbuild/2003" ;
44+
4245 public IAssemblyNameProvider AssemblyNameProvider => m_AssemblyNameProvider ;
4346 public string ProjectDirectory { get ; }
4447
4548 // Use this to have the same newline ending on all platforms for consistency.
46- protected const string k_WindowsNewline = "\r \n " ;
49+ internal const string k_WindowsNewline = "\r \n " ;
4750
4851 const string m_SolutionProjectEntryTemplate = @"Project(""{{{0}}}"") = ""{1}"", ""{2}"", ""{{{3}}}""{4}EndProject" ;
4952
@@ -59,7 +62,7 @@ public abstract class ProjectGeneration : IGenerator
5962 HashSet < string > m_BuiltinSupportedExtensions = new HashSet < string > ( ) ;
6063
6164 readonly string m_ProjectName ;
62- protected readonly IAssemblyNameProvider m_AssemblyNameProvider ;
65+ internal readonly IAssemblyNameProvider m_AssemblyNameProvider ;
6366 readonly IFileIO m_FileIOProvider ;
6467 readonly IGUIDGenerator m_GUIDGenerator ;
6568 bool m_ShouldGenerateAll ;
@@ -358,13 +361,13 @@ private Dictionary<string, string> GenerateAllAssetProjectParts()
358361 return result ;
359362 }
360363
361- protected enum IncludeAssetTag
364+ internal enum IncludeAssetTag
362365 {
363366 Compile ,
364367 None
365368 }
366369
367- protected virtual void IncludeAsset ( StringBuilder builder , IncludeAssetTag tag , string asset )
370+ internal virtual void IncludeAsset ( StringBuilder builder , IncludeAssetTag tag , string asset )
368371 {
369372 var filename = EscapedRelativePathFor ( asset , out var packageInfo ) ;
370373
@@ -574,7 +577,9 @@ private static string XmlEscape(string s)
574577 return SecurityElement . Escape ( s ) ;
575578 }
576579
577- protected abstract void AppendProjectReference ( Assembly assembly , Assembly reference , StringBuilder projectBuilder ) ;
580+ internal virtual void AppendProjectReference ( Assembly assembly , Assembly reference , StringBuilder projectBuilder )
581+ {
582+ }
578583
579584 private void AppendReference ( string fullReference , StringBuilder projectBuilder )
580585 {
@@ -751,7 +756,10 @@ private static ProjectType ProjectTypeOf(string fileName)
751756 return ProjectType . Game ;
752757 }
753758
754- internal abstract void GetProjectHeader ( ProjectProperties properties , out StringBuilder headerBuilder ) ;
759+ internal virtual void GetProjectHeader ( ProjectProperties properties , out StringBuilder headerBuilder )
760+ {
761+ headerBuilder = default ;
762+ }
755763
756764 internal static void GetProjectHeaderConfigurations ( ProjectProperties properties , StringBuilder headerBuilder )
757765 {
@@ -832,7 +840,9 @@ internal static void GetProjectHeaderVstuFlavoring(ProjectProperties properties,
832840 headerBuilder . Append ( @" </PropertyGroup>" ) . Append ( k_WindowsNewline ) ;
833841 }
834842
835- protected abstract void GetProjectFooter ( StringBuilder footerBuilder ) ;
843+ internal virtual void GetProjectFooter ( StringBuilder footerBuilder )
844+ {
845+ }
836846
837847 private static string GetSolutionText ( )
838848 {
@@ -978,7 +988,7 @@ private string GetProjectActiveConfigurations(string projectGuid)
978988 projectGuid ) ;
979989 }
980990
981- protected string EscapedRelativePathFor ( string file , out UnityEditor . PackageManager . PackageInfo packageInfo )
991+ internal string EscapedRelativePathFor ( string file , out UnityEditor . PackageManager . PackageInfo packageInfo )
982992 {
983993 var projectDir = ProjectDirectory . NormalizePathSeparators ( ) ;
984994 file = file . NormalizePathSeparators ( ) ;
@@ -996,24 +1006,24 @@ protected string EscapedRelativePathFor(string file, out UnityEditor.PackageMana
9961006 return XmlFilename ( path ) ;
9971007 }
9981008
999- protected static string SkipPathPrefix ( string path , string prefix )
1009+ internal static string SkipPathPrefix ( string path , string prefix )
10001010 {
10011011 if ( path . StartsWith ( $ "{ prefix } { Path . DirectorySeparatorChar } ") && ( path . Length > prefix . Length ) )
10021012 return path . Substring ( prefix . Length + 1 ) ;
10031013 return path ;
10041014 }
10051015
1006- protected static string GetProjectExtension ( )
1016+ internal static string GetProjectExtension ( )
10071017 {
10081018 return ".csproj" ;
10091019 }
10101020
1011- protected string ProjectGuid ( string assemblyName )
1021+ internal string ProjectGuid ( string assemblyName )
10121022 {
10131023 return m_GUIDGenerator . ProjectGuid ( m_ProjectName , assemblyName ) ;
10141024 }
10151025
1016- protected string ProjectGuid ( Assembly assembly )
1026+ internal string ProjectGuid ( Assembly assembly )
10171027 {
10181028 return ProjectGuid ( m_AssemblyNameProvider . GetAssemblyName ( assembly . outputPath , assembly . name ) ) ;
10191029 }
0 commit comments