Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions AzSdk.props
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@
<AssemblyOriginatorKeyFile>$(LibraryToolsFolder)\MSSharedLibKey.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
-->

</Project>
5 changes: 3 additions & 2 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<AuthenticationSolution>src\Authentication\Authentication.sln</AuthenticationSolution>
<ManagementLibrariesSolution>AzureManagementLibraries.sln</ManagementLibrariesSolution>
<BinariesFolder>$(LibraryRoot)binaries</BinariesFolder>
<BuildAssetsDir>$(LibraryToolsFolder)\BuildAssets</BuildAssetsDir>
<BuildAssetsDir>$(LibraryToolsFolder)\BuildAssets</BuildAssetsDir>
<PoliCheckOutputDir>$(LibraryRoot)PolicheckOutput</PoliCheckOutputDir>
<BuiltPackageOutputDir>$(BinariesFolder)\packages</BuiltPackageOutputDir>
<DelaySign Condition =" '$(DelaySign)' == '' ">false</DelaySign>
Expand All @@ -17,12 +17,13 @@
<NuGetCommand>&quot;$(LibraryToolsFolder)\nuget.exe&quot;</NuGetCommand>
<NuGetKey Condition=" '$(NuGetKey)' == '' ">1234</NuGetKey>
<BuildInParallel>true</BuildInParallel>
<SdkBuildToolsDir>$(LibraryToolsFolder)\SdkBuildTools</SdkBuildToolsDir>
<SdkBuildToolsDir>$(LibraryToolsFolder)\SdkBuildTools</SdkBuildToolsDir>
<NugetPackageName/>
<ImportDirectoryBuildTargets>true</ImportDirectoryBuildTargets>
</PropertyGroup>
<PropertyGroup>
<CIToolsPath>$(OnPremiseBuildTasks)</CIToolsPath>
<CISignToolsRootDir>$(CIToolsPath)\tools</CISignToolsRootDir>
<OnPremiseBuild Condition=" Exists($(OnPremiseBuildTasks)) ">true</OnPremiseBuild>
<OnPremiseBuild Condition=" ! Exists($(OnPremiseBuildTasks)) ">false</OnPremiseBuild>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<Project ToolsVersion="15.0" Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<PackageId>Microsoft.Azure.Sdk.Build.Common</PackageId>
<Description>Azure SDK build common </Description>
<AssemblyTitle>Microsoft.Azure.Sdk.Build.Common</AssemblyTitle>
<AssemblyName>Microsoft.Azure.Sdk.Build.Common</AssemblyName>
<Version>1.0.0</Version>
</PropertyGroup>
<PropertyGroup Condition="'$(CmdLineBuild)' == 'true'">
<TaskBinaryOutput>bin\$(Configuration)\</TaskBinaryOutput>
</PropertyGroup>
<PropertyGroup Condition="'$(CmdLineBuild)' != 'true'">
<TaskBinaryOutput>..\..\..\tasks</TaskBinaryOutput>
</PropertyGroup>
<PropertyGroup>
<TargetFramework>net46</TargetFramework>
<OutputPath>$(TaskBinaryOutput)</OutputPath>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Build" Version="15.3.409" />
<PackageReference Include="Microsoft.Build.Framework" Version="15.3.409" />
<PackageReference Include="Microsoft.Build.Tasks.Core" Version="15.3.409" />
<PackageReference Include="Microsoft.Build.Utilities.Core" Version="15.3.409" />
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
</ItemGroup>
<ItemGroup>
<Folder Include="Utilities\" />
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.

namespace Microsoft.Azure.Sdk.Build.Common.Models.Esrp
{
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

public class EsrpServiceModelBase<T> where T: class
{
private static JsonSerializerSettings _esrpModelSerializerSetting;
private static JsonSerializerSettings _esrpModelDeSerializerSetting;

protected static JsonSerializerSettings EsrpModelSerializerSetting
{
get
{
if (_esrpModelSerializerSetting == null)
{
_esrpModelSerializerSetting = new JsonSerializerSettings
{
MetadataPropertyHandling = MetadataPropertyHandling.Ignore,
DateParseHandling = DateParseHandling.None,
Converters = {
new IsoDateTimeConverter { DateTimeStyles = DateTimeStyles.AssumeUniversal }
},
};
}

return _esrpModelSerializerSetting;
}

set
{
_esrpModelSerializerSetting = value;
}
}

protected static JsonSerializerSettings EsrpModelDeSerializerSetting
{
get
{
if (_esrpModelSerializerSetting == null)
{
_esrpModelSerializerSetting = new JsonSerializerSettings
{
MetadataPropertyHandling = MetadataPropertyHandling.Ignore,
DateParseHandling = DateParseHandling.None,
Converters = {
new IsoDateTimeConverter { DateTimeStyles = DateTimeStyles.AssumeUniversal }
},
};
}

return _esrpModelDeSerializerSetting;
}

set
{
_esrpModelDeSerializerSetting = value;
}
}

public EsrpServiceModelBase()
{

}



public static T FromJson(string json) => JsonConvert.DeserializeObject<T>(json, EsrpModelDeSerializerSetting);

public static T FromJsonFile(string jsonFilePath) => FromJson(File.ReadAllText(jsonFilePath));

public string ToJson() => JsonConvert.SerializeObject(this, EsrpModelSerializerSetting);


}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.

namespace Microsoft.Azure.Sdk.Build.Common.Models.Esrp.Scan
{
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;



public partial class ScanFileRequest : EsrpServiceModelBase<ScanFileRequest>
{
[JsonProperty("Version")]
public string Version { get; set; }

[JsonProperty("ContextData")]
public ContextData ContextData { get; set; }

[JsonProperty("DriEmail")]
public List<string> DriEmail { get; set; }

[JsonProperty("GroupId")]
public object GroupId { get; set; }

[JsonProperty("CorrelationVector")]
public object CorrelationVector { get; set; }

[JsonProperty("ScanBatches")]
public List<ScanBatch> ScanBatches { get; set; }


public ScanFileRequest() { }


}

public partial class ContextData
{
[JsonProperty("mykey1")]
public string Mykey1 { get; set; }

[JsonProperty("myKey2")]
public string MyKey2 { get; set; }
}

public partial class ScanBatch
{
[JsonProperty("SourceLocationType")]
public string SourceLocationType { get; set; }

[JsonProperty("SourceRootDirectory")]
public string SourceRootDirectory { get; set; }

[JsonProperty("ScanRequestFiles")]
public List<ScanRequestFile> ScanRequestFiles { get; set; }
}

public partial class ScanRequestFile
{
[JsonProperty("CustomerCorrelationId")]
public string CustomerCorrelationId { get; set; }

[JsonProperty("SourceLocation")]
public string SourceLocation { get; set; }

[JsonProperty("SizeInBytes")]
public long SizeInBytes { get; set; }

[JsonProperty("HashType")]
public string HashType { get; set; }

[JsonProperty("SourceHash")]
public string SourceHash { get; set; }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.

namespace Microsoft.Azure.Sdk.Build.Common.Models.Esrp
{
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

public partial class ScanFileResponse : EsrpServiceModelBase<ScanFileResponse>
{
[JsonProperty("Version")]
public string Version { get; set; }

[JsonProperty("EsrpClientSessionGuid")]
public string EsrpClientSessionGuid { get; set; }

[JsonProperty("SubmissionResponses")]
public List<SubmissionResponse> SubmissionResponses { get; set; }

public ScanFileResponse() { }
}

public partial class SubmissionResponse
{
[JsonProperty("FileHash")]
public string FileHash { get; set; }

[JsonProperty("FileHashType")]
public string FileHashType { get; set; }

[JsonProperty("OperationId")]
public string OperationId { get; set; }

[JsonProperty("CustomerCorrelationId")]
public string CustomerCorrelationId { get; set; }

[JsonProperty("StatusCode", NullValueHandling = NullValueHandling.Ignore)]
public string StatusCode { get; set; }

[JsonProperty("ErrorInfo")]
public ErrorInfo ErrorInfo { get; set; }
}

public partial class ErrorInfo
{
[JsonProperty("code")]
public string Code { get; set; }

[JsonProperty("details")]
public Details Details { get; set; }

[JsonProperty("innerError")]
public ErrorInfo InnerError { get; set; }
}

public partial class Details
{
[JsonProperty("clientId")]
public string ClientId { get; set; }

[JsonProperty("keyCode")]
public string KeyCode { get; set; }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.

namespace Microsoft.Azure.Sdk.Build.Common.Models.Esrp
{
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//using Microsoft.Azure.Sdk.Build.Tasks.Models.Esrp.Scan;
//using Microsoft.Azure.Sdk.Build.Tasks.Models.Esrp.Sign;
using Microsoft.Azure.Sdk.Build.Common.Models.Esrp.Scan;
using Microsoft.Azure.Sdk.Build.Common.Models.Esrp.Sign;
public static class SerializeExtensions
{

#region Sign
//public static SignRequest FromSignManifestJson(string json) => JsonConvert.DeserializeObject<SignRequest>(json, SerializerConfig);

//public static SignRequest FromSignManifestFile(string jsonFilePath)
//{
// string fileContents = File.ReadAllText(jsonFilePath);
// return FromSignManifestJson(fileContents);
//}

public static string ToSignJson(this SignRequest self) => JsonConvert.SerializeObject(self, SerializerConfig);

#endregion


#region Scan
//public static ScanFileRequest FromJson(string json) => JsonConvert.DeserializeObject<ScanFileRequest>(json, SerializerConfig);


//public static ScanFileResponse FromJson(string json) => JsonConvert.DeserializeObject<ScanFileResponse>(json, QuickType.Converter.Settings);

public static string ToScanJson(this ScanFileRequest self) => JsonConvert.SerializeObject(self, SerializerConfig);

#endregion


public static readonly JsonSerializerSettings SerializerConfig = new JsonSerializerSettings
{
MetadataPropertyHandling = MetadataPropertyHandling.Ignore,
DateParseHandling = DateParseHandling.None,
Converters = {
new IsoDateTimeConverter { DateTimeStyles = DateTimeStyles.AssumeUniversal }
},
};

}
}
Loading