Gradle
  1. Gradle
  2. GRADLE-784

Provide a 'provided' configuration

    Details

    • Type: Improvement Improvement
    • Status: Open
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None

      Description

      The intent of 'provided' configuration is to define dependencies which are needed for compilation, but which should not be "exported" (aka should not show up in runtime configuration)

        Activity

        Hide
        Steve Ebersole added a comment -

        As the person who actually first reported this, I obviously see the benefit of a provided configuration. But I think everyone who complains about how this forces them back to Maven utterly misses the point and power of Gradle especially compared to Maven. Configurations in Gradle are meant to be expanded (add new ones). I do it all the time. Maven forces you into a small subset of predefined and non-expandable configurations (scopes). Gradle is inherently not limiting in this manner. Again, I initially reported the issue. I completely agree that there is enough of a well-known semantic that provided should in fact be a standard Configuration provided by the Java plugin. However, it is completely absurd to go back to Maven because of this. Personally I think too many Java developers (sadly) just do not understand ClassLoaders enough to understand the purpose and power of Configurations.

        As for polygot-maven, as I said 5 years ago[1] (yep that's right, that feature has been in planning/development for over 5 years at least, not 2). It's just window dressing man; lipstick on a pig. The same major underlying limitations still exist. You can't wish that away with a new shiny way to configure it.

        Gradle devs... Its obviously hard to tell because y'all decided to limit access to Jira, but I'd have to believe this is one of the all-time top vote getters for Gradle. I'd highly suggest you either added this support or reject this issue ("get busy living or get busy dying, as my friend Andy would say"). Leaving this open, not responding and just letting it drag out is, imo, not good marketing.

        [1] https://developer.jboss.org/wiki/GradleWhy

        Show
        Steve Ebersole added a comment - As the person who actually first reported this, I obviously see the benefit of a provided configuration. But I think everyone who complains about how this forces them back to Maven utterly misses the point and power of Gradle especially compared to Maven. Configurations in Gradle are meant to be expanded (add new ones). I do it all the time. Maven forces you into a small subset of predefined and non-expandable configurations (scopes). Gradle is inherently not limiting in this manner. Again, I initially reported the issue. I completely agree that there is enough of a well-known semantic that provided should in fact be a standard Configuration provided by the Java plugin. However, it is completely absurd to go back to Maven because of this. Personally I think too many Java developers (sadly) just do not understand ClassLoaders enough to understand the purpose and power of Configurations. As for polygot-maven, as I said 5 years ago [1] (yep that's right, that feature has been in planning/development for over 5 years at least, not 2). It's just window dressing man; lipstick on a pig. The same major underlying limitations still exist. You can't wish that away with a new shiny way to configure it. Gradle devs... Its obviously hard to tell because y'all decided to limit access to Jira, but I'd have to believe this is one of the all-time top vote getters for Gradle. I'd highly suggest you either added this support or reject this issue ("get busy living or get busy dying, as my friend Andy would say"). Leaving this open, not responding and just letting it drag out is, imo, not good marketing. [1] https://developer.jboss.org/wiki/GradleWhy
        Hide
        mirceade added a comment - - edited

        Hi Steve,
        I don't want to start a religious war (I'm already trolling too much) but for me the greatest advantage of Gradle over Maven was, stupidly enough, that one could in-line groovy code in Gradle's build files. I'm just guessing that that and the concise syntax of gradle files was what most beginners saw as advantages in Gradle.
        With Maven's polyglot feature finally coming of age (they don't move too fast either, do they?) and more importantly the core extensions feature (http://www.infoq.com/news/2015/03/maven-polyglot) I've found my itch scratched.
        In Maven's rigidity I've always found strength instead of weakness. It always takes me ages to debug and understand a broken heavily-customized Gradle build but I always know where to search with Maven builds. There never are "standard ways" of doing stuff in Gradle.

        Leaving the grose maven fan-boy trolling apart, I think all the voters/watchers of this issue totally agree with you: "get busy living or get busy dying" gradle devs.

        Show
        mirceade added a comment - - edited Hi Steve, I don't want to start a religious war (I'm already trolling too much) but for me the greatest advantage of Gradle over Maven was, stupidly enough, that one could in-line groovy code in Gradle's build files. I'm just guessing that that and the concise syntax of gradle files was what most beginners saw as advantages in Gradle. With Maven's polyglot feature finally coming of age (they don't move too fast either, do they?) and more importantly the core extensions feature ( http://www.infoq.com/news/2015/03/maven-polyglot ) I've found my itch scratched. In Maven's rigidity I've always found strength instead of weakness. It always takes me ages to debug and understand a broken heavily-customized Gradle build but I always know where to search with Maven builds. There never are "standard ways" of doing stuff in Gradle. Leaving the grose maven fan-boy trolling apart, I think all the voters/watchers of this issue totally agree with you: "get busy living or get busy dying" gradle devs.
        Hide
        Steve Ebersole added a comment -

        Yep, I know you are trolling. You were even in the first post It's like the girl you meet that says "Hi, I hate drama..." and then you immediately know she is full of drama...

        Show
        Steve Ebersole added a comment - Yep, I know you are trolling. You were even in the first post It's like the girl you meet that says "Hi, I hate drama..." and then you immediately know she is full of drama...
        Hide
        mirceade added a comment -

        Unfortunately, that's all the drama this issue is going to get . I get mail notifications about it each year, and each year I say: "Damn, they still haven't even decided what to do with this issue yet".

        Show
        mirceade added a comment - Unfortunately, that's all the drama this issue is going to get . I get mail notifications about it each year, and each year I say: "Damn, they still haven't even decided what to do with this issue yet".
        Hide
        Benoît 'BoD' Lubek added a comment -

        Very surprised this doesn't exist by default. I guess I'll use the nebula / provided-base plugin for now...

        Show
        Benoît 'BoD' Lubek added a comment - Very surprised this doesn't exist by default. I guess I'll use the nebula / provided-base plugin for now...

          People

          • Assignee:
            Unassigned
            Reporter:
            Steve Ebersole
          • Votes:
            226 Vote for this issue
            Watchers:
            163 Start watching this issue

            Dates

            • Created:
              Updated:

              Development