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

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 ม.ค. 2025

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

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

    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  ปีที่แล้ว +39

      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 ;)

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

    Finally a multi module series ❤️

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

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

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

    why not Version Catalog?

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

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

  • @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! 🙌🏼

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

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

  • @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 :)

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

    Ooh back to back!
    Well done

  • @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?

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

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

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

    Superb! Eagerly waiting for the next video.

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

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

  • @jhj-kr4ei
    @jhj-kr4ei 23 วันที่ผ่านมา

    Perfect video I've been found !! Thanks !

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

    Phillip... You re pure gold!

  • @kivan26
    @kivan26 ปีที่แล้ว +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?

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

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

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

    super helpfull video Philipp , thanks a lot 💗

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

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

  • @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

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

    gradle recommends to use composite builds over 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?

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

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

  • @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

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

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

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

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

  • @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.

  • @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😅😅😅

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

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

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

    on point, thats what i need right now

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

    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?

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

    I still would rather to use version catalogs.

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

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

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

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

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

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

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

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

  • @krzysztof872
    @krzysztof872 ปีที่แล้ว +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

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

    this is the best thanks !

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

    Hilt is not working dude. Help me out here

  • @Ernani-Lima
    @Ernani-Lima ปีที่แล้ว

    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

  • @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.

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

    Thank you!

  •  ปีที่แล้ว

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

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

    I think I'll go with the grade versions catalogs

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

    I enjoy your videos sir 😎 thank you

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

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

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

    Nice !

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

    I guess version catalog provide same feature as buildSrc..

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

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

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

    Great content 🔥

  • @Vishal-ng2xb
    @Vishal-ng2xb ปีที่แล้ว

    fantastic

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

    Waiting for next video

  • @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.

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

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

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

    Cool 🚀

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

    GOAT

  • @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

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

    goat

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

    Can we have some videos on Android hardware please

  • @poloolo69
    @poloolo69 9 วันที่ผ่านมา

    n🧊 one