31 lines
1.6 KiB
Markdown
31 lines
1.6 KiB
Markdown
# Task 02: Fix `chekoutSubmodule` method-name typo across all call sites
|
|
|
|
- **Type:** Bug fix (correctness)
|
|
- **Source:** `BUGS_AND_IMPROVEMENTS_REPORT.md` §1.2
|
|
|
|
## Goal
|
|
|
|
Method name in `src/com/meesho/stages/checkOut.groovy:20` reads correctly as `checkoutSubmodule`; every caller in the codebase resolves; consumer Jenkinsfiles that reference the old name don't break overnight.
|
|
|
|
## Acceptance Criteria
|
|
|
|
- [ ] `checkOut.groovy:20` defines `def checkoutSubmodule(String repo_name)` — not `chekoutSubmodule`
|
|
- [ ] Every `grep -rn 'chekoutSubmodule'` hit in `src/`, `vars/`, `resources/` is updated to `checkoutSubmodule`
|
|
- [ ] Cross-org sweep: search `Meesho/*` for `chekoutSubmodule` references and either:
|
|
- (a) raise companion PRs on each consumer to update the call, **or**
|
|
- (b) add a backwards-compat alias in `checkOut.groovy`:
|
|
```groovy
|
|
def chekoutSubmodule(String repo_name) {
|
|
log.warning('chekoutSubmodule is deprecated — use checkoutSubmodule')
|
|
return checkoutSubmodule(repo_name)
|
|
}
|
|
```
|
|
- [ ] Alias (if present) is documented in a `CHANGELOG`-style note with a target removal date
|
|
- [ ] Smoke-test via a consumer Jenkinsfile that exercises the submodule checkout path
|
|
- [ ] No behavioural change in the underlying method body — only the name changes
|
|
|
|
## Notes / known gotchas
|
|
|
|
- The alias path is the safer choice in a shared library — consumer Jenkinsfiles get reviewed and merged on their own schedule, and a hard rename will silently fail across the org.
|
|
- Once the alias is in, run `gh search code 'chekoutSubmodule' --owner Meesho --json repository,path` periodically to track removal readiness.
|