From fff062301c7dab5a53a2905a885bbd518c94da72 Mon Sep 17 00:00:00 2001 From: Oliver Sand Date: Tue, 8 Jun 2021 09:57:20 +0200 Subject: [PATCH] Rename publish:log to debug:log Signed-off-by: Oliver Sand --- .changeset/slimy-games-brake.md | 2 +- .../sample-templates/v1beta2-demo/template.yaml | 2 +- .../actions/builtin/createBuiltinActions.ts | 4 ++-- .../scaffolder/actions/builtin/debug/index.ts | 17 +++++++++++++++++ .../builtin/{publish => debug}/log.test.ts | 11 ++++++----- .../actions/builtin/{publish => debug}/log.ts | 9 ++++----- .../src/scaffolder/actions/builtin/index.ts | 3 ++- .../scaffolder/actions/builtin/publish/index.ts | 7 +++---- 8 files changed, 36 insertions(+), 19 deletions(-) create mode 100644 plugins/scaffolder-backend/src/scaffolder/actions/builtin/debug/index.ts rename plugins/scaffolder-backend/src/scaffolder/actions/builtin/{publish => debug}/log.test.ts (89%) rename plugins/scaffolder-backend/src/scaffolder/actions/builtin/{publish => debug}/log.ts (91%) diff --git a/.changeset/slimy-games-brake.md b/.changeset/slimy-games-brake.md index 210d9f4e3a..a8fafb09f3 100644 --- a/.changeset/slimy-games-brake.md +++ b/.changeset/slimy-games-brake.md @@ -2,4 +2,4 @@ '@backstage/plugin-scaffolder-backend': patch --- -Add `publish:log` action for debugging. +Add `debug:log` action for debugging. diff --git a/plugins/scaffolder-backend/sample-templates/v1beta2-demo/template.yaml b/plugins/scaffolder-backend/sample-templates/v1beta2-demo/template.yaml index 86f41b43d2..b3228a20d0 100644 --- a/plugins/scaffolder-backend/sample-templates/v1beta2-demo/template.yaml +++ b/plugins/scaffolder-backend/sample-templates/v1beta2-demo/template.yaml @@ -94,7 +94,7 @@ spec: - name: Results if: '{{ parameters.dryRun }}' - action: publish:log + action: debug:log input: listWorkspace: true diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/createBuiltinActions.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/createBuiltinActions.ts index 850b289d3b..b4fb37de8f 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/createBuiltinActions.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/createBuiltinActions.ts @@ -19,6 +19,7 @@ import { CatalogApi } from '@backstage/catalog-client'; import { ScmIntegrations } from '@backstage/integration'; import { TemplaterBuilder } from '../../stages'; import { createCatalogRegisterAction } from './catalog'; +import { createDebugLogAction } from './debug'; import { createFetchCookiecutterAction, createFetchPlainAction } from './fetch'; import { createPublishAzureAction, @@ -26,7 +27,6 @@ import { createPublishGithubAction, createPublishGithubPullRequestAction, createPublishGitlabAction, - createPublishLogAction, } from './publish'; export const createBuiltinActions = (options: { @@ -62,7 +62,7 @@ export const createBuiltinActions = (options: { createPublishAzureAction({ integrations, }), - createPublishLogAction(), + createDebugLogAction(), createCatalogRegisterAction({ catalogClient, integrations }), ]; }; diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/debug/index.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/debug/index.ts new file mode 100644 index 0000000000..ebdf13d11c --- /dev/null +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/debug/index.ts @@ -0,0 +1,17 @@ +/* + * Copyright 2021 Spotify AB + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export { createDebugLogAction } from './log'; diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/log.test.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/debug/log.test.ts similarity index 89% rename from plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/log.test.ts rename to plugins/scaffolder-backend/src/scaffolder/actions/builtin/debug/log.test.ts index f554f480e5..720cd75300 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/log.test.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/debug/log.test.ts @@ -18,9 +18,10 @@ import { getVoidLogger } from '@backstage/backend-common'; import mock from 'mock-fs'; import os from 'os'; import { Writable } from 'stream'; -import { createPublishLogAction } from './log'; +import { createDebugLogAction } from './log'; +import { join } from 'path'; -describe('publish:log', () => { +describe('debug:log', () => { const logStream = ({ write: jest.fn(), } as jest.Mocked>) as jest.Mocked; @@ -36,7 +37,7 @@ describe('publish:log', () => { createTemporaryDirectory: jest.fn().mockResolvedValue(mockTmpDir), }; - const action = createPublishLogAction(); + const action = createDebugLogAction(); beforeEach(() => { mock({ @@ -68,10 +69,10 @@ describe('publish:log', () => { expect(logStream.write).toBeCalledTimes(1); expect(logStream.write).toBeCalledWith( - expect.stringContaining('./README.md'), + expect.stringContaining('README.md'), ); expect(logStream.write).toBeCalledWith( - expect.stringContaining('a-directory/index.md'), + expect.stringContaining(join('a-directory', 'index.md')), ); }); diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/log.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/debug/log.ts similarity index 91% rename from plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/log.ts rename to plugins/scaffolder-backend/src/scaffolder/actions/builtin/debug/log.ts index 7bff980fad..d3c5a2ea1d 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/log.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/debug/log.ts @@ -22,9 +22,9 @@ import { createTemplateAction } from '../../createTemplateAction'; * This task is useful for local development and testing of both the scaffolder * and scaffolder templates. */ -export function createPublishLogAction() { +export function createDebugLogAction() { return createTemplateAction<{ message?: string; listWorkspace?: boolean }>({ - id: 'publish:log', + id: 'debug:log', description: 'Writes a message into the log or list all files in the workspace.', schema: { @@ -43,16 +43,15 @@ export function createPublishLogAction() { }, }, async handler(ctx) { - const files = await recursiveReadDir(ctx.workspacePath); - if (ctx.input?.message) { ctx.logStream.write(ctx.input.message); } if (ctx.input?.listWorkspace) { + const files = await recursiveReadDir(ctx.workspacePath); ctx.logStream.write( `Workspace:\n${files - .map(f => ` - ./${relative(ctx.workspacePath, f)}`) + .map(f => ` - ${relative(ctx.workspacePath, f)}`) .join('\n')}`, ); } diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/index.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/index.ts index e4281c172b..6218b7f213 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/index.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/index.ts @@ -15,6 +15,7 @@ */ export * from './catalog'; +export { createBuiltinActions } from './createBuiltinActions'; +export * from './debug'; export * from './fetch'; export * from './publish'; -export { createBuiltinActions } from './createBuiltinActions'; diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/index.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/index.ts index d17a0f8750..b1b0c39bd3 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/index.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/index.ts @@ -14,10 +14,9 @@ * limitations under the License. */ -export { createPublishGithubAction } from './github'; -export { createPublishGithubPullRequestAction } from './githubPullRequest'; export { createPublishAzureAction } from './azure'; -export { createPublishGitlabAction } from './gitlab'; export { createPublishBitbucketAction } from './bitbucket'; export { createPublishFileAction } from './file'; -export { createPublishLogAction } from './log'; +export { createPublishGithubAction } from './github'; +export { createPublishGithubPullRequestAction } from './githubPullRequest'; +export { createPublishGitlabAction } from './gitlab';