UNPKG

@atomist/sdm

Version:

Atomist Software Delivery Machine SDK

42 lines 1.96 kB
import { GitProject } from "@atomist/automation-client/lib/project/git/GitProject"; import { GoalInvocation } from "../../../api/goal/GoalInvocation"; import { GoalCache } from "./goalCaching"; export interface GoalCacheArchiveStore { /** * Store a compressed goal archive * @param gi The goal invocation thar triggered the caching * @param classifier The classifier of the cache * @param archivePath The path of the archive to be stored. */ store(gi: GoalInvocation, classifier: string, archivePath: string): Promise<string>; /** * Remove a compressed goal archive * @param gi The goal invocation thar triggered the cache removal * @param classifier The classifier of the cache */ delete(gi: GoalInvocation, classifier: string): Promise<void>; /** * Retrieve a compressed goal archive * @param gi The goal invocation thar triggered the cache retrieval * @param classifier The classifier of the cache * @param targetArchivePath The destination path where the archive needs to be stored. */ retrieve(gi: GoalInvocation, classifier: string, targetArchivePath: string): Promise<void>; } export declare enum CompressionMethod { TAR = 0, ZIP = 1 } /** * Cache implementation that caches files produced by goals to an archive that can then be stored, * using tar and gzip to create the archives per goal invocation (and classifier if present). */ export declare class CompressingGoalCache implements GoalCache { private readonly store; private readonly method; constructor(store?: GoalCacheArchiveStore, method?: CompressionMethod); put(gi: GoalInvocation, project: GitProject, files: string[], classifier?: string): Promise<string>; remove(gi: GoalInvocation, classifier?: string): Promise<void>; retrieve(gi: GoalInvocation, project: GitProject, classifier?: string): Promise<void>; } //# sourceMappingURL=CompressingGoalCache.d.ts.map