Uploaded image for project: 'Spring Tool Suite'
  1. Spring Tool Suite
  2. STS-1856

As a developer, I would like to be able to import Spring Security using Gradle Integration

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Complete
    • Affects Version/s: 2.7.0.M2
    • Fix Version/s: 2.9.0.M1
    • Component/s: GRADLE
    • Labels:
      None

      Description

      First I would like to say that the Gradle integration is coming along great and I hope that it continues to progress so quickly. Thank you for all your hard work!

      I am one of the Spring Security committers and would love to be able to use STS Gradle integration to import Spring Security. Below are a list of things I would like to be able to 'just do'. Please note that all of these things are done when using standard Gradle (i.e. running gradle eclipse) which might be useful for helping understand what I am looking for.

      • Everything should compile. One of the things I noticed is that spring-security-core's src/test/java is normally added to other project's (i.e. spring-security-web) classpath. However, when running with STS Gradle integration I get this error:

        The container 'Gradle Dependencies' references non existing library '/home/rwinch/spring-security/core/build/classes/test'

      • All tests should pass
      • AspectJ integration should work (this is necessary for the tests to pass)
      • All the war sample projects should be able to be ran using WTP (i.e. WTP integration)
        • It would be nice if the context root of the application could be specified. Currently we configure WTP context root using the context root configured for the Jetty plugin.
      • It would be nice if the eclipse projects were renamed as they are in the standard build. For example when importing the project using STS I get the project name spring-security.spring-security-crypto, but when using standard Gradle the name is spring-security-crypto
      • Use EGit to clone the project. Then support Import project...->Use the new projects wizard to invoke Import -> Gradle project

      Bonus Features:

      Thanks again for all the hard work and let me know if there is anything I can do to assist.

      Rob Winch

        Activity

        rwinch Rob Winch created issue -
        kdvolder Kris De Volder made changes -
        Field Original Value New Value
        Assignee Kris De Volder [ kdvolder ]
        kdvolder Kris De Volder made changes -
        Description First I would like to say that the Gradle integration is coming along great and I hope that it continues to progress so quickly. Thank you for all your hard work!

        I am one of the Spring Security committers and would love to be able to use STS Gradle integration to import Spring Security. Below are a list of things I would like to be able to 'just do'. Please note that all of these things are done when using standard Gradle (i.e. running gradle eclipse) which might be useful for helping understand what I am looking for.

        * Everything should compile. One of the things I noticed is that spring-security-core's src/test/java is normally added to other project's (i.e. spring-security-web) classpath. However, when running with STS Gradle integration I get this error:
        {quote}
        The container 'Gradle Dependencies' references non existing library '/home/rwinch/spring-security/core/build/classes/test'
        {quote}
        * All tests should pass
        * AspectJ integration should work (this is necessary for the tests to pass)
        * All the war sample projects should be able to be ran using WTP (i.e. WTP integration)
        ** It would be nice if the context root of the application could be specified. Currently we configure WTP context root using the context root configured for the Jetty plugin.
        * It would be nice if the eclipse projects were renamed as they are in the standard build. For example when importing the project using STS I get the project name spring-security.spring-security-crypto, but when using standard Gradle the name is spring-security-crypto
        * Use EGit to clone the project. Then support Import project...->Use the new projects wizard to invoke Import -> Gradle project

        Bonus Features:

        * Dependency management support similar to maven eclipse
        ** Adding/removing dependencies using maven indexes
        ** Viewing a dependency tree and filtering based upon the configuration
        * Editing .gradle files
        ** DSL descriptor support for gradle as described in http://blog.springsource.com/2011/05/08/better-dsl-support-in-groovy-eclipse/
        ** Type inference of standard Gradle objects

        Thanks again for all the hard work and let me know if there is anything I can do to assist.

        Rob Winch
        First I would like to say that the Gradle integration is coming along great and I hope that it continues to progress so quickly. Thank you for all your hard work!

        I am one of the Spring Security committers and would love to be able to use STS Gradle integration to import Spring Security. Below are a list of things I would like to be able to 'just do'. Please note that all of these things are done when using standard Gradle (i.e. running gradle eclipse) which might be useful for helping understand what I am looking for.

        * DONE: Everything should compile. One of the things I noticed is that spring-security-core's src/test/java is normally added to other project's (i.e. spring-security-web) classpath. However, when running with STS Gradle integration I get this error:
        {quote}
        The container 'Gradle Dependencies' references non existing library '/home/rwinch/spring-security/core/build/classes/test'
        {quote}
        * All tests should pass
        * AspectJ integration should work (this is necessary for the tests to pass)
        * All the war sample projects should be able to be ran using WTP (i.e. WTP integration)
        ** It would be nice if the context root of the application could be specified. Currently we configure WTP context root using the context root configured for the Jetty plugin.
        * It would be nice if the eclipse projects were renamed as they are in the standard build. For example when importing the project using STS I get the project name spring-security.spring-security-crypto, but when using standard Gradle the name is spring-security-crypto
        * Use EGit to clone the project. Then support Import project...->Use the new projects wizard to invoke Import -> Gradle project

        Bonus Features:

        * Dependency management support similar to maven eclipse
        ** Adding/removing dependencies using maven indexes
        ** Viewing a dependency tree and filtering based upon the configuration
        * Editing .gradle files
        ** DSL descriptor support for gradle as described in http://blog.springsource.com/2011/05/08/better-dsl-support-in-groovy-eclipse/
        ** Type inference of standard Gradle objects

        Thanks again for all the hard work and let me know if there is anything I can do to assist.

        Rob Winch
        kdvolder Kris De Volder made changes -
        Description First I would like to say that the Gradle integration is coming along great and I hope that it continues to progress so quickly. Thank you for all your hard work!

        I am one of the Spring Security committers and would love to be able to use STS Gradle integration to import Spring Security. Below are a list of things I would like to be able to 'just do'. Please note that all of these things are done when using standard Gradle (i.e. running gradle eclipse) which might be useful for helping understand what I am looking for.

        * DONE: Everything should compile. One of the things I noticed is that spring-security-core's src/test/java is normally added to other project's (i.e. spring-security-web) classpath. However, when running with STS Gradle integration I get this error:
        {quote}
        The container 'Gradle Dependencies' references non existing library '/home/rwinch/spring-security/core/build/classes/test'
        {quote}
        * All tests should pass
        * AspectJ integration should work (this is necessary for the tests to pass)
        * All the war sample projects should be able to be ran using WTP (i.e. WTP integration)
        ** It would be nice if the context root of the application could be specified. Currently we configure WTP context root using the context root configured for the Jetty plugin.
        * It would be nice if the eclipse projects were renamed as they are in the standard build. For example when importing the project using STS I get the project name spring-security.spring-security-crypto, but when using standard Gradle the name is spring-security-crypto
        * Use EGit to clone the project. Then support Import project...->Use the new projects wizard to invoke Import -> Gradle project

        Bonus Features:

        * Dependency management support similar to maven eclipse
        ** Adding/removing dependencies using maven indexes
        ** Viewing a dependency tree and filtering based upon the configuration
        * Editing .gradle files
        ** DSL descriptor support for gradle as described in http://blog.springsource.com/2011/05/08/better-dsl-support-in-groovy-eclipse/
        ** Type inference of standard Gradle objects

        Thanks again for all the hard work and let me know if there is anything I can do to assist.

        Rob Winch
        First I would like to say that the Gradle integration is coming along great and I hope that it continues to progress so quickly. Thank you for all your hard work!

        I am one of the Spring Security committers and would love to be able to use STS Gradle integration to import Spring Security. Below are a list of things I would like to be able to 'just do'. Please note that all of these things are done when using standard Gradle (i.e. running gradle eclipse) which might be useful for helping understand what I am looking for.

        * Everything should compile. One of the things I noticed is that spring-security-core's src/test/java is normally added to other project's (i.e. spring-security-web) classpath. However, when running with STS Gradle integration I get this error:
        {quote}
        The container 'Gradle Dependencies' references non existing library '/home/rwinch/spring-security/core/build/classes/test'
        {quote}
        * All tests should pass
        * AspectJ integration should work (this is necessary for the tests to pass)
        * All the war sample projects should be able to be ran using WTP (i.e. WTP integration)
        ** It would be nice if the context root of the application could be specified. Currently we configure WTP context root using the context root configured for the Jetty plugin.
        * It would be nice if the eclipse projects were renamed as they are in the standard build. For example when importing the project using STS I get the project name spring-security.spring-security-crypto, but when using standard Gradle the name is spring-security-crypto
        * Use EGit to clone the project. Then support Import project...->Use the new projects wizard to invoke Import -> Gradle project

        Bonus Features:

        * Dependency management support similar to maven eclipse
        ** Adding/removing dependencies using maven indexes
        ** Viewing a dependency tree and filtering based upon the configuration
        * Editing .gradle files
        ** DSL descriptor support for gradle as described in http://blog.springsource.com/2011/05/08/better-dsl-support-in-groovy-eclipse/
        ** Type inference of standard Gradle objects

        Thanks again for all the hard work and let me know if there is anything I can do to assist.

        Rob Winch
        kdvolder Kris De Volder made changes -
        Comment [ I think the build path problem is caused by this bit in the XXX.gradle files of the respective projects that have this error:

        {noformat}
           testCompile project(':spring-security-core').sourceSets.test.classes,
                       ...
        {noformat}

        Gradle is translating that for us into a dependency on an output folder that doesn't exist (the output folder is, I think created by running gradle build on the commandline). I'll raise an issue against Gradle tooling API for defining some better way to handle this.

        Maybe the solution is to have gradle actually provide more info on output folders that are supposed to be associated with given source folders (now all are mapped onto the same default output folder).

        Or maybe the dependency could be approximated as a project dependency. It does seem to work for me if I change the dependency above into

        testCompile project(':spring-security-core')
        ]
        aeisenberg Andrew Eisenberg made changes -
        Component/s MAVEN [ 11170 ]
        Component/s GRADLE [ 10460 ]
        aeisenberg Andrew Eisenberg made changes -
        Component/s MAVEN [ 11170 ]
        Component/s GRADLE [ 10460 ]
        kdvolder Kris De Volder made changes -
        Resolution Complete [ 13 ]
        Status Open [ 1 ] Resolved [ 5 ]
        Fix Version/s 2.9.0.M1 [ 11799 ]
        tmarshall Trevor Marshall made changes -
        Workflow jira [ 33482 ] jira with Pivotal Tracker [ 66452 ]
        tmarshall Trevor Marshall made changes -
        Project Import Thu Apr 06 15:50:53 UTC 2017 [ 1491493853826 ]

          People

          • Assignee:
            kdvolder Kris De Volder
            Reporter:
            rwinch Rob Winch
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: