From d4873122508cd59d074e512674115d59aed1975d Mon Sep 17 00:00:00 2001 From: Jakub Kubrynski Date: Fri, 20 Nov 2015 12:34:54 +0100 Subject: [PATCH] Fixes #176 - replace dash with underscore when building package name from directory --- .../groovy/io/codearte/accurest/FileSaver.groovy | 5 ++--- .../io/codearte/accurest/TestGenerator.groovy | 15 +++++++-------- .../io/codearte/accurest/util/NamesUtil.groovy | 6 +----- 3 files changed, 10 insertions(+), 16 deletions(-) diff --git a/accurest-core/src/main/groovy/io/codearte/accurest/FileSaver.groovy b/accurest-core/src/main/groovy/io/codearte/accurest/FileSaver.groovy index a77aca416f..5c3aa07e76 100644 --- a/accurest-core/src/main/groovy/io/codearte/accurest/FileSaver.groovy +++ b/accurest-core/src/main/groovy/io/codearte/accurest/FileSaver.groovy @@ -3,7 +3,6 @@ package io.codearte.accurest import groovy.transform.CompileStatic import groovy.util.logging.Slf4j import io.codearte.accurest.config.TestFramework -import io.codearte.accurest.util.NamesUtil import java.nio.file.Files import java.nio.file.Path @@ -24,9 +23,9 @@ class FileSaver { this.framework = framework } - void saveClassFile(String fileName, String packageName, byte[] classBytes) { + void saveClassFile(String fileName, String includedDirectoryRelativePath, byte[] classBytes) { - Path testBaseDir = Paths.get(targetDirectory.absolutePath, NamesUtil.packageToDirectory(packageName)) + Path testBaseDir = Paths.get(targetDirectory.absolutePath, includedDirectoryRelativePath) Files.createDirectories(testBaseDir) Path classPath = Paths.get(testBaseDir.toString(), capitalize(fileName) + framework.classExtension).toAbsolutePath() log.info("Creating new class file [$classPath]") diff --git a/accurest-core/src/main/groovy/io/codearte/accurest/TestGenerator.groovy b/accurest-core/src/main/groovy/io/codearte/accurest/TestGenerator.groovy index 60f1b117d6..d01f5edb9f 100755 --- a/accurest-core/src/main/groovy/io/codearte/accurest/TestGenerator.groovy +++ b/accurest-core/src/main/groovy/io/codearte/accurest/TestGenerator.groovy @@ -1,4 +1,5 @@ package io.codearte.accurest + import groovy.transform.PackageScope import io.codearte.accurest.config.AccurestConfigProperties import org.apache.commons.io.FilenameUtils @@ -7,9 +8,7 @@ import org.codehaus.plexus.util.DirectoryScanner import java.nio.charset.StandardCharsets import java.util.concurrent.atomic.AtomicInteger -import static io.codearte.accurest.util.NamesUtil.afterLast -import static io.codearte.accurest.util.NamesUtil.beforeLast -import static io.codearte.accurest.util.NamesUtil.directoryToPackage +import static io.codearte.accurest.util.NamesUtil.* /** * @author Jakub Kubrynski @@ -45,17 +44,17 @@ class TestGenerator { } @PackageScope - void generateTestClasses(final String packageName) { + void generateTestClasses(final String basePackageName) { directoryScanner.scan() directoryScanner.getIncludedDirectories() .each { String includedDirectoryRelativePath -> - processIncludedDirectory(includedDirectoryRelativePath, packageName) + processIncludedDirectory(includedDirectoryRelativePath, basePackageName) } } private void processIncludedDirectory( - final String includedDirectoryRelativePath, final String packageNameForClass) { + final String includedDirectoryRelativePath, final String basePackageNameForClass) { if (!includedDirectoryRelativePath.isEmpty()) { List filesToClass = directoryScanner.includedFiles. grep { String includedFile -> @@ -66,9 +65,9 @@ class TestGenerator { } if (filesToClass.size()) { def className = afterLast(includedDirectoryRelativePath, File.separator) + configProperties.targetFramework.classNameSuffix - def packageName = buildPackage(packageNameForClass, includedDirectoryRelativePath) + def packageName = buildPackage(basePackageNameForClass, includedDirectoryRelativePath) def classBytes = generator.buildClass(filesToClass, className, packageName).getBytes(StandardCharsets.UTF_8) - saver.saveClassFile(className, packageName, classBytes) + saver.saveClassFile(className, includedDirectoryRelativePath, classBytes) counter.incrementAndGet() } } diff --git a/accurest-core/src/main/groovy/io/codearte/accurest/util/NamesUtil.groovy b/accurest-core/src/main/groovy/io/codearte/accurest/util/NamesUtil.groovy index 23e8c54479..8417beb4c3 100644 --- a/accurest-core/src/main/groovy/io/codearte/accurest/util/NamesUtil.groovy +++ b/accurest-core/src/main/groovy/io/codearte/accurest/util/NamesUtil.groovy @@ -46,11 +46,7 @@ class NamesUtil { return string } - static String packageToDirectory(String packageName) { - return packageName.replace('.' as char, File.separatorChar) - } - static String directoryToPackage(String directory) { - return directory.replace(File.separator, '.') + return directory.replace(File.separator, '.').replace('-', '_') } }