Class: Omnibus::Packager::APPX

Inherits:
WindowsBase show all
Defined in:
lib/omnibus/packagers/appx.rb

Constant Summary

Constants included from Util

Util::SHELLOUT_OPTIONS

Constants included from NullArgumentable

NullArgumentable::NULL

Instance Attribute Summary

Attributes inherited from Base

#project

Instance Method Summary collapse

Methods inherited from WindowsBase

#algorithm, #cert_store_name, #certificate_subject, #is_signed?, #keypair_alias, #machine_store?, #sign_package, #signing_identity, #thumbprint, #timestamp_servers, #windows_package_version

Methods inherited from Base

build, #exclusions, id, #id, #initialize, #install_dir, #package_path, #resource_path, #resources_path, #run!, setup, #skip_packager, #staging_dir, #staging_dir_path

Methods included from Util

#compiler_safe_path, #copy_file, #create_directory, #create_file, #create_link, included, #path_key, #remove_directory, #remove_file, #retry_block, #shellout, #shellout!, #windows_safe_path

Methods included from Templating

included, #render_template, #render_template_content

Methods included from Sugarable

extended, included, #node

Methods included from NullArgumentable

included, #null?

Methods included from Logging

included

Methods included from Instrumentation

#measure

Methods included from Digestable

#digest, #digest_directory, included

Constructor Details

This class inherits a constructor from Omnibus::Packager::Base

Instance Method Details

#pack_command(appx_file) ⇒ String

Get the shell command to run pack in order to create a an appx package

Returns:

  • (String)


86
87
88
# File 'lib/omnibus/packagers/appx.rb', line 86

def pack_command(appx_file)
  "makeappx.exe pack /d \"#{windows_safe_path(project.install_dir)}\" /o /p #{appx_file}"
end

#package_nameObject

See Also:



54
55
56
57
58
59
60
61
# File 'lib/omnibus/packagers/appx.rb', line 54

def package_name
  log.debug(log_key) { "#{self.class}##{__method__} - package_name: #{project.package_name}" }
  log.debug(log_key) { "#{self.class}##{__method__} - build_version: #{project.build_version}" }
  log.debug(log_key) { "#{self.class}##{__method__} - build_iteration: #{project.build_iteration}" }
  log.debug(log_key) { "#{self.class}##{__method__} - Config.windows_arch: #{Config.windows_arch}" }

  "#{project.package_name}-#{project.build_version}-#{project.build_iteration}-#{Config.windows_arch}.appx"
end

#write_manifest_filevoid

This method returns an undefined value.

Write the manifest file into the staging directory.



68
69
70
71
72
73
74
75
76
77
78
# File 'lib/omnibus/packagers/appx.rb', line 68

def write_manifest_file
  render_template(resource_path("AppxManifest.xml.erb"),
    destination: "#{windows_safe_path(project.install_dir)}/AppxManifest.xml",
    variables: {
      name: project.package_name,
      friendly_name: project.friendly_name,
      version: windows_package_version,
      maintainer: project.maintainer,
      certificate_subject: certificate_subject.gsub('"', """),
    })
end