Code Monkey home page Code Monkey logo

Comments (11)

autonomousapps avatar autonomousapps commented on September 25, 2024

Thanks for the issue.

Can you explain why you have this need to exclude so many things? Is there some issue with the analysis?

from dependency-analysis-gradle-plugin.

jonapoul avatar jonapoul commented on September 25, 2024

+1 for me. Personally, I'd like it because I keep module diagrams of my projects to illustrate how modules link together. Unless I can exclude projects from onIncorrectConfiguration, I'm forced to add loads of interleaving direct links between nodes in the diagram, which makes the whole thing more difficult to follow.

Ideally I'd make most of those links api instead of implementation, which IMO is easier to understand.

from dependency-analysis-gradle-plugin.

rvandermeulen avatar rvandermeulen commented on September 25, 2024

Thanks for the issue.

Thanks for the reply and for creating this tool in the first place!

Can you explain why you have this need to exclude so many things? Is there some issue with the analysis?

Certainly. I have two main cases in mind for this:

  • Multiple modules from the same project that I'm knowingly bringing in transitively and OK with (for example, hamcrest coming by way of junit was one that I encountered when first setting up DAGP on a project - I'm perfectly fine with those being managed upstream and find one-by-one excluding to be cumbersome)
  • More specific to our project's use case, we (Mozilla) build have Nightly, Beta, and Release build variants that all come from the same repo. There are a couple transitive dependencies for other libraries we control, but their exact name depends on the channel (i.e. blahblah-nightly, blahblah-beta, etc). If I'm going to accept these being transitive dependencies (and I am since we control the libraries in question and are assured that we're using the expected version for each project), I need to list all the variants individually instead being able to just use a single entry with a wildcard instead.

Hopefully that makes sense. Happy to try to clarify anything if needed.

from dependency-analysis-gradle-plugin.

autonomousapps avatar autonomousapps commented on September 25, 2024

Unless I can exclude projects from onIncorrectConfiguration

So you're saying you prefer to have incorrectly declared dependencies? I'm not sure I want to make that easier to do.

from dependency-analysis-gradle-plugin.

autonomousapps avatar autonomousapps commented on September 25, 2024

I suspect that you might find the bundle feature very useful for meeting your needs. It already permits regex.

https://github.com/autonomousapps/dependency-analysis-gradle-plugin/wiki/Customizing-plugin-behavior#logical-dependency-groups-aka-dependency-bundles

from dependency-analysis-gradle-plugin.

rvandermeulen avatar rvandermeulen commented on September 25, 2024

I'm having a bit of difficulty figuring out how to apply bundles to our situation.

I would have expected behavior something along the lines of #904 but obviously that's not how they're designed to work. I'm not seeing how to make the connection between defining a bundle and telling the plugin to ignore any transitive dependencies applicable to it.

from dependency-analysis-gradle-plugin.

rvandermeulen avatar rvandermeulen commented on September 25, 2024

@autonomousapps Maybe I'm misunderstanding how bundles are meant to work. Do I need to create a bundle which is chained up to the parent dependency that pulls in the transitive ones I'm trying to ignore?

from dependency-analysis-gradle-plugin.

autonomousapps avatar autonomousapps commented on September 25, 2024

So I think what you might want is something like this:

// build.gradle
dependencyAnalysis {
  structure {
    bundle("project-group") { // name is arbitrary but must be unique
      primary(":name-of-project-with-api-deps") // the project dep you want to declare
      include(":<regex that matches the projects you don't want to have to declare>")
    }
  }
}

from dependency-analysis-gradle-plugin.

rvandermeulen avatar rvandermeulen commented on September 25, 2024

Thanks, I'll play around with that!

from dependency-analysis-gradle-plugin.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.