-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuild.cake
59 lines (51 loc) · 1.86 KB
/
build.cake
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#addin "Cake.Xamarin"
const string Solution = "XamarinFastlaneDemo.sln";
const string DroidProject = "XamarinFastlaneDemo.Droid";
var target = Argument<string>("target", "Default");
var configuration = Argument<string>("configuration", "Release");
Task("Clean")
.Does(() =>
{
// Clean solution directories.
var solutions = GetFiles("./**/*.sln");
var solutionPaths = solutions.Select(solution => solution.GetDirectory());
foreach(var path in solutionPaths)
{
Information("Cleaning {0}", path);
CleanDirectories(path + "/**/bin/" + configuration);
CleanDirectories(path + "/**/obj/" + configuration);
}
});
Task("Restore")
.Does(() =>
{
// Restore all NuGet packages.
NuGetRestore("XamarinFastlaneDemo.sln");
});
// Task("Android").Does(() =>
// {
// // build release, create apk, sign, and zipalign
// AndroidPackage(
// new FilePath("./XamarinFastlaneDemo.Droid/XamarinFastlaneDemo.Droid.csproj"),
// true,
// settings => {
// settings.SetConfiguration("Release");
// settings.WithTarget("PackageForAndroid");
// settings.SetVerbosity(Verbosity.Minimal);
// });
// }).IsDependentOn("Clean")
// .IsDependentOn("Restore");
Task("iOS").Does(() =>
{
DotNetBuild(new FilePath(string.Format("./{0}", Solution)), settings => {
settings.Configuration = "Ad-Hoc";
settings.WithProperty("Platform", "iPhone");
settings.WithProperty("Target", "Build");
settings.WithProperty("BuildIpa", "true");
settings.WithProperty("IncludeITunesArtwork", "false");
settings.WithProperty("CodesignKey", "iPhone Developer: iOS Dev (7V257NZ2YW)");
settings.WithProperty("CodesignProvision", "3f0a2399-8bdd-4307-8fb9-14ed1c7ed645");
});
}).IsDependentOn("Clean")
.IsDependentOn("Restore");
RunTarget(target);