diff --git a/.gitignore b/.gitignore index 3957075f..8d91b6d2 100644 --- a/.gitignore +++ b/.gitignore @@ -422,7 +422,10 @@ FodyWeavers.xsd # Moonlight storage/ -Moonlight/Moonlight.Client/wwwroot/css/style.min.css /.idea/.idea.Moonlight/.idea style.min.css -core.min.css \ No newline at end of file +core.min.css + +# Build script for nuget packages +finalPackages/ +nupkgs/ \ No newline at end of file diff --git a/Resources/Readme/logo.svg b/Resources/Readme/logo.svg new file mode 100644 index 00000000..193ebfae --- /dev/null +++ b/Resources/Readme/logo.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/Resources/Scripts/buildNuget.sh b/Resources/Scripts/buildNuget.sh new file mode 100644 index 00000000..615ead34 --- /dev/null +++ b/Resources/Scripts/buildNuget.sh @@ -0,0 +1,58 @@ +#!/bin/bash +set -e + +# Note: Run in main directory, i.e. where the Moonlight.sln is + +echo "Building nuget packages" + +echo "Searching & building project files" +project_files=$(find . -name "*.csproj") + +for project in $project_files; do + # Extract project name + project_name=$(basename "$project" .csproj) + + # Extract version + project_version=$(grep -oPm1 "(?<=)[^<]+" "$project") + if [ -z "$project_version" ]; then + echo "No tag found in $project, skipping." + continue + fi + + # Building nuget package + pwd=$(pwd) + project_path=$(dirname $project) + (cd $project_path; dotnet build --configuration Release; dotnet pack --configuration Release --output $pwd/nupkgs) + + # Mod nuget package + echo "Modding nuget package" + nugetPackage=$(find $pwd/nupkgs -name "*.nupkg") + + unzip -o $nugetPackage -d $pwd/nupkgs/mod + + if [ "$project_name" = "Moonlight.ApiServer" ]; then + rm -r $pwd/nupkgs/mod/content + rm -r $pwd/nupkgs/mod/contentFiles + + sed -i "//,/<\/contentFiles>/d" $pwd/nupkgs/mod/Moonlight.ApiServer.nuspec + fi + + if [ "$project_name" = "Moonlight.Client" ]; then + rm -r $pwd/nupkgs/mod/staticwebassets/_framework + + sed -i '//,/<\/StaticWebAsset>/d' $pwd/nupkgs/mod/build/Microsoft.AspNetCore.StaticWebAssets.props + sed -i '//,/<\/StaticWebAsset>/d' $pwd/nupkgs/mod/build/Microsoft.AspNetCore.StaticWebAssets.props + + fi + + echo "Repacking nuget package" + rm $nugetPackage + (cd nupkgs/mod/; zip -r -o $nugetPackage *) + + mkdir -p $pwd/finalPackages/ + + mv $nugetPackage $pwd/finalPackages/ + + echo "Cleaning up" + rm -r $pwd/nupkgs/mod +done \ No newline at end of file