Skip to content

Commit

Permalink
Add MUTAGEN_PROJECT_FILE env variable
Browse files Browse the repository at this point in the history
By default `mutagen project` looks for a config file named 'mutagen.yml'
to load project configuration. This change gives us the ability to
customize that with an environment variable.

Signed-off-by: Julich Mera <julich.mera@gmail.com>
  • Loading branch information
jmera committed May 16, 2020
1 parent 5742193 commit 89fb771
Show file tree
Hide file tree
Showing 9 changed files with 18 additions and 8 deletions.
2 changes: 1 addition & 1 deletion cmd/mutagen/project/flush.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ func flushMain(command *cobra.Command, arguments []string) error {
// relative paths (including relative synchronization paths and relative
// Unix Domain Socket paths) to be resolved relative to the project
// configuration file.
configurationFileName := project.DefaultConfigurationFileName
configurationFileName := project.ConfigurationFileName()
if flushConfiguration.projectFile != "" {
var directory string
directory, configurationFileName = filepath.Split(flushConfiguration.projectFile)
Expand Down
2 changes: 1 addition & 1 deletion cmd/mutagen/project/list.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ func listMain(command *cobra.Command, arguments []string) error {
// relative paths (including relative synchronization paths and relative
// Unix Domain Socket paths) to be resolved relative to the project
// configuration file.
configurationFileName := project.DefaultConfigurationFileName
configurationFileName := project.ConfigurationFileName()
if listConfiguration.projectFile != "" {
var directory string
directory, configurationFileName = filepath.Split(listConfiguration.projectFile)
Expand Down
2 changes: 1 addition & 1 deletion cmd/mutagen/project/pause.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ func pauseMain(command *cobra.Command, arguments []string) error {
// relative paths (including relative synchronization paths and relative
// Unix Domain Socket paths) to be resolved relative to the project
// configuration file.
configurationFileName := project.DefaultConfigurationFileName
configurationFileName := project.ConfigurationFileName()
if pauseConfiguration.projectFile != "" {
var directory string
directory, configurationFileName = filepath.Split(pauseConfiguration.projectFile)
Expand Down
2 changes: 1 addition & 1 deletion cmd/mutagen/project/reset.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ func resetMain(command *cobra.Command, arguments []string) error {
// relative paths (including relative synchronization paths and relative
// Unix Domain Socket paths) to be resolved relative to the project
// configuration file.
configurationFileName := project.DefaultConfigurationFileName
configurationFileName := project.ConfigurationFileName()
if resetConfiguration.projectFile != "" {
var directory string
directory, configurationFileName = filepath.Split(resetConfiguration.projectFile)
Expand Down
2 changes: 1 addition & 1 deletion cmd/mutagen/project/resume.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ func resumeMain(command *cobra.Command, arguments []string) error {
// relative paths (including relative synchronization paths and relative
// Unix Domain Socket paths) to be resolved relative to the project
// configuration file.
configurationFileName := project.DefaultConfigurationFileName
configurationFileName := project.ConfigurationFileName();
if resumeConfiguration.projectFile != "" {
var directory string
directory, configurationFileName = filepath.Split(resumeConfiguration.projectFile)
Expand Down
2 changes: 1 addition & 1 deletion cmd/mutagen/project/run.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ func runMain(_ *cobra.Command, arguments []string) error {
// relative paths (including relative synchronization paths and relative
// Unix Domain Socket paths) to be resolved relative to the project
// configuration file.
configurationFileName := project.DefaultConfigurationFileName
configurationFileName := project.ConfigurationFileName()
if runConfiguration.projectFile != "" {
var directory string
directory, configurationFileName = filepath.Split(runConfiguration.projectFile)
Expand Down
2 changes: 1 addition & 1 deletion cmd/mutagen/project/start.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ func startMain(command *cobra.Command, arguments []string) error {
// relative paths (including relative synchronization paths and relative
// Unix Domain Socket paths) to be resolved relative to the project
// configuration file.
configurationFileName := project.DefaultConfigurationFileName
configurationFileName := project.ConfigurationFileName()
if startConfiguration.projectFile != "" {
var directory string
directory, configurationFileName = filepath.Split(startConfiguration.projectFile)
Expand Down
2 changes: 1 addition & 1 deletion cmd/mutagen/project/terminate.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ func terminateMain(command *cobra.Command, arguments []string) error {
// relative paths (including relative synchronization paths and relative
// Unix Domain Socket paths) to be resolved relative to the project
// configuration file.
configurationFileName := project.DefaultConfigurationFileName
configurationFileName := project.ConfigurationFileName()
if terminateConfiguration.projectFile != "" {
var directory string
directory, configurationFileName = filepath.Split(terminateConfiguration.projectFile)
Expand Down
10 changes: 10 additions & 0 deletions pkg/project/paths.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package project

import "os"

const (
// DefaultConfigurationFileName is the name of the Mutagen project
// configuration file.
Expand All @@ -8,3 +10,11 @@ const (
// order to compute the corresponding lock file.
LockFileExtension = ".lock"
)

func ConfigurationFileName() string {
fileName := os.Getenv("MUTAGEN_PROJECT_FILE")
if fileName == "" {
return DefaultConfigurationFileName
}
return fileName
}

0 comments on commit 89fb771

Please sign in to comment.