Class WixV3CommandBuilder

java.lang.Object
com.github.wix_maven.WixV3CommandBuilder
All Implemented Interfaces:
WixToolsetCommandBuilder

public class WixV3CommandBuilder extends Object implements WixToolsetCommandBuilder
WixToolsetCommandBuilder implementation for WiX Toolset v3.

WiX v3 uses separate executables located in the bin/ subdirectory of the tools archive: candle.exe, light.exe, lit.exe, heat.exe, etc. Extensions are physical DLL files resolved from Maven wixext artifacts.

  • Constructor Details

    • WixV3CommandBuilder

      public WixV3CommandBuilder()
  • Method Details

    • getToolSubdirectory

      public String getToolSubdirectory()
      Description copied from interface: WixToolsetCommandBuilder
      The subdirectory inside the unpacked tools archive that contains the WiX executables.
      • v3 → "bin"
      • v4 → "" (root of the archive)
      Specified by:
      getToolSubdirectory in interface WixToolsetCommandBuilder
      Returns:
      tool subdirectory relative to the unpacked tool root.
    • resolveToolExecutable

      public File resolveToolExecutable(File toolDirectory, String toolName)
      Description copied from interface: WixToolsetCommandBuilder
      Resolve the absolute path to a named WiX tool executable.
      Specified by:
      resolveToolExecutable in interface WixToolsetCommandBuilder
      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

      public void addGeneralOptions(org.codehaus.plexus.util.cli.Commandline cl, boolean verbose, Set<String> suppress, Set<String> warn)
      Description copied from interface: WixToolsetCommandBuilder
      Append general toolset options to the command line.
      • v3: -nologo, -s<N>, -w<N>
      • v4: equivalent flags on the unified CLI where supported
      Specified by:
      addGeneralOptions in interface WixToolsetCommandBuilder
      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

      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: WixToolsetCommandBuilder
      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
      Specified by:
      addExtensions in interface WixToolsetCommandBuilder
      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

      public boolean isUnifiedBuild()
      Description copied from interface: WixToolsetCommandBuilder
      Whether this toolset version uses a unified compile+link command (v4) rather than separate candle and light invocations (v3).
      Specified by:
      isUnifiedBuild in interface WixToolsetCommandBuilder
      Returns:
      true when unified build mode is used.