@@ -343,46 +343,24 @@ class CreateAppCommand extends ArgumentCompletingCommand implements ProfileRepos
343343 return false
344344 }
345345 String groupAndAppName = args ? args[0 ] : null
346-
347-
348-
349346 if (inPlace) {
350347 appname = new File (" ." ). canonicalFile. name
351- if (groupAndAppName) {
352- groupname = groupAndAppName
353- defaultPackage = groupname
354- }
355- else {
356- try {
357- defaultPackage = createValidPackageName()
358- } catch (IllegalArgumentException e ) {
359- GrailsConsole . instance. error(e. message)
360- return false
361- }
362- groupname = defaultPackage
363- }
364- }
365- else {
366348 if (! groupAndAppName) {
367- GrailsConsole . getInstance(). error(" Specify an application name or use --inplace to create an application in the current directory" )
368- return false
369- }
370- List<String > parts = groupAndAppName. split(/ \. / ) as List
371- if (parts. size() == 1 ) {
372- appname = parts[0 ]
373- try {
374- defaultPackage = createValidPackageName()
375- } catch (IllegalArgumentException e ) {
376- GrailsConsole . instance. error(e. message)
377- return false
378- }
379- groupname = defaultPackage
380- } else {
381- appname = parts[-1 ]
382- groupname = parts[0 .. -2 ]. join(' .' )
383- defaultPackage = groupname
349+ groupAndAppName = appname
384350 }
385351 }
352+
353+ if (! groupAndAppName) {
354+ GrailsConsole . getInstance(). error(" Specify an application name or use --inplace to create an application in the current directory" )
355+ return false
356+ }
357+
358+ try {
359+ defaultPackage = establishGroupAndAppName(groupAndAppName)
360+ } catch (IllegalArgumentException e ) {
361+ GrailsConsole . instance. error(e. message)
362+ return false
363+ }
386364
387365
388366 variables. APPNAME = appname
@@ -400,6 +378,21 @@ class CreateAppCommand extends ArgumentCompletingCommand implements ProfileRepos
400378 variables[' grails.app.group' ] = groupname
401379 }
402380
381+ private String establishGroupAndAppName (String groupAndAppName ) {
382+ String defaultPackage
383+ List<String > parts = groupAndAppName. split(/ \. / ) as List
384+ if (parts. size() == 1 ) {
385+ appname = parts[0 ]
386+ defaultPackage = createValidPackageName()
387+ groupname = defaultPackage
388+ } else {
389+ appname = parts[-1 ]
390+ groupname = parts[0 .. -2 ]. join(' .' )
391+ defaultPackage = groupname
392+ }
393+ return defaultPackage
394+ }
395+
403396 private String createValidPackageName () {
404397 String defaultPackage = appname. split(/ [-]+/ ). collect { String token -> (token. toLowerCase(). toCharArray(). findAll { char ch -> Character . isJavaIdentifierPart(ch) } as char []) as String }. join(' .' )
405398 if (! GrailsNameUtils . isValidJavaPackage(defaultPackage)) {
0 commit comments