SpringSource/spring-framework — pull request #22 by cbeams (2012-01-27 17:17:22+00:00)
Title: Migrate build system to Gradle

## Major changes

- Remove Ant-based spring-build and related resources
- Replace with Gradle-based build
- Remove (and .gitignore) all IDE metadata files
- Remove hand-maintained Maven poms in favor of generation by Gradle
- Move integration-tests subproject to root src/test dir
- Move spring-framework-reference subproject to root src/reference dir
- Rename org.springframework.* subprojects => spring-*

See individual messages for the commits included in this pull request
for details on each of these changes.

Issue: SPR-8116

## Plan for merging

@jhoeller, @costin, @rstoyanchev, @poutsma, @sbrannen, @markfisher -- I'm planning to merge these changes into master on Monday. It would be great if in the meantime at least a few of you could take the new build for a spin.

Even if you don't get a chance to try it before Monday, merging into master will be low-impact, as everyone is focused on 3.1.x work right now anyway (3.1.x will remain permanently on spring-build).

Just follow the instructions at https://github.com/cbeams/spring-framework#building_from_source, but instead of cloning a new repository as the documentation suggests, you can simply add me as a remote to your existing spring-framework repository and check out the 'gradle' branch there:

$ git remote add cbeams git@github.com:cbeams/spring-framework.git
$ git fetch cbeams
$ git checkout gradle
$ ./gradlew build

## Documentation

I would also appreciate feedback on these new wiki docs:

* [Gradle build and release FAQ](https://github.com/cbeams/spring-framework/wiki/Gradle-build-and-release-FAQ)
* [SpringSource repository FAQ](https://github.com/cbeams/spring-framework/wiki/SpringSource-repository-FAQ)

Note that a lot of the information there is general and not specific only to Spring Framework, but I wanted to get all this down in one place for now. We can think about hosting it somewhere more general later. While these are written for a mixed audience of committers and end-users, I want to make sure that this is documentation that any project lead can look at to understand how things work, particularly with regard to release management.

Basically, if anything is confusing to you, it should probably be in one of those FAQs. Please let me know what questions you have as you try this out, and we'll get it in there.