/// <summary> /// Write a <see cref="ProductionResult"/> to persistent storage. /// </summary> /// <param name="productionResult">The <see cref="ProductionResult"/></param> /// <param name="productionContext">The <see cref="ProductionContext"/></param> /// <returns>A <see cref="ProductionPersistence"/> instance</returns> public ProductionPersistence Persist(ProductionResult productionResult, ProductionContext productionContext) { ProductionPersistence retval = new ProductionPersistence(productionContext.Parameters); foreach (GeneratedArtifact generatedArtifact in productionResult.GeneratedArtifacts) { IArtifactPersister artifactPersister = FactoryHost.Instance.GetArtifactPersister(generatedArtifact.TargetLanguage, null); artifactPersister.Persist(generatedArtifact, productionContext, retval); } return retval; }
/// <summary> /// The main method to persist a <see cref="GeneratedArtifact"/> /// </summary> /// <param name="artifact">A <see cref="GeneratedArtifact"/> instance</param> /// <param name="productionContext">A <see cref="ProductionContext"/> instance</param> /// <param name="productionPersistence">A <see cref="ProductionPersistence"/> instance</param> public void Persist(GeneratedArtifact artifact, ProductionContext productionContext, ProductionPersistence productionPersistence) { _productionPersistence = productionPersistence; if (!string.IsNullOrEmpty(artifact.ItemFilePathTemplate)) PersistMultiFile(artifact, productionContext); else PersistSingleFile(artifact, productionContext); }