Skip to content

Commit

Permalink
* Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
psobiech committed Dec 23, 2023
0 parents commit 53ed001
Show file tree
Hide file tree
Showing 194 changed files with 18,569 additions and 0 deletions.
64 changes: 64 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# 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*
replay_pid*

### IntelliJ IDEA ###
.idea/modules.xml
.idea/jarRepositories.xml
.idea/compiler.xml
.idea/libraries/
*.iws
*.iml
*.ipr

### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/

### VS Code ###
.vscode/

### Mac OS ###
.DS_Store

### Maven ###
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
target
35 changes: 35 additions & 0 deletions .github/workflows/maven.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

name: Maven

on:
push:
branches: [ "develop" ]
pull_request:
branches: [ "develop" ]

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Set up JDK 21
uses: actions/setup-java@v3
with:
java-version: '21'
distribution: 'temurin'
cache: maven
- name: Build with Maven
run: mvn -B package --file pom.xml

# Optional: Uploads the full dependency graph to GitHub to improve the quality of Dependabot alerts this repository can receive
- name: Submit Dependency Snapshot
uses: advanced-security/maven-dependency-submission-action@v3
64 changes: 64 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# 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*
replay_pid*

### IntelliJ IDEA ###
.idea/modules.xml
.idea/jarRepositories.xml
.idea/compiler.xml
.idea/libraries/
*.iws
*.iml
*.ipr

### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/

### VS Code ###
.vscode/

### Mac OS ###
.DS_Store

### Maven ###
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
target
1 change: 1 addition & 0 deletions .java-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
21
73 changes: 73 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
FROM eclipse-temurin:21 AS app-builder

ENV DEBIAN_FRONTEND=noninteractive

RUN mkdir -p /opt/build
WORKDIR /opt/build

RUN apt update && \
apt install -y maven && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*

FROM app-builder AS app-build

COPY tftp/pom.xml tftp/
COPY common/pom.xml common/
COPY lib/pom.xml lib/
COPY client/pom.xml client/
COPY vclu/pom.xml vclu/
COPY pom.xml .

COPY vclu/assembly/jar-with-dependencies.xml vclu/assembly/

# https://issues.apache.org/jira/browse/MDEP-689
#RUN mvn dependency:go-offline
RUN mvn install

COPY tftp tftp
COPY common common
COPY lib lib
COPY client client
COPY vclu vclu

RUN mvn package

FROM eclipse-temurin:21 AS jre-build

RUN mkdir -p /opt/build
WORKDIR /opt/build

#COPY --from=app-build /opt/build/vclu/target/vclu.jar .

RUN $JAVA_HOME/bin/jlink \
--add-modules java.base,java.xml,java.naming,java.management,jdk.zipfs \
# --add-modules $(jdeps --ignore-missing-deps --print-module-deps vclu.jar),java.base,java.xml,java.naming,java.management,java.sql,java.instrument,jdk.zipfs,jdk.unsupported \
--strip-debug \
--no-man-pages \
--no-header-files \
--compress=2 \
--output /opt/build/jre

FROM debian:buster-slim AS app-runtime

ENV JAVA_HOME=/opt/java/openjdk
ENV PATH "${JAVA_HOME}/bin:${PATH}"

RUN mkdir -p /opt/docker
WORKDIR /opt/docker

COPY --from=jre-build /opt/build/jre $JAVA_HOME
COPY --from=app-build /opt/build/vclu/target/vclu.jar /opt/docker
COPY runtime .

ENTRYPOINT [ \
"java", \
"-XX:+DisableAttachMechanism", \
"-server", "-Xshare:off", "-XX:+UseContainerSupport", "-XX:+UseZGC", "-XX:+UseDynamicNumberOfGCThreads", \
"-XX:+ExitOnOutOfMemoryError", \
"-Djava.net.preferIPv6Addresses=false", \
# "-Djava.net.preferIPv4Stack=true", \
"-Djava.awt.headless=true", "-Dfile.encoding=UTF-8", \
"-jar", "vclu.jar" \
]
Loading

0 comments on commit 53ed001

Please sign in to comment.