Package com.github.wix_maven
Class WixV4CommandBuilder
java.lang.Object
com.github.wix_maven.WixV4CommandBuilder
- All Implemented Interfaces:
WixToolsetCommandBuilder
WixToolsetCommandBuilder implementation for WiX Toolset v4 and later.
WiX v4+ uses a single unified wix.exe CLI located at the root of the tools archive.
Operations that were separate executables in v3 (candle, light, lit, heat, …) are now subcommands
of wix.exe. Extensions are NuGet-package-id strings passed as -ext <name>.
Compile and link steps are unified into a single wix build invocation; the
CandleMojo becomes a no-op preparation step in v4 mode and LightMojo/
LitMojo issue the combined wix build command.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddExtensions(org.codehaus.plexus.util.cli.Commandline cl, Set<org.apache.maven.artifact.Artifact> extArtifacts, Set<String> wixExtensions) Append WiX extension references to the command line.voidaddGeneralOptions(org.codehaus.plexus.util.cli.Commandline cl, boolean verbose, Set<String> suppress, Set<String> warn) Append general toolset options to the command line.The subdirectory inside the unpacked tools archive that contains the WiX executables.booleanWhether this toolset version uses a unified compile+link command (v4) rather than separatecandleandlightinvocations (v3).resolveToolExecutable(File toolDirectory, String toolName) Resolve the absolute path to a named WiX tool executable.
-
Constructor Details
-
WixV4CommandBuilder
public WixV4CommandBuilder()
-
-
Method Details
-
getToolSubdirectory
Description copied from interface:WixToolsetCommandBuilderThe subdirectory inside the unpacked tools archive that contains the WiX executables.- v3 →
"bin" - v4 →
""(root of the archive)
- Specified by:
getToolSubdirectoryin interfaceWixToolsetCommandBuilder- Returns:
- tool subdirectory relative to the unpacked tool root.
- v3 →
-
resolveToolExecutable
Description copied from interface:WixToolsetCommandBuilderResolve the absolute path to a named WiX tool executable.- Specified by:
resolveToolExecutablein interfaceWixToolsetCommandBuilder- Parameters:
toolDirectory- the root directory where WiX tools were unpackedtoolName- logical name (e.g."candle","light","heat")- Returns:
- the
Filepointing at the executable; existence is not guaranteed
-
addGeneralOptions
public void addGeneralOptions(org.codehaus.plexus.util.cli.Commandline cl, boolean verbose, Set<String> suppress, Set<String> warn) Description copied from interface:WixToolsetCommandBuilderAppend general toolset options to the command line.- v3:
-nologo,-s<N>,-w<N> - v4: equivalent flags on the unified CLI where supported
- Specified by:
addGeneralOptionsin interfaceWixToolsetCommandBuilder- Parameters:
cl- the command line to augmentverbose- whentruethe logo/banner is shown; suppress-nologoif sosuppress- set of suppression tokens (may benull)warn- set of warning-as-error tokens (may benull)
- v3:
-
addExtensions
public void addExtensions(org.codehaus.plexus.util.cli.Commandline cl, Set<org.apache.maven.artifact.Artifact> extArtifacts, Set<String> wixExtensions) throws org.apache.maven.plugin.MojoExecutionException Description copied from interface:WixToolsetCommandBuilderAppend WiX extension references to the command line.- v3:
-ext <path-to-dll>— resolved from Mavenwixextartifacts - v4:
-ext <NuGet-package-id>— resolved fromwixExtensionsstrings
- Specified by:
addExtensionsin interfaceWixToolsetCommandBuilder- Parameters:
cl- the command line to augmentextArtifacts- Mavenwixextartifacts (used by v3; may be empty in v4 mode)wixExtensions- v4-style NuGet extension names (used by v4; ignored in v3 mode)- Throws:
org.apache.maven.plugin.MojoExecutionException- if artifact resolution fails
- v3:
-
isUnifiedBuild
public boolean isUnifiedBuild()Description copied from interface:WixToolsetCommandBuilderWhether this toolset version uses a unified compile+link command (v4) rather than separatecandleandlightinvocations (v3).- Specified by:
isUnifiedBuildin interfaceWixToolsetCommandBuilder- Returns:
- true when unified build mode is used.
-