Esempio n. 1
0
        public static void SaveTapAssetConfig(this BaseLoadTask baseTask, TapSettingJson tapSetting)
        {
            baseTask.LogInformation($"Saving {Consts.TapSettingFile} file");

            try
            {
                var tapSettingsPath = baseTask.FindTopFileInProjectDir(Consts.TapSettingFile);
                var json            = JsonConvert.SerializeObject(tapSetting, Formatting.Indented);
                File.WriteAllText(tapSettingsPath, json);
                baseTask.LogDebug($"{Consts.TapSettingFile} file saved");
            }
            catch (Exception ex)
            {
                baseTask.Log.LogErrorFromException(ex);
            }
        }
        public override bool Execute()
        {
            LogInformation($"Running {_taskName}");
            var baseResult = base.Execute();

            LogDebug($"Project name {ProjectName}");
            LogDebug($"Build configuration {BuildConfiguration}");

            TapAssetDirRelative = new TaskItem(Consts.TapAssetsDir);
            TapShouldContinue   = bool.TrueString;

            _tapSetting = this.GetTapSetting();

            if (_tapSetting == null)
            {
                //Change to warning, and return TapShouldContinue = false
                Log.LogError($"{Consts.TapSettingFile} file not set, please see solution root and complete");
                return(false);
            }


            if (_tapSetting.BuildConfigs == null)
            {
                LogDebug("Added BuildConfigs list");
                _tapSetting.BuildConfigs = new List <BuildConfigJson>();
            }

            var thisBuildConfig = _tapSetting.BuildConfigs.FirstOrDefault(x => x.BuildConfiguration == BuildConfiguration &&
                                                                          x.ProjectName == ProjectName);

            if (thisBuildConfig == null)
            {
                LogInformation($"Project {ProjectName} Build configuration {BuildConfiguration} not found, so adding to {Consts.TapSettingFile}");
                _tapSetting.BuildConfigs.Add(new BuildConfigJson(ProjectName, BuildConfiguration));
                this.SaveTapAssetConfig(_tapSetting);
            }
            else if (thisBuildConfig.Disabled == true)
            {
                LogInformation($"The Apps Pajamas is disabled in {Consts.TapSettingFile} for Project {ProjectName} in configuration {BuildConfiguration}], exiting");
                TapShouldContinue = bool.FalseString;
                return(true);
            }



            return(true);
        }
Esempio n. 3
0
        public static TapSettingJson GetTapSetting(this BaseLoadTask baseTask)
        {
            baseTask.Log.LogMessage($"Loading {Consts.TapSettingFile} file");

            try
            {
                var            tapSettingsPath = baseTask.FindTopFileInProjectDir(Consts.TapSettingFile);
                TapSettingJson tapSetting      = null;
                if (String.IsNullOrEmpty(tapSettingsPath))
                {
                    baseTask.Log.LogError($"{Consts.TapSettingFile} file not found");
                    return(null);
                }
                else
                {
                    //test security file as well
                    baseTask.GetSecurity();
                    var json = File.ReadAllText(tapSettingsPath);
                    tapSetting = JsonConvert.DeserializeObject <TapSettingJson>(json);

                    if (String.IsNullOrEmpty(tapSetting.TapAppId))
                    {
                        baseTask.Log.LogError($"{Consts.TapSettingFile} TapAppId is 0, please complete TapAppId and restart build process");
                        return(null);
                    }
                    else
                    {
                        baseTask.LogDebug($"{Consts.TapSettingFile} file read, TapAppId '{ tapSetting.TapAppId}");
                        return(tapSetting);
                    }
                }
            }
            catch (Exception ex)
            {
                baseTask.Log.LogErrorFromException(ex);
            }
            return(null);
        }