diff --git a/scanner/maven.go b/scanner/maven.go new file mode 100644 index 0000000000..8bfd71bfcc --- /dev/null +++ b/scanner/maven.go @@ -0,0 +1,22 @@ +package scanner + +func configureMaven(sourceDir string, _ *ScannerConfig) (*SourceInfo, error) { + if !checksPass(sourceDir, fileExists("pom.xml")) { + return nil, nil + } + + env := map[string]string{ + "PORT": "8080", + } + + s := &SourceInfo{ + Family: "Maven", + Port: 8080, + SkipDatabase: true, + Env: env, + } + + s.Files = templates("templates/maven") + + return s, nil +} diff --git a/scanner/scanner.go b/scanner/scanner.go index c9aac30e6f..2ddf2d1b0c 100644 --- a/scanner/scanner.go +++ b/scanner/scanner.go @@ -137,6 +137,7 @@ func Scan(sourceDir string, config *ScannerConfig) (*SourceInfo, error) { configureNode, configureStatic, configureDotnet, + configureMaven, configureRust, } diff --git a/scanner/templates/maven/.dockerignore b/scanner/templates/maven/.dockerignore new file mode 100644 index 0000000000..9784587599 --- /dev/null +++ b/scanner/templates/maven/.dockerignore @@ -0,0 +1,77 @@ +# Compiled class file +**/*.class + +# Log file +**/*.log + +# BlueJ files +**/*.ctxt + +# Mobile Tools for Java (J2ME) +**/.mtj.tmp + +# Package Files # +**/*.jar +**/*.war +**/*.nar +**/*.ear +**/*.zip +**/*.tar.gz +**/*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +**/hs_err_pid* + +# Maven +**/target +**/pom.xml.tag +**/pom.xml.releaseBackup +**/pom.xml.versionsBackup +**/pom.xml.next +**/release.properties +**/dependency-reduced-pom.xml +**/buildNumber.properties +**/.mvn/timing.properties +**/.mvn/wrapper/maven-wrapper.jar + +# Eclipse +**/.apt_generated +**/.classpath +**/.factorypath +**/.project +**/.settings +**/.springBeans +**/.sts4-cache + +# IntelliJ IDEA +**/.idea +**/*.iws +**/*.iml +**/*.ipr + +# NetBeans +nbproject/private +nbbuild +dist +nbdist +.nb-gradle + +# VS Code +**/.vscode + +# OS Files +**/.DS_Store +**/.DS_Store? +**/._* +**/.Spotlight-V100 +**/.Trashes +**/ehthumbs.db +**/Thumbs.db + +# Temporary files +**/*.tmp +**/*.bak +**/*.swp +**/*~.nib + +fly.toml diff --git a/scanner/templates/maven/Dockerfile b/scanner/templates/maven/Dockerfile new file mode 100644 index 0000000000..a4a2eac9e0 --- /dev/null +++ b/scanner/templates/maven/Dockerfile @@ -0,0 +1,18 @@ +# +# BUILD STAGE +# +FROM maven:3.9.11-sapmachine-25 AS build +COPY src /usr/src/app/src +COPY pom.xml /usr/src/app +RUN mvn -f /usr/src/app/pom.xml clean package + +# +# PACKAGE STAGE +# +FROM openjdk:26-slim +# COPY --from=build /usr/src/app/target/demo-0.0.1-SNAPSHOT.jar /usr/app/demo-0.0.1-SNAPSHOT.jar +# EXPOSE 8080 +# CMD ["java","-jar","/usr/app/demo-0.0.1-SNAPSHOT.jar"] +COPY --from=build /usr/src/app/target/*.jar /usr/app/app.jar +EXPOSE 8080 +CMD ["java","-jar","/usr/app/app.jar"]