Interface WixToolsetCommandBuilder

All Known Implementing Classes:
WixV3CommandBuilder, WixV4CommandBuilder

public interface WixToolsetCommandBuilder
Strategy interface that encapsulates WiX toolset version-specific CLI construction.

Each Mojo delegates to the appropriate implementation via AbstractWixMojo.getCommandBuilder().

See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addExtensions(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.
    void
    addGeneralOptions(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.
    boolean
    Whether this toolset version uses a unified compile+link command (v4) rather than separate candle and light invocations (v3).
    resolveToolExecutable(File toolDirectory, String toolName)
    Resolve the absolute path to a named WiX tool executable.
  • Method Details

    • getToolSubdirectory

      String getToolSubdirectory()
      The subdirectory inside the unpacked tools archive that contains the WiX executables.
      • v3 → "bin"
      • v4 → "" (root of the archive)
      Returns:
      tool subdirectory relative to the unpacked tool root.
    • resolveToolExecutable

      File resolveToolExecutable(File toolDirectory, String toolName)
      Resolve the absolute path to a named WiX tool executable.
      Parameters:
      toolDirectory - the root directory where WiX tools were unpacked
      toolName - logical name (e.g. "candle", "light", "heat")
      Returns:
      the File pointing at the executable; existence is not guaranteed
    • addGeneralOptions

      void addGeneralOptions(org.codehaus.plexus.util.cli.Commandline cl, boolean verbose, Set<String> suppress, Set<String> warn)
      Append general toolset options to the command line.
      • v3: -nologo, -s<N>, -w<N>
      • v4: equivalent flags on the unified CLI where supported
      Parameters:
      cl - the command line to augment
      verbose - when true the logo/banner is shown; suppress -nologo if so
      suppress - set of suppression tokens (may be null)
      warn - set of warning-as-error tokens (may be null)
    • addExtensions

      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
      Append WiX extension references to the command line.
      • v3: -ext <path-to-dll> — resolved from Maven wixext artifacts
      • v4: -ext <NuGet-package-id> — resolved from wixExtensions strings
      Parameters:
      cl - the command line to augment
      extArtifacts - Maven wixext artifacts (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
    • isUnifiedBuild

      boolean isUnifiedBuild()
      Whether this toolset version uses a unified compile+link command (v4) rather than separate candle and light invocations (v3).
      Returns:
      true when unified build mode is used.