Interface MNativePackagerServiceType
- All Known Implementing Classes:
MNPackagerAbstract, MNPackagerAppImage, MNPackagerDeb, MNPackagerFlatpak, MNPackagerMSI, MNPackagerShell
public interface MNativePackagerServiceType
A service capable of producing a native package.
-
Method Summary
Modifier and TypeMethodDescriptiondescribe()execute(MNativeWorkspaceType workspace, MPackageReaderType packageV) Execute the packaging service.com.io7m.lanark.core.RDottedNamename()unsupportedReason(Optional<MPackageDeclaration> packageV) Determine if the service can run on the current platform, and return the reason why it cannot (if it cannot).
-
Method Details
-
name
com.io7m.lanark.core.RDottedName name()- Returns:
- The name of the packager
-
describe
String describe()- Returns:
- A description of the service
-
unsupportedReason
Optional<com.io7m.seltzer.api.SStructuredErrorType<String>> unsupportedReason(Optional<MPackageDeclaration> packageV) throws InterruptedException 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.- Parameters:
packageV- The package declaration- Returns:
- The reason that this service is unsupported
- Throws:
InterruptedException- On interruption
-
execute
Execute the packaging service.- Parameters:
workspace- The workspacepackageV- The package- Returns:
- The output file
- Throws:
MException- On errors
-