i have created a gradle build and added java, scala, war, jetty code and its all working fine.
apply plugin: 'java'
apply plugin: 'scala'
apply plugin: 'war'
apply plugin: 'jetty'
List compileTime = [
"javax.servlet:servlet-api:2.4@jar",
"org.scalatra:scalatra_2.8.0:2.0.0.M2@jar",
"org.mortbay.jetty:jetty:6.1.22@jar",
"com.mongodb.casbah:casbah_2.8.0:2.0.2@jar",
"org.scala-lang:scala-library:2.8.1@jar"
]
List runTime = [
"org.scalatra:scalatra_2.8.0:2.0.0.M2@jar",
"com.mongodb.casbah:casbah_2.8.0:2.0.2@jar",
"org.scala-lang:scala-library:2.8.1@jar"
]
// "org.mortbay.jetty:servlet-api:2.5-20081211@jar",
repositories {
mavenCentral()
mavenRepo urls: ["http://scala-tools.org/repo-releases","http://mirrors.ibiblio.org/pub/mirrors/maven2","http://repo1.maven.org/maven2","https://oss.sonatype.org/content/repositories/snapshots","https://oss.sonatype.org/content/repositories/releases"]
}
dependencies {
scalaTools 'org.scala-lang:scala-compiler:2.8.1'
scalaTools 'org.scala-lang:scala-library:2.8.1'
compile compileTime
runtime runTime
testCompile "junit:junit:3.8.2"
}
task myTask (type: War) {
println configurations.runtime.collect
println classpath()
}
war {
// from 'main/webapp'
webInf { from 'src/main/webapp/WEB-INF' }
// classpath classpath() /
classpath configurations.runtime
webXml = file('src/main/webapp/WEB-INF/web.xml')
}
I like to 1) Add only the necessary jars. in the war, in the above code i am getting Jetty and servlet jars in my war. !
For dependencies that should not go into the War, use the "providedCompile" or "providedRuntime" scope.
Some remarks on your build script:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With