Eliminate all Javadoc warnings

- 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
This commit is contained in:
Chris Beams
2012-12-11 11:56:38 +01:00
parent 8f90b487e2
commit f26534700a
72 changed files with 217 additions and 221 deletions

View File

@@ -188,15 +188,16 @@ public abstract class PortletApplicationContextUtils {
}
/**
* Replace {@code Servlet}- and {@code Portlet}-based {@link StubPropertySource stub
* property sources} with actual instances populated with the given {@code servletContext},
* Replace {@code Servlet}- and {@code Portlet}-based {@link
* org.springframework.core.env.PropertySource.StubPropertySource stub property
* sources} with actual instances populated with the given {@code servletContext},
* {@code portletContext} and {@code portletConfig} objects.
* <p>This method is idempotent with respect to the fact it may be called any number
* of times but will perform replacement of stub property sources with their
* corresponding actual property sources once and only once.
* @param propertySources the {@link PropertySources} to initialize (must not be {@code null})
* @param propertySources the {@link MutablePropertySources} to initialize (must not be {@code null})
* @param servletContext the current {@link ServletContext} (ignored if {@code null}
* or if the {@link StandardServletEnvironment#SERVLET_CONTEXT_PROPERTY_SOURCE_NAME
* or if the {@link org.springframework.web.context.support.StandardServletEnvironment#SERVLET_CONTEXT_PROPERTY_SOURCE_NAME
* servlet context property source} has already been initialized)
* @param portletContext the current {@link PortletContext} (ignored if {@code null}
* or if the {@link StandardPortletEnvironment#PORTLET_CONTEXT_PROPERTY_SOURCE_NAME

View File

@@ -6,19 +6,18 @@
* comes with Spring. Provides both abstract base classes and concrete
* implementations for often seen use cases.
* </p>
*
*
* <p>
* A <code>Controller</code> - as defined in this package - is analogous to a Struts
* <code>Action</code>. Usually <code>Controllers</code> are JavaBeans
* to allow easy configuration using the {@link org.springframework.beans org.springframework.beans}
* package. Controllers define the <code>C</code> from so-called MVC paradigm
* and can be used in conjunction with the {@link org.springframework.web.portlet.ModelAndView ModelAndView}
* to achieve interactive applications. The view might be represented by a
* HTML interface, but, because of model and the controller being completely
* independent of the view, PDF views are possible, as well as for instance Excel
* views.
* to allow easy configuration. Controllers define the <code>C</code> from so-called
* MVC paradigm and can be used in conjunction with the {@link
* org.springframework.web.portlet.ModelAndView ModelAndView} to achieve interactive
* applications. The view might be represented by a HTML interface, but, because of
* model and the controller being completely independent of the view, PDF views are
* possible, as well as for instance Excel views.
* </p>
*
*
* <p>
* Especially useful to read, while getting into the Spring MVC framework
* are the following: