瀏覽代碼

Make aspectj dependencies optional throughout and spring-jdbc/tx optional in core poms. Reduces exclusions required in third-party poms (e.g. spring-social).

Luke Taylor 14 年之前
父節點
當前提交
ecfffaaa3f
共有 2 個文件被更改,包括 20 次插入12 次删除
  1. 14 11
      docs/manual/src/docbook/appendix-dependencies.xml
  2. 6 1
      gradle/maven-deployment.gradle

+ 14 - 11
docs/manual/src/docbook/appendix-dependencies.xml

@@ -11,10 +11,13 @@
         dependenices that are only used when building or testing Spring Security itself. Nor do we include
         dependenices that are only used when building or testing Spring Security itself. Nor do we include
         transitive dependencies which are required by external dependencies.
         transitive dependencies which are required by external dependencies.
     </para>
     </para>
-    <para>The version of Spring required is listed on the project website, so the specific versions are omitted
-        for Spring dependencies below. Note that some of the dependencies listed as <quote>optional</quote>
-        below may still be required for other non-security functionality in a Spring application.
-    </para>
+    <para>The version of Spring required is listed on the project website, so the specific versions
+        are omitted for Spring dependencies below. Note that some of the dependencies listed as
+        <quote>optional</quote> below may still be required for other non-security functionality in
+        a Spring application. Also dependencies listed as <quote>optional</quote> may not actually be marked
+        as such in the project's Maven pom files if they are used in most applications. They are
+        <quote>optional</quote> only in the sense that you don't need them unless you are using the
+        specified functionality.</para>
     <para>Where a module depends on another Spring Security module, the non-optional dependencies of the
     <para>Where a module depends on another Spring Security module, the non-optional dependencies of the
         module it depends on are also assumed to be required and are not listed separately.
         module it depends on are also assumed to be required and are not listed separately.
     </para>
     </para>
@@ -58,7 +61,7 @@
                         <row>
                         <row>
                             <entry>spring-expression</entry>
                             <entry>spring-expression</entry>
                             <entry></entry>
                             <entry></entry>
-                            <entry><para>Required for expression-based method security</para></entry>
+                            <entry><para>Required for expression-based method security (optional)</para></entry>
                         </row>
                         </row>
                         <row>
                         <row>
                             <entry>spring-jdbc</entry>
                             <entry>spring-jdbc</entry>
@@ -70,11 +73,6 @@
                             <entry></entry>
                             <entry></entry>
                             <entry><para>Required if using a database to store user data (optional).</para></entry>
                             <entry><para>Required if using a database to store user data (optional).</para></entry>
                         </row>
                         </row>
-                        <row>
-                            <entry>spring-web</entry>
-                            <entry></entry>
-                            <entry><para>Required for clients which use HTTP remoting support (optional).</para></entry>
-                        </row>
                         <row>
                         <row>
                             <entry>aspectjrt</entry>
                             <entry>aspectjrt</entry>
                             <entry>1.6.10</entry>
                             <entry>1.6.10</entry>
@@ -114,6 +112,11 @@
                             <entry></entry>
                             <entry></entry>
                             <entry></entry>
                             <entry></entry>
                         </row>
                         </row>
+                        <row>
+                            <entry>spring-web</entry>
+                            <entry></entry>
+                            <entry><para>Required for clients which use HTTP remoting support.</para></entry>
+                        </row>
                     </tbody>
                     </tbody>
                 </tgroup>
                 </tgroup>
             </table>
             </table>
@@ -450,4 +453,4 @@
             </table>
             </table>
         </para>
         </para>
     </section>
     </section>
-</appendix>
+</appendix>

+ 6 - 1
gradle/maven-deployment.gradle

@@ -60,7 +60,7 @@ install {
 }
 }
 
 
 def customizePom(pom) {
 def customizePom(pom) {
-    def optionalDeps = ['ehcache', 'log4j', 'apacheds-core', 'jsp-api', 'jsr250-api', 'ldapsdk']
+    def optionalDeps = ['ehcache', 'log4j', 'apacheds-core', 'jsp-api', 'jsr250-api', 'ldapsdk', 'aspectjrt', 'aspectjweaver']
 
 
     pom.scopeMappings.addMapping(10, configurations.provided, 'provided')
     pom.scopeMappings.addMapping(10, configurations.provided, 'provided')
     pom.whenConfigured { p ->
     pom.whenConfigured { p ->
@@ -79,6 +79,11 @@ def customizePom(pom) {
             p.dependencies.find { dep -> dep.artifactId == 'spring-security-web'}.optional = true
             p.dependencies.find { dep -> dep.artifactId == 'spring-security-web'}.optional = true
             p.dependencies.find { dep -> dep.artifactId == 'spring-web'}.optional = true
             p.dependencies.find { dep -> dep.artifactId == 'spring-web'}.optional = true
         }
         }
+
+        if (p.artifactId == 'spring-security-core') {
+            p.dependencies.find { dep -> dep.artifactId == 'spring-jdbc'}.optional = true
+            p.dependencies.find { dep -> dep.artifactId == 'spring-tx'}.optional = true
+        }
     }
     }
 
 
     pom.project {
     pom.project {