My project builds on Travis CI using the following build.sh:
#! /bin/sh
project="Cygnus"
echo "Attempting to build $project for Windows"
/Applications/Unity/Unity.app/Contents/MacOS/Unity \
-batchmode \
-nographics \
-silent-crashes \
-logFile $(pwd)/unity.log \
-projectPath $(pwd) \
-executeMethod Build.BuildGame \
-quit
echo '\n\nLogs from build\n'
cat $(pwd)/unity.log
and it executes Build.BuildGame:
static void BuildGame() {
BuildPipeline.BuildPlayer(new string[] { "Assets/Scenes/DebugScene.unity" }, "Build/Windows/Cygnus.exe", BuildTarget.StandaloneWindows, BuildOptions.Development);
File.Copy("version", "Build/Windows/version");
}
When i run this on my local machine (Windows 10 64 bit), it builds perfectly, with the Compiler Arguments being:
-----Compiler Commandline Arguments:
Filename: "C:\Program Files\Unity\Editor\Data\Mono\bin\mono.exe"
Arguments: "C:\Program Files\Unity\Editor\Data\Mono\lib\mono\2.0\gmcs.exe" @Temp/UnityTempFile-b0a7b727565cc0c498e9130d84f116bc
MONO_PATH: C:\Program Files\Unity\Editor\Data\Mono\lib\mono\2.0
MONO_CFG_DIR: C:\Program Files\Unity\Editor\Data\Mono\etc
but when I run it on Travis CI (the server is OS X), it produces a errors, and its using web player settings instead:
-----Compiler Commandline Arguments:
Filename: /Applications/Unity/Unity.app/Contents/Frameworks/Mono/bin/mono
Arguments: '/Applications/Unity/Unity.app/Contents/Frameworks/Mono/lib/mono/unity_web/smcs.exe' @Temp/UnityTempFile-66ade436a9eb04196ba8b0f2c4ca61e6
MONO_CFG_DIR: /Applications/Unity/Unity.app/Contents/Frameworks/Mono/etc
MONO_PATH: /Applications/Unity/Unity.app/Contents/Frameworks/Mono/lib/mono/unity_web
Whats going on? Why is the same build script producing drastically different results?
↧