feat: test code gen

This commit is contained in:
reider745
2026-06-22 12:06:23 +03:00
parent 2140db4c91
commit 0c3626826a
5 changed files with 135 additions and 0 deletions
+28
View File
@@ -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.'