Use builder pattern to construct Add Plugin recipe visitors
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 70/100
Direzione di ricerca
Inizia con src/main/java/com/canonical/devpackspring/rewrite/visitors/KotlinAddPluginVisitor.java intorno alle righe 42-43 e ispeziona il costruttore di AddPluginVisitorSupport e gli altri punti in cui viene chiamato. Introduci l’approccio di costruzione denominato descritto nell’issue, aggiorna i recipe visitors che usano il costruttore e verifica che il progetto continui a compilare.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
─── src/main/java/com/canonical/devpackspring/rewrite/visitors/KotlinAddPluginVisitor.java:42-43 ───
[maintainability · low] The `AddPluginVisitorSupport` constructor takes 9 positional parameters, 7
of which are Strings/booleans of easily-confusable types (pluginName, pluginVersion, buildFileName,
and three template strings). At this call site it's easy to accidentally swap e.g.
`PLUGIN_TEMPLATE_KOTLIN` with `BUILT_IN_TEMPLATE_KOTLIN`, or the build file name with a template,
and the compiler won't catch it. Consider introducing a small parameter object or builder (e.g.
`AddPluginVisitorSupport.builder().plugin(...).templates(...).operations(...)`) so each argument is
named at the call site and mis-ordering is impossible.
- this.support = new AddPluginVisitorSupport<>(pluginName, pluginVersion, subprojects, parser, "build.gradle.kts",
- PLUGIN_TEMPLATE_KOTLIN, BUILT_IN_TEMPLATE_KOTLIN, SUBPROJECTS_TEMPLATE_KOTLIN, new KotlinOperations());
+ this.support = AddPluginVisitorSupport.<K.CompilationUnit>builder()
+ .plugin(pluginName, pluginVersion)
+ .subprojects(subprojects)
+ .parser(parser)
+ .buildFileName("build.gradle.kts")
+ .templates(PLUGIN_TEMPLATE_KOTLIN, BUILT_IN_TEMPLATE_KOTLIN, SUBPROJECTS_TEMPLATE_KOTLIN)
+ .operations(new KotlinOperations())
+ .build();
- Lingua principale
- Java
- Stelle
- 1
- Fork
- 5
- Merge medio
- 1g 14h
- PR unite (30g)
- 27
Preparare l'ambiente
Non abbiamo ancora controllato i file di configurazione di questo progetto. Parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di canonical/devpack-for-spring-cli
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
canonical/devpack-for-spring-cli#292 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
canonical/devpack-for-spring-cli#283 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
canonical/devpack-for-spring-cli#270 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 70/100
canonical/devpack-for-spring-cli#291 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 76/100
canonical/devpack-for-spring-cli#271 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di canonical/devpack-for-spring-cli
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
oracle/javavscode#652 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
OpenAPITools/openapi-generator#25014 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
AloisSeckar/demos-java#380 ·