… shutting down after stop Issue: SPR-10092
…iterating over the Collection Issue: SPR-10035
This reverts commit c10d63d.
…the "org.springframework.aop.target" package
In particular, avoiding synchronized Sets and Maps wherever possible (preferring a ConcurrentHashMap even instead of a synchronized Set) and specifying appropriate ConcurrentHashMap initial capacities (even if we end up choosing 16).
This is not a comprehensive update, only covering the "What's new" sections for now.
Previously buildSrc/src/main/groovy was a source folder within Eclipse. This caused build errors due to missing dependencies for Gradle. This commit removes buildSrc/src/main/groovy from the source folders within Eclipse to prevent errors from being displayed.
This change upgrades the spring-framework build to AspectJ 1.7.1 to ensure compatibility. We remain backward-compatible to at least AJ 1.6.12 (the previous version), and likely back to 1.6.7. AJ 1.7 allows for weaving Java 7 bytecode, particularly with regard to invokedynamic instructions, and furthermore makes improvements to the aspectj language itself to allow users to take advantage of Java 7- style language features within aspects. See  for details. : http://eclipse.org/aspectj/doc/released/README-170.html Issue: SPR-10079
- Support external Javadoc links using Gradle's javadoc.options.links - Fix all other Javadoc warnings, such as typos, references to non-existent (or no longer existent) types and members, etc, including changes related to the Quartz 2.0 upgrade (SPR-8275) and adding the HTTP PATCH method (SPR-7985). - Suppress all output for project-level `javadoc` tasks in order to hide false-negative warnings about cross-module @see and @link references (e.g. spring-core having a @see reference to spring-web). Use the `--info` (-i) flag to gradle at any time to see project-level javadoc warnings without running the entire `api` task. e.g. `gradle :spring-core:javadoc -i` - Favor root project level `api` task for detection of legitimate Javadoc warnings. There are now zero Javadoc warnings across the entirety of spring-framework. Goal: keep it that way. - Remove all @link and @see references to types and members that exist only in Servlet <= 2.5 and Hibernate <= 4.0, favoring 3.0+ and 4.0+ respectively. This is necessary because only one version of each of these dependencies can be present on the global `api` javadoc task's classpath. To that end, the `api` task classpath has now been customized to ensure that the Servlet 3 API and Hibernate Core 4 jars have precedence. - SPR-8896 replaced our dependency on aspectjrt with a dependency on aspectjweaver, which is fine from a POM point of view, but causes a spurious warning to be emitted from the ant iajc task that it "cannot find aspectjrt on the classpath" - even though aspectjweaver is perfectly sufficient. In the name of keeping the console quiet, a new `rt` configuration has been added, and aspectjrt added as a dependency to it. In turn, configurations.rt.asPath is appended to the iajc classpath during both compileJava and compileTestJava for spring-aspects. Issue: SPR-10078, SPR-8275, SPR-7985, SPR-8896
Prior to this change, aggregated javadoc has been written to an 'api' dir and reference docs into a 'reference' dir. This shorter naming is desirable, but is not compatible with historical naming under 3.1.x as defined by the Ant+Ivy Spring Build. For example, URLs are currently as follows: http://static.springsource.org/spring-framework/docs/3.1.3.RELEASE/javadoc-api http://static.springsource.org/spring-framework/docs/3.1.x/javadoc-api http://static.springsource.org/spring-framework/docs/current/javadoc-api Particularly with regard to the 'current' link, we do not want to break this url scheme with the shortened 'api' directory naming. Of course this compatibility can be preserved with symlinks, but this makes the release process that much more complicated and fragile. This commit ensures that the naming is 'javadoc-api' and 'spring-framework-reference', consistent with historical convention. We can always add a symlinking scheme to add the shorter 'api' and 'reference' options after the fact if desired.