From fa59611b21549f044e040078751a9d3af311b7c3 Mon Sep 17 00:00:00 2001 From: shaohaozhi Date: Sun, 14 Apr 2019 16:16:34 +0800 Subject: [PATCH] Add build script --- src/NSmartProxyClient/NSmartProxyClient.cs | 4 +-- src/NSmartProxyWinform/ClientMngr.Designer.cs | 5 +-- src/NSmartProxyWinform/ClientMngr.cs | 14 -------- .../NSmartProxyWinform.csproj | 33 ++++++++++++++++++ src/NSmartProxyWinform/nsp.ico | Bin 0 -> 125679 bytes src/build.cmd | 31 +++++++++++++--- src/build.ps | Bin 0 -> 1009 bytes 7 files changed, 63 insertions(+), 24 deletions(-) create mode 100644 src/NSmartProxyWinform/nsp.ico create mode 100644 src/build.ps diff --git a/src/NSmartProxyClient/NSmartProxyClient.cs b/src/NSmartProxyClient/NSmartProxyClient.cs index b707c20..e17b552 100644 --- a/src/NSmartProxyClient/NSmartProxyClient.cs +++ b/src/NSmartProxyClient/NSmartProxyClient.cs @@ -68,9 +68,9 @@ static void Main(string[] args) { Logger.Error(e.Message); } - - Logger.Info("Client terminated,press any key to continue."); Console.Read(); + Logger.Info("Client terminated,press any key to continue."); + } private static async Task StartClient() diff --git a/src/NSmartProxyWinform/ClientMngr.Designer.cs b/src/NSmartProxyWinform/ClientMngr.Designer.cs index fc1ef40..faa9a8b 100644 --- a/src/NSmartProxyWinform/ClientMngr.Designer.cs +++ b/src/NSmartProxyWinform/ClientMngr.Designer.cs @@ -64,7 +64,6 @@ private void InitializeComponent() this.label3 = new System.Windows.Forms.Label(); this.listBox1 = new System.Windows.Forms.ListBox(); this.tabServerConfig = new System.Windows.Forms.TabControl(); - this.timer1 = new System.Windows.Forms.Timer(this.components); this.errorProvider1 = new System.Windows.Forms.ErrorProvider(this.components); this.cmsRightMenu.SuspendLayout(); this.tabPage2.SuspendLayout(); @@ -410,7 +409,6 @@ private void InitializeComponent() this.listBox1.Name = "listBox1"; this.listBox1.Size = new System.Drawing.Size(303, 196); this.listBox1.TabIndex = 6; - this.listBox1.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.listBox1_DrawItem); this.listBox1.SelectedIndexChanged += new System.EventHandler(this.listBox1_SelectedIndexChanged); this.listBox1.Leave += new System.EventHandler(this.listBox1_Leave); // @@ -426,7 +424,7 @@ private void InitializeComponent() // // timer1 // - this.timer1.Tick += new System.EventHandler(this.timer1_Tick); + // // errorProvider1 // @@ -496,7 +494,6 @@ private void InitializeComponent() private System.Windows.Forms.ToolStripMenuItem 配置ToolStripMenuItem; private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; private System.Windows.Forms.ToolStripMenuItem 启动内网穿透ToolStripMenuItem; - private System.Windows.Forms.Timer timer1; private System.Windows.Forms.Button btnRefresh; private System.Windows.Forms.Button btnSaveConfig; private System.Windows.Forms.Label label7; diff --git a/src/NSmartProxyWinform/ClientMngr.cs b/src/NSmartProxyWinform/ClientMngr.cs index faf7add..7452e45 100644 --- a/src/NSmartProxyWinform/ClientMngr.cs +++ b/src/NSmartProxyWinform/ClientMngr.cs @@ -184,7 +184,6 @@ private void ShowInExplorer_Click(object sender, EventArgs e) //记录日志 string argument = "/select, \"" + filePath + "\""; - //Logging.Debug(argument); System.Diagnostics.Process.Start("explorer.exe", argument); } @@ -247,8 +246,6 @@ private void listBox1_SelectedIndexChanged(object sender, EventArgs e) tbxTargetServerAddr.Text = strParts[2].Trim(); tbxTargetServerPort.Text = strParts[3].Trim(); } - - } @@ -323,11 +320,6 @@ private void tbxTargetServerPort_KeyPress(object sender, KeyPressEventArgs e) } } - private void listBox1_DrawItem(object sender, DrawItemEventArgs e) - { - - } - private void 启动内网穿透ToolStripMenuItem_Paint(object sender, PaintEventArgs e) { if (IsStarted) @@ -372,12 +364,6 @@ private void RefreshFormFormConfig() } } - private void timer1_Tick(object sender, EventArgs e) - { - //1.刷新配置 - - //2.保存配置到文件 - } private void btnSaveConfig_Click(object sender, EventArgs e) { diff --git a/src/NSmartProxyWinform/NSmartProxyWinform.csproj b/src/NSmartProxyWinform/NSmartProxyWinform.csproj index ac31fbd..0431b20 100644 --- a/src/NSmartProxyWinform/NSmartProxyWinform.csproj +++ b/src/NSmartProxyWinform/NSmartProxyWinform.csproj @@ -12,6 +12,23 @@ 512 true true + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + AnyCPU @@ -32,6 +49,9 @@ prompt 4 + + nsp.ico + ..\packages\log4net.2.0.8\lib\net45-full\log4net.dll @@ -150,9 +170,22 @@ + + + + False + Microsoft .NET Framework 4.6.1 %28x86 和 x64%29 + true + + + False + .NET Framework 3.5 SP1 + false + + \ No newline at end of file diff --git a/src/NSmartProxyWinform/nsp.ico b/src/NSmartProxyWinform/nsp.ico new file mode 100644 index 0000000000000000000000000000000000000000..dbad80a772a4db0556a34fe2965d512a07374800 GIT binary patch literal 125679 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 literal 0 HcmV?d00001 diff --git a/src/build.cmd b/src/build.cmd index 5edb87d..8e78340 100644 --- a/src/build.cmd +++ b/src/build.cmd @@ -1,4 +1,27 @@ -cd ./NSmartProxy.ClientRouter -rem #run before install wrap tool. -rem #eg.: dotnet tool install -g dotnet-warp -dotnet-warp -l aggressive --verbose \ No newline at end of file +rem NSP v0.3 +set Ver=v0.3 +set BuildPath=%~dp0/../build + +set nsp_server_path=%BuildPath%/nspclient_%Ver% +set nsp_client_path=%BuildPath%/nspserver_%Ver% +set nsp_client_winfform_path=%BuildPath%/nspclient_winform_%Ver% + +rem del %~dp0/../build/*.* +rem NSPClient +dotnet publish .\NSmartProxyClient\NSmartProxyClient.csproj -o %nsp_server_path% + +rem NSPServer +dotnet publish .\NSmartProxy.ServerHost\NSmartProxy.ServerHost.csproj -o %nsp_client_path% + +rem NSPWinform +MSBuild .\NSmartProxyWinform\NSmartProxyWinform.csproj /t:build /p:OutDir=%nsp_client_winfform_path% +powershell del %nsp_client_winfform_path%/*.pdb +powershell del %nsp_client_winfform_path%/*.xml + +rem ilmerge +rem ruined :< + +rem compress +powershell Compress-Archive -Path '%nsp_server_path%/*.*' -DestinationPath '%BuildPath%/nspclient_%Ver%.zip' -Force +powershell Compress-Archive -Path '%nsp_client_path%/*.*' -DestinationPath '%BuildPath%/nspserver_%Ver%.zip' -Force +powershell Compress-Archive -Path '%nsp_client_winfform_path%/*.*' -DestinationPath '%BuildPath%/nspclient_winform_%Ver%.zip' -Force diff --git a/src/build.ps b/src/build.ps new file mode 100644 index 0000000000000000000000000000000000000000..ab8d76a090fd9c5cee2b5adb6c789981a34196b4 GIT binary patch literal 1009 zcmb7@&riZI6vyxVD|%^2NY;^fTjZb+<3%J{q8AeaTalWrZC*P>5B}}0KbRdL;%$5H zyYIK}(>Gu>p5=4A9nmYKnZZvC#@)+p!>e+>G@CK`D%B{ZG+o&ea#EqyLNnMhSSY9I z~sma`x;#6gijhS*7yQxB!h1!899;zMsWV;2d%GKYZU0r!l zys8e{e?;KLjOOhPyWKl=vum8p&$JX2+L)R literal 0 HcmV?d00001