From: JongHeonChoi Date: Thu, 24 Sep 2020 08:14:36 +0000 (+0900) Subject: [Build] Set TFM supported by Tizen to vconf (#2026) X-Git-Tag: accepted/tizen/unified/20210219.040944~376 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b10f9f96ac0531f22b8b36fa2b8bd24883e8aa60;p=platform%2Fcore%2Fcsapi%2Ftizenfx.git [Build] Set TFM supported by Tizen to vconf (#2026) * Added to update TFM with maketfm.py Co-authored-by: Hyungju Lee --- diff --git a/packaging/csapi-tizenfx.spec b/packaging/csapi-tizenfx.spec index 76ac6dc..d1e5948 100644 --- a/packaging/csapi-tizenfx.spec +++ b/packaging/csapi-tizenfx.spec @@ -12,6 +12,7 @@ %define DOTNET_NUGET_SOURCE /nuget %define TIZEN_NET_RUNTIME_IDENTIFIERS 4.0.0:5.0.0:5.5.0:6.0.0 +%define TIZEN_NET_TARGET_FRAMEWORK_MONIKERS tizen80:tizen70:tizen60:tizen50:tizen40:netstandard2.0 Name: csapi-tizenfx Summary: Assemblies of Tizen .NET @@ -210,6 +211,7 @@ install -p -m 644 tools/bin/* %{buildroot}%{DOTNET_TOOLS_PATH} /usr/bin/vconftool set -t int db/dotnet/tizen_api_version %{TIZEN_NET_API_VERSION} -f /usr/bin/vconftool set -t string db/dotnet/tizen_api_path %{DOTNET_ASSEMBLY_PATH} -f /usr/bin/vconftool set -t string db/dotnet/tizen_rid_version %{TIZEN_NET_RUNTIME_IDENTIFIERS} -f +/usr/bin/vconftool set -t string db/dotnet/tizen_tfm_support %{TIZEN_NET_TARGET_FRAMEWORK_MONIKERS} -f %files %license LICENSE diff --git a/packaging/csapi-tizenfx.spec.in b/packaging/csapi-tizenfx.spec.in index 2a6c029..cc8ab0b 100644 --- a/packaging/csapi-tizenfx.spec.in +++ b/packaging/csapi-tizenfx.spec.in @@ -11,6 +11,7 @@ %define DOTNET_NUGET_SOURCE /nuget %define TIZEN_NET_RUNTIME_IDENTIFIERS @rid_version@ +%define TIZEN_NET_TARGET_FRAMEWORK_MONIKERS @tfm_support@ Name: csapi-tizenfx Summary: Assemblies of Tizen .NET @@ -209,6 +210,7 @@ install -p -m 644 tools/bin/* %{buildroot}%{DOTNET_TOOLS_PATH} /usr/bin/vconftool set -t int db/dotnet/tizen_api_version %{TIZEN_NET_API_VERSION} -f /usr/bin/vconftool set -t string db/dotnet/tizen_api_path %{DOTNET_ASSEMBLY_PATH} -f /usr/bin/vconftool set -t string db/dotnet/tizen_rid_version %{TIZEN_NET_RUNTIME_IDENTIFIERS} -f +/usr/bin/vconftool set -t string db/dotnet/tizen_tfm_support %{TIZEN_NET_TARGET_FRAMEWORK_MONIKERS} -f %files %license LICENSE diff --git a/packaging/makespec.sh b/packaging/makespec.sh old mode 100755 new mode 100644 index bfce701..103b285 --- a/packaging/makespec.sh +++ b/packaging/makespec.sh @@ -27,3 +27,6 @@ sed -i -e "s/@nuget_version@/$NUGET_VERSION/g" $RPMSPEC # Update RID python $SCRIPT_DIR/makerid.py + +# Update TFM +python $SCRIPT_DIR/maketfm.py diff --git a/packaging/maketfm.py b/packaging/maketfm.py new file mode 100644 index 0000000..3641785 --- /dev/null +++ b/packaging/maketfm.py @@ -0,0 +1,32 @@ +import os +import xml.etree.ElementTree as ET + +scrpit_dir = os.path.dirname(os.path.abspath(__file__)) +spec_dir = os.path.join(scrpit_dir, "csapi-tizenfx.spec") +tree = ET.parse("../pkg/Tizen.NET/Tizen.NET.nuspec") +root = tree.getroot() + +tfm_list = [] +for meta_child in root.iter(): + if meta_child.tag == "{http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd}metadata": + for depen_child in meta_child: + if depen_child.tag == "{http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd}dependencies": + for group in depen_child: + tfm = group.attrib["targetFramework"].lower() + tfm = tfm.replace(".", "") + tfm = tfm.replace("20", "2.0") + if tfm.strip(): + tfm_list.append(tfm) + +tfm_list = list(set(tfm_list)) +tfm_list.sort(reverse=True) + +f = open(spec_dir,'r') +origin_data = f.read() +f.close() + +new_data = origin_data.replace("@tfm_support@", ':'.join(tfm_list)) + +f = open(spec_dir, 'w') +f.write(new_data) +f.close()