Skip to content

Instantly share code, notes, and snippets.

View jonathanpeppers's full-sized avatar
🌶️
spicy!

Jonathan Peppers jonathanpeppers

🌶️
spicy!
View GitHub Profile
@jonathanpeppers
jonathanpeppers / build-number.fsx
Created March 2, 2015 20:46
Using BUILD_NUMBER with FAKE
//Environment variables
let version = "1.0.0"
let build = environVarOrDefault "BUILD_NUMBER" "1"
let versionNumber = (version + "." + build)
@jonathanpeppers
jonathanpeppers / exec-helper.fsx
Created March 2, 2015 20:47
Exec helper for FAKE
let Exec command args =
let result = Shell.Exec(command, args)
if result <> 0 then failwithf "%s exited with error %d" command result
@jonathanpeppers
jonathanpeppers / plist-helper.fsx
Created March 2, 2015 20:47
Plist helper for FAKE
let UpdatePlist shortVersion version project =
let info = Path.Combine(project, "Info.plist")
Exec "/usr/libexec/PlistBuddy" ("-c 'Set :CFBundleShortVersionString " + shortVersion + "' " + info)
Exec "/usr/libexec/PlistBuddy" ("-c 'Set :CFBundleVersion " + version + "' " + info)
@jonathanpeppers
jonathanpeppers / android-manifest-helper.fsx
Created March 2, 2015 20:49
Android manifest helper for FAKE
let UpdateManifest version build project =
let path = (project + "/Properties/AndroidManifest.xml")
let ns = Seq.singleton(("android", "http://schemas.android.com/apk/res/android"))
XmlPokeNS path ns "manifest/@android:versionName" (version + "." + build)
XmlPokeNS path ns "manifest/@android:versionCode" build
@jonathanpeppers
jonathanpeppers / windows-version.xml
Created March 2, 2015 20:53
Readify MSBuild helper
<Import Project="..\packages\Readify.Xamarin.MSBuild.WindowsPhone.1.1.0\build\Readify.Xamarin.MSBuild.WindowsPhone.targets" Condition="Exists('..\packages\Readify.Xamarin.MSBuild.WindowsPhone.1.1.0\build\Readify.Xamarin.MSBuild.WindowsPhone.targets')" />
@jonathanpeppers
jonathanpeppers / hockey.fsx
Created March 2, 2015 20:54
Hockey helper for FAKE
let HockeyPath =
if isUnix then "/usr/local/bin/puck" else @"C:\Program Files (x86)\HockeyApp\Hoch.exe"
let HockeyArgs =
if isUnix then "-submit=auto -app_id={1} -api_token={2} {0}" else "{0} /app_id {1} /version {3} /notes \"\""
let Hockey file appId apiToken version =
Exec HockeyPath (String.Format(HockeyArgs, file, appId, apiToken, version))
@jonathanpeppers
jonathanpeppers / raygun.fsx
Created March 2, 2015 20:55
Raygun helper for FAKE
let Raygun appId token dSym =
let dSymZipped = dSym + ".zip"
Exec "zip" ("-y -r " + dSymZipped + " " + dSym)
Exec "curl" ("-H 'Host: app.raygun.io' -H 'Authorization: Basic " + token + "' --form 'DsymFile=@" + dSymZipped + "' https://app.raygun.io/dashboard/"+ appId + "/settings/symbols")
@jonathanpeppers
jonathanpeppers / nunit.fsx
Created March 2, 2015 20:57
NUnit helper for FAKE
let RunNUnitTests dllPath =
Exec ".nuget/NuGet.exe" "install NUnit.Runners"
!! dllPath |> NUnit (fun p -> p)
@jonathanpeppers
jonathanpeppers / Unity.bat
Created April 1, 2015 20:28
Invoke Unity3D command line
"C:\Program Files (x86)\Unity\Editor\Unity.exe" -quit -batchmode -logFile -projectPath path\to\YourProject -executeMethod BuildScript.Android
@jonathanpeppers
jonathanpeppers / BuildScript.cs
Created April 1, 2015 20:29
Simple Unity3D build script
public class BuildScript
{
static void Android()
{
BuildPipeline.BuildPlayer(GetScenes(), "your.apk", BuildTarget.Android, BuildOptions.None);
}
static string[] GetScenes()
{
return EditorBuildSettings.scenes.Where(s => s.enabled).Select(s => s.path).ToArray();