mirror of
https://gitee.com/dcren/initializr.git
synced 2025-09-18 17:48:14 +08:00
Fix initial Java migration
This commit fixes several issues with the initial java migration. On MacOS, the name of the temp directory can be `T` and the new tgz API requires a parent folder whose name has at least 3 characters. The Selenium tests require a more precise element to show the advanced section. The integration tests were generation the docs snippet on the wrong accept header.
This commit is contained in:
@@ -67,9 +67,10 @@ class ProjectGenerator {
|
||||
@Autowired
|
||||
ProjectResourceLocator projectResourceLocator = new ProjectResourceLocator()
|
||||
|
||||
@Value('${TMPDIR:.}')
|
||||
@Value('${TMPDIR:.}/initializr')
|
||||
String tmpdir
|
||||
|
||||
private File temporaryDirectory
|
||||
private transient Map<String, List<File>> temporaryFiles = [:]
|
||||
|
||||
/**
|
||||
@@ -126,7 +127,7 @@ class ProjectGenerator {
|
||||
protected File doGenerateProjectStructure(ProjectRequest request) {
|
||||
def model = resolveModel(request)
|
||||
|
||||
def rootDir = File.createTempFile('tmp', '', new File(tmpdir))
|
||||
def rootDir = File.createTempFile('tmp', '', getTemporaryDirectory())
|
||||
addTempFile(rootDir.name, rootDir)
|
||||
rootDir.delete()
|
||||
rootDir.mkdirs()
|
||||
@@ -182,11 +183,19 @@ class ProjectGenerator {
|
||||
* directory and extension
|
||||
*/
|
||||
File createDistributionFile(File dir, String extension) {
|
||||
def download = new File(tmpdir, dir.name + extension)
|
||||
def download = new File(getTemporaryDirectory(), dir.name + extension)
|
||||
addTempFile(dir.name, download)
|
||||
download
|
||||
}
|
||||
|
||||
private File getTemporaryDirectory() {
|
||||
if (!temporaryDirectory) {
|
||||
temporaryDirectory = new File(tmpdir, 'initializr')
|
||||
temporaryDirectory.mkdirs()
|
||||
}
|
||||
temporaryDirectory
|
||||
}
|
||||
|
||||
/**
|
||||
* Clean all the temporary files that are related to this root
|
||||
* directory.
|
||||
|
@@ -19,7 +19,6 @@ package io.spring.initializr.service
|
||||
import java.util.concurrent.Executor
|
||||
|
||||
import io.spring.initializr.metadata.InitializrMetadataProvider
|
||||
import io.spring.initializr.util.GroovyTemplate
|
||||
import io.spring.initializr.web.project.LegacyStsController
|
||||
|
||||
import org.springframework.boot.SpringApplication
|
||||
@@ -47,9 +46,8 @@ class InitializrService {
|
||||
@Bean
|
||||
@SuppressWarnings("deprecation")
|
||||
LegacyStsController legacyStsController(InitializrMetadataProvider metadataProvider,
|
||||
ResourceUrlProvider resourceUrlProvider,
|
||||
GroovyTemplate groovyTemplate) {
|
||||
new LegacyStsController(metadataProvider, resourceUrlProvider, groovyTemplate)
|
||||
ResourceUrlProvider resourceUrlProvider) {
|
||||
new LegacyStsController(metadataProvider, resourceUrlProvider)
|
||||
}
|
||||
|
||||
@Configuration
|
||||
|
@@ -169,9 +169,6 @@ public class MainControllerIntegrationTests
|
||||
|
||||
@Test
|
||||
public void metadataWithV2AcceptHeader() {
|
||||
getRequests().setFields("_links.maven-project", "dependencies.values[0]",
|
||||
"type.values[0]", "javaVersion.values[0]", "packaging.values[0]",
|
||||
"bootVersion.values[0]", "language.values[0]");
|
||||
ResponseEntity<String> response = invokeHome(null,
|
||||
"application/vnd.initializr.v2+json");
|
||||
validateMetadata(response, InitializrMetadataVersion.V2.getMediaType(), "2.0.0",
|
||||
@@ -180,6 +177,9 @@ public class MainControllerIntegrationTests
|
||||
|
||||
@Test
|
||||
public void metadataWithCurrentAcceptHeader() {
|
||||
getRequests().setFields("_links.maven-project", "dependencies.values[0]",
|
||||
"type.values[0]", "javaVersion.values[0]", "packaging.values[0]",
|
||||
"bootVersion.values[0]", "language.values[0]");
|
||||
ResponseEntity<String> response = invokeHome(null,
|
||||
"application/vnd.initializr.v2.1+json");
|
||||
assertThat(response.getHeaders().getFirst(HttpHeaders.ETAG), not(nullValue()));
|
||||
|
@@ -436,7 +436,8 @@ class HomePage {
|
||||
}
|
||||
|
||||
public void advanced() {
|
||||
form.findElement(By.cssSelector(".tofullversion")).click();
|
||||
form.findElement(By.cssSelector(".tofullversion"))
|
||||
.findElement(By.tagName("a")).click();
|
||||
}
|
||||
|
||||
public void simple() {
|
||||
|
Reference in New Issue
Block a user