pub fn run(self) -> Result<()> {
        debug!("banner = {:?}", self.banner);
        debug!("binaries = {:?}", self.binaries);
        debug!("description = {:?}", self.description);
        debug!("dialog = {:?}", self.description);
        debug!("eula = {:?}", self.eula);
        debug!("help_url = {:?}", self.help_url);
        debug!("input = {:?}", self.input);
        debug!("license = {:?}", self.license);
        debug!("manufacturer = {:?}", self.manufacturer);
        debug!("output = {:?}", self.output);
        debug!("package = {:?}", self.package);
        debug!("path_guid = {:?}", self.path_guid);
        debug!("product_icon = {:?}", self.product_icon);
        debug!("product_name = {:?}", self.product_name);
        debug!("upgrade_guid = {:?}", self.upgrade_guid);
        let manifest = manifest(self.input.as_ref())?;
        let package = package(&manifest, self.package.as_deref())?;
        let mut destination = super::destination(self.output.as_ref())?;
        let template = mustache::compile_str(Template::Wxs.to_str())?;
        let binaries = self.binaries(&package)?;
        let mut map = MapBuilder::new()
            .insert_vec("binaries", |mut builder| {
                for binary in &binaries {
                    builder = builder.push_map(|builder| {
                        builder
                            .insert_str("binary-index", binary.get("binary-index").unwrap())
                            .insert_str("binary-name", binary.get("binary-name").unwrap())
                            .insert_str("binary-source", binary.get("binary-source").unwrap())
                    });
                }
                builder
            })
            .insert_str(
                "product-name",
                product_name(self.product_name.as_ref(), &package),
            )
            .insert_str("manufacturer", self.manufacturer(&package)?)
            .insert_str("upgrade-code-guid", self.upgrade_guid(&package)?)
            .insert_str("path-component-guid", self.path_guid(&package)?);
        if let Some(ref banner) = self.banner {
            map = map.insert_str("banner", banner.display().to_string());
        }
        if let Some(description) = description(self.description.clone(), &package) {
            map = map.insert_str("description", description);
        } else {
            warn!(
                "A description was not specified at the command line or in the package's manifest \
                 (Cargo.toml). The description can be added manually to the generated WiX \
                 Source (wxs) file using a text editor."
            );
        }
        if let Some(ref dialog) = self.dialog {
            map = map.insert_str("dialog", dialog.display().to_string());
        }
        match self.eula(&package)? {
            Eula::Disabled => {
                warn!(
                    "An EULA was not specified at the command line, a RTF \
                     license file was not specified in the package manifest's \
                     (Cargo.toml) 'license-file' field, or the license ID from the \
                     package manifest's 'license' field is not recognized. The \
                     license agreement dialog will be excluded from the installer. An \
                     EULA can be added manually to the generated WiX Source (wxs) \
                     file using a text editor."
                );
            }
            e => map = map.insert_str("eula", e.to_string()),
        }
        if let Some(url) = self.help_url(&package) {
            map = map.insert_str("help-url", url);
        } else {
            warn!(
                "A help URL could not be found and it will be excluded from the installer. \
                 A help URL can be added manually to the generated WiX Source (wxs) file \
                 using a text editor."
            );
        }
        if let Some(name) = self.license_name(&package) {
            map = map.insert_str("license-name", name);
        }
        if let Some(source) = self.license_source(&package) {
            map = map.insert_str("license-source", source);
        } else {
            warn!(
                "A license file could not be found and it will be excluded from the \
                 installer. A license file can be added manually to the generated WiX Source \
                 (wxs) file using a text editor."
            );
        }
        if let Some(icon) = self.product_icon {
            map = map.insert_str("product-icon", icon.display().to_string());
        }
        let data = map.build();
        template
            .render_data(&mut destination, &data)
            .map_err(Error::from)
    }
/// Prints a WiX Source (wxs) file based on the built context.
Prints a WiX Source (wxs) file based on the built context.
Prints a WiX Source ( wxs ) file based on the built context .
pub fn run(self) -> Result<()> {
        debug!("banner = {:?}", self.banner);
        debug!("binaries = {:?}", self.binaries);
        debug!("description = {:?}", self.description);
        debug!("dialog = {:?}", self.description);
        debug!("eula = {:?}", self.eula);
        debug!("help_url = {:?}", self.help_url);
        debug!("input = {:?}", self.input);
        debug!("license = {:?}", self.license);
        debug!("manufacturer = {:?}", self.manufacturer);
        debug!("output = {:?}", self.output);
        debug!("package = {:?}", self.package);
        debug!("path_guid = {:?}", self.path_guid);
        debug!("product_icon = {:?}", self.product_icon);
        debug!("product_name = {:?}", self.product_name);
        debug!("upgrade_guid = {:?}", self.upgrade_guid);
        let manifest = manifest(self.input.as_ref())?;
        let package = package(&manifest, self.package.as_deref())?;
        let mut destination = super::destination(self.output.as_ref())?;
        let template = mustache::compile_str(Template::Wxs.to_str())?;
        let binaries = self.binaries(&package)?;
        let mut map = MapBuilder::new()
            .insert_vec("binaries", |mut builder| {
                for binary in &binaries {
                    builder = builder.push_map(|builder| {
                        builder
                            .insert_str("binary-index", binary.get("binary-index").unwrap())
                            .insert_str("binary-name", binary.get("binary-name").unwrap())
                            .insert_str("binary-source", binary.get("binary-source").unwrap())
                    });
                }
                builder
            })
            .insert_str(
                "product-name",
                product_name(self.product_name.as_ref(), &package),
            )
            .insert_str("manufacturer", self.manufacturer(&package)?)
            .insert_str("upgrade-code-guid", self.upgrade_guid(&package)?)
            .insert_str("path-component-guid", self.path_guid(&package)?);
        if let Some(ref banner) = self.banner {
            map = map.insert_str("banner", banner.display().to_string());
        }
        if let Some(description) = description(self.description.clone(), &package) {
            map = map.insert_str("description", description);
        } else {
            warn!(
                "A description was not specified at the command line or in the package's manifest \
                 (Cargo.toml). The description can be added manually to the generated WiX \
                 Source (wxs) file using a text editor."
            );
        }
        if let Some(ref dialog) = self.dialog {
            map = map.insert_str("dialog", dialog.display().to_string());
        }
        match self.eula(&package)? {
            Eula::Disabled => {
                warn!(
                    "An EULA was not specified at the command line, a RTF \
                     license file was not specified in the package manifest's \
                     (Cargo.toml) 'license-file' field, or the license ID from the \
                     package manifest's 'license' field is not recognized. The \
                     license agreement dialog will be excluded from the installer. An \
                     EULA can be added manually to the generated WiX Source (wxs) \
                     file using a text editor."
                );
            }
            e => map = map.insert_str("eula", e.to_string()),
        }
        if let Some(url) = self.help_url(&package) {
            map = map.insert_str("help-url", url);
        } else {
            warn!(
                "A help URL could not be found and it will be excluded from the installer. \
                 A help URL can be added manually to the generated WiX Source (wxs) file \
                 using a text editor."
            );
        }
        if let Some(name) = self.license_name(&package) {
            map = map.insert_str("license-name", name);
        }
        if let Some(source) = self.license_source(&package) {
            map = map.insert_str("license-source", source);
        } else {
            warn!(
                "A license file could not be found and it will be excluded from the \
                 installer. A license file can be added manually to the generated WiX Source \
                 (wxs) file using a text editor."
            );
        }
        if let Some(icon) = self.product_icon {
            map = map.insert_str("product-icon", icon.display().to_string());
        }
        let data = map.build();
        template
            .render_data(&mut destination, &data)
            .map_err(Error::from)
    }
pub fn run ( self ) -> Result < ( ) > { debug ! ( " " self banner ) ; debug ! ( " " self binaries ) ; debug ! ( " " self description ) ; debug ! ( " " self description ) ; debug ! ( " " self eula ) ; debug ! ( " " self help_url ) ; debug ! ( " " self input ) ; debug ! ( " " self license ) ; debug ! ( " " self manufacturer ) ; debug ! ( " " self output ) ; debug ! ( " " self package ) ; debug ! ( " " self path_guid ) ; debug ! ( " " self product_icon ) ; debug ! ( " " self product_name ) ; debug ! ( " " self upgrade_guid ) ; let manifest = manifest ( self . input . as_ref ( ) ) ? ; let package = package ( & manifest , self . package . as_deref ( ) ) ? ; let mut destination = super :: destination ( self . output . as_ref ( ) ) ? ; let template = mustache :: compile_str ( Template :: Wxs . to_str ( ) ) ? ; let binaries = self . binaries ( & package ) ? ; let mut map = MapBuilder :: new ( ) . insert_vec ( " " , | mut builder | { for binary in & binaries { builder = builder . push_map ( | builder | { builder . insert_str ( " " , binary . get ( " " ) . unwrap ( ) ) . insert_str ( " " , binary . get ( " " ) . unwrap ( ) ) . insert_str ( " " , binary . get ( " " ) . unwrap ( ) ) } ) ; } builder } ) . insert_str ( " " , product_name ( self . product_name . as_ref ( ) , & package ) , ) . insert_str ( " " , self . manufacturer ( & package ) ? ) . insert_str ( " " , self . upgrade_guid ( & package ) ? ) . insert_str ( " " , self . path_guid ( & package ) ? ) ; if let Some ( ref banner ) = self . banner { map = map . insert_str ( " " , banner . display ( ) . to_string ( ) ) ; } if let Some ( description ) = description ( self . description . clone ( ) , & package ) { map = map . insert_str ( " " , description ) ; } else { warn ! ( " \
 \
 " ) ; } if let Some ( ref dialog ) = self . dialog { map = map . insert_str ( " " , dialog . display ( ) . to_string ( ) ) ; } match self . eula ( & package ) ? { Eula :: Disabled => { warn ! ( " \
 \
 \
 \
 \
 \
 " ) ; } e => map = map . insert_str ( " " , e . to_string ( ) ) , } if let Some ( url ) = self . help_url ( & package ) { map = map . insert_str ( " " , url ) ; } else { warn ! ( " \
 \
 " ) ; } if let Some ( name ) = self . license_name ( & package ) { map = map . insert_str ( " " , name ) ; } if let Some ( source ) = self . license_source ( & package ) { map = map . insert_str ( " " , source ) ; } else { warn ! ( " \
 \
 " ) ; } if let Some ( icon ) = self . product_icon { map = map . insert_str ( " " , icon . display ( ) . to_string ( ) ) ; } let data = map . build ( ) ; template . render_data ( & mut destination , & data ) . map_err ( Error :: from ) }
Prints a WiX Source (wxs) file based on the built context.
Prints a WiX Source ( wxs ) file based on the built context .
self
self