-
Notifications
You must be signed in to change notification settings - Fork 159
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Introduce itr option #1820
Conversation
interesting. i see the value of it - just wondering how gradle handles it ? do you know? |
Sorry, but no idea how Gradle handles that... |
@cstamas can you think of any case where we shouldn't just turn this off by default? like -simply just not honor transitive repos as it sounds like security issue? |
So, my first reaction is "why not always enable this option?" But that's beause I assumed that any artifacts in Maven Central will only have dependencies on other artifacts in Maven Central. But @maxandersen tells me that's actually possible! Unbelievable :-) Anyway, my second intuition is to have the opposite of what And thirdly this seems like such a finnicky highly technical feature that only 0.001% of our users is ever going to use that it seems like a bad way to spend "complexity budget" in our CLI. There's already too many very technical options. So my vote would be for a config option instead of a CLI flag. Config options can be set using -D system properties so users can decide what value to use by default using config options or set it for a specific run by using -D. |
It all boils down to "user experience": with enabled (as today), user has the comfort to not care at, it works but all the dangers is brought in. To turn it off, it means user needs to work more (dig, investigate, and setup all the reposes the build needs). To me this is like: "in garage projects", setting as today is okay. But in "corporate projects" I'd cut off someone hands, if not turned off. |
But realistically who will it affect in "garage projects" where not only they have a dependency on something not in Maven Central but that artifact then has a dependency on something else again that's only defined in that pom? It seems like a highly specific situation. The ideal situation would be where we could detect that there are transitive repositories and be able to tell the user how to enable them if they really want to. |
|
When "in project" Toolbox offers these Mojos:
But am tinkering to add Mojo like "list-build-repositories" or "list-all-repositories" that would mesh everything (dependencies + plugins + whatever else) and list remote repositories found. |
I'm missing how those output relates to itr option? |
e879793
to
03f546c
Compare
pushed rebased + actually making --itr available on run/build commands. |
03f546c
to
e11fd6a
Compare
The tests keeps failing on windows in TestJDK's with problems deleting temporary directory. No other PR's fails with this so I suspect its caused by the junit test updates so i rolled those back as I don't think they are needed for this change. @cstamas, right? |
Updates MIMA 2.4.16 (Maven 3.9.9) and introduces new (Resolver) feature to ignore remote repositories introduced by transitive POMs. In certain environments this may become essential. Read more here https://issues.apache.org/jira/browse/MNG-7980
This option is present in Maven 3.9.7+ and 4.0.0+ as "-itr" CLI.