release-please
Version:
generate release PRs based on the conventionalcommits.org spec
59 lines (58 loc) • 2.3 kB
TypeScript
import { CandidateReleasePullRequest } from '../manifest';
import { WorkspacePlugin, DependencyGraph } from './workspace';
import { CargoManifest } from '../updaters/rust/common';
import { VersionsMap, Version } from '../version';
import { Strategy } from '../strategy';
import { Commit } from '../commit';
import { Release } from '../release';
interface CrateInfo {
/**
* e.g. `crates/crate-a`
*/
path: string;
/**
* e.g. `crate-a`
*/
name: string;
/**
* e.g. `1.0.0`
*/
version: string;
/**
* e.g. `crates/crate-a/Cargo.toml`
*/
manifestPath: string;
/**
* text content of the manifest, used for updates
*/
manifestContent: string;
/**
* Parsed cargo manifest
*/
manifest: CargoManifest;
}
/**
* The plugin analyzed a cargo workspace and will bump dependencies
* of managed packages if those dependencies are being updated.
*
* If multiple rust packages are being updated, it will merge them
* into a single rust package.
*/
export declare class CargoWorkspace extends WorkspacePlugin<CrateInfo> {
private strategiesByPath;
private releasesByPath;
protected buildAllPackages(candidates: CandidateReleasePullRequest[]): Promise<{
allPackages: CrateInfo[];
candidatesByPackage: Record<string, CandidateReleasePullRequest>;
}>;
protected bumpVersion(pkg: CrateInfo): Version;
protected updateCandidate(existingCandidate: CandidateReleasePullRequest, pkg: CrateInfo, updatedVersions: VersionsMap): CandidateReleasePullRequest;
protected newCandidate(pkg: CrateInfo, updatedVersions: VersionsMap): Promise<CandidateReleasePullRequest>;
protected postProcessCandidates(candidates: CandidateReleasePullRequest[], updatedVersions: VersionsMap): CandidateReleasePullRequest[];
protected buildGraph(allPackages: CrateInfo[]): Promise<DependencyGraph<CrateInfo>>;
protected inScope(candidate: CandidateReleasePullRequest): boolean;
protected packageNameFromPackage(pkg: CrateInfo): string;
protected pathFromPackage(pkg: CrateInfo): string;
preconfigure(strategiesByPath: Record<string, Strategy>, _commitsByPath: Record<string, Commit[]>, _releasesByPath: Record<string, Release>): Promise<Record<string, Strategy>>;
}
export {};