MCPcopy Create free account
hub / github.com/ddev/ddev / createManifestFile

Function createManifestFile

cmd/ddev/cmd/addon-get.go:310–338  ·  view source on GitHub ↗

createManifestFile creates a manifest file for the addon

(app *ddevapp.DdevApp, addonName string, repository string, downloadedRelease string, desc ddevapp.InstallDesc)

Source from the content-addressed store, hash-verified

308
309// createManifestFile creates a manifest file for the addon
310func createManifestFile(app *ddevapp.DdevApp, addonName string, repository string, downloadedRelease string, desc ddevapp.InstallDesc) (ddevapp.AddonManifest, error) {
311 // Create a manifest file
312 manifest := ddevapp.AddonManifest{
313 Name: addonName,
314 Repository: repository,
315 Version: downloadedRelease,
316 Dependencies: desc.Dependencies,
317 InstallDate: time.Now().Format(time.RFC3339),
318 ProjectFiles: desc.ProjectFiles,
319 GlobalFiles: desc.GlobalFiles,
320 RemovalActions: desc.RemovalActions,
321 }
322 manifestFile := app.GetConfigPath(fmt.Sprintf("%s/%s/manifest.yaml", ddevapp.AddonMetadataDir, addonName))
323 if fileutil.FileExists(manifestFile) {
324 util.Warning("Overwriting existing manifest file %s", manifestFile)
325 }
326 manifestData, err := yaml.Marshal(manifest)
327 if err != nil {
328 util.Failed("Error marshaling manifest data: %v", err)
329 }
330 err = os.MkdirAll(filepath.Dir(manifestFile), 0755)
331 if err != nil {
332 util.Failed("Error creating manifest directory: %v", err)
333 }
334 if err = fileutil.TemplateStringToFile(string(manifestData), nil, manifestFile); err != nil {
335 util.Failed("Error writing manifest file: %v", err)
336 }
337 return manifest, nil
338}
339
340func init() {
341 AddonGetCmd.Flags().String("version", "", `Specify a particular version of add-on to install`)

Callers 1

addon-get.goFile · 0.85

Calls 6

FileExistsFunction · 0.92
WarningFunction · 0.92
FailedFunction · 0.92
TemplateStringToFileFunction · 0.92
FormatMethod · 0.80
GetConfigPathMethod · 0.80

Tested by

no test coverage detected