Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port PowerPing to other platforms #21

Closed
6 of 8 tasks
Killeroo opened this issue Mar 9, 2017 · 6 comments
Closed
6 of 8 tasks

Port PowerPing to other platforms #21

Killeroo opened this issue Mar 9, 2017 · 6 comments

Comments

@Killeroo
Copy link
Owner

Killeroo commented Mar 9, 2017

  • Restructure project for dotnet and .net4.5 builds
  • Create Bash build script for building project with .netcore
  • Create Bash build script for building project with mono
  • Batch script for building standard windows binary
  • Travis CI yml script for .netcore and mono (couple of versions of each) (could use previous build script)
  • Add platform/build info to version text (also remove build date)
  • Make sure file versions persist with .net core builds
  • Installers for each build platform
@Killeroo Killeroo changed the title Look into cake cross platform build system Port PowerPing to other platforms May 30, 2017
@Killeroo
Copy link
Owner Author

Killeroo commented Jun 5, 2017

Look at getting verified publisher status:
https://stackoverflow.com/a/6869156

@Killeroo Killeroo added this to the v1.2.0 milestone Oct 1, 2017
@Killeroo
Copy link
Owner Author

Killeroo commented Oct 1, 2017

@Killeroo
Copy link
Owner Author

Read me syntax:

Platform Support

  • Amazon Linux
  • Debian 7/8/9
  • Fedora
  • Ubuntu 14.04/16.04
  • CentOS 7

@Killeroo
Copy link
Owner Author

Killeroo commented Oct 12, 2017

dotnet commands

  • dotnet restore
  • dotnet build
  • dotnet publish -c Release -r win10-x64

Useful csproj links

Configuring csproj to build for other platforms ('Self-contained deployment without third-party')
More csproj build config
List of build targets
Basics
Building an exe
Setting assembly info

@Killeroo Killeroo modified the milestones: v1.2.0, cross-platform Nov 1, 2017
@Killeroo
Copy link
Owner Author

Killeroo commented Nov 1, 2017

Packaging software

Creating software package for the mac

@Killeroo
Copy link
Owner Author

PowerPing has included scripts to allow it to build cross platform for linux, mac and windows using dotnetcore since (f0b97c6).

However issues with the portability of the application (requiring installation of netcore) and general problems with things such as console formatting on other platforms (see #60 #61 #63 #64) have caused serious stability and inconsistency issues with PowerPing using dotnetcore.

Options like mono could be explored further and more attention to fixing these aforementioned netocore bugs could be followed up. But the amount of libraries and overhead required to run dotnetcore on other systems and the inability to create a truly portable application on these platforms has meant that focus has moved away from perfecting PowerPing for cross platform.

I know that PowerPing still requires a recent .Net framework (4.5) to run on modern windows machine, but the main aims of PowerPing was to create a small, lightweight and ideally single file application that could perform ping operations on most versions of windows. With .NET framework existing on most versions of windows nowadays (Albiet with .NET framework no longer the core framework that Microsoft focuses on) PowerPing can achieve this goal. But building PowerPing on dotnetcore does not achieve any of these aims.

So for the foreseeable future, the main focus of PowerPing will be providing a more stable, fast and feature rich application for Windows, the cross platform issues mentioned will remain open as they are linked to problems that exist on Windows. Maybe some day I'll properly revisit to cross platform implementation, I certainly won't forget about it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant