Documentation
¶
Index ¶
- type ChocoSpec
- type Condition
- type Directory
- type Environment
- type File
- type Hook
- type Info
- type Property
- type Registry
- type RegistryItem
- type RegistryValue
- type Service
- type Shortcut
- type ShortcutProperty
- type Value
- type Version
- type WixManifest
- func (wixFile *WixManifest) Load(p string) error
- func (wixFile *WixManifest) NeedGUID() bool
- func (wixFile *WixManifest) Normalize() error
- func (wixFile *WixManifest) RewriteFilePaths(out string) error
- func (wixFile *WixManifest) SetGuids(force bool) (bool, error)
- func (wixFile *WixManifest) Write(p string) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ChocoSpec ¶
type ChocoSpec struct {
ID string `json:"id,omitempty"`
Title string `json:"title,omitempty"`
Authors string `json:"authors,omitempty"`
Owners string `json:"owners,omitempty"`
Description string `json:"description,omitempty"`
ProjectURL string `json:"project-url,omitempty"`
Tags string `json:"tags,omitempty"`
LicenseURL string `json:"license-url,omitempty"`
IconURL string `json:"icon-url,omitempty"`
RequireLicense bool `json:"require-license,omitempty"`
MsiFile string `json:"-"`
MsiSum string `json:"-"`
BuildDir string `json:"-"`
ChangeLog string `json:"-"`
}
ChocoSpec is the struct to decode the choco key of a wix.json file.
type Directory ¶
type Directory struct {
ID int `json:"-"`
Name string `json:"name,omitempty"`
Files []File `json:"files,omitempty"`
Directories []Directory `json:"directories,omitempty"`
}
Directory stores a list of files and a list of sub-directories.
type Environment ¶
type Environment struct {
Name string `json:"name"`
Value string `json:"value"`
Permanent string `json:"permanent"`
System string `json:"system"`
Action string `json:"action"`
Part string `json:"part"`
Condition string `json:"condition,omitempty"`
}
Environment is the struct to decode environment variables of the wix.json file.
type File ¶
type File struct {
ID int `json:"-"`
Path string `json:"path,omitempty"`
Service *Service `json:"service,omitempty"`
NeverOverwrite bool `json:"never_overwrite,omitempty"`
Permanent bool `json:"permanent,omitempty"`
}
File is the struct to decode a file.
type Hook ¶
type Hook struct {
Command string `json:"command,omitempty"`
CookedCommand string `json:"-"`
When string `json:"when,omitempty"`
Return string `json:"return,omitempty"`
Condition string `json:"condition,omitempty"`
Impersonate string `json:"impersonate,omitempty"`
Execute string `json:"execute,omitempty"`
}
Hook describes a command to run on install / uninstall.
type Info ¶
type Info struct {
Comments string `json:"comments,omitempty"`
Contact string `json:"contact,omitempty"`
HelpLink string `json:"help-link,omitempty"`
SupportTelephone string `json:"support-telephone,omitempty"`
SupportLink string `json:"support-link,omitempty"`
UpdateInfoLink string `json:"update-info-link,omitempty"`
Readme string `json:"readme,omitempty"`
Size int64 `json:"-"` // in kilobytes
}
Info lists the control panel program information. Each member data is named after the matching column name in the uninstall program list.
type Property ¶
type Property struct {
ID string `json:"id"`
Registry *Registry `json:"registry,omitempty"`
Value *Value `json:"value,omitempty"`
}
Property describes a property to initialize.
type Registry ¶
type Registry struct {
Path string `json:"path"`
Root string `json:"-"`
Key string `json:"-"`
Name string `json:"name,omitempty"`
}
Registry describes a registry entry.
type RegistryItem ¶
type RegistryItem struct {
Registry
Values []RegistryValue `json:"values,omitempty"`
Condition string `json:"condition,omitempty"`
}
RegistryItem is the struct to decode a registry item.
type RegistryValue ¶
type RegistryValue struct {
Name string `json:"name"`
Type string `json:"type,omitempty"` // string (default if omitted), integer, ...
Value string `json:"value"`
}
RegistryValue is the struct to decode a registry value.
type Service ¶
type Service struct {
Name string `json:"name"`
Bin string `json:"-"`
Start string `json:"start"`
Delayed bool `json:"-"`
DisplayName string `json:"display-name,omitempty"`
Description string `json:"description,omitempty"`
Arguments string `json:"arguments,omitempty"`
Dependencies []string `json:"dependencies,omitempty"`
}
Service is the struct to decode a service.
type Shortcut ¶
type Shortcut struct {
Name string `json:"name"`
Description string `json:"description"`
Location string `json:"location"`
Target string `json:"target"`
WDir string `json:"wdir,omitempty"`
Arguments string `json:"arguments,omitempty"`
Icon string `json:"icon,omitempty"`
Condition string `json:"condition,omitempty"`
Properties []ShortcutProperty `json:"properties,omitempty"`
}
Shortcut is the struct to decode shortcut value of the wix.json file.
type ShortcutProperty ¶
ShortcutProperty stands for a key value association.
type WixManifest ¶
type WixManifest struct {
Compression string `json:"compression,omitempty"`
Product string `json:"product"`
Company string `json:"company"`
Version Version `json:"-"`
License string `json:"license,omitempty"`
Banner string `json:"banner,omitempty"`
Dialog string `json:"dialog,omitempty"`
Icon string `json:"icon,omitempty"`
Info *Info `json:"info,omitempty"`
UpgradeCode string `json:"upgrade-code"`
Directory
Environments []Environment `json:"environments,omitempty"`
Registries []RegistryItem `json:"registries,omitempty"`
Shortcuts []Shortcut `json:"shortcuts,omitempty"`
Choco ChocoSpec `json:"choco"`
Hooks []Hook `json:"hooks,omitempty"`
Properties []Property `json:"properties,omitempty"`
Conditions []Condition `json:"conditions,omitempty"`
}
WixManifest is the struct to decode a wix.json file.
func (*WixManifest) Load ¶
func (wixFile *WixManifest) Load(p string) error
Load the manifest from given file path, if the file path is empty, reads from wix.json
func (*WixManifest) NeedGUID ¶
func (wixFile *WixManifest) NeedGUID() bool
NeedGUID tells if the manifest json file is missing guid values.
func (*WixManifest) Normalize ¶
func (wixFile *WixManifest) Normalize() error
Normalize appropriately fixes some values within the decoded json. It applies defaults values on the wix/msi property to generate the msi package. It applies defaults values on the choco property to generate a nuget package.
func (*WixManifest) RewriteFilePaths ¶
func (wixFile *WixManifest) RewriteFilePaths(out string) error
RewriteFilePaths reads files and directories of the wix.json file and turn their values into a relative path to out where out is the path to the wix templates files.
func (*WixManifest) SetGuids ¶
func (wixFile *WixManifest) SetGuids(force bool) (bool, error)
SetGuids generates and apply guid values appropriately
func (*WixManifest) Write ¶
func (wixFile *WixManifest) Write(p string) error
Write the manifest to the given file, if file is empty, writes to wix.json