Example #1
0
        static async Task CreateBuildTarget(List <Options2> optionList)
        {
            var buildTargetsApi = new UnityCloudBuildApi.IO.Swagger.Api.BuildtargetsApi(config);

            // Get BuildTargets for list BuildTargetId
            var buildTargets = await ConsideringRateLimitWith(async() => await buildTargetsApi.GetBuildTargetsAsync(OrgId, ProjectId));

            var existsTargetIdByName = buildTargets.ToDictionary(x => x.Name);

            for (int i = 0; i < optionList.Count;)
            {
                var opt2 = optionList[i];
                if (existsTargetIdByName.ContainsKey(opt2.Name))
                {
                    //Update build target
                    var target = existsTargetIdByName[opt2.Name];
                    Debug.WriteLine("Update build target: " + opt2.Name + ", " + target.Buildtargetid);
                    var opt3 = new Options3();
                    opt3.Name        = opt2.Name;
                    opt3.Platform    = opt2.Platform;
                    opt3.Enabled     = opt2.Enabled;
                    opt3.Settings    = opt2.Settings;
                    opt3.Credentials = opt2.Credentials;
                    await ConsideringRateLimitWith(async() => await buildTargetsApi.UpdateBuildTargetAsync(OrgId, ProjectId, target.Buildtargetid, opt3));
                }
                else
                {
                    // Add Build Target
                    Debug.WriteLine("Add build target: " + opt2.Name);
                    await ConsideringRateLimitWith(async() => await buildTargetsApi.AddBuildTargetAsync(OrgId, ProjectId, opt2));
                }
                i++;
            }
        }
Example #2
0
        public static async Task <string[]> StartBuild(StartaBuildParam param)
        {
            Debug.WriteLine("StartBuild with: " + param);

            var buildTargetsApi = new UnityCloudBuildApi.IO.Swagger.Api.BuildtargetsApi(config);

            Debug.WriteLine("StartBuild 1");
            // Get BuildTargets for list BuildTargetId
            var buildTargets = await buildTargetsApi.GetBuildTargetsAsync(OrgId, ProjectId, "settings");

            Debug.WriteLine("StartBuild 2");

            var targets = from x in buildTargets
                          where x.Platform == param.Platform
                          where x.Settings != null && x.Settings.Advanced != null && x.Settings.Advanced.Unity != null
                          let symbolsStr = x.Settings.Advanced.Unity.ScriptingDefineSymbols
                                           let symbolList = symbolsStr.Split(';')
                                                            let release = symbolList.Contains("RELEASE")
                                                                          let realStore = symbolList.Contains("REAL_STORE")
                                                                                          where release == param.ReleaseBuild
                                                                                          where realStore == param.RealStore
                                                                                          let relVer0 = symbolList.Contains("RELEASEVER_0")
                                                                                                        let relVer1 = symbolList.Contains("RELEASEVER_1")
                                                                                                                      let relVer2 = symbolList.Contains("RELEASEVER_2")
                                                                                                                                    let relVer3 = symbolList.Contains("RELEASEVER_3")
                                                                                                                                                  where
                                                                                                                                                  (param.ReleaseVer == 3 && (relVer0 && relVer1 && relVer2 && relVer3)) ||
                                                                                                                                                  (param.ReleaseVer == 2 && (relVer0 && relVer1 && relVer2) && (!relVer3)) ||
                                                                                                                                                  (param.ReleaseVer == 1 && (relVer0 && relVer1) && (!relVer2 && !relVer3)) ||
                                                                                                                                                  (param.ReleaseVer == 0 && (relVer0) && (!relVer1 && !relVer2 && !relVer3))
                                                                                                                                                  select x;

            Debug.WriteLine("StartBuild 3: " + targets.Count());

            var buildApi = new UnityCloudBuildApi.IO.Swagger.Api.BuildsApi(config);

            foreach (var target in targets)
            {
                var opt4 = new Options4
                {
                    Clean = param.CleanBuild,
                    Delay = 0,
                };
                Debug.WriteLine("Build: " + target.Buildtargetid);
                await buildApi.StartBuildsAsync(OrgId, ProjectId, target.Buildtargetid, opt4);
            }

            Debug.WriteLine("StartBuild 4: ");

            return(targets.Select(x => x.Name).ToArray());
        }
        static async Task <List <InlineResponse2003> > TestBuildTargetApi(Configuration config, string orgId, string projectId)
        {
            #region BuildTarget Api

            // Add Build Target
            var buildTargetApi = new UnityCloudBuildApi.IO.Swagger.Api.BuildtargetsApi(config);
            var option2        = new Options2
            {
                Platform = "android",
                Name     = "Test",
                Enabled  = false,
                Settings = new OrgsorgidprojectsprojectidbuildtargetsSettings
                {
                    Platform = new OrgsorgidprojectsprojectidbuildtargetsSettingsPlatform {
                        BundleId = "com.hoge.fuga"
                    },
                    AutoBuild = true,
                    Scm       = new OrgsorgidprojectsprojectidbuildtargetsSettingsScm
                    {
                        Branch = "master",
                        Type   = "git"
                    },
                    UnityVersion = "latest",
                },
            };
            var newBuildTarget = await buildTargetApi.AddBuildTargetAsync(orgId, projectId, option2);

            var hoge = newBuildTarget.ToJson();

            // Get BuildTargets for list BuildTargetId
            var buildTargets = await buildTargetApi.GetBuildTargetsAsync(orgId, projectId);

            var fuga = buildTargets.Select(x => x.ToJson()).ToArray();

            // Get BuildTarget Info
            var buildTarget = await buildTargetApi.GetBuildTargetAsync(orgId, projectId, buildTargets.FirstOrDefault().Buildtargetid);

            var piyo = buildTarget.ToJson();

            #endregion

            return(buildTargets);
        }
Example #4
0
        static async Task RemoveBuildTarget()
        {
            var buildTargetsApi = new UnityCloudBuildApi.IO.Swagger.Api.BuildtargetsApi(config);

            // Get BuildTargets for list BuildTargetId
            var buildTargets = await ConsideringRateLimitWith(async() => await buildTargetsApi.GetBuildTargetsAsync(OrgId, ProjectId));

            for (int i = 0; i < buildTargets.Count;)
            {
                var buildTarget = buildTargets[i];
                if (buildTarget.Name.IndexOf(BuildDefinition.NamePrefix) >= 0)
                {
                    Debug.WriteLine("Delete build target: " + buildTarget.Name);
                    await ConsideringRateLimitWith(
                        async() => await buildTargetsApi.DeleteBuildTargetAsync(OrgId, ProjectId, buildTarget.Buildtargetid)
                        );
                }
                i++;
            }
        }