func (eg *exampleManager) Install(jirix *jiri.X, pdb *profiles.DB, root jiri.RelPath, target profiles.Target) error { version, err := eg.versionInfo.Select(target.Version()) if err != nil { return err } target.SetVersion(version) dir := eg.filename(root, target).Abs(jirix) if err := jirix.NewSeq(). MkdirAll(dir, profilesutil.DefaultDirPerm). WriteFile(filepath.Join(dir, "version"), []byte(version), profilesutil.DefaultFilePerm). WriteFile(filepath.Join(dir, version), []byte(version), profilesutil.DefaultFilePerm). Done(); err != nil { return err } eg.profile = pdb.InstallProfile(eg.installer, eg.name, string(root)) target.InstallationDir = string(root) return pdb.AddProfileTarget(eg.installer, eg.name, target) }