Skip to content

Conversation

@p-hoffmann
Copy link
Member

@p-hoffmann p-hoffmann commented Dec 14, 2025

This pull request modernizes the OHDSI WebAPI project by switching its primary packaging from a deployable WAR to an executable Spring Boot JAR with embedded Tomcat, and updates the build, Docker, and documentation accordingly. The changes simplify deployment (no external app server required), streamline configuration, and improve the developer experience. WAR packaging is still available via a Maven profile for legacy use cases.

@p-hoffmann p-hoffmann marked this pull request as ready for review December 14, 2025 13:27
@konstjar
Copy link
Contributor

The change will break existing Dockerfile and build procedure. It should be updated:
https://github.com/OHDSI/WebAPI/blob/webapi-3.0/Dockerfile#L29

@p-hoffmann p-hoffmann changed the title switch from war to jar add jar build Dec 14, 2025
@p-hoffmann p-hoffmann requested a review from Copilot December 14, 2025 15:09
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request modernizes the OHDSI WebAPI project by transitioning from WAR-based deployment to an executable Spring Boot JAR with embedded Tomcat as the primary packaging format. The changes aim to simplify deployment by eliminating the need for external application servers while maintaining backward compatibility through a Maven profile for WAR packaging.

Key Changes:

  • Switched default packaging from WAR to executable JAR with embedded Tomcat server
  • Updated WebApi class to use standard SpringApplication.run() instead of SpringBootServletInitializer
  • Added comprehensive Quick Start Guide and deployment documentation to README
  • Modified Docker build to run the executable JAR directly instead of exploded WAR structure

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/main/java/org/ohdsi/webapi/WebApi.java Removed SpringBootServletInitializer extension and WAR-specific initialization code, converting to standalone JAR application entry point
pom.xml Changed packaging type from WAR to JAR, removed provided scopes from Tomcat dependencies, added WAR profile for legacy deployment support
README.md Added extensive Quick Start Guide, deployment options, configuration examples, and troubleshooting sections for JAR-based deployment
Dockerfile Simplified to copy and execute the JAR file directly instead of exploding WAR contents
.github/workflows/release.yaml Updated to build and upload both JAR and WAR artifacts to GitHub releases

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants