diff --git a/cameleer3-server-core/src/main/java/com/cameleer3/server/core/runtime/AppService.java b/cameleer3-server-core/src/main/java/com/cameleer3/server/core/runtime/AppService.java index e3e11c9b..49d26e0a 100644 --- a/cameleer3-server-core/src/main/java/com/cameleer3/server/core/runtime/AppService.java +++ b/cameleer3-server-core/src/main/java/com/cameleer3/server/core/runtime/AppService.java @@ -71,7 +71,17 @@ public class AppService { String checksum = HexFormat.of().formatHex(digest.digest()); UUID versionId = versionRepo.create(appId, nextVersion, jarFile.toString(), checksum, filename, size); - log.info("Uploaded JAR for app {}: version={}, size={}, sha256={}", appId, nextVersion, size, checksum); + // Detect runtime type from the saved JAR + RuntimeDetector.DetectionResult detection = RuntimeDetector.detect(jarFile); + if (detection.runtimeType() != null) { + versionRepo.updateDetectedRuntime(versionId, detection.runtimeType().toConfigValue(), detection.mainClass()); + log.info("Uploaded JAR for app {}: version={}, size={}, sha256={}, detected={}", + appId, nextVersion, size, checksum, detection.runtimeType().toConfigValue()); + } else { + log.info("Uploaded JAR for app {}: version={}, size={}, sha256={}, detected=unknown", + appId, nextVersion, size, checksum); + } + return versionRepo.findById(versionId).orElseThrow(); }