(cmd *cobra.Command, flags *generateCmdFlags)
| 279 | } |
| 280 | |
| 281 | func runGenerateDirenvCmd(cmd *cobra.Command, flags *generateCmdFlags) error { |
| 282 | // --print-envrc is used within the .envrc file and therefore doesn't make sense to also |
| 283 | // use it with --envrc-dir, which specifies a directory where the .envrc file should be generated. |
| 284 | if flags.printEnvrcContent && flags.envrcDir != "" { |
| 285 | return usererr.New( |
| 286 | "Cannot use --print-envrc with --envrc-dir. " + |
| 287 | "Use --envrc-dir to specify the directory where the .envrc file should be generated.") |
| 288 | } |
| 289 | |
| 290 | if flags.printEnvrcContent { |
| 291 | return devbox.PrintEnvrcContent( |
| 292 | cmd.OutOrStdout(), devopt.EnvFlags(flags.envFlag), flags.config.path) |
| 293 | } |
| 294 | |
| 295 | box, err := devbox.Open(&devopt.Opts{ |
| 296 | Dir: flags.config.path, |
| 297 | Environment: flags.config.environment, |
| 298 | Stderr: cmd.ErrOrStderr(), |
| 299 | }) |
| 300 | if err != nil { |
| 301 | return errors.WithStack(err) |
| 302 | } |
| 303 | |
| 304 | generateEnvrcOpts := devopt.EnvrcOpts{ |
| 305 | EnvFlags: devopt.EnvFlags(flags.envFlag), |
| 306 | Force: flags.force, |
| 307 | EnvrcDir: flags.envrcDir, |
| 308 | ConfigDir: flags.config.path, |
| 309 | } |
| 310 | |
| 311 | return box.GenerateEnvrcFile(cmd.Context(), generateEnvrcOpts) |
| 312 | } |
no test coverage detected