Dictionary <string, string> GenerateAllAssetProjectParts() { Dictionary <string, StringBuilder> stringBuilders = new Dictionary <string, StringBuilder>(); foreach (string asset in m_assemblyNameProvider.GetAllAssetPaths()) { // Exclude files coming from packages except if they are internalized. if (!m_ShouldGenerateAll && IsNonInternalizedPackagePath(asset)) { continue; } string extension = Path.GetExtension(asset); if (IsSupportedExtension(extension) && ScriptingLanguage.None == ScriptingLanguageFor(extension)) { // Find assembly the asset belongs to by adding script extension and using compilation pipeline. var assemblyName = m_assemblyNameProvider.GetAssemblyNameFromScriptPath(asset + ".cs"); assemblyName = assemblyName ?? m_assemblyNameProvider.GetAssemblyNameFromScriptPath(asset + ".js"); assemblyName = assemblyName ?? m_assemblyNameProvider.GetAssemblyNameFromScriptPath(asset + ".boo"); if (string.IsNullOrEmpty(assemblyName)) { continue; } assemblyName = Utility.FileNameWithoutExtension(assemblyName); StringBuilder projectBuilder = null; if (!stringBuilders.TryGetValue(assemblyName, out projectBuilder)) { projectBuilder = new StringBuilder(); stringBuilders[assemblyName] = projectBuilder; } projectBuilder.Append(" <None Include=\"").Append(EscapedRelativePathFor(asset)).Append("\" />").Append(WindowsNewline); } } var result = new Dictionary <string, string>(); foreach (var entry in stringBuilders) { result[entry.Key] = entry.Value.ToString(); } return(result); }
private Dictionary <string, string> GenerateAllAssetProjectParts() { var stringBuilders = new Dictionary <string, StringBuilder>(); foreach (var asset in m_AssemblyNameProvider.GetAllAssetPaths()) { // Exclude files coming from packages except if they are internalized. if (m_AssemblyNameProvider.IsInternalizedPackagePath(asset)) { continue; } var extension = Path.GetExtension(asset); if (IsSupportedExtension(extension) && !extension.Equals(".cs", StringComparison.OrdinalIgnoreCase)) { // Find assembly the asset belongs to by adding script extension and using compilation pipeline. var assemblyName = m_AssemblyNameProvider.GetAssemblyNameFromScriptPath(asset + ".cs"); if (string.IsNullOrEmpty(assemblyName)) { continue; } assemblyName = FileSystemUtil.FileNameWithoutExtension(assemblyName); if (!stringBuilders.TryGetValue(assemblyName, out var projectBuilder)) { projectBuilder = new StringBuilder(); stringBuilders[assemblyName] = projectBuilder; } projectBuilder.Append(" <None Include=\"").Append(EscapedRelativePathFor(asset)).Append("\" />") .Append(Environment.NewLine); } } var result = new Dictionary <string, string>(); foreach (var entry in stringBuilders) { result[entry.Key] = entry.Value.ToString(); } return(result); }
private Dictionary <string, string> GenerateAllAssetProjectParts() { Dictionary <string, StringBuilder> stringBuilders = new Dictionary <string, StringBuilder>(); foreach (string asset in m_AssemblyNameProvider.GetAllAssetPaths()) { // Exclude files coming from packages except if they are internalized. if (m_AssemblyNameProvider.IsInternalizedPackagePath(asset)) { continue; } if (IsSupportedFile(asset, out var extensionWithoutDot) && ScriptingLanguage.None == ScriptingLanguageForExtension(extensionWithoutDot)) { // Find assembly the asset belongs to by adding script extension and using compilation pipeline. var assemblyName = m_AssemblyNameProvider.GetAssemblyNameFromScriptPath(asset); if (string.IsNullOrEmpty(assemblyName)) { continue; } assemblyName = Path.GetFileNameWithoutExtension(assemblyName); if (!stringBuilders.TryGetValue(assemblyName, out var projectBuilder)) { projectBuilder = new StringBuilder(); stringBuilders[assemblyName] = projectBuilder; } IncludeAsset(projectBuilder, "None", asset); } } var result = new Dictionary <string, string>(); foreach (var entry in stringBuilders) { result[entry.Key] = entry.Value.ToString(); } return(result); }