canonical / canonical/devpack-for-spring-cli
Improve plugin id search in subprojects block
- Lingua principale
- Java
- Stelle
- 1
- Fork
- 5
- Merge medio
- 1g 20h
- PR unite (30g)
- 31
Descrizione
```
─── src/main/java/com/canonical/devpackspring/rewrite/visitors/FindMethodVisitor.java:47-50 ───
[bug · medium] In `containsLiteral`, the plugin-id literal is matched *anywhere* inside the `apply`
invocation subtree (including nested expressions/arguments such as a `from`/`to` map entry), not
specifically the plugin argument. Combined with `find(subtree, METHOD_APPLY, true)` (recursive), an
`apply` call in a `subprojects` block that happens to contain the plugin id string in an unrelated
nested argument would be treated as "plugin already applied" and
`AddPluginVisitorSupport.handleSubprojectsBlock` would skip adding the `apply plugin` statement.
Consider matching only the expected argument position (e.g., the `plugin:`/`plugin =` argument)
instead of any literal in the subtree.
```
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Inizia da src/main/java/com/canonical/devpackspring/rewrite/visitors/FindMethodVisitor.java:47-50, in particolare da containsLiteral e dal suo utilizzo con find(subtree, METHOD_APPLY, true). Segui AddPluginVisitorSupport.handleSubprojectsBlock per confermare in che modo questa corrispondenza controlla l'inserimento. Il lavoro è completato quando un argomento annidato non correlato non viene considerato un'applicazione del plugin esistente, mentre l'argomento del plugin previsto continua a essere considerato tale.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- java
- Ambito
- build-system, cli
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Attiva
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 76/100