@@ -661,12 +661,14 @@ func (e *Env) install(l *ui.UI, p *manifest.Package) (*shell.Changes, error) {
661
661
}
662
662
663
663
// Upgrade package.
664
- func (e * Env ) Upgrade (l * ui.UI , pkg * manifest.Package ) (* shell.Changes , error ) {
664
+ //
665
+ // If an upgrade does not occur, returns all nils.
666
+ func (e * Env ) Upgrade (l * ui.UI , pkg * manifest.Package ) (* shell.Changes , * manifest.Package , error ) {
665
667
task := l .Task (pkg .Reference .String ())
666
668
667
669
if pkg .Reference .IsChannel () {
668
670
err := e .state .UpgradeChannel (task , pkg )
669
- return nil , errors .WithStack (err )
671
+ return nil , nil , errors .WithStack (err )
670
672
}
671
673
return e .upgradeVersion (l , pkg )
672
674
}
@@ -1090,34 +1092,33 @@ func (e *Env) BinDir() string {
1090
1092
// upgradeVersion upgrades the package to its latest version.
1091
1093
//
1092
1094
// If the package is already at its latest version, this is a no-op.
1093
- func (e * Env ) upgradeVersion (l * ui.UI , pkg * manifest.Package ) (* shell.Changes , error ) {
1095
+ func (e * Env ) upgradeVersion (l * ui.UI , pkg * manifest.Package ) (* shell.Changes , * manifest. Package , error ) {
1094
1096
resolver , err := e .resolver (l )
1095
1097
if err != nil {
1096
- return nil , errors .WithStack (err )
1098
+ return nil , nil , errors .WithStack (err )
1097
1099
}
1098
1100
// Get the latest version of the package
1099
1101
resolved , err := resolver .Resolve (l , manifest .PrefixSelector (pkg .Reference .Major ()))
1100
1102
if err != nil {
1101
- return nil , errors .WithStack (err )
1103
+ return nil , nil , errors .WithStack (err )
1102
1104
}
1103
1105
if err := resolved .EnsureSupported (); err != nil {
1104
- return nil , errors .Wrapf (err , "upgrade failed" )
1106
+ return nil , nil , errors .Wrapf (err , "upgrade failed" )
1105
1107
}
1106
1108
if ! resolved .Reference .Version .Match (pkg .Reference .Version ) {
1107
1109
l .Task (pkg .Reference .Name ).SubTask ("upgrade" ).Infof ("Upgrading %s to %s" , pkg , resolved )
1108
1110
uc , err := e .uninstall (l .Task (pkg .Reference .String ()), pkg )
1109
1111
if err != nil {
1110
- return nil , errors .WithStack (err )
1112
+ return nil , nil , errors .WithStack (err )
1111
1113
}
1112
1114
ic , err := e .install (l , resolved )
1113
1115
if err != nil {
1114
- return nil , errors .WithStack (err )
1116
+ return nil , nil , errors .WithStack (err )
1115
1117
}
1116
1118
// Update the package.
1117
- * pkg = * resolved
1118
- return uc .Merge (ic ), nil
1119
+ return uc .Merge (ic ), resolved , nil
1119
1120
}
1120
- return shell . NewChanges ( envars . Parse ( os . Environ ())) , nil
1121
+ return nil , nil , nil
1121
1122
}
1122
1123
1123
1124
func (e * Env ) readPackageState (pkg * manifest.Package ) {
0 commit comments