Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Use builder pattern to construct Add Plugin recipe visitors

Aperta
#269 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

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
Tipo di issue
Refactoring
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
java
Ambito
cli

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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di canonical/devpack-for-spring-cli

Tutte le issue di canonical/devpack-for-spring-cli

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.