testcontainers / testcontainers/testcontainers-java
[Enhancement]: apply Gradle best practices
Nessuno ha ancora preso questa issue.
- Lingua principale
- Java
- Stelle
- 8.7k
- Fork
- 1.9k
- Merge medio
- 2g 17h
- PR unite (30g)
- 9
Descrizione
Module
Core
Proposal
Apply Gradle build practices so the build configuration does not take ~10 sec for every execution.
Currently, the project configuration takes ~11 seconds on Apple M1 which is very noticeable.
For instance, if I add a dependency to one of the modules, I have to wait for 10 seconds for the IDE to refresh. It does not have to be that long.
The slowness might be related to creating a lot of tasks eagerly "thanks" to old Groovy DSL code.
For instance, the code like the following always creates japicmp, and check tasks even in the case they will not be executed. The tasks are not required for IDE to pick up the updated project dependencies.
tasks.japicmp {
dependsOn(tasks.shadowJar)
}
...
project.tasks.check.dependsOn(japicmp)
PS. It would be nice to move to Kotlin DSL as per General Gradle Best Practices as well.
Guida per i contributori
Apri la guida per i contributori
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.
Direzione di ricerca
Inizia con la configurazione Gradle del modulo Core e misura il tempo di configurazione di circa 11 secondi riportato nell’issue su un Apple M1. Esamina le dichiarazioni eager dei task mostrate nell’issue e confronta il comportamento della configurazione prima e dopo le modifiche. Il lavoro è completato quando durante l’aggiornamento delle dipendenze dell’IDE non vengono creati task non necessari e il tempo di configurazione viene ridotto.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- groovy, kotlin
- Ambito
- build-system, performance
- Tipo di issue
- Refactoring
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 38/100