Azure Config Generator
 All Classes Namespaces Files Functions Variables Properties
Public Member Functions | Properties | List of all members
FUSE.AzureConfig.Tasks.AzureConfigGen Class Reference
Inheritance diagram for FUSE.AzureConfig.Tasks.AzureConfigGen:
Inheritance graph
[legend]
Collaboration diagram for FUSE.AzureConfig.Tasks.AzureConfigGen:
Collaboration graph
[legend]

Public Member Functions

override bool Execute ()
 

Properties

string ConfigurationDirectory [get, set]
 
string ConfigurationFile [get, set]
 
string OutputDirectory [get, set]
 

Detailed Description

Definition at line 11 of file AzureConfigGen.cs.

Member Function Documentation

override bool FUSE.AzureConfig.Tasks.AzureConfigGen.Execute ( )
inline

Definition at line 19 of file AzureConfigGen.cs.

20  {
21  if (string.IsNullOrEmpty(this.ConfigurationFile))
22  throw new ArgumentNullException("Must specify ConfigurationFile");
23 
24  if (!string.IsNullOrEmpty(this.OutputDirectory) && !Directory.Exists(this.OutputDirectory))
25  throw new ArgumentException(this.OutputDirectory + " output directory must exist if specified");
26 
27  this.OutputDirectory = this.OutputDirectory ?? this.ConfigurationDirectory;
28 
29  if (!string.IsNullOrEmpty(this.ConfigurationDirectory))
30  {
31  if (!Directory.Exists(this.ConfigurationDirectory))
32  throw new ArgumentException(this.ConfigurationDirectory + " must exist.");
33  if (!Path.IsPathRooted(this.ConfigurationFile))
34  this.ConfigurationFile = Path.Combine(this.ConfigurationDirectory, this.ConfigurationFile);
35  }
36  if (!File.Exists(this.ConfigurationFile))
37  throw new ArgumentException(this.ConfigurationFile + " does not exist");
38 
39  AzureConfigSpec confSpec;
40  try
41  {
42  confSpec = JsonConvert.DeserializeObject<AzureConfigSpec>(File.ReadAllText(this.ConfigurationFile));
43  } catch (Exception e)
44  {
45  throw new ArgumentException("Failed to parse " + this.ConfigurationFile, e);
46  }
47 
48  var conf = new SpecProcessor().Process(confSpec);
49  var generator = new FileGenerator();
50  generator.AlterCsdef(conf, this.ConfigurationDirectory, this.OutputDirectory);
51  generator.AlterCscfgs(conf, this.ConfigurationDirectory, this.OutputDirectory);
52 
53  return true;
54  }

Property Documentation

string FUSE.AzureConfig.Tasks.AzureConfigGen.ConfigurationDirectory
getset

Definition at line 15 of file AzureConfigGen.cs.

string FUSE.AzureConfig.Tasks.AzureConfigGen.ConfigurationFile
getset

Definition at line 13 of file AzureConfigGen.cs.

string FUSE.AzureConfig.Tasks.AzureConfigGen.OutputDirectory
getset

Definition at line 17 of file AzureConfigGen.cs.


The documentation for this class was generated from the following file: