aws-delivlib
Version:
A fabulous library for defining continuous pipelines for building, testing and releasing code libraries.
82 lines (81 loc) • 2.15 kB
TypeScript
/**
* Properties for `Repository`.
*/
export interface RepositoryProps {
/**
* Local directory where the repository was cloned to.
*/
readonly repoDir: string;
}
/**
* Artifact produced by this repository.
*/
export interface Artifact {
/**
* Language of the artifact.
*/
readonly lang: string;
/**
* Directory containing the artifact.
*/
readonly directory: string;
}
/**
* Options for `Repository.fromGitHub`
*/
export interface RepositoryFromGitHubOptions {
/**
* Repository slug (e.g cdk8s-team/cdk8s-core)
*/
readonly slug: string;
/**
* Repository tag.
*
* @default - latest tag based on creation date.
*/
readonly tag?: string;
/**
* Prefix for detecting the latest tag of the repo. Only applies if `tag` isn't specified.
* This is useful for repositories that produce multiple packages, and hence multiple tags
* for example: https://github.com/cdk8s-team/cdk8s-plus/tags.
*/
readonly tagPrefix?: string;
/**
* ARN of an AWS secrets manager secret containing a GitHub token.
* Required for private repositories. Recommended for public ones, to avoid throtlling issues.
*
* @default - the repository is cloned without credentials.
*/
readonly githubTokenSecretArn?: string;
}
/**
* Options for `Repository.fromDir`
*/
export interface RepositoryFromDirOptions {
/**
* The directory of the repo.
*/
readonly repoDir: string;
}
/**
* Repository containing a node project.
*/
export declare class Repository {
readonly repoDir: string;
/**
* Create a repository from a local directory.
*/
static fromDir(options: RepositoryFromDirOptions): Promise<Repository>;
/**
* Create a repository from a GitHub repository.
*/
static fromGitHub(options: RepositoryFromGitHubOptions): Promise<Repository>;
private readonly isJsii;
private readonly manifest;
private constructor();
/**
* Pack the repository to produce the artifacts.
*/
pack(command: string): Artifact[];
private _shell;
}