Skip to content

Commit cd3dab6

Browse files
authored
[Konvert] Konvert Report from groovy to Kotlin (#36)
This converts the groovy source into Kotlin and sets up the dependencies accordingly to incrementally convert file-by-file. This does require that Groovy sources depend on Kotlin ones in a unidirectional fashion. This is unfortunate but one-way must be chosen. Extracted from #39.
1 parent 8204cd3 commit cd3dab6

File tree

3 files changed

+202
-232
lines changed

3 files changed

+202
-232
lines changed

src/main/groovy/org/assertj/generator/gradle/internal/tasks/AssertionsGeneratorReport.groovy

Lines changed: 0 additions & 209 deletions
This file was deleted.

src/main/groovy/org/assertj/generator/gradle/tasks/AssertJGenerationTask.groovy

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ package org.assertj.generator.gradle.tasks
1414

1515
import com.google.common.collect.Sets
1616
import com.google.common.reflect.TypeToken
17-
import org.assertj.assertions.generator.AssertionsEntryPointType
1817
import org.assertj.assertions.generator.BaseAssertionGenerator
1918
import org.assertj.assertions.generator.description.ClassDescription
2019
import org.assertj.assertions.generator.description.converter.ClassToClassDescriptionConverter
@@ -133,62 +132,63 @@ class AssertJGenerationTask extends SourceTask {
133132
BaseAssertionGenerator generator = new BaseAssertionGenerator()
134133
ClassToClassDescriptionConverter converter = new ClassToClassDescriptionConverter()
135134

136-
AssertionsGeneratorReport report = new AssertionsGeneratorReport()
135+
def absOutputDir = project.rootDir.toPath().resolve(this.outputDir.getAsFile().get().toPath()).toFile()
137136

138-
Path absOutputDir = project.rootDir.toPath().resolve(this.outputDir.getAsFile().get().toPath())
139-
report.setDirectoryPathWhereAssertionFilesAreGenerated(absOutputDir.toFile())
137+
Set<TypeToken<?>> filteredClasses = removeAssertClasses(classes)
138+
def report = new AssertionsGeneratorReport(
139+
absOutputDir,
140+
inputClassNames.values().flatten().collect { it.toString() },
141+
classes - filteredClasses,
142+
)
140143

141144
def templates = assertJOptions.templates.templates.get().collect { it.maybeLoadTemplate() }.findAll()
142145
for (template in templates) {
143146
generator.register(template)
144147
}
145148

146149
try {
147-
generator.setDirectoryWhereAssertionFilesAreGenerated(absOutputDir.toFile())
148-
149-
report.setInputClasses(inputClassNames.values().flatten())
150-
151-
Set<TypeToken<?>> filteredClasses = removeAssertClasses(classes)
152-
report.setExcludedClassesFromAssertionGeneration(Sets.difference(classes, filteredClasses))
150+
generator.directoryWhereAssertionFilesAreGenerated = absOutputDir
153151

154152
Set<ClassDescription> classDescriptions = new LinkedHashSet<>()
155153

156154
if (assertJOptions.hierarchical) {
157-
for (TypeToken<?> clazz : filteredClasses) {
155+
for (clazz in filteredClasses) {
158156
ClassDescription classDescription = converter.convertToClassDescription(clazz)
159-
File[] generatedCustomAssertionFiles = generator.generateHierarchicalCustomAssertionFor(classDescription,
160-
filteredClasses)
161-
report.addGeneratedAssertionFile(generatedCustomAssertionFiles[0])
162-
report.addGeneratedAssertionFile(generatedCustomAssertionFiles[1])
157+
File[] generatedCustomAssertionFiles = generator.generateHierarchicalCustomAssertionFor(
158+
classDescription,
159+
filteredClasses,
160+
)
161+
report.addGeneratedAssertionFiles(generatedCustomAssertionFiles)
163162
classDescriptions.add(classDescription)
164163
}
165164
} else {
166-
for (TypeToken<?> clazz : filteredClasses) {
165+
for (clazz in filteredClasses) {
167166
def classDescription = converter.convertToClassDescription(clazz)
168167
classDescriptions.add(classDescription)
169168

170169
if (inputClassesToFile.containsKey(clazz)) {
171170
File generatedCustomAssertionFile = generator.generateCustomAssertionFor(classDescription)
172-
report.addGeneratedAssertionFile(generatedCustomAssertionFile)
171+
report.addGeneratedAssertionFiles(generatedCustomAssertionFile)
173172
}
174173
}
175174
}
176175

177176
if (!inputClassesToFile.empty) {
178177
// only generate the entry points if there are classes that have changed (or exist..)
179-
180-
for (AssertionsEntryPointType assertionsEntryPointType : assertJOptions.entryPoints) {
181-
File assertionsEntryPointFile = generator.generateAssertionsEntryPointClassFor(classDescriptions,
178+
for (assertionsEntryPointType in assertJOptions.entryPoints) {
179+
File assertionsEntryPointFile = generator.generateAssertionsEntryPointClassFor(
180+
classDescriptions,
182181
assertionsEntryPointType,
183-
assertJOptions.entryPoints.classPackage)
182+
assertJOptions.entryPoints.classPackage,
183+
)
184184
report.reportEntryPointGeneration(assertionsEntryPointType, assertionsEntryPointFile)
185185
}
186186
}
187187
} catch (Exception e) {
188-
report.setException(e)
188+
report.exception = e
189189
}
190190

191-
logger.info(report.reportContent)
191+
logger.info(report.getReportContent())
192192
}
193193

194194
/**

0 commit comments

Comments
 (0)