diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc index d78752d3..0813f52e 100644 --- a/CHANGELOG.adoc +++ b/CHANGELOG.adoc @@ -7,6 +7,7 @@ order. === Release 1.0.0 (In progress) +* https://github.com/spring-io/initializr/issues/81[#81]: allow baseDir parameter with sub-directories. * https://github.com/spring-io/initializr/issues/80[#80]: upgrade to Gradle 2.3. * https://github.com/spring-io/initializr/issues/62[#62]: add version range support. * https://github.com/spring-io/initializr/issues/75[#75]: migrate smoke tests to Geb. diff --git a/initializr/src/main/groovy/io/spring/initializr/ProjectGenerator.groovy b/initializr/src/main/groovy/io/spring/initializr/ProjectGenerator.groovy index 67433eeb..6540cd67 100644 --- a/initializr/src/main/groovy/io/spring/initializr/ProjectGenerator.groovy +++ b/initializr/src/main/groovy/io/spring/initializr/ProjectGenerator.groovy @@ -190,7 +190,7 @@ class ProjectGenerator { private File initializerProjectDir(File rootDir, ProjectRequest request) { if (request.baseDir) { File dir = new File(rootDir, request.baseDir) - dir.mkdir() + dir.mkdirs() return dir } else { return rootDir diff --git a/initializr/src/test/groovy/io/spring/initializr/ProjectGeneratorTests.groovy b/initializr/src/test/groovy/io/spring/initializr/ProjectGeneratorTests.groovy index 8ffacf39..b9272d7c 100644 --- a/initializr/src/test/groovy/io/spring/initializr/ProjectGeneratorTests.groovy +++ b/initializr/src/test/groovy/io/spring/initializr/ProjectGeneratorTests.groovy @@ -211,6 +211,15 @@ class ProjectGeneratorTests { .isMavenProject() } + @Test + void customBaseDirectoryNested() { + def request = createProjectRequest() + request.baseDir = 'foo-bar/my-project' + generateProject(request).hasBaseDir('foo-bar/my-project') + .isJavaProject() + .isMavenProject() + } + @Test void groovyWithMavenUsesJavaDir() { def request = createProjectRequest('web')