Dependency Management in a Multi-Module Project - THIS Is How You Need to Do It

แชร์
ฝัง
  • เผยแพร่เมื่อ 29 ก.ย. 2024

ความคิดเห็น • 74

  • @csmuthukuda916
    @csmuthukuda916 ปีที่แล้ว +52

    IMO i think version catalogs + convention plugins is the way forward since it supports natively in gradle

    • @sabbib007madness
      @sabbib007madness ปีที่แล้ว +2

      agreed, as this way there isn't any visibility of updates for library version. if I'm not wrong, atm, same for Version Catalogue, but I imagine that would be resolved as it's supported by gradle

    • @PhilippLackner
      @PhilippLackner  ปีที่แล้ว +34

      Tutorial is coming soon as well👍🏼

    • @jayeshseth
      @jayeshseth ปีที่แล้ว

      @@sabbib007madness ig i remember android studio suggesting version updates of all maven dependencies, i never used this method extensively and its also outdated now since version catalogs come baked in ide am pretty sure he just saw he doesnt have a video on that so he made he covers all android related changes 😂

    • @deletedchanneI
      @deletedchanneI ปีที่แล้ว

      @@sabbib007madnessit shows possible updates

    • @aurere1612
      @aurere1612 ปีที่แล้ว

      @@sabbib007madness In the last version of the IDE which is Android Studio Giraffe, we now have the "warnings" for new version update in the libs.versions.toml file ;)

  • @WakeupDev.
    @WakeupDev. ปีที่แล้ว

    Ooh back to back!
    Well done

  • @ch1pkavarenychenko84
    @ch1pkavarenychenko84 ปีที่แล้ว +20

    why not Version Catalog?

  • @manoolsblch5921
    @manoolsblch5921 ปีที่แล้ว +10

    Good video, it's better that managing modules dependencies without "buildSrc"... But gradle version catalogs based on ".toml"-file, convention plugins and composite builds are more convenient and powerful way for the gradle scripts boilerplate reducing.

    • @PhilippLackner
      @PhilippLackner  ปีที่แล้ว +6

      I'll make a video about version catalogs soon :)

  • @tinykingcontractor1396
    @tinykingcontractor1396 ปีที่แล้ว +5

    I still would rather to use version catalogs.

    • @akashkumardas6521
      @akashkumardas6521 ปีที่แล้ว +1

      You are so dependent on dependencies, try to get rid of it. 😅

    • @tinykingcontractor1396
      @tinykingcontractor1396 ปีที่แล้ว

      @@akashkumardas6521 Already dependent. No way out of it :))))

  • @davidluna9722
    @davidluna9722 7 หลายเดือนก่อน +1

    I believe you can achieve same thing with Versions Catalog bundles ¿right?

  • @binqiangliang4745
    @binqiangliang4745 ปีที่แล้ว +2

    This is not the best solution for dependency management, a change in buildSrc will causes the whole project to become out-of-date.

  • @csmuthukuda916
    @csmuthukuda916 ปีที่แล้ว +7

    Finally a multi module series ❤️

  • @ubersticks
    @ubersticks ปีที่แล้ว +3

    This really cleans things up in the build.gradle files ! Will gradle highlight those dependencies that have a newer version available (such as core-ktx:1.9.0 in your code)? When I last tried this in one of your courses, I recall that this highlighting no longer worked. How do you easily determine what dependencies are stale?

  • @krzysztof872
    @krzysztof872 9 หลายเดือนก่อน +1

    I also think you should remove "THIS Is How You Need to Do It" and move into catalogs and group dependencies in bundles section

  • @SiamakAshrafi
    @SiamakAshrafi ปีที่แล้ว +1

    You need to learn how to use a TOML file with version catalog.

  • @kivan26
    @kivan26 9 หลายเดือนก่อน +1

    Why the project level gradle specified plugins using plugins { id .. version .. apply false } syntax, and buildSrc gradle file uses dependencies { .. } syntax? Can you clarify that, please?

  • @blankname
    @blankname ปีที่แล้ว +1

    Man I thought it was gonna be a video about DI in multi-module app xD. Anyway it would be better to use version catalogs. The new Android Studio also supports it fully now.

  • @qasimgull
    @qasimgull ปีที่แล้ว +1

    i want to learn Flutter/Dart, but because of this guy im with kotlin 😅

  • @juacosoft
    @juacosoft 2 หลายเดือนก่อน

    What is the best way, when the proyect is multi repo ? This inplementation is very hard in these scenary with multiple developer team

  • @sabbib007madness
    @sabbib007madness ปีที่แล้ว +1

    gradle recommends to use composite builds over buildSrc

  • @tonnie7079
    @tonnie7079 8 หลายเดือนก่อน +1

    Wow, 3 minutes in and I have already grasped plenty of stuff I was struggling with on some Opensource repo.

  • @gregoryrakhlin2546
    @gregoryrakhlin2546 7 หลายเดือนก่อน +1

    That was great. I only got it right the fifth time, but now I fully understand how it works. Thank you very much!

  • @sreebehra
    @sreebehra 6 หลายเดือนก่อน

    I guess version catalog provide same feature as buildSrc..

  • @asifsk4448
    @asifsk4448 ปีที่แล้ว +1

    How can we create separate module that only have apis call or repository
    What is best practices

  • @joeldotdias
    @joeldotdias ปีที่แล้ว +1

    Love your vids. Would love to see a video on fingerprint authentication

  • @amirhosseinghafoorian9985
    @amirhosseinghafoorian9985 หลายเดือนก่อน

    super helpfull video Philipp , thanks a lot 💗

  • @youssefmoti
    @youssefmoti ปีที่แล้ว +1

    Thank you so much @Philipp for all great videos.
    I highly recommend using bundle in version catalogs

  • @lazydeveloper7753
    @lazydeveloper7753 11 หลายเดือนก่อน +1

    Hilt is not working dude. Help me out here

  • @merajhossenakibakib8369
    @merajhossenakibakib8369 ปีที่แล้ว

    @Philipp I have a request. Can you please add sequence to the Playlist? I don't know where to start and where to go from there😅😅😅

  • @truepicksyt3323
    @truepicksyt3323 ปีที่แล้ว +1

    The title should be "Gradle Dependency Management...."

    • @koncinar
      @koncinar ปีที่แล้ว

      Right! Half of the video I was thinking "that's a long introduction into DI" until I realized he named it ambiguously

  • @xeriwin
    @xeriwin 10 หลายเดือนก่อน

    Cool Video😁👍. I just have one question: Why didn't you write the room()-Function as an Extension of DependencyHandlerScope, because then you would not need those extra Helper Functions. I already tried this out some time ago and it worked perfectly fine. Or is this considered a bad practice?

  • @ErnaniJr
    @ErnaniJr ปีที่แล้ว

    Kotlin 1.9.0 and Dagger Hilt 2.48
    It changes a lot and I don't know if it's possible because the kapt was removed

  • @dineshk7830
    @dineshk7830 ปีที่แล้ว

    Why would anyone want to go through all of these when we could manage the dependency for all the modules using the version catalog, which let's me manage all the dependency versions in one place.

  • @ArthurKhazbs
    @ArthurKhazbs ปีที่แล้ว

    As far as I know, in Preview versions of Android Studio a TOML version catalog is the default option for dependency management

  • @aldaricJohnes
    @aldaricJohnes ปีที่แล้ว

    use bundles in gradle catalog, gradle is already slow enough, no need to add extra overhead to your builds with buildSrc and the likes

  • @ThwriktoKavlerwf
    @ThwriktoKavlerwf ปีที่แล้ว

    version catalogs seem more intuitive for managing dependencies for all modules. great usecase for using the gradle buildSrc

  • @javimardeveloper
    @javimardeveloper ปีที่แล้ว

    Great stuff as usual. got a question though, looks like this method won't get automatic version upgrade tips, that is, gradle won´t tell you that a newer version is available. Will you cover that in your next video?

  •  ปีที่แล้ว

    i'm just curious can i apply in java android project?

  • @nymexe
    @nymexe ปีที่แล้ว

    I think I'll go with the grade versions catalogs

  • @fabianoaugustodemello3582
    @fabianoaugustodemello3582 ปีที่แล้ว

    How the DependencyHandler extension function would be for a dependency like testImplementation("whatever") { exclude(group = "whateverGroup", module = "whateverModule") } ?

    • @fabianoaugustodemello3582
      @fabianoaugustodemello3582 11 หลายเดือนก่อน

      Found an answer:
      fun DependencyHandler.testImplementation(
      depName: String,
      dependencyConfiguration: ExternalModuleDependency.() -> Unit = {}
      ) {
      add(“testImplementation”, depName, dependencyConfiguration)
      }

  • @1997SlyCooper
    @1997SlyCooper 7 หลายเดือนก่อน

    is there a playlist with all the videos around multi module?

  • @Vishal-ng2xb
    @Vishal-ng2xb 8 หลายเดือนก่อน

    fantastic

  • @farazbaloch1338
    @farazbaloch1338 ปีที่แล้ว

    sir Please make a video on Smsmanager in android Api level 33

  • @safionweb
    @safionweb ปีที่แล้ว

    Superb! Eagerly waiting for the next video.

  • @luyt2
    @luyt2 6 หลายเดือนก่อน

    That's great! Thank you for your work!Great!

  • @GgObj
    @GgObj ปีที่แล้ว

    Hello, Philip, I would like to know from you: is it worth learning xml or is it worth going straight to compose?

    • @faisalnaseer798
      @faisalnaseer798 ปีที่แล้ว

      for legacy projects you may need it similarly as you need java

  • @unknownBoy85lover
    @unknownBoy85lover ปีที่แล้ว

    I enjoy your videos sir 😎 thank you

  • @md.shamimhossain2971
    @md.shamimhossain2971 ปีที่แล้ว

    Waiting for next video

  • @DevDiscipline
    @DevDiscipline 7 หลายเดือนก่อน

    this is the best thanks !

  • @stoyan_vuchev
    @stoyan_vuchev ปีที่แล้ว +2

    This approach saves tons of time once you write it and it works with a version catalog as well! You can reuse the buildSrc module across your projects with a bit of tweaks here an there to fit with the project. Also, it enables flexibility if you have certain requirements. Looking forward to the next part. Keep up the good work Philipp! 🙌🏼

  • @JazzyJesterTechPing
    @JazzyJesterTechPing ปีที่แล้ว

    Nice !

  • @user-my6yf1st8z
    @user-my6yf1st8z ปีที่แล้ว

    on point, thats what i need right now

  • @devgabriel6898
    @devgabriel6898 ปีที่แล้ว

    Phillip... You re pure gold!

  • @Hooperlink
    @Hooperlink ปีที่แล้ว

    GOAT

  • @skyrin3177
    @skyrin3177 ปีที่แล้ว

    Cool 🚀

  • @patriciorodriguez6678
    @patriciorodriguez6678 ปีที่แล้ว

    Thank you!

  • @icodethis
    @icodethis ปีที่แล้ว

    goat

  • @abada-s
    @abada-s ปีที่แล้ว

    Great content 🔥

  • @vaibhavpatil8297
    @vaibhavpatil8297 ปีที่แล้ว

    Can we have some videos on Android hardware please