-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmakefile.shade
106 lines (89 loc) · 6.01 KB
/
makefile.shade
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
var PRODUCT_VERSION = '1.0.0-alpha'
var AUTHORS='¶ÅÏþÓî'
use-standard-lifecycle
k-standard-goals
var Configuration2 = '${E("Configuration")}'
var ROOT = '${Directory.GetCurrentDirectory()}'
var BUILD_DIR2 = '${Path.Combine(ROOT, "artifacts", "build")}'
var PROGRAM_FILES_X86 = '${Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86)}'
var MSBUILD = '${Path.Combine(PROGRAM_FILES_X86, "MSBuild", "14.0", "Bin", "MSBuild.exe")}'
var LIBUI_ROOT = '${Path.Combine(ROOT, "submodules", "libui")}'
var FULL_VERSION = '${PRODUCT_VERSION + "-" + E("DOTNET_BUILD_VERSION")}'
#native-compile
#build-compile target='compile'
#copy-symbols target='build-compile' if='CanBuildForWindows'
copy sourceDir='${Path.Combine(LIBUI_ROOT, "build\\x86\\out", Configuration2)}' outputDir='${Path.Combine(BUILD_DIR2, "symbols\\Win32", Configuration2)}' include='*.pdb' overwrite='${true}'
copy sourceDir='${Path.Combine(LIBUI_ROOT, "build\\x64\\out", Configuration2)}' outputDir='${Path.Combine(BUILD_DIR2, "symbols\\x64", Configuration2)}' include='*.pdb' overwrite='${true}'
copy sourceDir='${Path.Combine(LIBUI_ROOT, "build\\ARM\\out", Configuration2)}' outputDir='${Path.Combine(BUILD_DIR2, "symbols\\ARM", Configuration2)}' include='*.pdb' overwrite='${true}'
#nuget-pack target='package' if='CanBuildForWindows'
copy sourceDir='${Path.Combine(LIBUI_ROOT, "build\\x86\\out", Configuration2)}' outputDir='${Path.Combine(BUILD_DIR2, "package-src-win\\contents\\runtimes\\win7-x86\\native")}' include='libui.dll' overwrite='${true}'
copy sourceDir='${Path.Combine(LIBUI_ROOT, "build\\x64\\out", Configuration2)}' outputDir='${Path.Combine(BUILD_DIR2, "package-src-win\\contents\\runtimes\\win7-x64\\native")}' include='libui.dll' overwrite='${true}'
copy sourceDir='${Path.Combine(LIBUI_ROOT, "build\\ARM\\out", Configuration2)}' outputDir='${Path.Combine(BUILD_DIR2, "package-src-win\\contents\\runtimes\\win7-arm\\native")}' include='libui.dll' overwrite='${true}'
copy sourceDir='${Path.Combine(ROOT, "build")}' outputDir='${Path.Combine(BUILD_DIR2, "package-src-win\\contents")}' include='*' exclude='*.nuspec' overwrite='${true}'
copy sourceDir='${Path.Combine(ROOT, "build")}' outputDir='${Path.Combine(BUILD_DIR2, "package-src-win")}' include='DevZH.LibUI.Internal-Windows.nuspec' overwrite='${true}'
nuget-pack packageVersion='${FULL_VERSION}' outputDir='${BUILD_DIR2}' extra='-NoPackageAnalysis' nugetPath='.build/nuget.exe' nuspecFile='${Path.Combine(BUILD_DIR2, "package-src-win\\DevZH.LibUI.Internal-Windows.nuspec")}'
#nuget-pack target='package' if='CanBuildForDarwin'
copy sourceDir='${Path.Combine(LIBUI_ROOT, "build/osx/out")}' outputDir='${Path.Combine(BUILD_DIR2, "package-src-darwin/contents/runtimes/osx-x64/native")}' include='libui.dylib' overwrite='${true}'
copy sourceDir='${Path.Combine(ROOT, "build")}' outputDir='${Path.Combine(BUILD_DIR2, "package-src-darwin/contents")}' include='*' exclude='*.nuspec' overwrite='${true}'
copy sourceDir='${Path.Combine(ROOT, "build")}' outputDir='${Path.Combine(BUILD_DIR2, "package-src-darwin")}' include='DevZH.LibUI.Internal-Darwin.nuspec' overwrite='${true}'
nuget-pack packageVersion='${FULL_VERSION}' outputDir='${BUILD_DIR2}' extra='-NoPackageAnalysis' nugetPath='.build/nuget.exe' nuspecFile='${Path.Combine(BUILD_DIR2, "package-src-darwin/DevZH.LibUI.Internal-Darwin.nuspec")}'
#nuget-pack target='package' if='CanBuildForLinux'
copy sourceDir='${Path.Combine(LIBUI_ROOT, "build/ubuntu/out")}' outputDir='${Path.Combine(BUILD_DIR2, "package-src-linux/contents/runtimes/debian-x64/native")}' include='libui.so' overwrite='${true}'
copy sourceDir='${Path.Combine(LIBUI_ROOT, "build/centos/out")}' outputDir='${Path.Combine(BUILD_DIR2, "package-src-linux/contents/runtimes/rhel-x64/native")}' include='libui.so' overwrite='${true}'
copy sourceDir='${Path.Combine(LIBUI_ROOT, "build/fedora/out")}' outputDir='${Path.Combine(BUILD_DIR2, "package-src-linux/contents/runtimes/fedora-x64/native")}' include='libui.so' overwrite='${true}'
copy sourceDir='${Path.Combine(LIBUI_ROOT, "build/opensuse/out")}' outputDir='${Path.Combine(BUILD_DIR2, "package-src-linux/contents/runtimes/opensuse-x64/native")}' include='libui.so' overwrite='${true}'
copy sourceDir='${Path.Combine(ROOT, "build")}' outputDir='${Path.Combine(BUILD_DIR2, "package-src-linux/contents")}' include='*' exclude='*.nuspec' overwrite='${true}'
copy sourceDir='${Path.Combine(ROOT, "build")}' outputDir='${Path.Combine(BUILD_DIR2, "package-src-linux")}' include='DevZH.LibUI.Internal-Linux.nuspec' overwrite='${true}'
nuget-pack packageVersion='${FULL_VERSION}' outputDir='${BUILD_DIR2}' extra='-NoPackageAnalysis' nugetPath='.build/nuget.exe' nuspecFile='${Path.Combine(BUILD_DIR2, "package-src-linux/DevZH.LibUI.Internal-Linux.nuspec")}'
functions @{
bool CanBuildForWindows
{
get
{
var p = (int)Environment.OSVersion.Platform;
return (p != 4) && (p != 6) && (p != 128);
}
}
bool CanBuildForDarwin
{
get
{
return string.Equals(Uname(), "Darwin");
}
}
bool CanBuildForLinux
{
get
{
return string.Equals(Uname(), "Linux");
}
}
public string Uname()
{
try
{
string uname;
ExecuteAndRedirectOutput("uname", "", out uname);
return string.IsNullOrEmpty(uname) ? null : uname.Trim();
}
catch
{
return null;
}
}
int ExecuteAndRedirectOutput(string command, string argument, out string content)
{
var procStartInfo = new ProcessStartInfo
{
FileName = command,
Arguments = argument,
WorkingDirectory = Directory.GetCurrentDirectory(),
UseShellExecute = false
};
procStartInfo.RedirectStandardOutput = true;
var process = Process.Start(procStartInfo);
content = process.StandardOutput.ReadToEnd();
process.WaitForExit();
return process.ExitCode;
}
}