diff --git a/README.md b/README.md index 54bab60..ca5ccba 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Tool for generating Shattered World mods for Imperator: Rome The generator is used as just another console application. -Open a terminal and run the executable, making sure that all the desired arguments are supplied +Open a terminal and run the `ImperatorShatteredWorldGenerator` executable, making sure that all the desired arguments are supplied. # Configuration diff --git a/Service/ShatteredWorldGenerator.cs b/Service/ShatteredWorldGenerator.cs index 9d741cc..d816cd0 100644 --- a/Service/ShatteredWorldGenerator.cs +++ b/Service/ShatteredWorldGenerator.cs @@ -53,6 +53,11 @@ void GenerateCities() void GenerateCountries() { + if (settings.RandomCountriesCount == 0) + { + return; + } + IList validCityIds = entityManager .GetCities() .Where(city => diff --git a/package.sh b/package.sh new file mode 100644 index 0000000..e502ba0 --- /dev/null +++ b/package.sh @@ -0,0 +1,66 @@ +#!/bin/bash + +APP_NAME=$(git remote -vv | grep fetch | sed 's|.*http.*/\(.*\)\.git.*|\1|') +VERSION="$1" +RELEASE_DIR_RELATIVE="bin/Release" +PUBLISH_DIR_RELATIVE="${RELEASE_DIR_RELATIVE}/publish-script-output" +RELEASE_DIR="$(pwd)/$RELEASE_DIR_RELATIVE" +PUBLISH_DIR="$(pwd)/$PUBLISH_DIR_RELATIVE" + +if [ -z "$VERSION" ]; then + echo "PLEASE PROVIDE A VERSION !!!" + exit 1 +fi + +function package { + ARCH="$1" + + OUTPUT_DIR="$PUBLISH_DIR/$ARCH" + OUTPUT_FILE="$RELEASE_DIR/${APP_NAME}_${VERSION}_${ARCH}.zip" + + echo "Packaging \"$OUTPUT_DIR\" to \"$OUTPUT_FILE\"" + + if [ -f "$OUTPUT_FILE" ]; then + rm "$OUTPUT_FILE" + fi + + cd "$OUTPUT_DIR" + zip -q -9 -r "$OUTPUT_FILE" . + cd - +} + +function dotnet-pub { + ARCH="$1" + OUTPUT_DIR="$PUBLISH_DIR_RELATIVE/$ARCH" + + dotnet publish -c Release -r "$ARCH" -o "$OUTPUT_DIR" --self-contained=true /p:TrimUnusedDependencies=true /p:LinkDuringPublish=true +} + +function prepare { + echo "Adding the temporary NuGet packages" + dotnet add package Microsoft.Packaging.Tools.Trimming --version 1.1.0-preview1-26619-01 + #dotnet add package ILLink.Tasks --version 0.1.5-preview-1841731 --source https://dotnet.myget.org/F/dotnet-core/api/v3/index.json +} + +function cleanup { + echo "Removing the temporary NuGet packages" + dotnet remove package Microsoft.Packaging.Tools.Trimming + #dotnet remove package ILLink.Tasks + + echo "Cleaning build output" + rm -rf "$PUBLISH_DIR" +} + +prepare + +dotnet-pub win-x64 +package win-x64 + +dotnet-pub linux-x64 +package linux-x64 + +dotnet-pub osx-x64 +package osx-x64 + +cleanup +