public ResponseEntity springTgz()

in initializr-web/src/main/java/io/spring/initializr/web/project/MainController.java [299:328]


	public ResponseEntity<byte[]> springTgz(BasicProjectRequest basicRequest)
			throws IOException {
		ProjectRequest request = (ProjectRequest) basicRequest;
		File dir = this.projectGenerator.generateProjectStructure(request);

		File download = this.projectGenerator.createDistributionFile(dir, ".tar.gz");

		String wrapperScript = getWrapperScript(request);
		new File(dir, wrapperScript).setExecutable(true);
		Tar zip = new Tar();
		zip.setProject(new Project());
		zip.setDefaultexcludes(false);
		TarFileSet set = zip.createTarFileSet();
		set.setDir(dir);
		set.setFileMode("755");
		set.setIncludes(wrapperScript);
		set.setDefaultexcludes(false);
		set = zip.createTarFileSet();
		set.setDir(dir);
		set.setIncludes("**,");
		set.setExcludes(wrapperScript);
		set.setDefaultexcludes(false);
		zip.setDestFile(download.getCanonicalFile());
		Tar.TarCompressionMethod method = new Tar.TarCompressionMethod();
		method.setValue("gzip");
		zip.setCompression(method);
		zip.execute();
		return upload(download, dir, generateFileName(request, "tar.gz"),
				"application/x-compress");
	}