Skip to content

Commit e35d6cb

Browse files
committed
fix: resolve runAllExamples CI failures
Replace bare javaexec with project.javaexec in build.gradle to fix Groovy closure delegation issues. Add SpringApplication.exit() to SpringBootExampleApplication so the Spring Boot server exits cleanly after demo operations. All 13 examples now pass.
1 parent c6922f5 commit e35d6cb

2 files changed

Lines changed: 10 additions & 7 deletions

File tree

python-embed-examples/build.gradle

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,18 +41,19 @@ tasks.register('runAllExamples') {
4141

4242
def name = subproject.name
4343
def timeoutMs = heavyExamples.contains(name) ? heavyTimeoutMs : defaultTimeoutMs
44-
def timeoutDuration = java.time.Duration.ofMillis(timeoutMs)
4544

4645
logger.lifecycle("Running {} (timeout={}s)...", name, timeoutMs / 1000)
4746

4847
def start = System.currentTimeMillis()
4948
def result
49+
def theMainClass = mainClass
50+
def theClasspath = subproject.sourceSets.main.runtimeClasspath
5051
try {
51-
javaexec {
52-
classpath = subproject.sourceSets.main.runtimeClasspath
53-
mainClass = mainClass
54-
timeout = timeoutDuration
55-
maxHeapSize = '512m'
52+
project.javaexec {
53+
it.workingDir = subproject.projectDir
54+
it.classpath = theClasspath
55+
it.mainClass.set(theMainClass)
56+
it.maxHeapSize = '512m'
5657
}
5758
def elapsed = System.currentTimeMillis() - start
5859
logger.lifecycle(" PASS {} ({}ms)", name, elapsed)

python-embed-examples/spring-boot-example/src/main/java/io/github/howtis/pythonembed/examples/SpringBootExampleApplication.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import org.springframework.boot.CommandLineRunner;
77
import org.springframework.boot.SpringApplication;
88
import org.springframework.boot.autoconfigure.SpringBootApplication;
9+
import org.springframework.context.ConfigurableApplicationContext;
910
import org.springframework.context.annotation.Bean;
1011

1112
/**
@@ -20,7 +21,8 @@ public class SpringBootExampleApplication {
2021
private static final Logger log = LoggerFactory.getLogger(SpringBootExampleApplication.class);
2122

2223
public static void main(String[] args) {
23-
SpringApplication.run(SpringBootExampleApplication.class, args);
24+
ConfigurableApplicationContext ctx = SpringApplication.run(SpringBootExampleApplication.class, args);
25+
SpringApplication.exit(ctx, () -> 0);
2426
}
2527

2628
@Bean

0 commit comments

Comments
 (0)