Buildr
  1. Buildr
  2. BUILDR-72

Consolidate and improve IDE tasks

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: Wish List
    • Component/s: IDE
    • Labels:
      None

      Description

      Right now we have separate tasks for each IDE, which results in a lot of code duplication, inconsistent behavior, not to mention total and absolute lack of testing.

      What we need:

      • A framework for writing IDE tasks that handles all the common behavior, so improvements are rolled to all IDEs simultaneously.
      • A way to extend IDE tasks to modify generated files from code, so you don't have to manually edit those after running Buildr.
      • Re-generate files whenever a build file (buildfile, build.yaml, etc) changes.
      • Tests, tests and more tests.

        Activity

        Hide
        Shane Witbeck added a comment -

        Sounds as though a common API is being proposed? If so, I'd be willing to help with the IntelliJ IDEA side.

        One caveat with IDEA is that they currently support the notion of facets and I've done some initial work at recreating logic to determine which facets should be associated with which modules. IDEA also attempts to add missing facets based on what seems like some file inspection. For example, it will attempt to add a Spring facet if it finds spring configs, web facet if it finds web descriptors, etc.

        Show
        Shane Witbeck added a comment - Sounds as though a common API is being proposed? If so, I'd be willing to help with the IntelliJ IDEA side. One caveat with IDEA is that they currently support the notion of facets and I've done some initial work at recreating logic to determine which facets should be associated with which modules. IDEA also attempts to add missing facets based on what seems like some file inspection. For example, it will attempt to add a Spring facet if it finds spring configs, web facet if it finds web descriptors, etc.
        Hide
        Antoine Toulme added a comment -

        Assaf, I can tell already that those IDE tasks are very different from each other. Having worked on the Eclipse one a bit, it feels really complex and needs its own configuration/options. That doesn't mean that a common framework wouldn't help - but it would not do much IMO.

        Show
        Antoine Toulme added a comment - Assaf, I can tell already that those IDE tasks are very different from each other. Having worked on the Eclipse one a bit, it feels really complex and needs its own configuration/options. That doesn't mean that a common framework wouldn't help - but it would not do much IMO.
        Hide
        Peter Donald added a comment -

        Since this issue was added, the idea plugin has been completely rewritten and significant changes made to the eclipse plugin. Both have acquired more testing as part of this but more tests would not hurt.

        There is not a lot of "common" code that can be abstracted out of them as the extensions tend to be very specific to the IDE. The common code that is useful across extensions has already been introduced as part of buildr or as external libraries. As such I don't think that there is any value in pursuing this further at this stage.

        Show
        Peter Donald added a comment - Since this issue was added, the idea plugin has been completely rewritten and significant changes made to the eclipse plugin. Both have acquired more testing as part of this but more tests would not hurt. There is not a lot of "common" code that can be abstracted out of them as the extensions tend to be very specific to the IDE. The common code that is useful across extensions has already been introduced as part of buildr or as external libraries. As such I don't think that there is any value in pursuing this further at this stage.
        Hide
        Peter Donald added a comment -

        As such I am going to close this for now and it can be reopened if anyone sees it differently

        Show
        Peter Donald added a comment - As such I am going to close this for now and it can be reopened if anyone sees it differently

          People

          • Assignee:
            Peter Donald
            Reporter:
            Assaf Arkin
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development