/// <nodoc /> public bool TryWriteFile( AbsolutePath destination, PipData content, WriteFileEncoding encoding, string[] tags, string description, out FileArtifact fileArtifact) { Contract.Requires(destination.IsValid); Contract.Requires(content.IsValid); fileArtifact = FileArtifact.CreateSourceFile(destination).CreateNextWrittenVersion(); var pip = new WriteFile( fileArtifact, content, encoding, ToStringIds(tags), CreatePipProvenance(description)); if (PipGraph != null) { return(PipGraph.AddWriteFile(pip, GetValuePipId())); } return(true); }