diff --git a/Build.props b/Build.props new file mode 100644 index 0000000..2d7fd55 --- /dev/null +++ b/Build.props @@ -0,0 +1,19 @@ + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + + $(MSBuildThisFileDirectory.TrimEnd('\')) + + + + + + + $(IntermediateOutputPath.TrimEnd('\'))\$(TargetFrameworkFolderName) + + + diff --git a/build.root b/build.root new file mode 100644 index 0000000..a781e32 --- /dev/null +++ b/build.root @@ -0,0 +1 @@ +Marker file indicating root of build system. \ No newline at end of file diff --git a/src/AssemblyInfo/AssemblyInfoCommon.cs b/src/AssemblyInfo/AssemblyInfoCommon.cs new file mode 100644 index 0000000..c84aff8 --- /dev/null +++ b/src/AssemblyInfo/AssemblyInfoCommon.cs @@ -0,0 +1,75 @@ +//--------------------------------------------------------------------- +// +// Copyright (C) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information. +// +//--------------------------------------------------------------------- + +using System; +using System.Reflection; +using System.Resources; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using System.Security; + +[assembly: AssemblyCompany("Microsoft Corporation")] +// If you want to control this metadata globally but not with the VersionProductName property, hard-code the value below. +// If you want to control this metadata at the individual project level with AssemblyInfo.cs, comment-out the line below. +// If you leave the line below unchanged, make sure to set the property in the root build.props, e.g.: Your Product Name +// [assembly: AssemblyProduct("%VersionProductName%")] +[assembly: AssemblyCopyright("Copyright (c) Microsoft Corporation. All rights reserved.")] +[assembly: AssemblyTrademark("Microsoft and Windows are either registered trademarks or trademarks of Microsoft Corporation in the U.S. and/or other countries.")] +[assembly: AssemblyCulture("")] +#if (DEBUG || _DEBUG) +[assembly: AssemblyConfiguration("Debug")] +#endif + +#if ASSEMBLY_ATTRIBUTE_PRODUCT_VS +[assembly: AssemblyProduct("Microsoft (R) Visual Studio (R) 2010")] +#else +[assembly: AssemblyProduct("Microsoft® .NET Framework")] +#endif + +// disable CLSCompliant as the common extensions library decided not to support this +// see https://github.com/aspnet/AspNetCore/issues/2689#issuecomment-354693946 +[assembly: CLSCompliant(false)] + +#if ASSEMBLY_ATTRIBUTE_COM_VISIBLE +[assembly: ComVisible(true)] +#else +[assembly: ComVisible(false)] +#endif + +#if ASSEMBLY_ATTRIBUTE_COM_COMPATIBLE_SIDEBYSIDE +[assembly:ComCompatibleVersion(1,0,3300,0)] +#endif + +#if ASSEMBLY_ATTRIBUTE_ALLOW_PARTIALLY_TRUSTED_CALLERS +[assembly: AllowPartiallyTrustedCallers] +#else +#if ASSEMBLY_ATTRIBUTE_CONDITIONAL_APTCA_L2 +[assembly:AllowPartiallyTrustedCallers(PartialTrustVisibilityLevel=PartialTrustVisibilityLevel.NotVisibleByDefault)] +#endif +#endif + +#if ASSEMBLY_ATTRIBUTE_TRANSPARENT_ASSEMBLY +[assembly: SecurityTransparent] +#endif + +#if !SUPPRESS_SECURITY_RULES +#if SECURITY_MIGRATION && !ASSEMBLY_ATTRIBUTE_CONDITIONAL_APTCA_L2 +#if ASSEMBLY_ATTRIBUTE_SKIP_VERIFICATION_IN_FULLTRUST +[assembly: SecurityRules(SecurityRuleSet.Level1, SkipVerificationInFullTrust = true)] +#else +[assembly: SecurityRules(SecurityRuleSet.Level1)] +#endif +#else +#if ASSEMBLY_ATTRIBUTE_SKIP_VERIFICATION_IN_FULLTRUST +[assembly: SecurityRules(SecurityRuleSet.Level2, SkipVerificationInFullTrust = true)] +#else +[assembly: SecurityRules(SecurityRuleSet.Level2)] +#endif +#endif +#endif + +[assembly:NeutralResourcesLanguageAttribute("en-US")] diff --git a/src/AssemblyInfo/AssemblyKeys.cs b/src/AssemblyInfo/AssemblyKeys.cs new file mode 100644 index 0000000..eb98d48 --- /dev/null +++ b/src/AssemblyInfo/AssemblyKeys.cs @@ -0,0 +1,43 @@ +//--------------------------------------------------------------------- +// +// Copyright (C) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information. +// +//--------------------------------------------------------------------- + +/// +/// Sets public key string for friend assemblies. +/// +internal static class AssemblyRef +{ +#if DelaySignKeys + /// ProductPublicKey is an official MS supported public key for external releases. + internal const string ProductPublicKey = ", PublicKey=0024000004800000940000000602000000240000525341310004000001000100B5FC90E7027F67871E773A8FDE8938C81DD402BA65B9201D60593E96C492651E889CC13F1415EBB53FAC1131AE0BD333C5EE6021672D9718EA31A8AEBD0DA0072F25D87DBA6FC90FFD598ED4DA35E44C398C454307E8E33B8426143DAEC9F596836F97C8F74750E5975C64E2189F45DEF46B2A2B1247ADC3652BF5C308055DA9"; + + /// TestPublicKey is an unsupported strong key for testing purpose only. + internal const string TestPublicKey = ", PublicKey=0024000004800000940000000602000000240000525341310004000001000100197c25d0a04f73cb271e8181dba1c0c713df8deebb25864541a66670500f34896d280484b45fe1ff6c29f2ee7aa175d8bcbd0c83cc23901a894a86996030f6292ce6eda6e6f3e6c74b3c5a3ded4903c951e6747e6102969503360f7781bf8bf015058eb89b7621798ccc85aaca036ff1bc1556bb7f62de15908484886aa8bbae"; + + /// Product public key token. + internal const string ProductPublicKeyToken = "31bf3856ad364e35"; + +#elif TestSignKeys + /// Dont know what this is + internal const string TestPublicKey = ", PublicKey=0024000004800000940000000602000000240000525341310004000001000100197c25d0a04f73cb271e8181dba1c0c713df8deebb25864541a66670500f34896d280484b45fe1ff6c29f2ee7aa175d8bcbd0c83cc23901a894a86996030f6292ce6eda6e6f3e6c74b3c5a3ded4903c951e6747e6102969503360f7781bf8bf015058eb89b7621798ccc85aaca036ff1bc1556bb7f62de15908484886aa8bbae"; + + /// Dont know what this is + internal const string ProductPublicKey = TestPublicKey; + + /// Dont know what this is + internal const string ProductPublicKeyToken = "69c3241e6f0468ca"; + +#else + /// No signing + internal const string ProductPublicKey = ""; + + /// No signing + internal const string TestPublicKey = ""; + + /// No signing + internal const string ProductPublicKeyToken = ""; + +#endif +} diff --git a/src/AssemblyInfo/AssemblyMetadataAttribute.cs b/src/AssemblyInfo/AssemblyMetadataAttribute.cs new file mode 100644 index 0000000..a436c0d --- /dev/null +++ b/src/AssemblyInfo/AssemblyMetadataAttribute.cs @@ -0,0 +1,21 @@ +//--------------------------------------------------------------------- +// +// Copyright (C) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information. +// +//--------------------------------------------------------------------- + +namespace System.Reflection +{ + [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true, Inherited = false)] + internal sealed class AssemblyMetadataAttribute : Attribute + { + public AssemblyMetadataAttribute(string key, string value) + { + Key = key; + Value = value; + } + + public string Key { get; set; } + public string Value { get; set; } + } +} diff --git a/src/AssemblyInfo/AssemblyRefs.cs b/src/AssemblyInfo/AssemblyRefs.cs new file mode 100644 index 0000000..8a0e1c3 --- /dev/null +++ b/src/AssemblyInfo/AssemblyRefs.cs @@ -0,0 +1,201 @@ +//--------------------------------------------------------------------- +// +// Copyright (C) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information. +// +//--------------------------------------------------------------------- + +using System; +using System.Runtime.InteropServices; + +/// Current assembly reference +/// DO NOT FORGET TO ALSO UPDATE AssemblyRefs.vb +internal static class DataFxAssemblyRef +{ + /// Current assembly names + internal static class Name + { + internal const string mscorlib = "mscorlib"; + internal const string System = "System"; + internal const string SystemCore = "System.Core"; + internal const string SystemData = "System.Data"; + internal const string SystemDataDataSetExtensions = "System.Data.DataSetExtensions"; + internal const string SystemDataEntity = "System.Data.Entity"; + internal const string SystemDataLinq = "System.Data.Linq"; + internal const string SystemDrawing = "System.Drawing"; + internal const string SystemNumerics = "System.Numerics"; + internal const string SystemRuntimeRemoting = "System.Runtime.Remoting"; + internal const string SystemRuntimeSerialization = "System.Runtime.Serialization"; + internal const string SystemServiceModel = "System.ServiceModel"; + internal const string SystemWeb = "System.Web"; + internal const string SystemWebEntity = "System.Web.Entity"; + internal const string SystemWebEntityDesign = "System.Web.Entity.Design"; + internal const string SystemXml = "System.Xml"; + internal const string SystemXmlLinq = "System.Xml.Linq"; + + internal const string DataEntity = "System.Data.Entity"; + internal const string EntityFramework = "EntityFramework"; + internal const string DataEntityDesign = "System.Data.Entity.Design"; + internal const string DataServices = "Microsoft.OData.Service"; + internal const string DataServicesClient = "Microsoft.OData.Client"; + internal const string DataSvcUtil = "DataSvcUtil"; + internal const string OData = "Microsoft.OData.Core"; + internal const string Spatial = "Microsoft.Spatial"; + internal const string EntityDataModel = "Microsoft.OData.Edm"; + } + + /// Current assembly file names + internal static class File + { + /// base version for data framework + internal const string DS_BaseVersion = VersionConstants.ReleaseVersion; + + /// where to find desktop reference client sku reference assemblies + internal const string DotNetFrameworkV4_ClientReferenceAssemblyPath = @"%ProgramFiles%\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile\Client"; + + /// where to find desktop reference extended sku reference assemblies + internal const string DotNetFrameworkV4_ReferenceAssemblyPath = @"%ProgramFiles%\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0"; + + /// where find executable binaries + internal const string DotNetFrameworkV4_InstallPath = @"%SystemRoot%\Microsoft.NET\Framework\v4.0.30319"; + + internal const string SilverlightV5_ReferenceAssemblyPath = @"%ProgramFiles%\Microsoft Silverlight\5.1.20913.0"; + internal const string SilverlightV5_SdkClientReferenceAssemblyPath = @"%ProgramFiles%\Microsoft SDKs\Silverlight\v5.0\Libraries\Client"; + internal const string SilverlightV5_SdkServerReferenceAssemblyPath = @"%ProgramFiles%\Microsoft SDKs\Silverlight\v5.0\Libraries\Server"; + + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal static string DE_InstallPath + { + get { return GetDE_InstallPath(); } + } + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal static string DS_InstallPath + { + get { return GetDS_InstallPath(); } + } + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal static string DS_PortableInstallPath + { + get { return GetDS_PortableInstallPath(); } + } + + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal static string DS_Tools_InstallPath + { + get { return GetDS_Tools_InstallPath(); } + } + + /// where to find desktop reference assemblies + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal static string DE_ReferenceAssemblyPath + { + get { return GetDE_InstallPath(); } + } + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal static string DS_ReferenceAssemblyPath + { + get { return GetDS_InstallPath(); } + } + + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + private static string GetDE_InstallPath() + { + return RuntimeEnvironment.GetRuntimeDirectory(); + } + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + private static string GetDS_InstallPath() + { + return Environment.ExpandEnvironmentVariables(Environment.Is64BitOperatingSystem + ? @"%ProgramFiles(x86)%\Microsoft WCF Data Services\" + DS_BaseVersion + @"\bin\.NetFramework" + : @"%ProgramFiles%\Microsoft WCF Data Services\" + DS_BaseVersion + @"\bin\.NetFramework"); + } + + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + private static string GetDS_PortableInstallPath() + { + return Environment.ExpandEnvironmentVariables(Environment.Is64BitOperatingSystem + ? @"%ProgramFiles(x86)%\Microsoft WCF Data Services\" + DS_BaseVersion + @"\bin\.NetPortable" + : @"%ProgramFiles%\Microsoft WCF Data Services\" + DS_BaseVersion + @"\bin\.NetPortable"); + } + + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + private static string GetDS_Tools_InstallPath() + { + return Environment.ExpandEnvironmentVariables(Environment.Is64BitOperatingSystem + ? @"%ProgramFiles(x86)%\Microsoft WCF Data Services\" + DS_BaseVersion + @"\bin\tools" + : @"%ProgramFiles%\Microsoft WCF Data Services\" + DS_BaseVersion + @"\bin\tools"); + } + + /// where to find silverlight reference assemblies + internal const string DS_SilverlightReferenceAssemblyPath = @"%ProgramFiles%\Microsoft WCF Data Services\" + DS_BaseVersion + @"\bin\Silverlight"; + + internal const string EntityDataModel = "Microsoft.OData.Edm.dll"; + internal const string DataEntity = "System.Data.Entity.dll"; + internal const string EntityFramework = "EntityFramework.dll"; + internal const string DataEntityDesign = "System.Data.Entity.Design.dll"; + + internal const string DataServices = "Microsoft.OData.Service.dll"; + internal const string DataServicesClient = "Microsoft.OData.Client.dll"; + internal const string DataServicesSilverlightClient = "Microsoft.OData.Client.SL.dll"; + internal const string DataSvcUtil = "DataSvcUtil.exe"; + internal const string ODataLib = "Microsoft.OData.Core.dll"; + internal const string SpatialCore = "Microsoft.Spatial.dll"; + + internal const string System = "System.dll"; + internal const string SystemCore = "System.Core.dll"; + internal const string SystemIO = "System.IO.dll"; + internal const string SystemRuntime = "System.Runtime.dll"; + internal const string SystemXml = "System.Xml.dll"; + internal const string SystemXmlReaderWriter = "System.Xml.ReaderWriter.dll"; + } + + internal const string DataFxAssemblyVersion = VersionConstants.AssemblyVersion; + internal const string FXAssemblyVersion = "4.0.0.0"; + + internal const string EcmaPublicKey = "b77a5c561934e089"; + internal const string EcmaPublicKeyToken = EcmaPublicKey; + internal const string EcmaPublicKeyFull = "00000000000000000400000000000000"; + + internal const string MicrosoftPublicKey = "b03f5f7f11d50a3a"; + internal const string MicrosoftPublicKeyToken = MicrosoftPublicKey; + internal const string MicrosoftPublicKeyFull = "002400000480000094000000060200000024000052534131000400000100010007D1FA57C4AED9F0A32E84AA0FAEFD0DE9E8FD6AEC8F87FB03766C834C99921EB23BE79AD9D5DCC1DD9AD236132102900B723CF980957FC4E177108FC607774F29E8320E92EA05ECE4E821C0A5EFE8F1645C4C0C93C1AB99285D622CAA652C1DFAD63D745D6F2DE5F17E5EAF0FC4963D261C8A12436518206DC093344D5AD293"; + + internal const string SharedLibPublicKey = "31bf3856ad364e35"; + internal const string SharedLibPublicKeyToken = SharedLibPublicKey; + internal const string SharedLibPublicKeyFull = "0024000004800000940000000602000000240000525341310004000001000100B5FC90E7027F67871E773A8FDE8938C81DD402BA65B9201D60593E96C492651E889CC13F1415EBB53FAC1131AE0BD333C5EE6021672D9718EA31A8AEBD0DA0072F25D87DBA6FC90FFD598ED4DA35E44C398C454307E8E33B8426143DAEC9F596836F97C8F74750E5975C64E2189F45DEF46B2A2B1247ADC3652BF5C308055DA9"; + + internal const string SilverlightPublicKey = "31bf3856ad364e35"; + internal const string SilverlightPublicKeyToken = SilverlightPublicKey; + internal const string SilverlightPublicKeyFull = "0024000004800000940000000602000000240000525341310004000001000100B5FC90E7027F67871E773A8FDE8938C81DD402BA65B9201D60593E96C492651E889CC13F1415EBB53FAC1131AE0BD333C5EE6021672D9718EA31A8AEBD0DA0072F25D87DBA6FC90FFD598ED4DA35E44C398C454307E8E33B8426143DAEC9F596836F97C8F74750E5975C64E2189F45DEF46B2A2B1247ADC3652BF5C308055DA9"; + + internal const string SilverlightPlatformPublicKey = "7cec85d7bea7798e"; + internal const string SilverlightPlatformPublicKeyToken = SilverlightPlatformPublicKey; + internal const string SilverlightPlatformPublicKeyFull = "00240000048000009400000006020000002400005253413100040000010001008D56C76F9E8649383049F383C44BE0EC204181822A6C31CF5EB7EF486944D032188EA1D3920763712CCB12D75FB77E9811149E6148E5D32FBAAB37611C1878DDC19E20EF135D0CB2CFF2BFEC3D115810C3D9069638FE4BE215DBF795861920E5AB6F7DB2E2CEEF136AC23D5DD2BF031700AEC232F6C6B1C785B4305C123B37AB"; + + private const string DataFxFramework = ", Version=" + DataFxAssemblyVersion + ", Culture=neutral, PublicKeyToken=" + SharedLibPublicKey; + private const string MicrosoftFramework = ", Version=" + FXAssemblyVersion + ", Culture=neutral, PublicKeyToken=" + MicrosoftPublicKey; + private const string NetFxFramework = ", Version=" + FXAssemblyVersion + ", Culture=neutral, PublicKeyToken=" + EcmaPublicKey; + + internal const string Mscorlib = Name.mscorlib + NetFxFramework; + internal const string System = Name.System + NetFxFramework; + internal const string SystemCore = Name.SystemCore + NetFxFramework; + internal const string SystemData = Name.SystemData + NetFxFramework; + internal const string SystemDataDataSetExtensions = Name.SystemDataDataSetExtensions + NetFxFramework; + internal const string SystemDataEntity = Name.SystemDataEntity + NetFxFramework; + internal const string SystemDataLinq = Name.SystemDataLinq + NetFxFramework; + internal const string SystemDrawing = Name.SystemDrawing + NetFxFramework; + internal const string SystemNumerics = Name.SystemNumerics + NetFxFramework; + internal const string SystemRuntimeRemoting = Name.SystemRuntimeRemoting + NetFxFramework; + internal const string SystemRuntimeSerialization = Name.SystemRuntimeSerialization + NetFxFramework; + internal const string SystemServiceModel = Name.SystemServiceModel + NetFxFramework; + internal const string SystemWeb = Name.SystemWeb + MicrosoftFramework; + internal const string SystemWebEntity = Name.SystemWebEntity + NetFxFramework; + internal const string SystemWebEntityDesign = Name.SystemWebEntityDesign + NetFxFramework; + internal const string SystemXml = Name.SystemXml + NetFxFramework; + internal const string SystemXmlLinq = Name.SystemXmlLinq + NetFxFramework; + + internal const string DataServices = Name.DataServices + DataFxFramework; + internal const string DataServicesClient = Name.DataServicesClient + DataFxFramework; + internal const string EntityDataModel = Name.EntityDataModel + DataFxFramework; + internal const string OData = Name.OData + DataFxFramework; + internal const string Spatial = Name.Spatial + DataFxFramework; +} diff --git a/src/Build.props b/src/Build.props new file mode 100644 index 0000000..e63c26d --- /dev/null +++ b/src/Build.props @@ -0,0 +1,13 @@ + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + $([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), build.root))\ + + + + + + diff --git a/src/Microsoft.OpenApi.OData.Reader/Microsoft.OpenAPI.OData.Reader.csproj b/src/Microsoft.OpenApi.OData.Reader/Microsoft.OpenAPI.OData.Reader.csproj index b11f91d..49fd78e 100644 --- a/src/Microsoft.OpenApi.OData.Reader/Microsoft.OpenAPI.OData.Reader.csproj +++ b/src/Microsoft.OpenApi.OData.Reader/Microsoft.OpenAPI.OData.Reader.csproj @@ -19,8 +19,10 @@ false + + - + diff --git a/src/OoasGui/OoasGui.csproj b/src/OoasGui/OoasGui.csproj index 708e739..c14e7a9 100644 --- a/src/OoasGui/OoasGui.csproj +++ b/src/OoasGui/OoasGui.csproj @@ -32,8 +32,8 @@ 4 - - ..\..\packages\Microsoft.OData.Edm.7.6.1-beta\lib\portable-net45+win8+wpa81\Microsoft.OData.Edm.dll + + ..\..\packages\Microsoft.OData.Edm.7.6.1\lib\portable-net45+win8+wpa81\Microsoft.OData.Edm.dll ..\..\packages\Microsoft.OpenApi.1.1.4\lib\net46\Microsoft.OpenApi.dll diff --git a/src/OoasGui/packages.config b/src/OoasGui/packages.config index 24edad7..5c39632 100644 --- a/src/OoasGui/packages.config +++ b/src/OoasGui/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/tool/After.Common.targets b/tool/After.Common.targets new file mode 100644 index 0000000..ae17c8b --- /dev/null +++ b/tool/After.Common.targets @@ -0,0 +1,188 @@ + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + + GenerateTextStringResources; + GenerateAssemblyAttributeFile; + GenerateVersionConstantsFile; + ExcludeAssemblyFilesFromSourceAnalysis; + $(BuildDependsOn); + + + + + + + + + + + PrepareForBuild; + GenerateStringResources; + + + + + + + + + + + Resx + false + %(Filename) + + + + + + + + + + + + + + + true + + + + + + + + + + + + + UNDEFINED_GenerateAssemblyAttributeTemplate + +using System.Reflection; +using System.Resources; + +[assembly: AssemblyDescription("%AssemblyNameFull%")] +[assembly: AssemblyTitle("%AssemblyNameFull%")] +[assembly: AssemblyDefaultAlias("%AssemblyNameFull%")] +[assembly: AssemblyFileVersion("%VersionFull%")] +[assembly: AssemblyInformationalVersion("%VersionFull%")] +[assembly: AssemblyVersion("%VersionFullSemantic%")] +[assembly: SatelliteContractVersion("%VersionFull%")] +[assembly: AssemblyMetadata("Serviceable", "True")] + + + + + $(GenerateAssemblyAttributeTemplateCSharp) + $(VersionOutputPath)\AssemblyMetadataAttribute$(DefaultLanguageSourceExtension) + true + + + + $(IntermediateOutputPath.TrimEnd("\\"))\AssemblyAttributes$(DefaultLanguageSourceExtension) + $(AssemblyName)$(TargetExt) + $([System.String]::Copy('$(GenerateAssemblyAttributeTemplate)').Replace("%25AssemblyNameFull%25",$(AssemblyNameFull)).Replace("%25VersionFull%25",$(VersionFull)).Replace("%25VersionFullSemantic%25",$(VersionFullSemantic))) + + + + + + + + + + + + + + + + + + + + + + + + + UNDEFINED_GenerateVersionConstantsTemplate + +internal static class VersionConstants +{ + internal const string ReleaseVersion = "%VersionFullSemantic%"; + internal const string AssemblyVersion = "%VersionFullSemantic%"; +} + + +Friend Class VersionConstants + Friend Shared ReleaseVersion As String = "%VersionFullSemantic%" + Friend Shared AssemblyVersion As String = "%VersionFullSemantic%" +End Class + + + + + $(GenerateVersionConstantsTemplateCSharp) + + + + $(GenerateVersionConstantsTemplateVB) + + + + $(IntermediateOutputPath.TrimEnd("\\"))\VersionConstants$(DefaultLanguageSourceExtension) + $([System.String]::Copy('$(GenerateVersionConstantsTemplate)').Replace("%25VersionFull%25",$(VersionFull)).Replace("%25VersionFullSemantic%25",$(VersionFullSemantic))) + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tool/Before.Common.targets b/tool/Before.Common.targets new file mode 100644 index 0000000..28d90d6 --- /dev/null +++ b/tool/Before.Common.targets @@ -0,0 +1,21 @@ + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + $(VersionRunBeforeTargets);CoreCompile + $(EnlistmentRoot)\src\AssemblyInfo + AssemblyInfoCommon$(DefaultLanguageSourceExtension) + + + + + true + $(AssemblyInfoCommonFile) + + + + diff --git a/tool/Build.props b/tool/Build.props new file mode 100644 index 0000000..a8df6b6 --- /dev/null +++ b/tool/Build.props @@ -0,0 +1,20 @@ + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + $([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), build.root)) + $(EnlistmentRoot.TrimEnd({'\\'})) + $(EnlistmentRoot)\tool + + + + + $(MSBuildThisFileDirectory)Before.Common.targets + $(MSBuildThisFileDirectory)After.Common.targets + + + diff --git a/tool/PoliCheck/RunPoliCheck.ps1 b/tool/PoliCheck/RunPoliCheck.ps1 new file mode 100644 index 0000000..92bb179 --- /dev/null +++ b/tool/PoliCheck/RunPoliCheck.ps1 @@ -0,0 +1,34 @@ +param( + [string]$BuildSourceDir, + [string]$folderName, + [string]$branchName, + [string]$resultRoot, + [string]$PoliCheckPath +) + +# +#Example: +# RunPoliCheck.ps1 -BuildSourceDir "C:\BuildAgent\_work\32\s" +# -folderName "src" +# -branchName "odata.net-master" +# -resultRoot "C:\Users\ODatabld\Documents\PoliCheck\LatestRunResult" +# -PoliCheckPath "C:\Program Files (x86)\Microsoft\PoliCheck\" +# + +$targetPath= "${BuildSourceDir}\${folderName}" +Write-Output "targetPath: ${targetPath}" +$result="${resultRoot}\${branchName}\poli_result_${folderName}.xml" + +cd "${PoliCheckPath}" + +.\Policheck.exe /F:$targetPath /T:9 /Sev:"1|2" /PE:2 /O:$result + +$FileContent = Get-Content $result +$PassResult = Select-String -InputObject $FileContent -Pattern "" + +If ($PassResult.Matches.Count -eq 0) { + Write-Error "PoliCheck failed for target ${targetPath}. For details, please check this result file on build machine: ${result}: section ." + exit 1 +} + +Write-Output "PoliCheck pass for target ${targetPath}" \ No newline at end of file diff --git a/tool/UpdateDocs/UpdateDocs.csproj b/tool/UpdateDocs/UpdateDocs.csproj index 1bd833a..a6fdfc7 100644 --- a/tool/UpdateDocs/UpdateDocs.csproj +++ b/tool/UpdateDocs/UpdateDocs.csproj @@ -32,8 +32,8 @@ 4 - - packages\Microsoft.OData.Edm.7.6.1-beta\lib\portable-net45+win8+wpa81\Microsoft.OData.Edm.dll + + packages\Microsoft.OData.Edm.7.6.1\lib\portable-net45+win8+wpa81\Microsoft.OData.Edm.dll packages\Microsoft.OpenApi.1.1.4\lib\net46\Microsoft.OpenApi.dll diff --git a/tool/UpdateDocs/packages.config b/tool/UpdateDocs/packages.config index 24edad7..5c39632 100644 --- a/tool/UpdateDocs/packages.config +++ b/tool/UpdateDocs/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/tool/WebStack.versions.settings.targets b/tool/WebStack.versions.settings.targets index bff9cac..4c4876d 100644 --- a/tool/WebStack.versions.settings.targets +++ b/tool/WebStack.versions.settings.targets @@ -5,14 +5,14 @@ 1 0 - 0 + 1 [1.1.4, 2.0.0) - [7.6.0, 8.0.0) + [7.6.1, 8.0.0) + + 1 + 0 + 1 + + + + + + [1.1.4, 2.0.0) + [7.6.1, 8.0.0) + + + + + 2017 + $([System.Convert]::ToInt16('$([MSBuild]::Add(1, $([MSBuild]::Subtract($([System.DateTime]::Now.Year), $(VersionStartYear)))))$([System.DateTime]::Now.ToString("MMdd"))')) + $([System.Convert]::ToString($(VersionDateCode))) + + + + + $(VersionMajor).$(VersionMinor).$(VersionBuild) + $(VersionFullSemantic).$(VersionRevision) + + + + + $(VersionFullSemantic) + $(VersionFullSemantic)-$(VersionRelease) + + +