private static DocumentBuildParameters ConfigToParameter(BuildJsonConfig config)
{
var parameters = new DocumentBuildParameters();
var baseDirectory = config.BaseDirectory ?? Environment.CurrentDirectory;
parameters.OutputBaseDir = Path.Combine(baseDirectory, "obj");
if (config.GlobalMetadata != null)
{
parameters.Metadata = config.GlobalMetadata.ToImmutableDictionary();
}
if (config.FileMetadata != null)
{
parameters.FileMetadata = ConvertToFileMetadataItem(baseDirectory, config.FileMetadata);
}
parameters.ExternalReferencePackages = GetFilesFromFileMapping(GlobUtility.ExpandFileMapping(baseDirectory, config.ExternalReference)).ToImmutableArray();
parameters.Files = GetFileCollectionFromFileMapping(baseDirectory,
Tuple.Create(DocumentType.Article, GlobUtility.ExpandFileMapping(baseDirectory, config.Content)),
Tuple.Create(DocumentType.Override, GlobUtility.ExpandFileMapping(baseDirectory, config.Overwrite)),
Tuple.Create(DocumentType.Resource, GlobUtility.ExpandFileMapping(baseDirectory, config.Resource)));
return(parameters);
}