From a0b481c53cb936b3be2961892eb70420adc4d963 Mon Sep 17 00:00:00 2001 From: WonYoung Choi Date: Fri, 2 Sep 2016 17:36:13 +0900 Subject: [PATCH] Remove redundant code Change-Id: Ia1bd8d492d8a90808ba6c99e72f01a2ee4451ade --- packaging/dotnet-build-tools.spec | 5 - targets/Tizen.Build.GBS.Prop | 47 ------- targets/Tizen.Build.GBS.Targets | 51 ------- tools/dotnet-gbs/build-template.csproj | 10 -- tools/dotnet-gbs/dotnet-gbs.py | 181 ++++--------------------- 5 files changed, 25 insertions(+), 269 deletions(-) delete mode 100644 targets/Tizen.Build.GBS.Prop delete mode 100644 targets/Tizen.Build.GBS.Targets delete mode 100644 tools/dotnet-gbs/build-template.csproj diff --git a/packaging/dotnet-build-tools.spec b/packaging/dotnet-build-tools.spec index ac8e6e48..f0d3e0fb 100644 --- a/packaging/dotnet-build-tools.spec +++ b/packaging/dotnet-build-tools.spec @@ -10,10 +10,7 @@ Source0: %{name}-%{version}.tar.gz AutoReqProv: no Requires: python -Requires: mono-core Requires: mono-compat -Requires: mono-devel -Requires: mono-compiler %description Build target files (.Targets) and Tools (including NuGet.exe) for building @@ -32,7 +29,6 @@ install -p -m 755 tools/nuget.exe %{buildroot}%{_bindir} # dotnet-gbs mkdir -p %{buildroot}%{_datadir}/dotnet-gbs install -p -m 755 tools/dotnet-gbs/dotnet-gbs.py %{buildroot}%{_datadir}/dotnet-gbs -install -p -m 644 tools/dotnet-gbs/*.csproj %{buildroot}%{_datadir}/dotnet-gbs ln -s %{_datadir}/dotnet-gbs/dotnet-gbs.py %{buildroot}/%{_bindir}/dotnet-gbs # Targets @@ -45,4 +41,3 @@ install -p -m 644 targets/* %{buildroot}%{TargetDir} %{_bindir}/* %{TargetDir}/* %{_datadir}/dotnet-gbs/* - diff --git a/targets/Tizen.Build.GBS.Prop b/targets/Tizen.Build.GBS.Prop deleted file mode 100644 index bab0b5a6..00000000 --- a/targets/Tizen.Build.GBS.Prop +++ /dev/null @@ -1,47 +0,0 @@ - - - - $(MSBuildThisFileDirectory) - net45 - - - - .NETFramework - v4.5 - $(TargetFrameworkIdentifier),Version=$(TargetFrameworkVersion) - - - - .NETCoreApp - v1.0 - $(TargetFrameworkIdentifier),Version=$(TargetFrameworkVersion) - - - - $(MSBuildProjectName) - $(Name) - $(Name) - Debug - AnyCPU - Library - bin\$(Configuration)\$(TargetFrameworkAlias) - - - - true - full - true - DEBUG;TRACE - prompt - 4 - - - - pdbonly - true - TRACE - prompt - 4 - - - \ No newline at end of file diff --git a/targets/Tizen.Build.GBS.Targets b/targets/Tizen.Build.GBS.Targets deleted file mode 100644 index a5ec1fc6..00000000 --- a/targets/Tizen.Build.GBS.Targets +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - - false - $(NoWarn);1701;1702 - - - - $(CoreFxPath);$(DotnetAssemblyPath) - - - - - - - - - - - - - - - - - - - - <_TargetFrameworkDirectories>$(MSBuildThisFileDirectory) - <_FullFrameworkReferenceAssemblyPaths>$(MSBuildThisFileDirectory) - true - - - \ No newline at end of file diff --git a/tools/dotnet-gbs/build-template.csproj b/tools/dotnet-gbs/build-template.csproj deleted file mode 100644 index 09012484..00000000 --- a/tools/dotnet-gbs/build-template.csproj +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/tools/dotnet-gbs/dotnet-gbs.py b/tools/dotnet-gbs/dotnet-gbs.py index 15a44514..6079d12a 100755 --- a/tools/dotnet-gbs/dotnet-gbs.py +++ b/tools/dotnet-gbs/dotnet-gbs.py @@ -2,176 +2,45 @@ import sys import os -import shutil import argparse import subprocess -import json import xml.etree.ElementTree as ET -SCRIPTDIR = os.path.dirname(os.path.realpath(__file__)) -BUILD_TEMPLATE_CSPROJ = os.path.join(SCRIPTDIR, "build-template.csproj") -BUILD_GENERATED_CSPROJ = "__Autogenerated_Project.Targets" NUGET_EXE = "/usr/bin/nuget.exe" -TARGET_FRAMEWORK_NETCOREAPP = "netcoreapp1.0" +def cmd_pack2(args): + nuspec = args.targets[0] + tmpfile = nuspec + ".autogenerated.nuspec" + if os.path.isfile(nuspec): + elPackage = ET.parse(nuspec).getroot() + elFiles = elPackage.find("files") + if elFiles is None: + elFiles = ET.Element("files") + for root, dirnames, filenames in os.walk(args.PackageFiles): + for file in filenames: + if file.endswith(".dll"): + fw = os.path.basename(root) + elFile = ET.Element("file", {"src": os.path.join(fw, file), "target": "lib/" + fw}) + elFiles.append(elFile) + elPackage.append(elFiles) + tree = ET.ElementTree(elPackage) + tree.write(tmpfile, encoding = "utf-8", xml_declaration = True) + cmd = ["mono", NUGET_EXE, "pack", tmpfile, + "-BasePath", args.PackageFiles, "-Version", args.PackageVersion] + print " ".join(cmd) + subprocess.check_call(cmd) -def find_output(asm, framework): - confs = ["Release", "Debug"] - for conf in confs: - asmfile = os.path.join(asm, "bin", conf, framework, asm + ".dll") - if os.path.isfile(asmfile): - return asmfile - return None - -def parse_project_json(asm): - jsonfile = os.path.join(asm, 'project.json') - jsondata = None - if os.path.isfile(jsonfile): - fp = open(jsonfile) - jsondata = json.load(fp) - fp.close() - return jsondata - -def get_frameworks(asm): - frameworks = [] - obj = parse_project_json(asm) - if obj is not None and "frameworks" in obj: - frameworks = obj["frameworks"] - return frameworks - -def convert_build_options(obj): - elPropertyGroup = ET.Element("PropertyGroup") - - if "keyFile" in obj: - elSignAssembly = ET.Element("SignAssembly") - elSignAssembly.text = "true" - elPropertyGroup.append(elSignAssembly) - elAssemblyOriginatorKeyFile = ET.Element("AssemblyOriginatorKeyFile") - elAssemblyOriginatorKeyFile.text = obj["keyFile"] - elPropertyGroup.append(elAssemblyOriginatorKeyFile) - - if "allowUnsafe" in obj: - elAllowUnsafeBlocks = ET.Element("AllowUnsafeBlocks") - elAllowUnsafeBlocks.text = str(obj["allowUnsafe"]) - elPropertyGroup.append(elAllowUnsafeBlocks) - - return elPropertyGroup - -def convert_compile_items(target): - elItemGroup = ET.Element("ItemGroup") - - for root, dirnames, filenames in os.walk(target): - if not root.startswith(os.path.join(target, "obj")): - for filename in filenames: - if filename.endswith(".cs"): - elCompile = ET.Element("Compile", {"Include" : os.path.join(os.path.relpath(root, target), filename)}) - elItemGroup.append(elCompile) - - return elItemGroup - -def convert_project_json(target, obj): - elProject = ET.Element("Project", {"xmlns": "http://schemas.microsoft.com/developer/msbuild/2003"}) - - if "buildOptions" in obj: - elBuildOptions = convert_build_options(obj["buildOptions"]) - elProject.append(elBuildOptions) - - if os.path.isdir(target): - elCompileItems = convert_compile_items(target) - elProject.append(elCompileItems) - - return elProject - -def ready_csproj(asm, csproj): - obj = parse_project_json(asm) - elProject = convert_project_json(asm, obj) - tree = ET.ElementTree(elProject) - tree.write(os.path.join(asm, BUILD_GENERATED_CSPROJ), encoding = "utf-8", xml_declaration = True) - shutil.copy(BUILD_TEMPLATE_CSPROJ, csproj) - -def build(csproj, framework, args): - if framework == TARGET_FRAMEWORK_NETCOREAPP and args.CoreFxPath is None: - return - - cmd = ["xbuild", csproj, "/p:TargetFrameworkAlias=" + framework] - - if args.Configuration is not None: - cmd.append("/p:Configuration=" + args.Configuration) - - if args.CoreFxPath is not None: - cmd.append("/p:CoreFxPath=" + args.CoreFxPath) - - if args.DotnetAssemblyPath is not None: - cmd.append("/p:DotnetAssemblyPath=" + os.path.join(args.DotnetAssemblyPath, "devel", framework)) - - subprocess.check_call(cmd) - -def cmd_build(args): - for asm in args.targets: - csproj = os.path.join(asm, asm + ".gbsproj") - ready_csproj(asm, csproj) - for fw in get_frameworks(asm): - build(csproj, fw, args) - -def cmd_install(args): - for asm in args.targets: - skipRuntimeInstall = False - for fw in get_frameworks(asm): - output = find_output(asm, fw) - if output is not None: - develdir = os.path.join(args.InstallPath, "devel", fw) - os.makedirs(develdir) - shutil.copy(output, develdir) - if not skipRuntimeInstall: - shutil.copy(output, args.InstallPath) - if fw == TARGET_FRAMEWORK_NETCOREAPP: - skipRuntimeInstall = True - -def cmd_pack(args): - for asm in args.targets: - nuspec = os.path.join(asm, asm + ".nuspec") - output = ".nuget" - if os.path.isfile(nuspec): - # Ready nuspec file - if not os.path.isdir(output): - os.mkdir(output) - elPackage = ET.parse(nuspec).getroot() - elFiles = elPackage.find("files") - if elFiles is None: - elFiles = ET.Element("files") - for fw in get_frameworks(asm): - asmfile = find_output(asm, fw) - if asmfile is not None: - nugetfw = "netstandard1.6" if fw == TARGET_FRAMEWORK_NETCOREAPP else fw - elFile = ET.Element("file", {"src": asmfile, "target": "lib/" + nugetfw}) - elFiles.append(elFile) - elPackage.append(elFiles) - tree = ET.ElementTree(elPackage) - tree.write(os.path.join(output, asm + ".nuspec"), encoding = "utf-8", xml_declaration = True) - # Packaging - cmd = ["mono", NUGET_EXE, "pack", os.path.join(output, asm + ".nuspec"), - "-BasePath", ".", "-Version", args.PackageVersion, - "-OutputDirectory", output] - print " ".join(cmd) - subprocess.check_call(cmd) if __name__ == "__main__": parser = argparse.ArgumentParser() - parser.add_argument("command", choices=["build", "install", "pack"]) + parser.add_argument("command", choices=["pack"]) parser.add_argument("targets", nargs='+') - parser.add_argument("--Configuration") - parser.add_argument("--CoreFxPath") - parser.add_argument("--DotnetAssemblyPath") - parser.add_argument("--InstallPath") parser.add_argument("--PackageVersion") + parser.add_argument("--PackageFiles") args = parser.parse_args() - if args.command == "build": - cmd_build(args) - elif args.command == "install": - cmd_install(args) - elif args.command == "pack": - cmd_pack(args) + if args.command == "pack": + cmd_pack2(args) else: exit(1) -- 2.34.1