How To Use Gradle API vs. Implementation Dependencies (Java Library Plugin)

Поділитися
Вставка
  • Опубліковано 4 лис 2024

КОМЕНТАРІ • 37

  • @TomGregoryTech
    @TomGregoryTech  3 роки тому

    ►► Getting started with Gradle just got much easier. Check out my FREE Get Going with Gradle course → learn.tomgregory.com/courses/get-going-with-gradle

  • @rockmanvnx6
    @rockmanvnx6 7 місяців тому +3

    I spent hours of research and couldn't understand until i found this video. Thank you so much

  • @buildlackey
    @buildlackey 4 роки тому +5

    didn't quite get this before your explanation.. the way you showed the published maven pom artifact lit the light bulb in my thick head ;^) thnx !

  • @JoseGarcia-bn6kq
    @JoseGarcia-bn6kq 4 роки тому +3

    Your Gradle series is brilliant. Thank you, Tom.

  • @SriHarshaChilakapati
    @SriHarshaChilakapati 2 роки тому +1

    It took me a whole while to actually understand the older ones, but only after a short while, Gradle changed into implementation and api. However, the older ones (Maven conventions) are more straight-forward right?
    We used to have
    compile - For compile & runtime classpaths
    provided - For compile classpath but not runtime classpath
    runtime - For only runtime classpath
    After spending so much time to understand the above and seeing Gradle changed them immediately later, made me stick to implementation which simply worked everywhere I go. Thanks for this video, I finally understand the new approach too.

  • @ManuelJordan317
    @ManuelJordan317 3 роки тому +2

    Excellent video, really well covered. Again how a friendly suggestion: consider to do a new video of this same type but covering about Testing. There are other 'names' about how to refer the dependencies. Keep doing this amazing work!

  • @alexei3366
    @alexei3366 2 роки тому

    Thank for example about plugin "maven-publish". It's very helpful

  • @Firaristt1911
    @Firaristt1911 3 роки тому

    thank you for great explanation. So basic, so clear and yet, detailed enough to generate and use library.

  • @rajdhar1235
    @rajdhar1235 2 роки тому

    Excellent explanation, to the point.
    Thank you so much.

  • @JoshMolina
    @JoshMolina 4 роки тому +1

    Great explanation! Thank you!

  • @mtc539
    @mtc539 Рік тому

    the gradle GOAT

  • @tonys5631
    @tonys5631 4 роки тому

    It would be nice to talk to the rest of the world learning the tools who haven't been using them for 1+ years. You should start by giving a reference to build on. Visualize your reference. Thanks for the effort. Now I need to go to a source that can get me up to speed to understand what you're saying.

    • @TomGregoryTech
      @TomGregoryTech  4 роки тому

      Hi Tony. Thanks for the suggestion. I will definitely keep this in mind for future tutorials. What specifically did I miss out of this one?

  • @Dirkadin
    @Dirkadin 4 роки тому +1

    Good demonstration!

  • @KonradSzewczukMusic
    @KonradSzewczukMusic 4 роки тому +2

    Hi, very good demonstration! It would be nice if you can demonstrate compileOnly, runtimeOnly and annotationProcessor :)

    • @TomGregoryTech
      @TomGregoryTech  4 роки тому +2

      Thanks Konrad! That's a great suggestion, and I've added to the list of future topics to cover.

  • @bitwisedevs469
    @bitwisedevs469 3 роки тому

    Awesome! This is what I am looking for a visual representation of what is happening behind the scene.
    One more question, what will happen if I change jackson from api to implementation in consumer side

  • @mksmurff
    @mksmurff 4 роки тому +1

    Brilliant video thanks

  • @tassitanoca
    @tassitanoca 4 роки тому +1

    Excellent video :-). can I transform the library module to be used as a BOM into de Consumer? If yes, should I include a pom that list all my libs into my Library module?

    • @TomGregoryTech
      @TomGregoryTech  4 роки тому

      Hi Alexandre. That's not something I've tried before unfortunately. Thanks for the feedback.

  • @krzysztofkamieniecki3154
    @krzysztofkamieniecki3154 3 роки тому

    The jacket in the background disturb me a lot :)

  • @MotazAlZoubi-cp4bp
    @MotazAlZoubi-cp4bp Рік тому

    Amazing

  • @gullujumper
    @gullujumper 3 роки тому

    Awesome video thank you. Do you have anything planned about how to handle non jar dependencies from zip files like dlls/js/.. ?

    • @TomGregoryTech
      @TomGregoryTech  3 роки тому +1

      Thank you. Sorry, no plans to cover that topic at the moment.

  • @GSUGambit
    @GSUGambit Рік тому

    What the equivalent to dependency management in maven to gradle?

  • @praveenathangavel
    @praveenathangavel 2 роки тому

    What is the api equivalent for annotationprocessor for lombok

    • @TomGregoryTech
      @TomGregoryTech  2 роки тому +2

      Annotation processors generate additional code. Any consumers of your library don't need to know about the annotation processor, so there's no api equivalent to the annotationProcessor configuration.

    • @praveenathangavel
      @praveenathangavel 2 роки тому +1

      @@TomGregoryTech thank you. So if I have lombok annotationprocessor in parent library it will not be visible as transitive dependency to consumers of library? I need to have lombok annotationprocessor declared under dependencies for each child project?

    • @TomGregoryTech
      @TomGregoryTech  2 роки тому +2

      @@praveenathangavel That's right. If the subproject requires annotation processing, you need to declare the Lombok annotation processor.

  • @krown5666
    @krown5666 3 роки тому

    Your IntelliJ IDEA Theme doesn't correlate with your room and t-shirt Theme. Please make it IntelliJ Light as well :-)

  • @jayasundeepkandhikatty1917
    @jayasundeepkandhikatty1917 2 роки тому

    Application Binary Interface

  • @lisafox9026
    @lisafox9026 2 роки тому +1

    Cannot access com.fasterxml.jackson.databind.JsonNode =>
    IntelijIdea, but in eclipse ok ... why?