internal static IpcPip InternalDeserialize(PipReader reader) { bool hasProvenance = reader.ReadBoolean(); return(new IpcPip( ipcInfo: IpcClientInfo.Deserialize(reader), arguments: reader.ReadPipData(), outputFile: reader.ReadFileArtifact(), servicePipDependencies: reader.ReadReadOnlyArray(reader1 => ((PipReader)reader1).ReadPipId()), fileDependencies: reader.ReadReadOnlyArray(reader1 => reader1.ReadFileArtifact()), directoryDependencies: reader.ReadReadOnlyArray(reader1 => reader1.ReadDirectoryArtifact()), skipMaterializationFor: reader.ReadReadOnlyArray(reader1 => reader1.ReadFileOrDirectoryArtifact()), tags: reader.ReadReadOnlyArray(reader1 => reader1.ReadStringId()), isServiceFinalization: reader.ReadBoolean(), mustRunOnMaster: reader.ReadBoolean(), provenance: hasProvenance ? reader.ReadPipProvenance() : null)); }
internal static SealDirectory InternalDeserializeSealDirectory(PipReader reader) { DirectoryArtifact artifact = reader.ReadDirectoryArtifact(); var directory = new SealDirectory( artifact.Path, reader.ReadSortedReadOnlyArray(reader1 => reader1.ReadFileArtifact(), OrdinalFileArtifactComparer.Instance), (SealDirectoryKind)reader.ReadByte(), reader.ReadPipProvenance(), reader.ReadReadOnlyArray(reader1 => reader1.ReadStringId()), reader.ReadReadOnlyArray(reader1 => reader1.ReadStringId()), reader.ReadBoolean()); directory.SetDirectoryArtifact(artifact); Contract.Assume(directory.IsInitialized && directory.Directory == artifact); return(directory); }
internal static WriteFile InternalDeserialize(PipReader reader) { return(new WriteFile( reader.ReadFileArtifact(), reader.ReadPipData(), (WriteFileEncoding)reader.ReadByte(), reader.ReadReadOnlyArray(reader1 => reader1.ReadStringId()), reader.ReadPipProvenance())); }
/// <nodoc /> internal static CopyFile InternalDeserialize(PipReader reader) { return(new CopyFile( reader.ReadFileArtifact(), reader.ReadFileArtifact(), reader.ReadReadOnlyArray(reader1 => reader1.ReadStringId()), reader.ReadPipProvenance(), (Options)reader.ReadByte())); }
internal static CompositeSharedOpaqueSealDirectory InternalDeserializeCompositeSharedOpaqueSealDirectory(PipReader reader) { DirectoryArtifact artifact = reader.ReadDirectoryArtifact(); var directory = new CompositeSharedOpaqueSealDirectory( artifact.Path, reader.ReadArray(reader1 => reader1.ReadDirectoryArtifact()), reader.ReadPipProvenance(), reader.ReadReadOnlyArray(reader1 => reader1.ReadStringId())); directory.SetDirectoryArtifact(artifact); Contract.Assume(directory.IsInitialized && directory.Directory == artifact); return(directory); }
internal static CompositeSharedOpaqueSealDirectory InternalDeserializeCompositeSharedOpaqueSealDirectory(PipReader reader) { DirectoryArtifact artifact = reader.ReadDirectoryArtifact(); var directory = new CompositeSharedOpaqueSealDirectory( artifact.Path, reader.ReadArray(reader1 => reader1.ReadDirectoryArtifact()), reader.ReadPipProvenance(), reader.ReadReadOnlyArray(reader1 => reader1.ReadStringId()), reader.ReadBoolean() ? new SealDirectoryContentFilter((SealDirectoryContentFilter.ContentFilterKind)reader.ReadByte(), reader.ReadString()) : (SealDirectoryContentFilter?)null, (SealDirectoryCompositionActionKind)reader.ReadByte()); directory.SetDirectoryArtifact(artifact); Contract.Assume(directory.IsInitialized && directory.Directory == artifact); return(directory); }
internal static Process InternalDeserialize(PipReader reader) { return(new Process( executable: reader.ReadFileArtifact(), workingDirectory: reader.ReadAbsolutePath(), arguments: reader.ReadPipData(), responseFile: reader.ReadFileArtifact(), responseFileData: reader.ReadPipData(), environmentVariables: reader.ReadReadOnlyArray(reader1 => ((PipReader)reader1).ReadEnvironmentVariable()), standardInput: StandardInput.InternalDeserialize(reader), standardOutput: reader.ReadFileArtifact(), standardError: reader.ReadFileArtifact(), standardDirectory: reader.ReadAbsolutePath(), warningTimeout: reader.ReadNullableStruct(reader1 => reader1.ReadTimeSpan()), timeout: reader.ReadNullableStruct(reader1 => reader1.ReadTimeSpan()), dependencies: reader.ReadReadOnlyArray(reader1 => reader1.ReadFileArtifact()), outputs: reader.ReadReadOnlyArray(reader1 => reader1.ReadFileArtifactWithAttributes()), directoryDependencies: reader.ReadReadOnlyArray(reader1 => reader1.ReadDirectoryArtifact()), directoryOutputs: reader.ReadReadOnlyArray(reader1 => reader1.ReadDirectoryArtifact()), orderDependencies: reader.ReadReadOnlyArray(reader1 => ((PipReader)reader1).ReadPipId()), untrackedPaths: reader.ReadReadOnlyArray(reader1 => reader1.ReadAbsolutePath()), untrackedScopes: reader.ReadReadOnlyArray(reader1 => reader1.ReadAbsolutePath()), tags: reader.ReadReadOnlyArray(reader1 => reader1.ReadStringId()), successExitCodes: reader.ReadReadOnlyArray(reader1 => reader1.ReadInt32()), semaphores: reader.ReadReadOnlyArray(reader1 => ((PipReader)reader1).ReadProcessSemaphoreInfo()), provenance: reader.ReadPipProvenance(), toolDescription: reader.ReadStringId(), additionalTempDirectories: reader.ReadReadOnlyArray(reader1 => reader1.ReadAbsolutePath()), warningRegex: reader.ReadRegexDescriptor(), errorRegex: reader.ReadRegexDescriptor(), uniqueOutputDirectory: reader.ReadAbsolutePath(), uniqueRedirectedDirectoryRoot: reader.ReadAbsolutePath(), tempDirectory: reader.ReadAbsolutePath(), options: (Options)reader.ReadByte(), serviceInfo: reader.ReadNullable(reader1 => Operations.ServiceInfo.InternalDeserialize(reader1)), retryExitCodes: reader.ReadReadOnlyArray(r => r.ReadInt32()), allowedSurvivingChildProcessNames: reader.ReadReadOnlyArray(reader1 => reader1.ReadPathAtom()), nestedProcessTerminationTimeout: reader.ReadNullableStruct(reader1 => reader1.ReadTimeSpan()), absentPathProbeMode: (AbsentPathProbeInUndeclaredOpaquesMode)reader.ReadByte(), doubleWritePolicy: (DoubleWritePolicy)reader.ReadByte(), containerIsolationLevel: (ContainerIsolationLevel)reader.ReadByte() )); }