in deployers/servicedeployer.go [244:298]
func (deployer *ServiceDeployer) ConstructUnDeploymentPlan() (*DeploymentProject, error) {
var manifestReader = NewManifestReader(deployer)
manifestReader.IsUndeploy = true
var err error
manifest, manifestParser, err := manifestReader.ParseManifest()
if err != nil {
return deployer.Deployment, err
}
manifestReader.InitPackages(manifestParser, manifest, whisk.KeyValue{})
// process manifest file
err = manifestReader.HandleYaml(manifestParser, manifest, whisk.KeyValue{})
if err != nil {
return deployer.Deployment, err
}
projectName := ""
if len(manifest.GetProject().Packages) != 0 {
projectName = manifest.GetProject().Name
}
// process deployment file
if utils.FileExists(deployer.DeploymentPath) {
var deploymentReader = NewDeploymentReader(deployer)
err = deploymentReader.HandleYaml()
if err != nil {
return deployer.Deployment, err
}
// compare the name of the project
if len(deploymentReader.DeploymentDescriptor.GetProject().Packages) != 0 && len(projectName) != 0 {
projectNameDeploy := deploymentReader.DeploymentDescriptor.GetProject().Name
if projectNameDeploy != projectName {
errorString := wski18n.T(wski18n.ID_ERR_NAME_MISMATCH_X_key_X_dname_X_dpath_X_mname_X_moath_X,
map[string]interface{}{
wski18n.KEY_KEY: parsers.YAML_KEY_PROJECT,
wski18n.KEY_DEPLOYMENT_NAME: projectNameDeploy,
wski18n.KEY_DEPLOYMENT_PATH: deployer.DeploymentPath,
wski18n.KEY_MANIFEST_NAME: projectName,
wski18n.KEY_MANIFEST_PATH: deployer.ManifestPath})
return deployer.Deployment, wskderrors.NewYAMLFileFormatError(manifest.Filepath, errorString)
}
}
if err := deploymentReader.BindAssets(); err != nil {
return deployer.Deployment, err
}
}
verifiedPlan := deployer.Deployment
return verifiedPlan, err
}