From abf95b763143ad45d238466e7d8070b94de3ddcb Mon Sep 17 00:00:00 2001 From: Dan Allen Date: Mon, 29 Sep 2025 18:07:09 -0600 Subject: [PATCH] resolves #123 only call getDefaultCommand to assign the build command as a fallback --- CHANGELOG.adoc | 6 ++++++ packages/assembler/lib/assemble-content.js | 2 +- packages/assembler/test/assemble-content-test.js | 7 +++++-- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc index 6020101..3f0eda3 100644 --- a/CHANGELOG.adoc +++ b/CHANGELOG.adoc @@ -4,6 +4,12 @@ This document provides a summary of all notable changes to Antora Assembler by release. For a detailed view of what's changed, refer to the {url-repo}/commits[commit history] of this project. +== Unreleased + +=== Fixed + +* don't assign build command from result of `getDefaultCommand` if user specified command (#123) + == 1.0.0-beta.7 (2025-09-26) === Added diff --git a/packages/assembler/lib/assemble-content.js b/packages/assembler/lib/assemble-content.js index 5b028ca..91bf6f5 100644 --- a/packages/assembler/lib/assemble-content.js +++ b/packages/assembler/lib/assemble-content.js @@ -65,7 +65,7 @@ async function assembleContent (playbook, contentCatalog, converter, { configSou createResolveAssemblyModel(context, contentCatalog, assemblyConfig, intrinsicAttributes, navigationCatalog) ) if (!(assemblyFiles.length && typeof convert === 'function')) return assemblyFiles - if (typeof getDefaultCommand === 'function') { + if (buildConfig.command == null && typeof getDefaultCommand === 'function') { buildConfig.command = await getDefaultCommand(buildConfig.cwd) } const { publishSite: publishFiles = require('@antora/site-publisher') } = generatorFunctions diff --git a/packages/assembler/test/assemble-content-test.js b/packages/assembler/test/assemble-content-test.js index 42414b3..9867713 100644 --- a/packages/assembler/test/assemble-content-test.js +++ b/packages/assembler/test/assemble-content-test.js @@ -62,7 +62,8 @@ describe('assembleContent()', () => { convertCalls.push([doc].concat(rest)) return doc } - const converter = { convert, backend: 'pdf', extname: '.pdf', mediaType: 'application/pdf' } + const getDefaultCommand = async () => 'the-default-command' + const converter = { convert, getDefaultCommand, backend: 'pdf', extname: '.pdf', mediaType: 'application/pdf' } const expectedOutdir = ospath.join(buildDir, 'the-component/1.0/_exports') const expectedConvertAttributes = { 'assembler-backend': 'pdf', @@ -96,6 +97,7 @@ describe('assembleContent()', () => { assert.equal(actualDoc.assembler.backend, 'pdf') assertx.partialDeepEqual(actualConvertAttributes, expectedConvertAttributes) assert.equal(actualBuildConfig.dir, buildDir) + assert.equal(actualBuildConfig.command, 'the-default-command') assert.equal(contentCatalog.getFiles().length, 1) }) @@ -436,7 +438,8 @@ describe('assembleContent()', () => { const opts = { parse: true, cwd, stdin: doc.contents, stdout: 'print', stderr: 'print' } return runCommand(command, args, opts).then(() => fs.createReadStream(outfile)) } - const converter = { convert, extname: '.pdf', mediaType: 'application/pdf' } + const getDefaultCommand = async () => 'the-default-command' + const converter = { convert, getDefaultCommand, extname: '.pdf', mediaType: 'application/pdf' } const actual = await assembleContent(playbook, contentCatalog, converter, { configSource }) assertx.doesNotHaveProperty(actualConvertAttributes, 'doctype') // TODO make a separate test for this assertion assert.equal(actual.length, 1) -- GitLab