/// <nodoc /> public bool TryAddIpc( IpcClientInfo ipcClientInfo, PipData arguments, FileArtifact outputFile, ReadOnlyArray <PipId> servicePipDependencies, ReadOnlyArray <FileArtifact> fileDependencies, ReadOnlyArray <DirectoryArtifact> directoryDependencies, ReadOnlyArray <FileOrDirectoryArtifact> skipMaterializationFor, bool isServiceFinalization, bool mustRunOnMaster, string[] tags, out IpcPip ipcPip) { ipcPip = new IpcPip( ipcClientInfo, arguments, outputFile: outputFile, servicePipDependencies: servicePipDependencies, fileDependencies: fileDependencies, directoryDependencies: directoryDependencies, skipMaterializationFor: skipMaterializationFor, isServiceFinalization: isServiceFinalization, mustRunOnMaster: mustRunOnMaster, tags: ToStringIds(tags), provenance: CreatePipProvenance(string.Empty) ); if (PipGraph != null) { var success = PipGraph.AddIpcPip(ipcPip, GetValuePipId()); return(success); } return(true); }