@flxbl-io/sfp
Version:
sfp is a CLI tool to help you manage your Salesforce projects in an artifact centric model
70 lines (69 loc) • 1.98 kB
TypeScript
import ReleaseDefinition from './ReleaseDefinition';
import { DeploymentResult } from '../deploy/DeployImpl';
import { Logger } from '@flxbl-io/sfp-logger';
export interface ReleaseProps {
releaseDefinitions: ReleaseDefinition[];
targetOrg: string;
fetchArtifactScript: string;
isNpm: boolean;
scope: string;
npmrcPath: string;
logsGroupSymbol: string[];
tags: any;
isDryRun: boolean;
waitTime: number;
keys: string;
isGenerateChangelog: boolean;
devhubUserName: string;
branch: string;
directory: string;
}
export default class ReleaseImpl {
private props;
private logger?;
constructor(props: ReleaseProps, logger?: Logger);
exec(): Promise<ReleaseResult>;
/**
*
* @param releases
* @returns aggregated number of work items in a release
*/
private getAggregatedNumberOfWorkItemsInRelease;
/**
*
* @param releases
* @returns aggregated number of commits in a release
*/
private getAggregatedNumberOfCommitsInRelease;
private getNumberOfWorkItems;
private getNumberOfCommits;
private deployArtifacts;
private getSortedReleaseDefns;
private generateSfpPackageFromArtifacts;
private installPackageDependencies;
/**
* Parse keys in string format "packageA:key packageB:key packageC:key"
* Returns map of packages to keys
* @param keys
*/
private parseKeys;
private displayReleaseInfo;
private getArtifactDirectory;
}
interface InstallDependenciesResult {
success: [string, string][];
skipped: [string, string][];
failed: [string, string][];
}
export interface ReleaseResult {
succeededDeployments: {
releaseDefinition: ReleaseDefinition;
result: DeploymentResult;
}[];
failedDeployments: {
releaseDefinition: ReleaseDefinition;
result: DeploymentResult;
}[];
installDependenciesResult: InstallDependenciesResult;
}
export {};