sobota, 15 października 2022

Gradle

Some of them like transitive dependency but not me

Wiadomo są tacy co kochają dependency transitive - ale nie ja

Simple total fuck off transitive dependency for all configuration in build.gradle

Chyba najprostszy sposób i całkowicie globalny aby to wywalić jak to mówią at all

...
configurations {
    forEach {
        c -> c.setTransitive(false)
    }
}

> Custom function for disable transitive dependency
Let's try definne metod for switch off transitive dependency ... of course possible many way as below

Taki mam pomysł aby zrobić to przez funkcję która opakowuje dependency... dla fanów wyższości c++ nad c=c+1 da to uproszczenie! Wystarczy dodać do definiowanego dependency prefix noTransitive, a "fantastyczność" groovy załatwi nam to że zamieni się to na funkcję (metodę) która zmieni nasze dependendcy w nietranzytywne

Based on cloure definition... for groovy looks not so good to long to say is good
Patrząc na podstawową konstrukcję definicji dependency bez tranzytywności przy pomocy colusure albo setera żadna nie wypada przyjażnie

dependencies {
   runtimeOnly("com.haulmont.cuba:cuba-global:7.2.15") {
      setTransitive(false) }
...

or

dependencies {
   runtimeOnly("com.haulmont.cuba:cuba-global:7.2.15")
      .setTransitive(false)
...

So look at alternative solution with function version...

def noTransitive(def dep) { return dep.setTransitive(false) }
def noTransitive(def dep) { dep.setTransitive(false) }
def noTransitive(def dep) { dep.transitive = false }
def noTransitive(dep) { dep.transitive = false }
def noTransitive = { d -> d.setTransitive(false) }

Next define our dependecy in clasic clousure method ... with transitive version
Zdefiniujmy więc jakieś dependency co tak na oko ze 64 pozycje tranzytywne oczywiście wszystko nam będzie "potrzebne" i "niezbędne" bo nie wypada mieć paczki co waży 20M tylko minimum 200M

dependencies {
   runtimeOnly("com.haulmont.cuba:cuba-global:7.2.15")
...

or without tranisitive
a tak by to wyglądało bez transitive

dependencies {
   noTransitive runtimeOnly("com.haulmont.cuba:cuba-global:7.2.15")
...

Brak komentarzy:

Prześlij komentarz