cas.gradle 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. // CAS sample build file
  2. apply plugin: 'war'
  3. apply plugin: 'jetty'
  4. def excludeModules = ['spring-security-acl', 'jsr250-api', 'ehcache', 'spring-jdbc', 'spring-tx']
  5. configurations {
  6. casServer
  7. }
  8. configurations {
  9. excludeModules.each {name ->
  10. runtime.exclude module: name
  11. }
  12. runtime.exclude group: 'org.aspectj'
  13. }
  14. dependencies {
  15. casServer "org.jasig.cas:cas-server-webapp:3.4.3.1@war"
  16. runtime project(':spring-security-web'),
  17. project(':spring-security-cas'),
  18. project(':spring-security-config'),
  19. "org.slf4j:jcl-over-slf4j:$slf4jVersion",
  20. "ch.qos.logback:logback-classic:$logbackVersion"
  21. }
  22. def keystore = "$rootDir/samples/certificates/server.jks"
  23. [jettyRun, jettyRunWar]*.configure {
  24. contextPath = "/cas"
  25. def httpConnector = new org.mortbay.jetty.nio.SelectChannelConnector();
  26. httpConnector.port = 8080
  27. httpConnector.confidentialPort = 8443
  28. def httpsConnector = new org.mortbay.jetty.security.SslSocketConnector();
  29. httpsConnector.port = 8443
  30. httpsConnector.keystore = httpsConnector.truststore = keystore
  31. httpsConnector.keyPassword = httpsConnector.trustPassword = 'password'
  32. connectors = [httpConnector, httpsConnector]
  33. }
  34. task casServer (type: org.gradle.api.plugins.jetty.JettyRunWar) {
  35. contextPath = "/cas"
  36. connectors = [new org.mortbay.jetty.security.SslSocketConnector()]
  37. connectors[0].port = 9443
  38. connectors[0].keystore = connectors[0].truststore = keystore
  39. connectors[0].keyPassword = connectors[0].trustPassword = 'password'
  40. connectors[0].wantClientAuth = true
  41. connectors[0].needClientAuth = false
  42. webApp = configurations.casServer.resolve().toArray()[0]
  43. doFirst() {
  44. System.setProperty('javax.net.ssl.trustStore', keystore)
  45. System.setProperty('javax.net.ssl.trustStorePassword', 'password')
  46. }
  47. }
  48. task cas (dependsOn: [jettyRunWar, casServer]) {
  49. }
  50. gradle.taskGraph.whenReady {graph ->
  51. if (graph.hasTask(cas)) {
  52. jettyRunWar.dependsOn(casServer)
  53. casServer.daemon = true
  54. }
  55. }