Skip to content

Commit

Permalink
feat(providers_mirror.go): providers mirror command should honor depe…
Browse files Browse the repository at this point in the history
…ndency lock file
  • Loading branch information
Reda KHALED (contractor) authored and rkhaled0 committed Jul 25, 2022
1 parent 5da30c2 commit df52fb8
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion internal/command/providers_mirror.go
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,10 @@ func (c *ProvidersMirrorCommand) Run(args []string) int {
reqs, moreDiags := config.ProviderRequirements()
diags = diags.Append(moreDiags)

// Read dependency lock information
providersLock, lockDiags := c.lockedDependencies()
diags = diags.Append(lockDiags)

// If we have any error diagnostics already then we won't proceed further.
if diags.HasErrors() {
c.showDiagnostics(diags)
Expand Down Expand Up @@ -121,6 +125,7 @@ func (c *ProvidersMirrorCommand) Run(args []string) int {
c.Ui.Output(fmt.Sprintf("- Skipping %s because it is built in to Terraform CLI", provider.ForDisplay()))
continue
}
providerLock := providersLock.Provider(provider)
constraintsStr := getproviders.VersionConstraintsString(constraints)
c.Ui.Output(fmt.Sprintf("- Mirroring %s...", provider.ForDisplay()))
// First we'll look for the latest version that matches the given
Expand All @@ -140,7 +145,10 @@ func (c *ProvidersMirrorCommand) Run(args []string) int {
continue
}
selected := candidates.Newest()
if len(constraintsStr) > 0 {
if providerLock != nil {
selected = providerLock.Version()
c.Ui.Output(fmt.Sprintf(" - Selected v%s to meet dependency lock record", selected.String()))
} else if len(constraintsStr) > 0 {
c.Ui.Output(fmt.Sprintf(" - Selected v%s to meet constraints %s", selected.String(), constraintsStr))
} else {
c.Ui.Output(fmt.Sprintf(" - Selected v%s with no constraints", selected.String()))
Expand Down

0 comments on commit df52fb8

Please sign in to comment.