feat: test code gen
This commit is contained in:
@@ -49,6 +49,15 @@ dependencies {
|
||||
|
||||
implementation fileTree (dir: 'iclibs', include: '*.jar')
|
||||
implementation fileTree (dir: 'iclibs/dex2jar', include: '*.jar')
|
||||
|
||||
testImplementation(platform("org.junit:junit-bom:5.10.0"))
|
||||
testImplementation("org.junit.jupiter:junit-jupiter")
|
||||
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
|
||||
}
|
||||
|
||||
tasks.test {
|
||||
dependsOn 'generateApiBindingsTest'
|
||||
useJUnitPlatform()
|
||||
}
|
||||
|
||||
def targetJavaVersion = 17
|
||||
@@ -81,6 +90,25 @@ run {
|
||||
def apiGenSourceRoot = file('src/main/java/org/innercore')
|
||||
def apiGenOutputDir = layout.projectDirectory.dir('src/main/java/com/zhekasmirnov/innercore/api/gen')
|
||||
|
||||
def apiGenSourceTestRoot = file('src/test/java/org/innercore')
|
||||
def apiGenOutputTestDir = layout.projectDirectory.dir('src/test/java/com/zhekasmirnov/innercore/api/gen')
|
||||
|
||||
tasks.register('generateApiBindingsTest', JavaExec) {
|
||||
group = 'codegen'
|
||||
description = 'Generates JS binding base classes from @ApiBinding-annotated sources.'
|
||||
javaLauncher = javaToolchains.launcherFor {
|
||||
def javaVersion = JavaVersion.toVersion(targetJavaVersion)
|
||||
if (JavaVersion.current() < javaVersion) {
|
||||
languageVersion = JavaLanguageVersion.of(targetJavaVersion)
|
||||
}
|
||||
}
|
||||
classpath = configurations.codegenClasspath
|
||||
mainClass = 'org.innercore.codegen.Codegen'
|
||||
args 'com.zhekasmirnov.innercore.api.gen', apiGenOutputTestDir.asFile.absolutePath, apiGenSourceTestRoot.absolutePath
|
||||
inputs.files(fileTree(apiGenSourceRoot) { include '**/*.java' }).withPropertyName('apiBindingSources')
|
||||
outputs.dir(apiGenOutputDir).withPropertyName('apiBindingOutput')
|
||||
}
|
||||
|
||||
tasks.register('generateApiBindings', JavaExec) {
|
||||
group = 'codegen'
|
||||
description = 'Generates JS binding base classes from @ApiBinding-annotated sources.'
|
||||
|
||||
Reference in New Issue
Block a user