Hello World is a C# demonstration project for use with the PupNet Deploy command-line utility.
PupNet Deploy is a cross-platform deployment utility which publishes your .NET project and packages it as a ready-to-ship installation file in a single step.
Hello World demonstrates all the major features of building distributable packages with PupNet. It can be built for all package kinds, including AppImage, Flatpak, DEB and RPM formats on Linux, and as a Setup file on Windows. It provides an example of using desktop and AppStream metadata files, as well as icons and post-publish scripts.
You will notice, for example, that it has an AppStream metadata file and associated desktop file, both of which make use of macro variables for a high degree of content automation, so that information need only be specified once in the primary configuration.
On execution, the Hello World program displays command arguments and assembly information. The assembly version confirms that version information may be provided in the deployment configuration, and passed through the build system, to the application.
Clone this repository to your local drive.
Install PupNet Deploy, along with its prerequisites.
At the solution directory:
pupnet --kind appimage
pupnet -k flatpak
pupnet -k deb
pupnet -k rpm
The package output kind defaults to appimage
if omitted under Linux.
At the solution directory:
pupnet -k setup
It defaults to setup
if omitted under Windows.
The application runs in the terminal, so run the program from the command-line rather than double-clicking from a file manager to see the output.
The program prints different output according to whether the #FLAG1
and #FLAG2
macros are defined.
This is intended to test that we can successfully pass properties during the pupnet build.
To test set both flags at command line:
pupnet --property DefineConstants=FLAG1,FLAG2
Use a comma (not semi-colon) and do not put a space between the values.
In this case, the Hello World program will output the following when built and run:
CUSTOM_FLAG defined OK
pupnet was called with: --property DefineConstants=CUSTOM_FLAG;
See the PupNet Deploy Project for complete instructions and information.
PupNet Deploy was created by Andy Thomas at https://kuiper.zone.
If you like this project, don't forget to like and share.