diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc index 6020101c28fff50e778eca8edcd8bf453438c8b5..3f0eda357297cf8c764c494a931607f18acfedc7 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 5b028cacb55fce37d6c1b83221daf7e8f39382b3..91bf6f5670d92a30f66a3168ccc4fd55cb694316 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 42414b33c04e513311291e783acb7e36cf7efeaf..9867713baf4dc81d74529e940054f57b75438246 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)