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
7 changes: 7 additions & 0 deletions compile-java-test/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,10 @@ dependencies {
testRuntimeOnly(libs.junit.jupiter.engine)
testRuntimeOnly(libs.junit.platform.launcher)
}

sourceSets {
main {
java.srcDir("src/common/java")
resources.srcDir("src/common/resources")
}
}
10 changes: 10 additions & 0 deletions compile-java-test/src/common/java/common/Department.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package common;

import org.seasar.doma.Entity;
import org.seasar.doma.Id;

@Entity
public class Department {
@Id public Integer id;
public String name;
}
14 changes: 14 additions & 0 deletions compile-java-test/src/common/java/common/DepartmentDao.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package common;

import org.seasar.doma.Dao;
import org.seasar.doma.Script;
import org.seasar.doma.Select;

@Dao
public interface DepartmentDao {
@Select
Department selectById(Integer id);

@Script
void create();
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
create table department(
id integer not null primary key,
name varchar(20) not null,
);
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
select * from department where id = /*id*/0
4 changes: 4 additions & 0 deletions compile-java-test/src/test/java/example/GenerationTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

import static org.junit.jupiter.api.Assertions.assertNotNull;

import common.DepartmentDaoImpl;
import common._Department;
import org.junit.jupiter.api.Test;

public class GenerationTest {
Expand All @@ -10,5 +12,7 @@ public class GenerationTest {
public void test() {
assertNotNull(_Employee.class);
assertNotNull(EmployeeDaoImpl.class);
assertNotNull(_Department.class);
assertNotNull(DepartmentDaoImpl.class);
}
}
9 changes: 9 additions & 0 deletions compile-kotlin-test/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,12 @@ dependencies {
testRuntimeOnly(libs.junit.jupiter.engine)
testRuntimeOnly(libs.junit.platform.launcher)
}

kotlin {
sourceSets {
main {
kotlin.srcDir("src/common/kotlin")
resources.srcDir("src/common/resources")
}
}
}
11 changes: 11 additions & 0 deletions compile-kotlin-test/src/common/kotlin/common/Department.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package common

import org.seasar.doma.Entity
import org.seasar.doma.Id

@Entity
class Department {
@Id
var id: Int? = null
var name: String? = null
}
14 changes: 14 additions & 0 deletions compile-kotlin-test/src/common/kotlin/common/DepartmentDao.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package common

import org.seasar.doma.Dao
import org.seasar.doma.Script
import org.seasar.doma.Select

@Dao
interface DepartmentDao {
@Select
fun selectById(id: Int?): Department?

@Script
fun create()
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
create table department(
id integer not null primary key,
name varchar(20) not null,
);
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
select * from department where id = /*id*/0
3 changes: 2 additions & 1 deletion compile-kotlin-test/src/main/kotlin/example/EmployeeDao.kt
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
package example

import common.Department
import org.seasar.doma.Dao
import org.seasar.doma.Script
import org.seasar.doma.Select

@Dao
interface EmployeeDao {
@Select
fun selectById(id: Int?): Employee?
fun selectById(id: Int?): Department?

@Script
fun create()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ class KotlinCompileConfigurator {
def kapt = project.extensions.getByName(KAPT_EXTENSION_NAME)
def resourceDirs = sourceSet.resources.srcDirs
def sourcePath = resourceDirs.join(File.pathSeparator)

kapt.javacOptions {
option SOURCE_PATH_OPTION, sourcePath
option PARAMETERS_OPTION, ''
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,19 @@ class CompileConfigurator {
}

void configure() {
// Configure immediately for Java
var javaExtension = project.getExtensions().getByType(JavaPluginExtension.class);
var mainSourceSet = javaExtension.getSourceSets().getByName(SourceSet.MAIN_SOURCE_SET_NAME);
javaConfigurator.configure(mainSourceSet);

configureSourceSet(mainSourceSet);
}

private void configureSourceSet(SourceSet sourceSet) {
javaConfigurator.configure(sourceSet);
kotlinConfigurator.configure(sourceSet);
// Defer Kotlin configuration until after project evaluation
project.afterEvaluate(
evaluatedProject -> {
var evaluatedJavaExtension =
evaluatedProject.getExtensions().getByType(JavaPluginExtension.class);
var evaluatedMainSourceSet =
evaluatedJavaExtension.getSourceSets().getByName(SourceSet.MAIN_SOURCE_SET_NAME);
kotlinConfigurator.configure(evaluatedMainSourceSet);
});
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,20 @@ class JavaCompileConfigurator {
}

void configure(SourceSet sourceSet) {
var resourceDirs = sourceSet.getResources().getSrcDirs();
var compileTaskName = sourceSet.getCompileJavaTaskName();

project
.getTasks()
.named(compileTaskName, JavaCompile.class)
.configure(
javaCompile -> {
javaCompile.getOptions().setSourcepath(project.files(resourceDirs));
javaCompile.getOptions().getCompilerArgs().add(PARAMETERS_COMPILER_ARG);
});
.configure(javaCompile -> configureJavaCompile(sourceSet, javaCompile));
}

private void configureJavaCompile(SourceSet sourceSet, JavaCompile javaCompile) {
javaCompile.doFirst(
__ -> {
var resourceDirs = sourceSet.getResources().getSrcDirs();
var options = javaCompile.getOptions();
options.setSourcepath(project.files(resourceDirs));
options.getCompilerArgs().add(PARAMETERS_COMPILER_ARG);
});
}
}