[override] Explicitly warns user of 'override' feature.
'jiri override' feature is no longer recommended in normal Fuchsia
development. This change makes jiri print a warning when 'override'
is detected in manfiests.
Bug: 39636
Change-Id: I502d7118f8bae0a6f71e798e580c8ca5ed0c3380
diff --git a/cmd/jiri/override.go b/cmd/jiri/override.go
index 36a80e1..e623ef6 100644
--- a/cmd/jiri/override.go
+++ b/cmd/jiri/override.go
@@ -157,30 +157,20 @@
var importOverrides []project.Import
var deletedProjectOverrides []project.Project
var deletedImportOverrides []project.Import
- if overrideFlags.importManifest != "" {
- for _, p := range manifest.ImportOverrides {
- if len(args) == 2 && p.Remote != args[1] {
- importOverrides = append(importOverrides, p)
- continue
- }
- if p.Name != name {
- importOverrides = append(importOverrides, p)
- continue
- }
- deletedImportOverrides = append(deletedImportOverrides, p)
+ for _, p := range manifest.ImportOverrides {
+ if overrideFlags.importManifest == "" || (len(args) == 2 && p.Remote != args[1]) || p.Name != name {
+ importOverrides = append(importOverrides, p)
+ continue
}
- } else {
- for _, p := range manifest.ProjectOverrides {
- if len(args) == 2 && p.Remote != args[1] {
- projectOverrides = append(projectOverrides, p)
- continue
- }
- if p.Name != name {
- projectOverrides = append(projectOverrides, p)
- continue
- }
- deletedProjectOverrides = append(deletedProjectOverrides, p)
+ deletedImportOverrides = append(deletedImportOverrides, p)
+ }
+
+ for _, p := range manifest.ProjectOverrides {
+ if overrideFlags.importManifest != "" || (len(args) == 2 && p.Remote != args[1]) || p.Name != name {
+ projectOverrides = append(projectOverrides, p)
+ continue
}
+ deletedProjectOverrides = append(deletedProjectOverrides, p)
}
if len(deletedProjectOverrides)+len(deletedImportOverrides) > 1 {
diff --git a/project/manifest.go b/project/manifest.go
index 994b08a..a8de3ce 100644
--- a/project/manifest.go
+++ b/project/manifest.go
@@ -631,6 +631,29 @@
return LoadManifestFile(jirix, file, localProjects, false)
}
+func (ld *loader) warnOverrides(jirix *jiri.X) {
+ if len(ld.ProjectOverrides) != 0 {
+ for _, v := range ld.ProjectOverrides {
+ revision := v.Revision
+ if revision == "" {
+ revision = "HEAD"
+ }
+ jirix.Logger.Warningf("Project %s(remote: %s) is overridden to revision %s, if this is not your intention, please run \"jiri override --delete %s %s\" to disable it.", v.Name, v.Remote, revision, v.Name, v.Remote)
+ jirix.OverrideWarned = true
+ }
+ }
+ if len(ld.ImportOverrides) != 0 {
+ for _, v := range ld.ImportOverrides {
+ revision := v.Revision
+ if revision == "" {
+ revision = "HEAD"
+ }
+ jirix.Logger.Warningf("Import %s(remote: %s) is overridden to revision %s, if this is not your intention, please run \"jiri override --import-manifest=%s --delete %s %s\" to disable it.", v.Name, v.Remote, revision, v.Manifest, v.Name, v.Remote)
+ jirix.OverrideWarned = true
+ }
+ }
+}
+
func (ld *loader) enforceLocks(jirix *jiri.X) error {
enforceProjLocks := func(jirix *jiri.X) (err error) {
for _, v := range ld.Projects {
@@ -722,6 +745,9 @@
return nil, nil, nil, err
}
}
+ if !jirix.OverrideWarned {
+ ld.warnOverrides(jirix)
+ }
ld.GenerateGitAttributesForProjects(jirix)
return ld.Projects, ld.Hooks, ld.Packages, nil
}
@@ -741,6 +767,9 @@
return nil, nil, nil, err
}
}
+ if !jirix.OverrideWarned {
+ ld.warnOverrides(jirix)
+ }
ld.GenerateGitAttributesForProjects(jirix)
return ld.Projects, ld.Hooks, ld.Packages, nil
}
diff --git a/x.go b/x.go
index 157ab91..842c567 100644
--- a/x.go
+++ b/x.go
@@ -127,6 +127,7 @@
Attempts uint
cleanupFuncs []func()
AnalyticsSession *analytics_util.AnalyticsSession
+ OverrideWarned bool
}
func (jirix *X) IncrementFailures() {