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

Поделиться
HTML-код
  • Опубликовано: 23 ноя 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  Год назад +37

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

  • @ch1pkavarenychenko84
    @ch1pkavarenychenko84 Год назад +20

    why not Version Catalog?

  • @gregoryrakhlin2546
    @gregoryrakhlin2546 9 месяцев назад +1

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

  • @csmuthukuda916
    @csmuthukuda916 Год назад +7

    Finally a multi module series ❤️

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

  • @tonnie7079
    @tonnie7079 10 месяцев назад +1

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

  • @krzysztof872
    @krzysztof872 11 месяцев назад +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

  • @ArthurKhazbs
    @ArthurKhazbs Год назад

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

  • @youssefmoti
    @youssefmoti Год назад +1

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

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

  • @joeldotdias
    @joeldotdias Год назад +1

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

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

  • @davidluna9722
    @davidluna9722 9 месяцев назад +1

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

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

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

  • @juacosoft
    @juacosoft 4 месяца назад

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

  • @1997SlyCooper
    @1997SlyCooper 9 месяцев назад

    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

  • @kivan26
    @kivan26 11 месяцев назад +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?

  • @SiamakAshrafi
    @SiamakAshrafi Год назад +1

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

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

  • @asifsk4448
    @asifsk4448 Год назад +1

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

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

  • @devgabriel6898
    @devgabriel6898 Год назад

    Phillip... You re pure gold!

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

  • @qasimgull
    @qasimgull Год назад +1

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

  • @amirhosseinghafoorian9985
    @amirhosseinghafoorian9985 3 месяца назад

    super helpfull video Philipp , thanks a lot 💗

  • @xeriwin
    @xeriwin 11 месяцев назад

    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?

  • @nymexe
    @nymexe Год назад

    I think I'll go with the grade versions catalogs

  • @WakeupDev.
    @WakeupDev. Год назад

    Ooh back to back!
    Well done

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

  • @luyt2
    @luyt2 8 месяцев назад

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

  • @safionweb
    @safionweb Год назад

    Superb! Eagerly waiting for the next video.

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

  • @user-my6yf1st8z
    @user-my6yf1st8z Год назад

    on point, thats what i need right now

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

  • @lazydeveloper7753
    @lazydeveloper7753 Год назад +1

    Hilt is not working dude. Help me out here

  •  Год назад

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

  • @farazbaloch1338
    @farazbaloch1338 Год назад

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

  • @sreebehra
    @sreebehra 8 месяцев назад

    I guess version catalog provide same feature as buildSrc..

  • @DevDiscipline
    @DevDiscipline 9 месяцев назад

    this is the best thanks !

  • @md.shamimhossain2971
    @md.shamimhossain2971 Год назад

    Waiting for next video

  • @patriciorodriguez6678
    @patriciorodriguez6678 Год назад

    Thank you!

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

  • @unknownBoy85lover
    @unknownBoy85lover Год назад

    I enjoy your videos sir 😎 thank you

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

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

  • @JazzyJesterTechPing
    @JazzyJesterTechPing Год назад

    Nice !

  • @Vishal-ng2xb
    @Vishal-ng2xb 10 месяцев назад

    fantastic

  • @abada-s
    @abada-s Год назад

    Great content 🔥

  • @skyrin3177
    @skyrin3177 Год назад

    Cool 🚀

  • @Hooperlink
    @Hooperlink Год назад

    GOAT

  • @icodethis
    @icodethis Год назад

    goat

  • @vaibhavpatil8297
    @vaibhavpatil8297 Год назад

    Can we have some videos on Android hardware please