diff options
author | Jon Skeet <skeet@pobox.com> | 2008-09-04 15:13:21 +0100 |
---|---|---|
committer | Jon Skeet <skeet@pobox.com> | 2008-09-04 15:13:21 +0100 |
commit | 7fd62ffd77ccedfc6dbe2384901b375859b726b6 (patch) | |
tree | 84408cbb58b8256b04fd955abdbcbdf6e9eb8440 | |
parent | 4658a3dd7ebca6de6271071f13bf4f919cc1169b (diff) | |
download | protobuf-7fd62ffd77ccedfc6dbe2384901b375859b726b6.tar.gz protobuf-7fd62ffd77ccedfc6dbe2384901b375859b726b6.tar.bz2 protobuf-7fd62ffd77ccedfc6dbe2384901b375859b726b6.zip |
Initial setup of generator code. Little real functionality so far.
23 files changed, 489 insertions, 5 deletions
@@ -4,6 +4,10 @@ csharp/ProtocolBuffers/bin/ csharp/ProtocolBuffers/obj/ csharp/ProtocolBuffers.Test/bin/ csharp/ProtocolBuffers.Test/obj/ +csharp/ProtoGen/bin/ +csharp/ProtoGen/obj/ +csharp/ProtoGen.Test/bin/ +csharp/ProtoGen.Test/obj/ csharp/TestBed java/.classpath java/.project diff --git a/csharp/ProtoGen.Test/DependencyResolutionTest.cs b/csharp/ProtoGen.Test/DependencyResolutionTest.cs new file mode 100644 index 00000000..1906c44d --- /dev/null +++ b/csharp/ProtoGen.Test/DependencyResolutionTest.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Text; +using NUnit.Framework; + +namespace ProtoGen { + /// <summary> + /// Tests for the dependency resolution in Generator. + /// </summary> + [TestFixture] + public class DependencyResolutionTest { + + [Test] + public void TwoDistinctFiles() { + } + } +} diff --git a/csharp/ProtoGen.Test/GeneratorTest.cs b/csharp/ProtoGen.Test/GeneratorTest.cs new file mode 100644 index 00000000..137d9348 --- /dev/null +++ b/csharp/ProtoGen.Test/GeneratorTest.cs @@ -0,0 +1,7 @@ +using NUnit.Framework; + +namespace ProtoGen { + [TestFixture] + public class GeneratorTest { + } +} diff --git a/csharp/ProtoGen.Test/Properties/AssemblyInfo.cs b/csharp/ProtoGen.Test/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..98a0a384 --- /dev/null +++ b/csharp/ProtoGen.Test/Properties/AssemblyInfo.cs @@ -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("ProtoGen.Test")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("ProtoGen.Test")] +[assembly: AssemblyCopyright("Copyright © 2008")] +[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("40720ee3-2d15-4271-8c42-8f9cfd01b52f")] + +// 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")] diff --git a/csharp/ProtoGen.Test/Properties/Google.ProtocolBuffers.ProtoGen.Test.snk b/csharp/ProtoGen.Test/Properties/Google.ProtocolBuffers.ProtoGen.Test.snk Binary files differnew file mode 100644 index 00000000..3f53cbd4 --- /dev/null +++ b/csharp/ProtoGen.Test/Properties/Google.ProtocolBuffers.ProtoGen.Test.snk diff --git a/csharp/ProtoGen.Test/ProtoGen.Test.csproj b/csharp/ProtoGen.Test/ProtoGen.Test.csproj new file mode 100644 index 00000000..c1c05243 --- /dev/null +++ b/csharp/ProtoGen.Test/ProtoGen.Test.csproj @@ -0,0 +1,72 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProductVersion>9.0.30729</ProductVersion> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{C268DA4C-4004-47DA-AF23-44C983281A68}</ProjectGuid> + <OutputType>Library</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>ProtoGen</RootNamespace> + <AssemblyName>Google.ProtocolBuffers.ProtoGen.Test</AssemblyName> + <TargetFrameworkVersion>v2.0</TargetFrameworkVersion> + <FileAlignment>512</FileAlignment> + <SignAssembly>true</SignAssembly> + <AssemblyOriginatorKeyFile>Properties\Google.ProtocolBuffers.ProtoGen.Test.snk</AssemblyOriginatorKeyFile> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>bin\Debug\</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>bin\Release\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <ItemGroup> + <Reference Include="nunit.framework, Version=2.2.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\lib\nunit.framework.dll</HintPath> + </Reference> + <Reference Include="Rhino.Mocks, Version=3.5.0.2, Culture=neutral, PublicKeyToken=0b3305902db7183f, processorArchitecture=MSIL"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\lib\Rhino.Mocks.dll</HintPath> + </Reference> + <Reference Include="System" /> + </ItemGroup> + <ItemGroup> + <Compile Include="DependencyResolutionTest.cs" /> + <Compile Include="GeneratorTest.cs" /> + <Compile Include="Properties\AssemblyInfo.cs" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\ProtocolBuffers\ProtocolBuffers.csproj"> + <Project>{6908BDCE-D925-43F3-94AC-A531E6DF2591}</Project> + <Name>ProtocolBuffers</Name> + </ProjectReference> + <ProjectReference Include="..\ProtoGen\ProtoGen.csproj"> + <Project>{250ADE34-82FD-4BAE-86D5-985FBE589C4A}</Project> + <Name>ProtoGen</Name> + </ProjectReference> + </ItemGroup> + <ItemGroup> + <None Include="Properties\Google.ProtocolBuffers.ProtoGen.Test.snk" /> + </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>
\ No newline at end of file diff --git a/csharp/ProtoGen/DependencyResolutionException.cs b/csharp/ProtoGen/DependencyResolutionException.cs new file mode 100644 index 00000000..4e483fc1 --- /dev/null +++ b/csharp/ProtoGen/DependencyResolutionException.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Google.ProtocolBuffers.ProtoGen { + /// <summary> + /// Exception thrown when dependencies within a descriptor set can't be resolved. + /// </summary> + public sealed class DependencyResolutionException : Exception { + public DependencyResolutionException(string message) : base(message) { + } + + public DependencyResolutionException(string format, params object[] args) + : base(string.Format(format, args)) { + } + } +} diff --git a/csharp/ProtoGen/Generator.cs b/csharp/ProtoGen/Generator.cs new file mode 100644 index 00000000..d1ff76b2 --- /dev/null +++ b/csharp/ProtoGen/Generator.cs @@ -0,0 +1,47 @@ +using System; +using System.Collections.Generic; +using Google.ProtocolBuffers.DescriptorProtos; +using System.IO; +using Google.ProtocolBuffers.Descriptors; + +namespace Google.ProtocolBuffers.ProtoGen { + /// <summary> + /// Code generator for protocol buffers. Only C# is supported at the moment. + /// </summary> + public sealed class Generator { + + readonly GeneratorOptions options; + + private Generator(GeneratorOptions options) { + options.Validate(); + this.options = options; + } + + /// <summary> + /// Returns a generator configured with the specified options. + /// </summary> + public static Generator CreateGenerator(GeneratorOptions options) { + return new Generator(options); + } + + public void Generate() { + foreach (string inputFile in options.InputFiles) { + FileDescriptorSet descriptorProtos; + using (Stream inputStream = File.OpenRead(inputFile)) { + descriptorProtos = FileDescriptorSet.ParseFrom(inputStream); + } + List<FileDescriptor> descriptors = ConvertDescriptors(descriptorProtos); + } + } + + /// <summary> + /// Resolves any dependencies and converts FileDescriptorProtos into FileDescriptors. + /// The list returned is in the same order as the protos are listed in the descriptor set. + /// Note: this method is internal rather than private to allow testing. + /// </summary> + /// <exception cref="DependencyResolutionException">Not all dependencies could be resolved.</exception> + internal static List<FileDescriptor> ConvertDescriptors(FileDescriptorSet descriptorProtos) { + return null; + } + } +} diff --git a/csharp/ProtoGen/GeneratorOptions.cs b/csharp/ProtoGen/GeneratorOptions.cs new file mode 100644 index 00000000..c37352ed --- /dev/null +++ b/csharp/ProtoGen/GeneratorOptions.cs @@ -0,0 +1,69 @@ +using System.Collections.Generic; +using System.IO; + +namespace Google.ProtocolBuffers.ProtoGen { + + /// <summary> + /// All the configuration required for the generator - where to generate + /// output files, the location of input files etc. While this isn't immutable + /// in practice, the contents shouldn't be changed after being passed to + /// the generator. + /// </summary> + public sealed class GeneratorOptions { + + public string OutputDirectory { get; set; } + public IList<string> InputFiles { get; set; } + + /// <summary> + /// Attempts to validate the options, but doesn't throw an exception if they're invalid. + /// Instead, when this method returns false, the output variable will contain a collection + /// of reasons for the validation failure. + /// </summary> + /// <param name="reasons">Variable to receive a list of reasons in case of validation failure.</param> + /// <returns>true if the options are valid; false otherwise</returns> + public bool TryValidate(out IList<string> reasons) { + List<string> tmpReasons = new List<string>(); + + // Output directory validation + if (string.IsNullOrEmpty(OutputDirectory)) { + tmpReasons.Add("No output directory specified"); + } else { + if (!Directory.Exists(OutputDirectory)) { + tmpReasons.Add("Specified output directory (" + OutputDirectory + " doesn't exist."); + } + } + + // Input file validation (just in terms of presence) + if (InputFiles == null || InputFiles.Count == 0) { + tmpReasons.Add("No input files specified"); + } else { + foreach (string input in InputFiles) { + FileInfo fi = new FileInfo(input); + if (!fi.Exists) { + tmpReasons.Add("Input file " + input + " doesn't exist."); + } + } + } + + if (tmpReasons.Count != 0) { + reasons = tmpReasons; + return false; + } + + reasons = null; + return true; + } + + /// <summary> + /// Validates that all the options have been set and are valid, + /// throwing an exception if they haven't. + /// </summary> + /// <exception cref="InvalidOptionsException">The options are invalid.</exception> + public void Validate() { + IList<string> reasons; + if (!TryValidate(out reasons)) { + throw new InvalidOptionsException(reasons); + } + } + } +} diff --git a/csharp/ProtoGen/InvalidOptionsException.cs b/csharp/ProtoGen/InvalidOptionsException.cs new file mode 100644 index 00000000..aee03228 --- /dev/null +++ b/csharp/ProtoGen/InvalidOptionsException.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Text; +using Google.ProtocolBuffers.Collections; + +namespace Google.ProtocolBuffers.ProtoGen { + /// <summary> + /// Exception thrown to indicate that the options passed were invalid. + /// </summary> + public sealed class InvalidOptionsException : Exception { + + private readonly IList<string> reasons; + + /// <summary> + /// An immutable list of reasons why the options were invalid. + /// </summary> + public IList<string> Reasons { + get { return reasons; } + } + + public InvalidOptionsException(IList<string> reasons) + : base(BuildMessage(reasons)) { + this.reasons = Lists.AsReadOnly(reasons); + } + + private static string BuildMessage(IEnumerable<string> reasons) { + StringBuilder builder = new StringBuilder("Invalid options:"); + builder.AppendLine(); + foreach (string reason in reasons) { + builder.Append(" "); + builder.AppendLine(reason); + } + return builder.ToString(); + } + } +} diff --git a/csharp/ProtoGen/Program.cs b/csharp/ProtoGen/Program.cs new file mode 100644 index 00000000..22245ab8 --- /dev/null +++ b/csharp/ProtoGen/Program.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; + +namespace Google.ProtocolBuffers.ProtoGen { + /// <summary> + /// Entry point for the Protocol Buffers generator. + /// </summary> + class Program { + static int Main(string[] args) { + try { + + GeneratorOptions options = ParseCommandLineArguments(args); + + IList<string> validationFailures; + if (!options.TryValidate(out validationFailures)) { + // We've already got the message-building logic in the exception... + InvalidOptionsException exception = new InvalidOptionsException(validationFailures); + Console.WriteLine(exception.Message); + return 1; + } + + Generator generator = Generator.CreateGenerator(options); + generator.Generate(); + + + return 0; + } catch (Exception e) { + Console.Error.WriteLine("Caught unhandled exception: {0}", e); + return 1; + } + } + + private static GeneratorOptions ParseCommandLineArguments(string[] args) { + GeneratorOptions options = new GeneratorOptions(); + string baseDir = "c:\\Users\\Jon\\Documents\\Visual Studio 2008\\Projects\\ProtocolBuffers"; + options.OutputDirectory = baseDir + "\\tmp"; + options.InputFiles = new[] { baseDir + "\\protos\\nwind.protobin" }; + return options; + } + } +}
\ No newline at end of file diff --git a/csharp/ProtoGen/Properties/AssemblyInfo.cs b/csharp/ProtoGen/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..24f5d781 --- /dev/null +++ b/csharp/ProtoGen/Properties/AssemblyInfo.cs @@ -0,0 +1,42 @@ +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("ProtoGen")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("ProtoGen")] +[assembly: AssemblyCopyright("Copyright © 2008")] +[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("7101763b-7a38-41be-87f5-7ede4c554509")] + +// 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")] +[assembly: InternalsVisibleTo("Google.ProtocolBuffers.ProtoGen.Test,PublicKey=" + +"0024000004800000940000000602000000240000525341310004000001000100cf43741ffc3e65" + +"c85707245e144e90f1bb82f20d1b1555846008d4d5d5c9270a980350dcb1ddd40fcdde13c2780c" + +"75c9057123daa5613cb6551e2b8bd2254e8f84b3893369869e5119b752442aef7156c4defc489b" + +"96c44ff801fe8d94199e048f8ff414813c9c811a029bcd697040700dc66982539e9b368cb5e725" + +"feed60f2")] diff --git a/csharp/ProtoGen/Properties/Google.ProtocolBuffers.ProtoGen.snk b/csharp/ProtoGen/Properties/Google.ProtocolBuffers.ProtoGen.snk Binary files differnew file mode 100644 index 00000000..8e4d98a5 --- /dev/null +++ b/csharp/ProtoGen/Properties/Google.ProtocolBuffers.ProtoGen.snk diff --git a/csharp/ProtoGen/ProtoGen.csproj b/csharp/ProtoGen/ProtoGen.csproj new file mode 100644 index 00000000..b4d06c50 --- /dev/null +++ b/csharp/ProtoGen/ProtoGen.csproj @@ -0,0 +1,66 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProductVersion>9.0.30729</ProductVersion> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{250ADE34-82FD-4BAE-86D5-985FBE589C4A}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>Google.ProtocolBuffers.ProtoGen</RootNamespace> + <AssemblyName>ProtoGen</AssemblyName> + <TargetFrameworkVersion>v2.0</TargetFrameworkVersion> + <FileAlignment>512</FileAlignment> + <TargetFrameworkSubset> + </TargetFrameworkSubset> + <SignAssembly>true</SignAssembly> + <AssemblyOriginatorKeyFile>Properties\Google.ProtocolBuffers.ProtoGen.snk</AssemblyOriginatorKeyFile> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>bin\Debug\</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>bin\Release\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <ItemGroup> + <Reference Include="System" /> + </ItemGroup> + <ItemGroup> + <Compile Include="DependencyResolutionException.cs" /> + <Compile Include="Generator.cs" /> + <Compile Include="GeneratorOptions.cs" /> + <Compile Include="InvalidOptionsException.cs" /> + <Compile Include="Program.cs" /> + <Compile Include="Properties\AssemblyInfo.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="Properties\Google.ProtocolBuffers.ProtoGen.snk" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\ProtocolBuffers\ProtocolBuffers.csproj"> + <Project>{6908BDCE-D925-43F3-94AC-A531E6DF2591}</Project> + <Name>ProtocolBuffers</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>
\ No newline at end of file diff --git a/csharp/ProtoGen/app.config b/csharp/ProtoGen/app.config new file mode 100644 index 00000000..df20690a --- /dev/null +++ b/csharp/ProtoGen/app.config @@ -0,0 +1,3 @@ +<?xml version="1.0"?> +<configuration> +<startup><supportedRuntime version="v2.0.50727"/></startup></configuration> diff --git a/csharp/ProtocolBuffers.Test/Properties/ProtocolBuffers.Test.snk b/csharp/ProtocolBuffers.Test/Properties/Google.ProtocolBuffers.Test.snk Binary files differindex 20046fb2..20046fb2 100644 --- a/csharp/ProtocolBuffers.Test/Properties/ProtocolBuffers.Test.snk +++ b/csharp/ProtocolBuffers.Test/Properties/Google.ProtocolBuffers.Test.snk diff --git a/csharp/ProtocolBuffers.Test/ProtocolBuffers.Test.csproj b/csharp/ProtocolBuffers.Test/ProtocolBuffers.Test.csproj index 19cacd01..6335c614 100644 --- a/csharp/ProtocolBuffers.Test/ProtocolBuffers.Test.csproj +++ b/csharp/ProtocolBuffers.Test/ProtocolBuffers.Test.csproj @@ -13,7 +13,7 @@ <TargetFrameworkVersion>v2.0</TargetFrameworkVersion> <FileAlignment>512</FileAlignment> <SignAssembly>true</SignAssembly> - <AssemblyOriginatorKeyFile>Properties\ProtocolBuffers.Test.snk</AssemblyOriginatorKeyFile> + <AssemblyOriginatorKeyFile>Properties\Google.ProtocolBuffers.Test.snk</AssemblyOriginatorKeyFile> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> @@ -35,11 +35,11 @@ <ItemGroup> <Reference Include="nunit.framework, Version=2.2.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77"> <SpecificVersion>False</SpecificVersion> - <HintPath>lib\nunit.framework.dll</HintPath> + <HintPath>..\lib\nunit.framework.dll</HintPath> </Reference> <Reference Include="Rhino.Mocks, Version=3.5.0.2, Culture=neutral, PublicKeyToken=0b3305902db7183f, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> - <HintPath>lib\Rhino.Mocks.dll</HintPath> + <HintPath>..\lib\Rhino.Mocks.dll</HintPath> </Reference> <Reference Include="System" /> </ItemGroup> @@ -79,7 +79,7 @@ </ProjectReference> </ItemGroup> <ItemGroup> - <None Include="Properties\ProtocolBuffers.Test.snk" /> + <None Include="Properties\Google.ProtocolBuffers.Test.snk" /> </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. diff --git a/csharp/ProtocolBuffers.Test/lib/Rhino.Mocks.dll b/csharp/lib/Rhino.Mocks.dll Binary files differindex 5ebbe568..5ebbe568 100644 --- a/csharp/ProtocolBuffers.Test/lib/Rhino.Mocks.dll +++ b/csharp/lib/Rhino.Mocks.dll diff --git a/csharp/ProtocolBuffers.Test/lib/Rhino.Mocks.xml b/csharp/lib/Rhino.Mocks.xml index f36b92f1..f36b92f1 100644 --- a/csharp/ProtocolBuffers.Test/lib/Rhino.Mocks.xml +++ b/csharp/lib/Rhino.Mocks.xml diff --git a/csharp/ProtocolBuffers.Test/lib/nunit-license.txt b/csharp/lib/nunit-license.txt index 4beb762c..4beb762c 100644 --- a/csharp/ProtocolBuffers.Test/lib/nunit-license.txt +++ b/csharp/lib/nunit-license.txt diff --git a/csharp/ProtocolBuffers.Test/lib/nunit.framework.dll b/csharp/lib/nunit.framework.dll Binary files differindex 3c401e69..3c401e69 100644 --- a/csharp/ProtocolBuffers.Test/lib/nunit.framework.dll +++ b/csharp/lib/nunit.framework.dll diff --git a/csharp/ProtocolBuffers.Test/lib/rhino-license.txt b/csharp/lib/rhino-license.txt index 1c8a46e4..1c8a46e4 100644 --- a/csharp/ProtocolBuffers.Test/lib/rhino-license.txt +++ b/csharp/lib/rhino-license.txt diff --git a/vsprojects/protobuf.sln b/vsprojects/protobuf.sln index 7a32fa04..0bc58ca3 100644 --- a/vsprojects/protobuf.sln +++ b/vsprojects/protobuf.sln @@ -27,6 +27,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProtocolBuffers.Test", "..\ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestBed", "..\csharp\TestBed\TestBed.csproj", "{BFA454A0-63F3-4850-BE9C-8CACD242EB50}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProtoGen", "..\csharp\ProtoGen\ProtoGen.csproj", "{250ADE34-82FD-4BAE-86D5-985FBE589C4A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProtoGen.Test", "..\csharp\ProtoGen.Test\ProtoGen.Test.csproj", "{C268DA4C-4004-47DA-AF23-44C983281A68}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -75,7 +79,6 @@ Global {4DF72760-C055-40A5-A77E-30A17E2AC2DB}.Release|Mixed Platforms.ActiveCfg = Release|Win32 {4DF72760-C055-40A5-A77E-30A17E2AC2DB}.Release|Mixed Platforms.Build.0 = Release|Win32 {4DF72760-C055-40A5-A77E-30A17E2AC2DB}.Release|Win32.ActiveCfg = Release|Win32 - {4DF72760-C055-40A5-A77E-30A17E2AC2DB}.Release|Win32.Build.0 = Release|Win32 {6908BDCE-D925-43F3-94AC-A531E6DF2591}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6908BDCE-D925-43F3-94AC-A531E6DF2591}.Debug|Any CPU.Build.0 = Debug|Any CPU {6908BDCE-D925-43F3-94AC-A531E6DF2591}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU @@ -112,6 +115,30 @@ Global {BFA454A0-63F3-4850-BE9C-8CACD242EB50}.Release|Mixed Platforms.Build.0 = Release|Any CPU {BFA454A0-63F3-4850-BE9C-8CACD242EB50}.Release|Win32.ActiveCfg = Release|Any CPU {BFA454A0-63F3-4850-BE9C-8CACD242EB50}.Release|Win32.Build.0 = Release|Any CPU + {250ADE34-82FD-4BAE-86D5-985FBE589C4A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {250ADE34-82FD-4BAE-86D5-985FBE589C4A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {250ADE34-82FD-4BAE-86D5-985FBE589C4A}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {250ADE34-82FD-4BAE-86D5-985FBE589C4A}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {250ADE34-82FD-4BAE-86D5-985FBE589C4A}.Debug|Win32.ActiveCfg = Debug|Any CPU + {250ADE34-82FD-4BAE-86D5-985FBE589C4A}.Debug|Win32.Build.0 = Debug|Any CPU + {250ADE34-82FD-4BAE-86D5-985FBE589C4A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {250ADE34-82FD-4BAE-86D5-985FBE589C4A}.Release|Any CPU.Build.0 = Release|Any CPU + {250ADE34-82FD-4BAE-86D5-985FBE589C4A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {250ADE34-82FD-4BAE-86D5-985FBE589C4A}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {250ADE34-82FD-4BAE-86D5-985FBE589C4A}.Release|Win32.ActiveCfg = Release|Any CPU + {250ADE34-82FD-4BAE-86D5-985FBE589C4A}.Release|Win32.Build.0 = Release|Any CPU + {C268DA4C-4004-47DA-AF23-44C983281A68}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C268DA4C-4004-47DA-AF23-44C983281A68}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C268DA4C-4004-47DA-AF23-44C983281A68}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {C268DA4C-4004-47DA-AF23-44C983281A68}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {C268DA4C-4004-47DA-AF23-44C983281A68}.Debug|Win32.ActiveCfg = Debug|Any CPU + {C268DA4C-4004-47DA-AF23-44C983281A68}.Debug|Win32.Build.0 = Debug|Any CPU + {C268DA4C-4004-47DA-AF23-44C983281A68}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C268DA4C-4004-47DA-AF23-44C983281A68}.Release|Any CPU.Build.0 = Release|Any CPU + {C268DA4C-4004-47DA-AF23-44C983281A68}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {C268DA4C-4004-47DA-AF23-44C983281A68}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {C268DA4C-4004-47DA-AF23-44C983281A68}.Release|Win32.ActiveCfg = Release|Any CPU + {C268DA4C-4004-47DA-AF23-44C983281A68}.Release|Win32.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE |