Czemu firmy używają gradle zamiast maven? Strasznie dużo frustracji mnie kosztuje współpraca z tym narzędziem. Sam fakt, że trzeba się #!$%@?ć z ustawianiem logów przy testach jest nieporozumieniem + każdy projekt może mieć inną strukturę plików bo taki pomysł miał developer. W mavenie wiesz co jest i proste jak budowa cepa. Ktoś wykorzystuje te featury gradla?

#programista15k #java #maven #gradle #programowanie
@famir96: Problem z gradlem jest taki, że pozwala na zbyt dużo. Bez problemu możesz nadpisać standardowe taski, czy rozszerzyć je. Z jednej strony brzmi przydatne, jednak niekoniecznie dobrze z tym się pracuje jak standardowy task nagle zachowuje się inaczej niż w opisie dokumentacji. Z drugiej strony w mavenie aby zrobić coś niestandardowego, to jesteś skazany na pluginy, a w gradle piszesz po prostu swojego taska. Nowe projekty powstają najczęściej z gradle,
  • Odpowiedz
Możecie podrzucić mi swojego builda gradle ze spockiem?

coś mam spartolone se:

Receiver class org.codehaus.groovy.macro.transform.MacroMethodsCache does not define or inherit an implementation of the resolved method 'abstract java.lang.String getDisablePropertyName()' of abstract class org.codehaus.groovy.transform.stc.AbstractExtensionMethodCache.


a zrobiłem najprostszy test na 2+2
#java #programowanie #spock #groovy #gradle
aczutuse - Możecie podrzucić mi swojego builda gradle ze spockiem?

coś mam spartol...

źródło: comment_16711036429bDkcle9XHBt7OeGdKHAQS.jpg

Pobierz
@alex-fortune: jeśli chodzi o języki:

C++: tu było całkiem dobrze, bo C++ ma na tyle prostacki i zły system budowania, że Bazel z automatu staję się przejściem w XXI wiek. Szybkie czasy kompilacji, trzymanie developerów za mordę (żeby nie wymyślali głupich rozwiązań) i budowanie wszystkiego ze źródeł to super zalety w porównaniu do popularnego CMake. Było dużo problemów z pierdołami typu ktoś w googlu uznał, że pliki .cpp będzie się budowało
  • Odpowiedz
@joolekk: @pyroxar: jakby co to w gradle piszesz albo w groovy ( bez kts. czyli build.gradle ) albo w kotlinie i wtedy plik ma nazwę (z kts czyli build.gradle.kts ) i dlatego może jak kopiowałeś example to pokopoiwałeś część z groovy a część z kotlina i nie działa.
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
Cześć, mam problem z #jenkins i #gradle. Próbuję zautomatyzować podpisywanie aplikacji Android. Keystore, alias i hasła potrzebne do tego trzymam w HashiCorp na Jenkinsie.

Pipeline mam skonfigurowane tak, że przy pomocy sh uruchamiana jest komenda z gradle. Do tej komendy jako parametry potrzebuję przekazać tę wartości, które siedzą w vaulcie. Gradle na podstawie tych parametrów bierze plik keystore i resztę i podpisuje apke podczas kompilacji.

Problem polega na tym, że przy
via Wykop Mobilny (Android)
  • 2
@annotate: Nie, macie rację. Już sobie potwierdziłem, że w logach są gwiazdki, ale job ma normalne wartości. Dopiero jak zapisałem je do pliku to zobaczyłem. Już jestem blisko, być może było wszystko ok tylko zły plik jest pod ścieżką z keystore ( ͡° ͜ʖ ͡°) Jutro będę weryfikował.

@another_throwaway23

Dzięki za pomoc :)
  • Odpowiedz
hej, dodałem artefakty do prywatnego nexusa (jar+pom pobrane z maven central, nie wiem czy tak się robi), projekt ładnie je zasysa przez Gradle, ale drzewko zależności różni się od tego kiedy pobieram je za pomocą mavenCentral:

+--- com.rabbitmq:amqp-client:5.14.0
| \--- org.slf4j:slf4j-api:1.7.32

gdy pobieram je z prywatnego repo to jest tylko pierwsza linijka. jeżeli dobrze rozumiem to nie zaciągają się zależności tego artefaktu? tylko dlaczego? slf4j-api jest w tej wersji na prywatnym nexusie.
@globalbus: ja miałem w głowie jak to robiłem, że spoko pomysłem jest zrobić takie prywatne hosted repository z ogólnodostępnymi artefaktami, bo wtedy masz kontrolę nad artefaktami i ich wersjami, których używają inni ludzie w swoich narzędziach. i bym się wtedy totalnie odciął od mavenCentral().
  • Odpowiedz
i bym się wtedy totalnie odciął od mavenCentral().


@novak00: w praktyce wszyscy będą na ciebie #!$%@?ć :D
Możesz sobie zrobić kopię artefaktów potrzebnych do budowania/uruchamiania konkretnej wersji aplikacji, ale w dużej skali to jest ból dupy. Zwłaszcza, że polityka zaciągania tranzytywnych zależności nie jest sztywna, więc dla jednej wersji gradle możesz uzyskać inny zestaw artefaktów niż dla drugiej. Jednemu developerowi się zbuduje, drugiemu nie, choć to ten sam kod źródłowy.

Na
  • Odpowiedz
#programowanie #heroku #jenkins #gradle
Czy jest na sali ktoś, kto pomógłby skonfigurować Heroku w Gradlu? Mam działającą konfigurację dla Mavena:


com.heroku.sdk
heroku-maven-plugin
3.0.2

jenkins-spring-example

java -jar -Dserver.port=$PORT target/${project.build.finalName}.jar

nie wiem natomiast jak sekcję skonfigurować w Gradlu i czy w ogóle powinienem to robić w build.gradle czy moze w innym pliku, dedykowanym dla Heroku.
Próbuję sobie zaciągnąć dependencje Swaggera2 do Gradle poprzez:

compile group: 'io.springfox', name: 'springfox-swagger2', version: '3.0.0'

compile group: 'io.springfox', name: 'springfox-swagger-ui', version: '3.0.0'


A dostaję błąd:

Could not find method compile() for arguments [{group=io.springfox, name=springfox-swagger2, version=3.0.0}] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.


Pierwszy raz widzę taki błąd.

#programowanie #java #gradle #springboot
@kezioezio: Gradle zmieniło swoją konfigurację zależności z podobnej do maven-a do swojej np compile zmieniło się na compileOnly. Więcej będziesz miał w dokumentacji gradle
Sprawdź czy próbujesz dodać zależności w bloku dependencies {} i upewnij się, że sam blok dependencies jest w odpowiednim bloku.
  • Odpowiedz
Mirki mam pytanie odnośnie #java Mam do zrobienia projekt na studia, jakaś aplikacja okienkowa i przy tworzeniu projektu #gradle pokazuje cos takiego.

Could not open init generic class cache for initialization script 'C:\Users\PCCOMP~1\AppData\Local\Temp\wrapperinit.gradle' (C:\Users\PC COMPUTER\.gradle\caches\6.7\scripts\bd6pxnrf9ujld1apdh2mayfet).

BUG! exception in phase 'semantic analysis' in source unit '
BuildScript_' Unsupported class file major version 60

To jest problem z tym, że gradle nie wspiera wersji 16 javy czy można to jakoś naprawić? #naukaprogramowania #
Mireczki, może ktoś się spotkał z podobnym problemem. Mam projekt na gradlu, który korzysta z innego projektu (konkretnie tylko z kilku klas) i odwołuje się do niego poprzez 'implementation <ścieżka>' w pliku build.gradle. Co pewien czas losowo dla różnych testów dostaję błąd java.lang.ClassNotFoundException dla klas z tego pobocznego projektu.

Gdzie może leżeć problem? Czy może tutaj chodzić o konfigurację pliku build.gradle? #selenium #gradle #programowanie
Będę wdzięczna za każdy pomysł.
  • Odpowiedz
Cześć,
wiecie może jak użyć wzorca bill of materials w javie (najlepiej gradle)?

ja zrobiłem testowo 3 projekty:
1) dependency - przykładowy moduł, który ma być użyty w parencie, a którego wersja znajduje się w projekcie "bom" (wykonuje taski clean install, https://github.com/jaksak/bom-test/blob/master/dependency/build.gradle )
2) bom - projekt, w którym mam wpisane wersje modułów dla parenta (wykonuje publishToMavenLocal, https://github.com/jaksak/bom-test/blob/master/bom/build.gradle )
1) parent - łączący wszystkie moduły ze sobą (próbuję build, https://github.com/jaksak/bom-test/blob/master/parent/build.gradle )

Wie
@filozofw: nie próbuj przenosić filozofii mavena na gradle. Odcinamy to grubą kreską.

1. od paru wersji gradle wstecz, istnieją takie configuration jak api i implementation. Używanie tego drugiego chroni przez mavenową patologią, czyli wyciekiem tranzytywnych zależności do consumerów biblioteki.
Dajmy na to, że w module opakowujesz sobie funkcjonalności jgita. Biblioteka jgit będzie widziana tylko przez ten moduł, reszta ma nie wiedzieć o jego istnieniu w czasie kompilacji (będzie w runtime dependencies).
  • Odpowiedz
@filozofw: pamiętaj jeszcze o elementach gradle dsl - subprojects {} i allprojects {}, tam można oddelegować część odpowiedzialną za wybieranie wersji. Wbrew pozorom, dobrze zorganizowany duży projekt radzi sobie bez sztuczek w wersjonowaniu.
Na ten moment pracowy główny projekt - 300+ modułów, z mavenem już bym się pochlastał. Część logiki powynosiłem do pluginu dołączanego w każdy projekt i tam jest wymuszona konkretna struktura (np pliki z deklaracją bloku dependencies lądują w
  • Odpowiedz
via Wykop Mobilny (Android)
  • 1
@another_throwaway23: compile jeszcze działa, ale jest deprecated. Po prostu implementation/compile to funkcja, a zgodnie ze składnią kotlina nie można oddzielić argumentów funkcji średnikiem. Tak samo przy nazwanych argumentach stosuje się znak =. Ma to sens kiedy podajemy argumenty w innej niż domyślna kolejności.
  • Odpowiedz
Czołem Mirki z tagu #programowanie i #naukaprogramowania. Testuję sobie chmurę #microsoft #azure i chciałbym przenieść na nią hello worlda zbudowanego w #gradle. Drugiego hello worlda zbudowanego w #maven udało mi się przenieść bez problemu, zbudowałem jarkę komendą "mvn clean package" w #powershell i następnie za pomocą komendy "mvn azure-webapp:deploy" poszła do chmury. Narazie tego hello worlda w gradle przebudowałem z mavena komendami "gradle init" i "gradle build" i dalej nie
via Wykop Mobilny (Android)
  • 0
@Masilt: wygląda na to że się nie zdeployowała. Niestety nie powiem ci jak to dokładnie działa bo ja pracuję z kontenerami i AKSem
  • Odpowiedz
Mam plik gradle w którym określam sciezke do pliku w folderze 'home/costam/cos.txt' , tworze ten plik w katalogu projektu w tej sciezce (a wiec w folderach home/costam).
Jak uruchomię to na linuxie i jak uruchomię to na windowsie to windows weźmie ten z katalogu projektu plik a linux weźmie ten z katalogu systemowego?

#programowanie #gradle #linux
Hej mireczki bawił się ktoś w code coverage na androidzie?

Ostatnio dodawałem jacoco do projektu w architekturze MVP i chciałem sprawdzić pokrycie kodu presenterów.

Niestety jacoco czesał wszystkie metody, w tym prywatne (zależy mi tylko na publicznych).

Czy ktoś wie jak wyłaczyć skanowanie metod prywatnych? Znacie może inne narzędzia które mogą sobie z tym poradzić?

#androiddailynews

#androiddev #java #gradle
#androiddev #gradle #gradlecwel #androidstudio

od jakiegoś czasu ogarniam się z Clean Architecture na AS3.0 z nowym gradlem . Mam kod wydzielony na moduły(data, domain, presentation)

czy ktoś miał podobny problem podczas budowania projektu?

Error:Execution failed for task ':presentation:transformClassesWithDexBuilderForDebug'.
> com.android.build.api.transform.TransformException: org.gradle.tooling.BuildException: com.android.dx.cf.code.SimException: invalid opcode ba (invokedynamic requires --min-sdk-version >= 26)
  • Odpowiedz
  • 2
Mam projekt który składa się z kilku modułów. Każdy z modułów ma swój gradlowy build. Projekt jest tworzony w springu. Jak to jest że jeden moduł się buduje i uruchamia pyzy użyciu ./gradlew bootRun a pozostałe moduły mimo poprawnych adnotacji i gradle.build wyrzucają błąd że nie znalazł classy main. Clean buildy nie pomagają.
#spring #naukaprogramowania #gradle