Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorAnkit Jain <ankit.jain@xamarin.com>2017-08-02 19:14:36 +0300
committerMarek Safar <marek.safar@gmail.com>2017-08-03 10:28:44 +0300
commit3fd6c71d194d8ff65c72b24578d2fd08d057ba6f (patch)
tree52d808a4ce29066f30d7e68e9f1a312e5460069b /tools
parent3885890e492357c2950a1217a401e7db9d8144ae (diff)
[msbuild] Add option to nuget-hash-extractor to generate a list of the
.. denied assemblies usable by a msbuild task for filtering them.
Diffstat (limited to 'tools')
-rw-r--r--tools/nuget-hash-extractor/nuget-hash-extractor.cs15
1 files changed, 10 insertions, 5 deletions
diff --git a/tools/nuget-hash-extractor/nuget-hash-extractor.cs b/tools/nuget-hash-extractor/nuget-hash-extractor.cs
index d4e7763f574..56e150e8676 100644
--- a/tools/nuget-hash-extractor/nuget-hash-extractor.cs
+++ b/tools/nuget-hash-extractor/nuget-hash-extractor.cs
@@ -34,12 +34,13 @@ class Driver {
}
}
- static bool dump_asm, dump_ver;
+ static bool dump_asm, dump_ver, dump_guids_for_msbuild;
static void Main (string[] args) {
if (args.Length > 1) {
dump_asm = args [1].Equals ("asm");
dump_ver = args [1].Equals ("ver");
+ dump_guids_for_msbuild = args [1].Equals ("guids_for_msbuild");
} else {
dump_asm = true;
}
@@ -61,7 +62,7 @@ class Driver {
var data = StreamToArray (entry.Open ());
AppDomain ad = AppDomain.CreateDomain ("parse_" + ++domain_id);
DoParse p = (DoParse)ad.CreateInstanceAndUnwrap (typeof (DoParse).Assembly.FullName, typeof (DoParse).FullName);
- p.ParseAssembly (data, version, entry.Name, entry.FullName, dump_asm, dump_ver);
+ p.ParseAssembly (data, version, entry.Name, entry.FullName, dump_asm, dump_ver, dump_guids_for_msbuild);
AppDomain.Unload (ad);
}
}
@@ -92,7 +93,7 @@ class DoParse : MarshalByRefObject {
return parts[parts.Length - 2];
}
- public void ParseAssembly (byte[] data, string version, string name, string fullname, bool dump_asm, bool dump_ver) {
+ public void ParseAssembly (byte[] data, string version, string name, string fullname, bool dump_asm, bool dump_ver, bool dump_guids_for_msbuild) {
var a = Assembly.ReflectionOnlyLoad (data);
var m = a.GetModules ()[0];
var id = m.ModuleVersionId.ToString ().ToUpper ();
@@ -106,8 +107,12 @@ class DoParse : MarshalByRefObject {
//IGNORED_ASM_VER (SYS_IO_COMPRESSION, 4, 1, 2, 0),
var ver = a.GetName ().Version;
- if (dump_ver)
+ if (dump_ver) {
Console.WriteLine ($"IGNORED_ASM_VER ({str}, {ver.Major}, {ver.Minor}, {ver.Build}, {ver.Revision}),");
+ } else if (dump_guids_for_msbuild) {
+ // This needs to be kept in sync with FilterDeniedAssemblies msbuild task in msbuild
+ Console.WriteLine ($"{name},{id},{ver.Major},{ver.Minor},{ver.Build},{ver.Revision}");
+ }
}
-} \ No newline at end of file
+}