Skip to content

Commit

Permalink
PLAT-12363 build unity notifier with dotnet standard 2.0 (#816)
Browse files Browse the repository at this point in the history
  • Loading branch information
richardelms authored Jun 28, 2024
1 parent 458a73a commit 1ad3243
Show file tree
Hide file tree
Showing 19 changed files with 136 additions and 287 deletions.
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,12 +108,12 @@ bundle exec maze-runner features/handled_errors.feature

1. Make sure any changes made since last release in `master` are merged into `next`.

2. Checkout the `next` branch. Set the version number in the change log and `build.cake`.
2. Checkout the `next` branch. Set the version number in the change log and `build.sh`.

3. Commit the changelog and version updates:

```
git add CHANGELOG.md build.cake
git add CHANGELOG.md build.sh
git commit -m "Release v7.x.x"
```
4. Make a pull request to merge the changes into `master`
Expand Down
2 changes: 1 addition & 1 deletion Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -321,7 +321,7 @@ namespace :plugin do
end
end

Dir.chdir File.join("src", "BugsnagUnity", "bin", "Release", "net35") do
Dir.chdir File.join("src", "BugsnagUnity", "bin", "Release", "netstandard2.0") do
FileUtils.cp File.realpath("BugsnagUnity.dll"), assets_path
windows_dir = File.join(assets_path, "Windows")
FileUtils.cp File.realpath("BugsnagUnity.Windows.dll"), windows_dir
Expand Down
33 changes: 0 additions & 33 deletions build.cake

This file was deleted.

125 changes: 29 additions & 96 deletions build.sh
Original file line number Diff line number Diff line change
@@ -1,117 +1,50 @@
#!/usr/bin/env bash

##########################################################################
# This is the Cake bootstrapper script for Linux and OS X.
# This file was downloaded from https://github.com/cake-build/resources
# Feel free to change this file to fit your needs.
##########################################################################

# Define directories.
SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
TOOLS_DIR=$SCRIPT_DIR/tools
ADDINS_DIR=$TOOLS_DIR/Addins
MODULES_DIR=$TOOLS_DIR/Modules
NUGET_EXE=$TOOLS_DIR/nuget.exe
CAKE_EXE=$TOOLS_DIR/Cake/Cake.exe
PACKAGES_CONFIG=$TOOLS_DIR/packages.config
PACKAGES_CONFIG_MD5=$TOOLS_DIR/packages.config.md5sum
ADDINS_PACKAGES_CONFIG=$ADDINS_DIR/packages.config
MODULES_PACKAGES_CONFIG=$MODULES_DIR/packages.config

# Define md5sum or md5 depending on Linux/OSX
MD5_EXE=
if [[ "$(uname -s)" == "Darwin" ]]; then
MD5_EXE="md5 -r"
else
MD5_EXE="md5sum"
fi

# Define default arguments.
SCRIPT="build.cake"
CAKE_ARGUMENTS=()
CONFIGURATION="Release"
SOLUTION="./BugsnagUnity.sln"
VERSION="8.0.0"

# Parse arguments.
for i in "$@"; do
case $1 in
-s|--script) SCRIPT="$2"; shift ;;
--) shift; CAKE_ARGUMENTS+=("$@"); break ;;
*) CAKE_ARGUMENTS+=("$1") ;;
-c|--configuration) CONFIGURATION="$2"; shift ;;
-v|--version) VERSION="$2"; shift ;;
*) ;;
esac
shift
done

# Make sure the tools folder exist.
if [ ! -d "$TOOLS_DIR" ]; then
mkdir "$TOOLS_DIR"
fi

# Make sure that packages.config exist.
if [ ! -f "$TOOLS_DIR/packages.config" ]; then
echo "Downloading packages.config..."
curl -Lsfo "$TOOLS_DIR/packages.config" https://cakebuild.net/download/bootstrapper/packages
if [ $? -ne 0 ]; then
echo "An error occurred while downloading packages.config."
exit 1
fi
fi

# Download NuGet if it does not exist.
if [ ! -f "$NUGET_EXE" ]; then
echo "Downloading NuGet..."
curl -Lsfo "$NUGET_EXE" https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
if [ $? -ne 0 ]; then
echo "An error occurred while downloading nuget.exe."
exit 1
fi
fi

# Restore tools from NuGet.
pushd "$TOOLS_DIR" >/dev/null
if [ ! -f "$PACKAGES_CONFIG_MD5" ] || [ "$( cat "$PACKAGES_CONFIG_MD5" | sed 's/\r$//' )" != "$( $MD5_EXE "$PACKAGES_CONFIG" | awk '{ print $1 }' )" ]; then
find . -type d ! -name . ! -name 'Cake.Bakery' | xargs rm -rf
fi
# Restore NuGet packages
# NOTE it is necessary to call restore on every project, not just the solution!
# Builds will intermitently fail if this is not done every time.
echo "Restoring NuGet packages..."
dotnet restore "$SOLUTION"
dotnet restore src/BugsnagUnity/BugsnagUnity.csproj
dotnet restore src/BugsnagUnity/BugsnagUnity.Android.csproj
dotnet restore src/BugsnagUnity/BugsnagUnity.iOS.csproj
dotnet restore src/BugsnagUnity/BugsnagUnity.MacOS.csproj
dotnet restore src/BugsnagUnity/BugsnagUnity.Windows.csproj

mono "$NUGET_EXE" install -ExcludeVersion
if [ $? -ne 0 ]; then
echo "Could not restore NuGet tools."
echo "An error occurred while restoring NuGet packages."
exit 1
fi

$MD5_EXE "$PACKAGES_CONFIG" | awk '{ print $1 }' >| "$PACKAGES_CONFIG_MD5"

popd >/dev/null

# Restore addins from NuGet.
if [ -f "$ADDINS_PACKAGES_CONFIG" ]; then
pushd "$ADDINS_DIR" >/dev/null

mono "$NUGET_EXE" install -ExcludeVersion
if [ $? -ne 0 ]; then
echo "Could not restore NuGet addins."
exit 1
fi

popd >/dev/null
fi

# Restore modules from NuGet.
if [ -f "$MODULES_PACKAGES_CONFIG" ]; then
pushd "$MODULES_DIR" >/dev/null

mono "$NUGET_EXE" install -ExcludeVersion
if [ $? -ne 0 ]; then
echo "Could not restore NuGet modules."
exit 1
fi

popd >/dev/null
# Build the solution
echo "Building the solution..."
dotnet build "$SOLUTION" -c "$CONFIGURATION" /p:Version="$VERSION"
if [ $? -ne 0 ]; then
echo "An error occurred while building the solution."
exit 1
fi

# Make sure that Cake has been installed.
if [ ! -f "$CAKE_EXE" ]; then
echo "Could not find Cake.exe at '$CAKE_EXE'."
# Run tests
echo "Running tests..."
dotnet test "$SOLUTION" -c "$CONFIGURATION" --no-build
if [ $? -ne 0 ]; then
echo "An error occurred while running tests."
exit 1
fi

# Start Cake
exec mono "$CAKE_EXE" $SCRIPT "${CAKE_ARGUMENTS[@]}"
echo "Build and tests completed successfully."
6 changes: 0 additions & 6 deletions src/BugsnagUnity/BugsnagUnity.Android.csproj
Original file line number Diff line number Diff line change
@@ -1,10 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<ItemGroup>
<Compile Remove="Native/**/*.cs" />
<Compile Include="Native/Android/**/*.cs" />
Expand Down
6 changes: 0 additions & 6 deletions src/BugsnagUnity/BugsnagUnity.MacOS.csproj
Original file line number Diff line number Diff line change
@@ -1,10 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<ItemGroup>
<Compile Remove="Native/**/*.cs" />
<Compile Include="Native/Cocoa/**/*.cs" />
Expand Down
6 changes: 0 additions & 6 deletions src/BugsnagUnity/BugsnagUnity.Windows.csproj
Original file line number Diff line number Diff line change
@@ -1,10 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<ItemGroup>
<Compile Remove="Native/**/*.cs" />
<Compile Include="Native/Windows/**/*.cs" />
Expand Down
6 changes: 0 additions & 6 deletions src/BugsnagUnity/BugsnagUnity.csproj
Original file line number Diff line number Diff line change
@@ -1,10 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<ItemGroup>
<Compile Remove="Native/**/*.cs" />
<Compile Include="Native/Fallback/**/*.cs" />
Expand Down
6 changes: 0 additions & 6 deletions src/BugsnagUnity/BugsnagUnity.iOS.csproj
Original file line number Diff line number Diff line change
@@ -1,10 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<ItemGroup>
<Compile Remove="Native/**/*.cs" />
<Compile Include="Native/Cocoa/**/*.cs" />
Expand Down
4 changes: 2 additions & 2 deletions src/Directory.build.props
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project>
<PropertyGroup>
<TargetFramework>net35</TargetFramework>
<LangVersion>7.1</LangVersion>
<TargetFramework>netstandard2.0</TargetFramework>
<LangVersion>8.0</LangVersion>
<Version Condition="$(Version) == ''">1.0.0</Version>
</PropertyGroup>
<ItemGroup>
Expand Down
18 changes: 6 additions & 12 deletions tests/BugsnagUnity.Tests/BugsnagUnity.Tests.csproj
Original file line number Diff line number Diff line change
@@ -1,18 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net35</TargetFramework>
<LangVersion>7.1</LangVersion>
<TargetFramework>net8.0</TargetFramework>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="NUnit" Version="3.10.1" />
<PackageReference Include="NUnit3TestAdapter" Version="3.10.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\BugsnagUnity\BugsnagUnity.csproj" />
<ProjectReference Include="..\UnityEngine\UnityEngine.csproj" />
Expand All @@ -22,4 +11,9 @@
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.10.0" />
<PackageReference Include="MSTest.TestFramework" Version="3.4.3" />
<PackageReference Include="MSTest.TestAdapter" Version="3.4.3" />
</ItemGroup>
</Project>
Loading

0 comments on commit 1ad3243

Please sign in to comment.