diff --git a/packages/sfp-cli/src/commands/changelog/generate.ts b/packages/sfp-cli/src/commands/changelog/generate.ts
index 09c568d00..8258a363d 100644
--- a/packages/sfp-cli/src/commands/changelog/generate.ts
+++ b/packages/sfp-cli/src/commands/changelog/generate.ts
@@ -89,6 +89,8 @@ export default class GenerateChangelog extends SfpCommand {
this.flags.forcepush,
this.flags.branchname,
this.flags.nopush,
+ false,
+ undefined,
null
);
diff --git a/packages/sfp-cli/src/impl/changelog/ChangelogImpl.ts b/packages/sfp-cli/src/impl/changelog/ChangelogImpl.ts
index 1326bec90..63b8e6be7 100644
--- a/packages/sfp-cli/src/impl/changelog/ChangelogImpl.ts
+++ b/packages/sfp-cli/src/impl/changelog/ChangelogImpl.ts
@@ -35,6 +35,7 @@ export default class ChangelogImpl {
private branch: string,
private nopush:boolean,
private isDryRun: boolean,
+ private releaseConfigName:string,
private org?: string
) {
this.org = org?.toLowerCase();
@@ -145,7 +146,10 @@ export default class ChangelogImpl {
if(this.isDryRun)
{
const outputHandler:FileOutputHandler = FileOutputHandler.getInstance();
- outputHandler.writeOutput('release-changelog.md',marked(new ChangelogMarkdownGenerator(releaseChangelog, this.workItemUrl, 1, false,true).generate()));
+ if(this.releaseConfigName){
+ outputHandler.appendOutput('release-changelog.md',`# ReleaseConfig: ${this.releaseConfigName}`);
+ }
+ outputHandler.appendOutput('release-changelog.md',new ChangelogMarkdownGenerator(releaseChangelog, this.workItemUrl, 1, false,false).generate());
}
diff --git a/packages/sfp-cli/src/impl/changelog/ChangelogMarkdownGenerator.ts b/packages/sfp-cli/src/impl/changelog/ChangelogMarkdownGenerator.ts
index e5c795b25..c308794c3 100644
--- a/packages/sfp-cli/src/impl/changelog/ChangelogMarkdownGenerator.ts
+++ b/packages/sfp-cli/src/impl/changelog/ChangelogMarkdownGenerator.ts
@@ -40,10 +40,10 @@ export default class ChangelogMarkdownGenerator {
if (!release.names) {
payload += `\n\n `; // Create anchor from release hash Id
- payload += `# ${release['name']}\n`;
+ payload += `## ${release['name']}\n`;
} else {
payload += `\n\n`; // Create anchor from release hash Id
- payload += `# ${release.names.join(`/`)}\n `;
+ payload += `## ${release.names.join(`/`)}\n `;
payload += `Cumulative Release Number: ${release.buildNumber} \n\n`;
if(release.date && !this.isForWorkItemOnlyOutput)
payload += `Matching defintion first created or deployed to an org on: ${release.date}\n `
diff --git a/packages/sfp-cli/src/impl/deploy/DeployImpl.ts b/packages/sfp-cli/src/impl/deploy/DeployImpl.ts
index f5340c0ce..6d335d9a6 100644
--- a/packages/sfp-cli/src/impl/deploy/DeployImpl.ts
+++ b/packages/sfp-cli/src/impl/deploy/DeployImpl.ts
@@ -524,7 +524,7 @@ export default class DeployImpl {
}
const table = getMarkdownTable(tableData);
const outputHandler:FileOutputHandler = FileOutputHandler.getInstance();
- outputHandler.writeOutput('deployment-breakdown.md',table) ;
+ outputHandler.appendOutput('deployment-breakdown.md',table) ;
}
function processColoursForAllPackages(pkg) {
diff --git a/packages/sfp-cli/src/impl/release/ReleaseImpl.ts b/packages/sfp-cli/src/impl/release/ReleaseImpl.ts
index 99eabbf67..076fb8552 100644
--- a/packages/sfp-cli/src/impl/release/ReleaseImpl.ts
+++ b/packages/sfp-cli/src/impl/release/ReleaseImpl.ts
@@ -18,6 +18,7 @@ import SfpPackage from '../../core/package/SfpPackage';
import SfpPackageBuilder from '../../core/package/SfpPackageBuilder';
import SfpPackageInquirer from '../../core/package/SfpPackageInquirer';
import ReleaseDefinitionSorter from './ReleaseDefinitionSorter';
+import FileOutputHandler from '../../outputs/FileOutputHandler';
export interface ReleaseProps {
releaseDefinitions: ReleaseDefinition[];
@@ -72,6 +73,10 @@ export default class ReleaseImpl {
this.props.waitTime
);
+ //Clear up the deployment output
+ SFPLogger.log(`Clearing deployment output`, LoggerLevel.TRACE, this.logger);
+ FileOutputHandler.getInstance().deleteOutputFile(`deployment-breakdown.md`);
+ FileOutputHandler.getInstance().deleteOutputFile(`release-changelog.md`);
let deploymentResults = await this.deployArtifacts(sortedReleaseDefns);
@@ -126,6 +131,7 @@ export default class ReleaseImpl {
this.props.branch,
false,
this.props.isDryRun,
+ releaseDefinition.releaseConfigName,
this.props.targetOrg
);
@@ -254,6 +260,7 @@ export default class ReleaseImpl {
devhubUserName: this.props.devhubUserName,
};
+ FileOutputHandler.getInstance().appendOutput(`deployment-breakdown.md`,`## ReleaseConfig: ${releaseDefinition.releaseConfigName?releaseDefinition.releaseConfigName:""}\n`);
let deployImpl: DeployImpl = new DeployImpl(deployProps);
let deploymentResult = await deployImpl.exec();
diff --git a/packages/sfp-cli/src/outputs/FileOutputHandler.ts b/packages/sfp-cli/src/outputs/FileOutputHandler.ts
index cba026c60..a9436b092 100644
--- a/packages/sfp-cli/src/outputs/FileOutputHandler.ts
+++ b/packages/sfp-cli/src/outputs/FileOutputHandler.ts
@@ -32,4 +32,10 @@ export default class FileOutputHandler {
fs.appendFileSync(path.join(this.containerFolder, fileName), output);
}
+ public deleteOutputFile(fileName: string) {
+ if (fs.existsSync(path.join(this.containerFolder, fileName))) {
+ fs.unlinkSync(path.join(this.containerFolder, fileName));
+ }
+ }
+
}
\ No newline at end of file