Package com.io7m.montarre.nativepack.internal.deb

# Class MNPackagerDeb

java.lang.Object
com.io7m.montarre.nativepack.internal.MNPackagerAbstract
com.io7m.montarre.nativepack.internal.deb.MNPackagerDeb

All Implemented Interfaces:
  `MNativePackagerServiceType`

public final class MNPackagerDeb extends MNPackagerAbstract implements MNativePackagerServiceType
A native packager that produces Debian packages.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `MNPackagerDeb(MNativePackagerServiceProviderType inProvider, MNativeProcessesType inProcesses)`
  A native packager that produces Debian packages.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Path`
  `execute(MNativeWorkspaceType workspace, MPackageReaderType packageV)`
  Execute the packaging service.
  `Optional<com.io7m.seltzer.api.SStructuredErrorType<String>>`
  `unsupportedReason(Optional<MPackageDeclaration> packageV)`
  Determine if the service can run on the current platform, and return the reason why it cannot (if it cannot).

  ### Methods inherited from class com.io7m.montarre.nativepack.internal.MNPackagerAbstract

  `describe, error, findBestIcon, findLicense, name, setAttribute, takeAttributes, translateVersion, unpackIcon, unpackLicense, writeReplaceOptions`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface com.io7m.montarre.api.natives.MNativePackagerServiceType

  `describe, name`

- ## Constructor Details

  - ### MNPackagerDeb

    public MNPackagerDeb(MNativePackagerServiceProviderType inProvider, MNativeProcessesType inProcesses)
    A native packager that produces Debian packages.
    Parameters:
      `inProvider` - The provider
      `inProcesses` - The processes

- ## Method Details

  - ### unsupportedReason

    public Optional<com.io7m.seltzer.api.SStructuredErrorType<String>> unsupportedReason(Optional<MPackageDeclaration> packageV) throws InterruptedException
    Description copied from interface: `MNativePackagerServiceType`
    Determine if the service can run on the current platform, and return the reason why it cannot (if it cannot). Some services are unable to run outside specific platforms. For example, producing Windows MSI installers is limited to Windows platforms due to the requirement to run the Windows-only WiX toolkit.
    Specified by:
      `unsupportedReason` in interface `MNativePackagerServiceType`
    Parameters:
      `packageV` - The package declaration
    Returns:
      The reason that this service is unsupported
    Throws:
      `InterruptedException` - On interruption

  - ### execute

    public Path execute(MNativeWorkspaceType workspace, MPackageReaderType packageV) throws MException
    Description copied from interface: `MNativePackagerServiceType`
    Execute the packaging service.
    Specified by:
      `execute` in interface `MNativePackagerServiceType`
    Parameters:
      `workspace` - The workspace
      `packageV` - The package
    Returns:
      The output file
    Throws:
      `MException` - On errors