Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package io.github.cdsap.projectgenerator.generator

import io.github.cdsap.projectgenerator.model.LanguageAttributes
import io.github.cdsap.projectgenerator.model.ProjectGraph
import io.github.cdsap.projectgenerator.model.TypeOfStringResources
import java.util.concurrent.CopyOnWriteArrayList

interface ModuleClassPlanner<MODULE_DEF> {
fun planModuleClasses(node: ProjectGraph): MODULE_DEF
}

interface ClassGenerator<MODULE_DEF, DICT> {
fun generate(
moduleDefinition: MODULE_DEF,
projectName: String,
a: MutableMap<String, CopyOnWriteArrayList<DICT>>
)

fun obtainClassesGenerated(
moduleDefinition: MODULE_DEF,
classesDictionary: MutableMap<String, CopyOnWriteArrayList<DICT>>
): MutableMap<String, CopyOnWriteArrayList<DICT>>
}

interface TestGenerator<MODULE_DEF, DICT> {
fun generate(
moduleDefinition: MODULE_DEF,
projectName: String,
classesDictionary: MutableMap<String, CopyOnWriteArrayList<DICT>>
)
}

interface BuildFilesGenerator {
fun generateBuildFiles(node: ProjectGraph, lang: LanguageAttributes, generateUnitTests: Boolean)
}

interface ResourceGeneratorA<DICT> {
fun generate(
node: ProjectGraph, lang: LanguageAttributes,
typeOfStringResources: TypeOfStringResources,
classesDictionary: MutableMap<String, CopyOnWriteArrayList<DICT>>
)
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package io.github.cdsap.projectgenerator.generator.buildfiles

import io.github.cdsap.projectgenerator.writer.BuildFilesGenerator
import io.github.cdsap.projectgenerator.generator.BuildFilesGenerator
import io.github.cdsap.projectgenerator.generator.toml.AndroidToml
import io.github.cdsap.projectgenerator.model.LanguageAttributes
import io.github.cdsap.projectgenerator.model.ProjectGraph
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package io.github.cdsap.projectgenerator.generator.buildfiles

import io.github.cdsap.projectgenerator.writer.BuildFilesGenerator
import io.github.cdsap.projectgenerator.generator.BuildFilesGenerator
import io.github.cdsap.projectgenerator.model.LanguageAttributes
import io.github.cdsap.projectgenerator.model.ProjectGraph
import io.github.cdsap.projectgenerator.model.TypeProject
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import io.github.cdsap.projectgenerator.generator.GeneratedModuleLayout
import io.github.cdsap.projectgenerator.generator.android.AndroidSourceSetLayout
import io.github.cdsap.projectgenerator.model.*
import io.github.cdsap.projectgenerator.NameMappings
import io.github.cdsap.projectgenerator.writer.ClassGenerator
import io.github.cdsap.projectgenerator.generator.ClassGenerator
import java.io.File
import java.util.concurrent.CopyOnWriteArrayList
import kotlin.text.appendLine
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package io.github.cdsap.projectgenerator.generator.classes
import io.github.cdsap.projectgenerator.generator.android.AndroidSourceSetLayout
import io.github.cdsap.projectgenerator.model.*
import io.github.cdsap.projectgenerator.NameMappings
import io.github.cdsap.projectgenerator.writer.ClassGenerator
import io.github.cdsap.projectgenerator.generator.ClassGenerator
import java.io.File
import java.util.concurrent.CopyOnWriteArrayList
import kotlin.text.appendLine
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package io.github.cdsap.projectgenerator.generator.classes

import io.github.cdsap.projectgenerator.model.*
import io.github.cdsap.projectgenerator.NameMappings
import io.github.cdsap.projectgenerator.writer.ClassGenerator
import io.github.cdsap.projectgenerator.generator.ClassGenerator
import java.io.File
import java.util.concurrent.CopyOnWriteArrayList
import kotlin.text.appendLine
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package io.github.cdsap.projectgenerator.generator.planner

import io.github.cdsap.projectgenerator.model.*
import io.github.cdsap.projectgenerator.NameMappings
import io.github.cdsap.projectgenerator.writer.ModuleClassPlanner
import io.github.cdsap.projectgenerator.generator.ModuleClassPlanner

/**
* Plans what classes each module should have and their dependencies
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package io.github.cdsap.projectgenerator.generator.planner

import io.github.cdsap.projectgenerator.model.*
import io.github.cdsap.projectgenerator.NameMappings
import io.github.cdsap.projectgenerator.writer.ModuleClassPlanner
import io.github.cdsap.projectgenerator.generator.ModuleClassPlanner

/**
* Plans what classes each module should have and their dependencies
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package io.github.cdsap.projectgenerator.generator.planner

import io.github.cdsap.projectgenerator.writer.ModuleClassPlanner
import io.github.cdsap.projectgenerator.generator.ModuleClassPlanner
import io.github.cdsap.projectgenerator.model.*
import io.github.cdsap.projectgenerator.NameMappings

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import io.github.cdsap.projectgenerator.generator.android.ClassTheme
import io.github.cdsap.projectgenerator.generator.android.FragmentLayout
import io.github.cdsap.projectgenerator.generator.android.Manifest
import io.github.cdsap.projectgenerator.generator.android.ValuesStrings
import io.github.cdsap.projectgenerator.writer.ResourceGeneratorA
import io.github.cdsap.projectgenerator.generator.ResourceGeneratorA
import io.github.cdsap.projectgenerator.NameMappings
import io.github.cdsap.projectgenerator.generator.classes.GenerateDictionaryAndroid
import io.github.cdsap.projectgenerator.model.DependencyInjection
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package io.github.cdsap.projectgenerator.generator.test

import io.github.cdsap.projectgenerator.generator.GeneratedModuleLayout
import io.github.cdsap.projectgenerator.generator.classes.GenerateDictionaryAndroid
import io.github.cdsap.projectgenerator.writer.TestGenerator
import io.github.cdsap.projectgenerator.generator.TestGenerator
import io.github.cdsap.projectgenerator.model.ClassDefinitionAndroid
import io.github.cdsap.projectgenerator.model.ClassDependencyAndroid
import io.github.cdsap.projectgenerator.model.ClassTypeAndroid
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package io.github.cdsap.projectgenerator.generator.test

import io.github.cdsap.projectgenerator.generator.android.AndroidSourceSetLayout
import io.github.cdsap.projectgenerator.generator.classes.GenerateDictionaryAndroid
import io.github.cdsap.projectgenerator.writer.TestGenerator
import io.github.cdsap.projectgenerator.generator.TestGenerator
import io.github.cdsap.projectgenerator.model.ClassDefinitionAndroid
import io.github.cdsap.projectgenerator.model.ClassDependencyAndroid
import io.github.cdsap.projectgenerator.model.ClassTypeAndroid
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package io.github.cdsap.projectgenerator.generator.test

import io.github.cdsap.projectgenerator.writer.TestGenerator
import io.github.cdsap.projectgenerator.generator.TestGenerator
import io.github.cdsap.projectgenerator.generator.classes.GenerateDictionaryJvm
import io.github.cdsap.projectgenerator.model.ClassDefinitionJvm
import io.github.cdsap.projectgenerator.model.ClassTypeJvm
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
package io.github.cdsap.projectgenerator.writer

import io.github.cdsap.projectgenerator.generator.BuildFilesGenerator
import io.github.cdsap.projectgenerator.generator.ClassGenerator
import io.github.cdsap.projectgenerator.generator.GeneratedModuleLayout
import io.github.cdsap.projectgenerator.generator.ModuleClassPlanner
import io.github.cdsap.projectgenerator.generator.ResourceGeneratorA
import io.github.cdsap.projectgenerator.generator.TestGenerator
import io.github.cdsap.projectgenerator.model.LanguageAttributes
import io.github.cdsap.projectgenerator.model.ProjectGraph
import io.github.cdsap.projectgenerator.model.TypeOfStringResources
Expand Down Expand Up @@ -76,40 +81,3 @@ abstract class ModulesWrite<MODULE_DEF, DICT>(
}
}
}

interface ModuleClassPlanner<MODULE_DEF> {
fun planModuleClasses(node: ProjectGraph): MODULE_DEF
}

interface ClassGenerator<MODULE_DEF, DICT> {
fun generate(
moduleDefinition: MODULE_DEF,
projectName: String,
a: MutableMap<String, CopyOnWriteArrayList<DICT>>
)

fun obtainClassesGenerated(
moduleDefinition: MODULE_DEF,
classesDictionary: MutableMap<String, CopyOnWriteArrayList<DICT>>
): MutableMap<String, CopyOnWriteArrayList<DICT>>
}

interface TestGenerator<MODULE_DEF, DICT> {
fun generate(
moduleDefinition: MODULE_DEF,
projectName: String,
classesDictionary: MutableMap<String, CopyOnWriteArrayList<DICT>>
)
}

interface BuildFilesGenerator {
fun generateBuildFiles(node: ProjectGraph, lang: LanguageAttributes, generateUnitTests: Boolean)
}

interface ResourceGeneratorA<DICT> {
fun generate(
node: ProjectGraph, lang: LanguageAttributes,
typeOfStringResources: TypeOfStringResources,
classesDictionary: MutableMap<String, CopyOnWriteArrayList<DICT>>
)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package io.github.cdsap.projectgenerator.generator

import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test

class ModuleGenerationPortsTest {

@Test
fun `module generation ports live in the generator package`() {
val expectedPackage = "io.github.cdsap.projectgenerator.generator"
val ports = listOf(
ModuleClassPlanner::class,
ClassGenerator::class,
TestGenerator::class,
BuildFilesGenerator::class,
ResourceGeneratorA::class
)

ports.forEach { port ->
assertEquals(expectedPackage, port.java.packageName, "${port.simpleName} package")
}
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
package io.github.cdsap.projectgenerator.writer

import io.github.cdsap.projectgenerator.NameMappings
import io.github.cdsap.projectgenerator.generator.BuildFilesGenerator
import io.github.cdsap.projectgenerator.generator.ClassGenerator
import io.github.cdsap.projectgenerator.generator.ModuleClassPlanner
import io.github.cdsap.projectgenerator.generator.TestGenerator
import io.github.cdsap.projectgenerator.model.LanguageAttributes
import io.github.cdsap.projectgenerator.model.ProjectGraph
import io.github.cdsap.projectgenerator.model.TypeProject
Expand Down
Loading