1. 21 8月, 2019 1 次提交
  2. 28 3月, 2019 2 次提交
  3. 26 3月, 2019 1 次提交
  4. 23 3月, 2019 1 次提交
  5. 22 3月, 2019 2 次提交
  6. 29 3月, 2017 1 次提交
    • B
      Render reference documentation with Asciidoctor · 924adaec
      Brian Clozel 提交于
      This commit removes docbook from the documentation toolchain and
      instead makes use of asciidoctor to render the reference documentation
      in HTML and PDF formats.
      
      The main Gradle build has been refactored with the documentation tasks
      and sniffer tasks extracted to their own gradle file in the "gradle"
      folder.
      
      A new asciidoctor Spring theme is also used to render the HTML5 backend.
      
      Issue: SPR-14997
      924adaec
  7. 06 10月, 2014 1 次提交
  8. 12 12月, 2013 1 次提交
  9. 11 8月, 2012 1 次提交
    • C
      Expand repackaged asm/cglib jars into spring-core · 4e0977cc
      Chris Beams 提交于
      Prior to this change, the repackaged spring-asm and spring-cglib jars
      were being included wholesale in the spring-core jar, whereas the
      intention was to include the unzipped classfiles.
      
      This change ensures that spring-asm and spring-cglib jars are unzipped
      on the fly when creating the spring-core jar.
      
      Issue: SPR-9669
      4e0977cc
  10. 10 8月, 2012 2 次提交
    • C
      Upgrade to CGLIB 3 and inline into spring-core · 92500ab9
      Chris Beams 提交于
      CGLIB 3 has been released in order to depend on ASM 4, which Spring now
      depends on internally (see previous commit).
      
      This commit eliminates spring-beans' optional dependency on cglib-nodep
      v2.2 and instead repackages net.sf.cglib => org.springframework.cglib
      much in the same way we have historically done with ASM.
      
      This change is beneficial to users in several ways:
      
       - Eliminates the need to manually add CGLIB to the application
         classpath; especially important for the growing number of
         @Configuration class users. Java-based configuration functionality,
         along with proxy-target-class and method injection features now
         work 'out of the box' in Spring 3.2.
      
       - Eliminates the possibility of conflicts with other libraries that
         may dependend on differing versions of CGLIB, e.g. Hibernate
         3.3.1.ga and its dependency on CGLIB 2.1.3 would easily cause a
         conflict if the application were depending on CGLIB 3 for
         Spring-related purposes.
      
       - Picks up CGLIB 3's changes to support ASM 4, meaning that CGLIB is
         that much less likely to work well in a Java 7 environment due to
         ASM 4's support for transforming classes with invokedynamic
         bytecode instructions.
      
      On CGLIB and ASM:
      
        CGLIB's own dependency on ASM is also transformed along the way to
        depend on Spring's repackaged org.springframework.asm, primarily to
        eliminate unnecessary duplication of ASM classfiles in spring-core and
        in the process save around 100K in the final spring-core JAR file size.
      
        It is coincidental that spring-core and CGLIB currently depend on the
        exact same version of ASM (4.0), but it is also unlikely to change any
        time soon. If this change does occur and versions of ASM drift, then
        the size optimization mentioned above will have to be abandoned. This
        would have no compatibility impact, however, so this is a reasonable
        solution now and for the forseeable future.
      
      On a mysterious NoClassDefFoundError:
      
        During the upgrade to CGLIB 3.0, Spring test cases began failing due to
        NoClassDefFoundErrors being thrown from CGLIB's DebuggingClassWriter
        regarding its use of asm-util's TraceClassVisitor type. previous
        versions of cglib-nodep, particularly 2.2, did not cause this behavior,
        even though cglib-nodep has never actually repackaged and bundled
        asm-util classes. The reason for these NoClassDefFoundErrors occurring
        now is still not fully understood, but appears to be due to subtle JVM
        bytecode preverification rules. The hypothesis is that due to minor
        changes in DebuggingClassWriter such as additional casts, access to
        instance variables declared in the superclass, and indeed a change in
        the superclass hierarchy, preverification may be kicking in on the
        toByteArray method body, at which point the reference to the missing
        TraceClassVisitor type is noticed and the NCDFE is thrown. For this
        reason, a dummy implementation of TraceClassVisitor has been added to
        spring-core in the org.springframework.asm.util package. This class
        simply ensures that Spring's own tests never result in the NCDFE
        described above, and more importantly that Spring's users never
        encounter the same.
      
      Other changes include:
      
       - rename package-private Cglib2AopProxy => CglibAopProxy
       - eliminate all 'cglibAvailable' checks, warnings and errors
       - eliminate all 'CGLIB2' language in favor of 'CGLIB'
       - eliminate all mention in reference and java docs of needing to add
         cglib(-nodep) to one's application classpath
      
      Issue: SPR-9669
      92500ab9
    • C
      Remove spring-asm and inline ASM 4 into spring-core · c16f18a5
      Chris Beams 提交于
      ASM 4.0 is generally compatibile with Java 7 classfiles, particularly
      including 'invokedynamic' instructions. This is important when
      considering that Spring's component-scanning support is internally
      ASM-based and it is increasingly likely that component classes having
      invokedynamic instructions may be encountered and read by ASM.
      This upgrade, then, is primarily preventive in nature.
      
      Changes include:
      
       - upgrade from ASM 2.2.3 to ASM 4.0
      
       - adapt to ASM API changes as necessary throughout spring-core,
         resulting in no impact to the public Spring API.
      
       - remove dedicated spring-asm module
      
       - use new :spring-core:asmRepackJar task to repackage
         org.objectweb.asm => org.springframework.asm as per usual and write
         repackaged classes directly into spring-core jar
      
      The choice to eliminate the spring-asm module altogether and instead
      inline the repackaged classes directly into spring-core is first to
      eliminate an otherwise unnecessary second jar. spring-core has a
      non-optional dependency on spring-asm meaning it is always on the
      application classpath. This change simplifies that situation by
      consoliding two jars into one. The second reason for this choice is in
      anticipation of upgrading CGLIB to version 3 and inlining it into
      spring-core as well. See subsequent commit for details.
      
      Issue: SPR-9669
      c16f18a5
  11. 31 1月, 2012 1 次提交
    • C
      Centralize license, notice, etc in src/dist · 2ca6d0b2
      Chris Beams 提交于
      Prior to this change, license.txt and notice.txt files were duplicated
      across every subproject in their respective src/main/resources/META-INF
      directories.
      
      This commit centralizes these files under the root project at src/dist,
      along with the changelog and readme files. The definition of the 'jar'
      task has been been extended to include the license and notice files in
      module jars as they are created.
      
      The directory is named src/dist because these files are all related to
      distribution - the readme is different than the one you see at the root
      of the source tree - the intended audience is for users who download
      the spring-framework distribution zip. A task to create that
      distribution zip will be added in subsequent commits.
      2ca6d0b2
  12. 10 12月, 2010 1 次提交
  13. 11 7月, 2008 1 次提交