Moved Visual Studio project and solution DataFormats to separate plugin

This commit is contained in:
Michael Becker 2014-06-10 12:45:07 -04:00
parent 653e47fd94
commit 5c3c5ffa7c
6 changed files with 149 additions and 6 deletions

View File

@ -53,8 +53,6 @@
<Compile Include="DataFormats\PropertyList\UniversalPropertyList\VariantType.cs" />
<Compile Include="DataFormats\PropertyList\WindowsConfigurationDataFormat.cs" />
<Compile Include="DataFormats\PropertyList\XML\XMLPropertyListDataFormat.cs" />
<Compile Include="DataFormats\Solution\Microsoft\VisualStudio\VisualStudioProjectDataFormat.cs" />
<Compile Include="DataFormats\Solution\Microsoft\VisualStudio\VisualStudioSolutionDataFormat.cs" />
<Compile Include="ObjectModels\Chunked\ChunkedObjectModel.cs" />
<Compile Include="ObjectModels\Chunked\RIFFChunk.cs" />
<Compile Include="ObjectModels\Chunked\RIFFDataChunk.cs" />

View File

@ -6,6 +6,7 @@ using UniversalEditor.Accessors;
using UniversalEditor.IO;
using UniversalEditor.ObjectModels.PropertyList;
using UniversalEditor.ObjectModels.Solution;
using UniversalEditor.UserInterface;
namespace UniversalEditor.DataFormats.Solution.Microsoft.VisualStudio
{
@ -49,11 +50,46 @@ namespace UniversalEditor.DataFormats.Solution.Microsoft.VisualStudio
string signature2 = reader.ReadLine();
if (!signature2.StartsWith(signature2Verify)) throw new InvalidDataFormatException("File does not begin with \"" + signature2Verify + "\"");
Project lastProject = null;
while (!reader.EndOfStream)
{
string line = reader.ReadLine();
string line = reader.ReadLine().Trim();
if (line.StartsWith("#") || String.IsNullOrEmpty(line)) continue;
if (line.StartsWith("Project("))
{
if (!line.Contains("="))
{
HostApplication.Messages.Add(HostApplicationMessageSeverity.Warning, "Invalid Project declaration in solution file");
continue;
}
lastProject = new Project();
string strProjectTypeID = line.Substring(9, line.IndexOf(')') - 10);
Guid projectTypeID = new Guid(strProjectTypeID);
string restOfDeclaration = line.Substring(line.IndexOf('=') + 1).Trim();
}
else if (line == "EndProject")
{
lastProject = null;
}
else if (line.StartsWith("GlobalSection("))
{
}
else if (line == "EndGlobalSection")
{
}
else
{
HostApplication.Messages.Add(HostApplicationMessageSeverity.Warning, "Ignoring unknown solution directive \"" + line + "\"");
continue;
}
}
}
@ -96,11 +132,12 @@ namespace UniversalEditor.DataFormats.Solution.Microsoft.VisualStudio
SolutionObjectModel solproj = new SolutionObjectModel();
solproj.Projects.Add(project);
if (!System.IO.Directory.Exists(soldir))
string projdir = soldir + "/" + project.Title;
if (!System.IO.Directory.Exists(projdir))
{
System.IO.Directory.CreateDirectory(soldir);
System.IO.Directory.CreateDirectory(projdir);
}
Document.Save(solproj, new VisualStudioProjectDataFormat(), new FileAccessor(soldir + "/" + project.Title + "/" + project.Title + ".ueproj"), true);
Document.Save(solproj, new VisualStudioProjectDataFormat(), new FileAccessor(projdir + "/" + project.Title + ".ueproj", true, true), true);
}
writer.WriteLine("Global");

View File

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("UniversalEditor.Plugins.Microsoft.VisualStudio")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("City of Orlando")]
[assembly: AssemblyProduct("UniversalEditor.Plugins.Microsoft.VisualStudio")]
[assembly: AssemblyCopyright("Copyright © City of Orlando 2014")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("b644f4de-a2c1-42bc-9d5d-ee1ba2bf8ef6")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{E6C9A73D-4556-4220-9BC7-302A7EE64C1A}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>UniversalEditor</RootNamespace>
<AssemblyName>UniversalEditor.Plugins.Microsoft.VisualStudio</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\Output\Debug\Plugins\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\..\Output\Release\Plugins\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="DataFormats\Solution\Microsoft\VisualStudio\VisualStudioProjectDataFormat.cs" />
<Compile Include="DataFormats\Solution\Microsoft\VisualStudio\VisualStudioSolutionDataFormat.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Libraries\UniversalEditor.Core\UniversalEditor.Core.csproj">
<Project>{2d4737e6-6d95-408a-90db-8dff38147e85}</Project>
<Name>UniversalEditor.Core</Name>
</ProjectReference>
<ProjectReference Include="..\..\Libraries\UniversalEditor.UserInterface\UniversalEditor.UserInterface.csproj">
<Project>{8622ebc4-8e20-476e-b284-33d472081f5c}</Project>
<Name>UniversalEditor.UserInterface</Name>
</ProjectReference>
<ProjectReference Include="..\UniversalEditor.Essential\UniversalEditor.Essential.csproj">
<Project>{30467e5c-05bc-4856-aadc-13906ef4cadd}</Project>
<Name>UniversalEditor.Essential</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@ -91,6 +91,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Surodoine", "..\..\Surodoin
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.Microsoft.Merlin", "Plugins\UniversalEditor.Plugins.Microsoft.Merlin\UniversalEditor.Plugins.Microsoft.Merlin.csproj", "{9F1FDC26-5F1C-4C2A-BBBF-3A597A72802D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.Microsoft.VisualStudio", "Plugins\UniversalEditor.Plugins.Microsoft.VisualStudio\UniversalEditor.Plugins.Microsoft.VisualStudio.csproj", "{E6C9A73D-4556-4220-9BC7-302A7EE64C1A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -311,6 +313,12 @@ Global
{9F1FDC26-5F1C-4C2A-BBBF-3A597A72802D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9F1FDC26-5F1C-4C2A-BBBF-3A597A72802D}.Release|Any CPU.Build.0 = Release|Any CPU
{9F1FDC26-5F1C-4C2A-BBBF-3A597A72802D}.Release|x86.ActiveCfg = Release|Any CPU
{E6C9A73D-4556-4220-9BC7-302A7EE64C1A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E6C9A73D-4556-4220-9BC7-302A7EE64C1A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E6C9A73D-4556-4220-9BC7-302A7EE64C1A}.Debug|x86.ActiveCfg = Debug|Any CPU
{E6C9A73D-4556-4220-9BC7-302A7EE64C1A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E6C9A73D-4556-4220-9BC7-302A7EE64C1A}.Release|Any CPU.Build.0 = Release|Any CPU
{E6C9A73D-4556-4220-9BC7-302A7EE64C1A}.Release|x86.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -344,6 +352,7 @@ Global
{41DBA506-177E-4B2D-8E6D-738E371326A1} = {71CFF024-26F7-4626-A526-B435FDF8D64E}
{BED1EEAF-9ADD-46F6-92D0-53957858E25B} = {71CFF024-26F7-4626-A526-B435FDF8D64E}
{9F1FDC26-5F1C-4C2A-BBBF-3A597A72802D} = {71CFF024-26F7-4626-A526-B435FDF8D64E}
{E6C9A73D-4556-4220-9BC7-302A7EE64C1A} = {71CFF024-26F7-4626-A526-B435FDF8D64E}
{FE016EA3-DC31-4A92-8B0A-8C746EC117E1} = {46041F27-7C1C-4209-B72B-251EDB5D4C61}
{C1F34183-7A2F-41A6-9958-F6F329099654} = {A846CA33-9CAA-4237-B14F-8721DBA89442}
{5A423A3E-51C5-4188-8AD5-FB5C0CB76C6A} = {C1F34183-7A2F-41A6-9958-F6F329099654}