public List <OptionSettingItem> GetDeploymentBundleSettings(DeploymentBundleTypes deploymentBundleTypes)
        {
            var deploymentBundleDefinitionsPath = DeploymentBundleDefinitionLocator.FindDeploymentBundleDefinitionPath();

            try
            {
                foreach (var deploymentBundleFile in Directory.GetFiles(deploymentBundleDefinitionsPath, "*.deploymentbundle", SearchOption.TopDirectoryOnly))
                {
                    try
                    {
                        var content    = File.ReadAllText(deploymentBundleFile);
                        var definition = JsonConvert.DeserializeObject <DeploymentBundleDefinition>(content);
                        if (definition.Type.Equals(deploymentBundleTypes))
                        {
                            return(definition.Parameters);
                        }
                    }
                    catch (Exception e)
                    {
                        throw new Exception($"Failed to Deserialize Deployment Bundle [{deploymentBundleFile}]: {e.Message}", e);
                    }
                }
            }
            catch (IOException)
            {
                throw new NoDeploymentBundleDefinitionsFoundException("Failed to find a deployment bundle definition");
            }

            throw new NoDeploymentBundleDefinitionsFoundException("Failed to find a deployment bundle definition");
        }
Exemple #2
0
 public DeploymentBundleDefinition(DeploymentBundleTypes type, List <OptionSettingItem> parameters)
 {
     Type       = type;
     Parameters = parameters;
 }