diff --git a/.github/workflows/tomcat_build_upload.yml b/.github/workflows/tomcat_build_upload.yml index 1db09a7..af25fc7 100644 --- a/.github/workflows/tomcat_build_upload.yml +++ b/.github/workflows/tomcat_build_upload.yml @@ -52,7 +52,9 @@ jobs: distribution: "corretto" java-version: "17" - name: Generate Artifact for bahmni-embedded-tomcat-10 - run: mvn clean package -f bahmni-embedded-tomcat-10/pom.xml + run: | + cd bahmni-embedded-tomcat-10 + gradle clean build - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v1 with: diff --git a/bahmni-embedded-tomcat-10/build.gradle b/bahmni-embedded-tomcat-10/build.gradle new file mode 100644 index 0000000..e4efebf --- /dev/null +++ b/bahmni-embedded-tomcat-10/build.gradle @@ -0,0 +1,61 @@ +plugins { + id 'java' +} +group 'org.bahmni.deployment' +version '1.0-SNAPSHOT' +java { + toolchain { + languageVersion = JavaLanguageVersion.of(17) + } +} + +repositories { + mavenCentral() + jcenter() + maven { + url 'https://mavenrepo.openmrs.org/nexus/content/repositories/public' // Use HTTPS instead of HTTP + } + maven { + url 'https://oss.sonatype.org/content/repositories' // Use HTTPS + } +} + +def tomcatVersion = '10.1.24' // Define Tomcat version here + +dependencies { + implementation "org.apache.tomcat.embed:tomcat-embed-core:${tomcatVersion}" + implementation "org.apache.tomcat.embed:tomcat-embed-jasper:${tomcatVersion}" + implementation "org.apache.tomcat:tomcat-jasper:${tomcatVersion}" + implementation "org.apache.tomcat:tomcat-jasper-el:${tomcatVersion}" + implementation "org.apache.tomcat:tomcat-jsp-api:${tomcatVersion}" +} + +jar { + duplicatesStrategy = 'exclude' + + manifest { + attributes 'Main-Class': 'org.bahmni.deployment.launch.Main' + } + + from { + configurations.runtimeClasspath.collect { + it.isDirectory() ? it : zipTree(it) + } + } + + exclude 'META-INF/*.RSA', 'META-INF/*.SF','META-INF/*.DSA' +} + +configurations { + all { + exclude group: 'com.sun.jdmk', module: 'jmxtools' + exclude group: 'com.sun.jmx', module: 'jmxri' + exclude group: 'javax.jms', module: 'jms' + exclude group: 'javax.mail', module: 'mail' + } +} + +// Print Tomcat version after project configuration +gradle.afterProject { project -> + println "Built with Apache Tomcat version: ${tomcatVersion}" +} diff --git a/bahmni-embedded-tomcat-10/pom.xml b/bahmni-embedded-tomcat-10/pom.xml deleted file mode 100644 index b59acf1..0000000 --- a/bahmni-embedded-tomcat-10/pom.xml +++ /dev/null @@ -1,134 +0,0 @@ - - - 4.0.0 - - org.bahmni.deployment.launch - bahmni-embedded-tomcat-10 - 1.0-SNAPSHOT - jar - Bahmni Embedded Tomcat 10 - https://github.com/Bahmni/bahmni-package.git - Embedded Tomcat v10 For Bahmni Services - - - GNU AFFERO GENERAL PUBLIC LICENSE - https://www.gnu.org/licenses/agpl-3.0.txt - - - - - Bahmni - info@bahmni.org - Bahmni - https://github.com/Bahmni - - - - scm:git:git@github.com:Bahmni/bahmni-package.git - scm:git:git@github.com:Bahmni/bahmni-package.git - https://github.com/Bahmni/bahmni-package/tree/master/bahmni-embedded-tomcat-10/ - - - - 17 - 17 - UTF-8 - 10.1.24 - 6.0.0 - - - - - jakarta.servlet - jakarta.servlet-api - ${jakartaVersion} - provided - - - org.apache.tomcat.embed - tomcat-embed-core - ${tomcatVersion} - - - org.apache.tomcat - tomcat-juli - ${tomcatVersion} - - - org.apache.tomcat.embed - tomcat-embed-jasper - ${tomcatVersion} - - - org.apache.tomcat - tomcat-jasper - ${tomcatVersion} - - - org.apache.tomcat - tomcat-jasper-el - ${tomcatVersion} - - - org.apache.tomcat - tomcat-jsp-api - ${tomcatVersion} - - - - - build - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - 17 - 17 - - - - org.apache.maven.plugins - maven-dependency-plugin - 3.1.2 - - - copy-dependencies - install - - copy-dependencies - - - ${project.build.directory}/libs - - - - - - org.apache.maven.plugins - maven-jar-plugin - 3.2.0 - - ${project.build.directory}/libs - - - org.bahmni.deployment.launch.Main - - - - - - org.codehaus.mojo - exec-maven-plugin - 3.0.0 - - org.bahmni.deployment.launch.Main - - - - - - \ No newline at end of file diff --git a/bahmni-embedded-tomcat-10/settings.gradle b/bahmni-embedded-tomcat-10/settings.gradle new file mode 100644 index 0000000..5be240e --- /dev/null +++ b/bahmni-embedded-tomcat-10/settings.gradle @@ -0,0 +1,3 @@ +rootProject.name = 'bahmni' + +include 'bahmni-embedded-tomcat-10' diff --git a/bahmni-embedded-tomcat-10/src/main/java/org/bahmni/deployment/launch/Main.java b/bahmni-embedded-tomcat-10/src/main/java/org/bahmni/deployment/launch/Main.java index f785164..34790c3 100644 --- a/bahmni-embedded-tomcat-10/src/main/java/org/bahmni/deployment/launch/Main.java +++ b/bahmni-embedded-tomcat-10/src/main/java/org/bahmni/deployment/launch/Main.java @@ -6,22 +6,21 @@ import org.apache.catalina.startup.Tomcat; import java.io.File; -import java.io.FileNotFoundException; import java.io.IOException; +import static java.lang.Integer.valueOf; import static java.lang.System.getenv; public class Main { - public static void main(String[] args) throws NumberFormatException, NullPointerException, IllegalArgumentException, ServletException, LifecycleException, IllegalStateException, FileNotFoundException, IOException{ - Tomcat tomcat = new Tomcat(); - tomcat.setPort(Integer.parseInt(getenv("SERVER_PORT"))); - tomcat.setBaseDir(getenv("BASE_DIR")); - Context context = tomcat.addWebapp(getenv("CONTEXT_PATH"), new File(getenv("WAR_DIRECTORY")).getAbsolutePath()); - context.setSessionTimeout(120); - context.setUseHttpOnly(false); - - tomcat.start(); - tomcat.getServer().await(); - } + public static void main(String[] args) throws LifecycleException, ServletException, IOException { + Tomcat tomcat = new Tomcat(); + tomcat.setPort(valueOf(getenv("SERVER_PORT"))); + tomcat.setBaseDir(getenv("BASE_DIR")); + Context context = tomcat.addWebapp(getenv("CONTEXT_PATH"), new File(getenv("WAR_DIRECTORY")).getAbsolutePath()); + context.setSessionTimeout(120); + context.setUseHttpOnly(false); + tomcat.start(); + tomcat.getServer().await(); + } }