static string make_mt_path( string name, TFM tfm ) { return(make_mt_path(name, name, tfm)); }
static string make_mt_path( string dir_name, string assembly_name, TFM tfm ) { switch (tfm) { case TFM.ANDROID: return(Path.Combine( "$src_path$", dir_name, "bin", "Release", "monoandroid80", "80", // TODO why does the android build end up with this extra subdir? string.Format("{0}.dll", assembly_name) )); default: return(Path.Combine( "$src_path$", dir_name, "bin", "Release", tfm.AsString(), string.Format("{0}.dll", assembly_name) )); } }
static string AsString(this TFM e) { switch (e) { case TFM.NONE: throw new Exception("TFM.NONE.AsString()"); case TFM.IOS: return("Xamarin.iOS10"); case TFM.TVOS: return("Xamarin.tvOS10"); case TFM.ANDROID: return("MonoAndroid80"); case TFM.UWP: return("uap10.0"); case TFM.NETSTANDARD20: return("netstandard2.0"); case TFM.XAMARIN_MAC: return("Xamarin.Mac20"); case TFM.NET461: return("net461"); case TFM.NETCOREAPP22: return("netcoreapp2.2"); case TFM.NETCOREAPP30: return("netcoreapp3.0"); default: throw new NotImplementedException(string.Format("TFM.AsString for {0}", e)); } }
private static void write_nuspec_file_entry_nativeassets(string src, string rid, TFM tfm, string filename, XmlWriter f) { write_nuspec_file_entry( src, string.Format("runtimes\\{0}\\nativeassets\\{1}\\{2}", rid, tfm.AsString(), filename), f ); }
private static void write_nuspec_file_entry_lib_batteries(string basename, TFM tfm_build, TFM tfm_dest, XmlWriter f) { write_nuspec_file_entry( make_mt_path_batteries(basename, tfm_build), string.Format("lib\\{0}\\", tfm_dest.AsString()), f ); }
private static void write_nuspec_file_entry_lib_mt(string name, TFM tfm, XmlWriter f) { write_nuspec_file_entry( make_mt_path(name, tfm), string.Format("lib\\{0}\\", tfm.AsString()), f ); }
private static void write_nuspec_file_entry_lib(string src, TFM tfm, XmlWriter f) { write_nuspec_file_entry( src, string.Format("lib\\{0}\\", tfm.AsString()), f ); }
private static void write_empty(XmlWriter f, TFM tfm) { f.WriteComment("empty directory in lib to avoid nuget adding a reference"); f.WriteStartElement("file"); f.WriteAttributeString("src", "empty\\"); f.WriteAttributeString("target", string.Format("lib\\{0}", tfm.AsString())); f.WriteEndElement(); // file }
private static void write_nuspec_file_entry_lib_batteries(string basename, TFM tfm_both, XmlWriter f) { write_nuspec_file_entry_lib_batteries( basename, tfm_build: tfm_both, tfm_dest: tfm_both, f ); }
static string make_mt_path_batteries( string basename, TFM tfm ) { return(make_mt_path( $"SQLitePCLRaw.batteries_v2.{basename}", "SQLitePCLRaw.batteries_v2", tfm )); }
private static void write_bundle_dependency_group( XmlWriter f, WhichProvider prov, WhichLib what, TFM tfm ) { f.WriteStartElement("group"); if (tfm != TFM.NONE) { f.WriteAttributeString("targetFramework", tfm.AsString()); } add_dep_core(f); f.WriteStartElement("dependency"); f.WriteAttributeString("id", string.Format("{0}.provider.{1}", gen.ROOT_NAME, prov.AsString())); f.WriteAttributeString("version", "$version$"); f.WriteEndElement(); // dependency if (what == WhichLib.E_SQLITE3) { string id; switch (tfm) { case TFM.IOS: id = string.Format("{0}.lib.e_sqlite3.ios", gen.ROOT_NAME); break; case TFM.TVOS: id = string.Format("{0}.lib.e_sqlite3.tvos", gen.ROOT_NAME); break; case TFM.ANDROID: id = string.Format("{0}.lib.e_sqlite3.android", gen.ROOT_NAME); break; default: id = string.Format("{0}.lib.e_sqlite3", gen.ROOT_NAME); break; } f.WriteStartElement("dependency"); f.WriteAttributeString("id", id); f.WriteAttributeString("version", "$version$"); f.WriteEndElement(); // dependency } else if (what == WhichLib.E_SQLCIPHER) { string id; switch (tfm) { case TFM.IOS: id = string.Format("{0}.lib.e_sqlcipher.ios", gen.ROOT_NAME); break; case TFM.TVOS: id = string.Format("{0}.lib.e_sqlcipher.tvos", gen.ROOT_NAME); break; case TFM.ANDROID: id = string.Format("{0}.lib.e_sqlcipher.android", gen.ROOT_NAME); break; default: id = string.Format("{0}.lib.e_sqlcipher", gen.ROOT_NAME); break; } f.WriteStartElement("dependency"); f.WriteAttributeString("id", id); f.WriteAttributeString("version", "$version$"); f.WriteEndElement(); // dependency } else if (what == WhichLib.NONE) { } else { throw new NotImplementedException(); } f.WriteEndElement(); // group }
private static void write_nuspec_file_entry_lib_mt(string dir_name, string assembly_name, TFM tfm_build, TFM tfm_dest, XmlWriter f) { write_nuspec_file_entry( make_mt_path(dir_name, assembly_name, tfm_build), string.Format("lib\\{0}\\", tfm_dest.AsString()), f ); }