Add build.gradle to project

This commit is contained in:
Dave Syer
2014-04-01 19:46:00 +01:00
parent 218c7dd1e2
commit 7096aa8661
2 changed files with 51 additions and 18 deletions

View File

@@ -62,20 +62,65 @@ class MainController {
new ResponseEntity<byte[]>(download.bytes, ["Content-Type":"application/zip"] as HttpHeaders, HttpStatus.OK)
}
@RequestMapping("/starter")
@RequestMapping(value="/starter.tgz", produces="application/x-compress")
@ResponseBody
ResponseEntity<byte[]> spring(PomRequest request) {
ResponseEntity<byte[]> springTgz(PomRequest request) {
File dir = File.createTempFile("tmp","",new File(tmpdir));
def tempFiles = getProjectFiles(dir, request)
File download = new File(tmpdir, dir.name + ".tgz")
log.info("Creating: " + download)
tempFiles << download
new AntBuilder().tar(destfile: download, compression: "gzip") {
zipfileset(dir:dir, includes:"**")
}
log.info("Downloading: " + download)
def result = new ResponseEntity<byte[]>(download.bytes, ["Content-Type":"application/x-compress"] as HttpHeaders, HttpStatus.OK)
reactor.notify("tempfiles", Event.wrap(tempFiles))
result
}
@RequestMapping("/starter.zip")
@ResponseBody
ResponseEntity<byte[]> springZip(PomRequest request) {
File dir = File.createTempFile("tmp","",new File(tmpdir));
def tempFiles = getProjectFiles(dir, request)
File download = new File(tmpdir, dir.name + ".zip")
log.info("Creating: " + download)
tempFiles << download
new AntBuilder().zip(destfile: download) {
zipfileset(dir:dir, includes:"**")
}
log.info("Downloading: " + download)
def result = new ResponseEntity<byte[]>(download.bytes, ["Content-Type":"application/zip"] as HttpHeaders, HttpStatus.OK)
reactor.notify("tempfiles", Event.wrap(tempFiles))
result
}
def getProjectFiles(File dir, PomRequest request) {
def tempFiles = []
def model = [:]
String pom = new String(pom(request, model).body)
File dir = File.createTempFile("tmp","",new File(tmpdir));
tempFiles << dir
dir.delete()
dir.mkdirs()
String pom = new String(pom(request, model).body)
new File(dir, "pom.xml").write(pom)
String gradle = new String(gradle(request, model).body)
new File(dir, "build.gradle").write(gradle)
File src = new File(new File(dir, "src/main/java"),request.packageName.replace(".", "/"))
src.mkdirs()
write(src, "Application.java", model)
@@ -95,19 +140,8 @@ class MainController {
resources.mkdirs()
new File(resources, "application.properties").write("")
File download = new File(tmpdir, dir.name + ".zip")
log.info("Creating: " + download)
tempFiles << download
tempFiles
new AntBuilder().zip(destfile: download) {
zipfileset(dir:dir, includes:"**")
}
log.info("Downloading: " + download)
def result = new ResponseEntity<byte[]>(download.bytes, ["Content-Type":"application/zip"] as HttpHeaders, HttpStatus.OK)
reactor.notify("tempfiles", Event.wrap(tempFiles))
result
}
def write(File src, String name, def model) {

View File

@@ -3,7 +3,7 @@ buildscript {
springBootVersion = '${bootVersion}'
}
repositories {
mavenLocal()<% if (!bootVersion.contains("RELEASE")) { %>
mavenCentral()<% if (!bootVersion.contains("RELEASE")) { %>
maven { url "http://repo.spring.io/snapshot" }
maven { url "http://repo.spring.io/milestone" }
<% } %>
@@ -13,7 +13,6 @@ buildscript {
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'