From 04ecd565988e4a719648ed1dbadbcccd4b3d9f19 Mon Sep 17 00:00:00 2001 From: Patryk Hegenberg Date: Wed, 19 Mar 2025 22:48:03 +0100 Subject: [PATCH] feat: add first simple jakartaee10-servlet project jakarta project has to be cleaned up and some smaller errors have to be fixed --- build.sh | 76 ++++++++++++++++++ cmd/jws/main.go | 4 +- .../src/main/webapp/index.jsp | 36 +++++++++ .../target/classes/META-INF/persistence.xml | 0 .../classes/com/example/dao/TodoDAO.class | Bin 0 -> 1566 bytes .../classes/com/example/model/Todo.class | Bin 0 -> 1333 bytes .../com/example/servlet/TodoServlet.class | Bin 0 -> 2614 bytes internal/config/config.go | 2 - 8 files changed, 114 insertions(+), 4 deletions(-) create mode 100755 build.sh create mode 100644 cmd/jws/projects/jakarta-servlet-todo/src/main/webapp/index.jsp create mode 100644 cmd/jws/projects/jakarta-servlet-todo/target/classes/META-INF/persistence.xml create mode 100644 cmd/jws/projects/jakarta-servlet-todo/target/classes/com/example/dao/TodoDAO.class create mode 100644 cmd/jws/projects/jakarta-servlet-todo/target/classes/com/example/model/Todo.class create mode 100644 cmd/jws/projects/jakarta-servlet-todo/target/classes/com/example/servlet/TodoServlet.class diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..8a4b074 --- /dev/null +++ b/build.sh @@ -0,0 +1,76 @@ +#!/bin/bash +set -e + +# Prüfe auf erforderliches Versions-Argument +if [ -z "$1" ]; then + echo "Fehler: App-Version muss als Parameter angegeben werden (z.B. ./build.sh 0.0.1)" + exit 1 +fi + +APP_VERSION="$1" +APP_ID="com.hegenberg.javastarter" +APP_BUILD="1" +NAME="jws" +ICON="Icon.png" +SDK_PATH="./MacOSX11.3.sdk" + +# Lösche vorhandenen packages-Ordner und erstelle neu +if [ -d "packages" ]; then + echo "Entferne vorhandenen packages-Ordner..." + rm -rf packages +fi +mkdir -p packages + +# Build-Funktion für Mac +build_mac() { + local arch="$1" + echo "Baue Mac $arch Version..." + fyne-cross darwin \ + -app-id "$APP_ID" \ + -app-build "$APP_BUILD" \ + -app-version "$APP_VERSION" \ + -icon "$ICON" \ + -name "$NAME" \ + -arch "$arch" \ + -macosx-sdk-path "$SDK_PATH" \ + -ldflags "-s" \ + -ldflags "-w" \ + ./cmd/jws + + # Verpacke die App + local dist_dir="fyne-cross/dist/darwin-${arch}/jws.app" + tar -cJf "packages/jws_mac_${arch}.tar.xz" "$dist_dir" +} + +# Bauen für Mac-Architekturen +for arch in arm64 amd64; do + build_mac "$arch" +done + +# Build Windows +echo "Baue Windows Version..." +fyne-cross windows \ + -app-id "$APP_ID" \ + -app-build "$APP_BUILD" \ + -app-version "$APP_VERSION" \ + -icon "$ICON" \ + -name "$NAME.exe" \ + -ldflags "-s" \ + -ldflags "-w" \ + ./cmd/jws + +mv fyne-cross/dist/windows-amd64/jws.exe.zip packages/jws_windows.zip + +# Build Linux +echo "Baue Linux Version..." +# Erstelle selbstentpackendes Bundle +fyne package --target linux --exe ./jws --name "$NAME" --appVersion "$APP_VERSION" --sourceDir ./cmd/jws +# Erstelle einfache Executable +fyne build ./cmd/jws + +# Verpacke Linux-Versionen +tar -cJf packages/jws_linux_exe.tar.xz ./jws +tar -cJf packages/jws_linux_bundle.tar.xz ./jws.tar.xz + +echo "Build abgeschlossen! Dateien finden sich im packages-Ordner:" +ls -lh packages/ diff --git a/cmd/jws/main.go b/cmd/jws/main.go index e5fa0b2..70e3e06 100644 --- a/cmd/jws/main.go +++ b/cmd/jws/main.go @@ -32,7 +32,7 @@ var ( func main() { config, err := config.LoadConfig() if err != nil { - fmt.Printf("Error loading config: %v\n", err) + fmt.Printf("error loading config: %v\n", err) os.Exit(1) } @@ -43,7 +43,7 @@ func main() { err = logger.Init(config.LogFilePath, logLevel) if err != nil { - fmt.Printf("Error initializing logger: %v\n", err) + fmt.Printf("error initializing logger: %v\n", err) os.Exit(1) } diff --git a/cmd/jws/projects/jakarta-servlet-todo/src/main/webapp/index.jsp b/cmd/jws/projects/jakarta-servlet-todo/src/main/webapp/index.jsp new file mode 100644 index 0000000..2824734 --- /dev/null +++ b/cmd/jws/projects/jakarta-servlet-todo/src/main/webapp/index.jsp @@ -0,0 +1,36 @@ +<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> + + + + Todo App + + +

Todo App

+ +
+ + + + + + + +
+ +

Todos

+ + + + + diff --git a/cmd/jws/projects/jakarta-servlet-todo/target/classes/META-INF/persistence.xml b/cmd/jws/projects/jakarta-servlet-todo/target/classes/META-INF/persistence.xml new file mode 100644 index 0000000..e69de29 diff --git a/cmd/jws/projects/jakarta-servlet-todo/target/classes/com/example/dao/TodoDAO.class b/cmd/jws/projects/jakarta-servlet-todo/target/classes/com/example/dao/TodoDAO.class new file mode 100644 index 0000000000000000000000000000000000000000..769f9fda067a5941976e673525544bebd462d8e1 GIT binary patch literal 1566 zcmah}%Tg0T6g@o&1d>4@;f;nMf(b;%H);UI0IMKMQn+rCHV(`qHPb=(E3LB1!iD9^ zh2LaZ-kwAv+H>F7nA zp}%B0;#Je$6JCW=9)@Jet#WIZd!|~qH>2{sNr}fxR|r;_s-EDI04B3%qHM}&1;!K< zgN}OXamVLXrOBvtzPVNC1;dDrE_5d_hKU%)8K(bhnvO|aXNa|3Wf)dIoh?B?Au6d# z3}aW(B#d{aQ(LnvawD5-fi$IQ86~O~N$oA0b%)EQM{4sI0+z4BT`lzB7Q;|^qqI@1 zWMpP@XL~E7S|%f7m?O<$cRRi*6S6vTm}f||Tz=CO-Z8^QSYcUurc*D3G#4%I`voQ7 zV!u_68=@A#6cWf|F@`$~>3>J+Fpy#Bs|&d!{H7(9A5{5fqehiiH1F$pfQJlSw(#oY z&Rm#a>lFli&Q*mls7ZwCo>cfo$t6L#U4{Ha$5T9`4pyaMSPF-=bcTdqok>A0>sV2p z((MV`J*1qPNr(fX`$1k3T9&+eu*DngR}e3|O|L38P4!On_FG?6J%(v&*$Dj^2u$@Y z%`sZ3xrgR1n(4XGn4pzGGgG_sU!Z@Y4-MC7RKcL2ej4>w00uBfD{4ceDC#fd5bY_T zBJFAFd;T+q7fvv$p#v8Wjs^)Z89+l^8@lBoby?ZI&bxNT4>TSOFG`u}ec!CH_h6wAYg!NOxkMNjq z&b#q}NUIV|1*B)mkEIB{V|FY51AS^Qe}Y2Gp-5nO5>XXS2{ITW{b|eui8C#j)5KF) d#dGpwfKHWX8eY)79mul<~}NBc(3!VQ2Qco$q|-n_s_w`~>h6PfExM%(X+`RiC7P;wje;JIZq#VJ9r1 zATW6>KT6k=LDzkAbgbG&Ag4R@@1Fcq{Z9q^HBL{Giu%jFgGRma zPM~PC@sz;S0P8~&>4f)kCV}11>-m9g9P~U-a-cjVgTNToqEMtJAX)+=&vl^9jzGRr zZ3+~2DPS3S%sZIDtiZ&+4%9)0eL1@m4fLS-+5M2cNy>TEhy zsSb>hh(AVNHyso)!n8O|o30FJS$d-cX{2JzT)^qeVUcb-xPq%z^1r#WgJAts3pcLg z-E%ppK+6K$bufi#0fzts;Xz5Eo zr5C88mO*6e^N=E&nMCek`yV1pXV@AhQYDevB}CFy=eSL~gZs&2nc&|8+7F5TD8}PI DDg5&4 literal 0 HcmV?d00001 diff --git a/cmd/jws/projects/jakarta-servlet-todo/target/classes/com/example/servlet/TodoServlet.class b/cmd/jws/projects/jakarta-servlet-todo/target/classes/com/example/servlet/TodoServlet.class new file mode 100644 index 0000000000000000000000000000000000000000..bfe39e7fd76bd3c799f1f19fab64c8b75379d716 GIT binary patch literal 2614 zcma)8Yg5}s6g}$)GLG`7^8hDlzyyN932ORC+L+Q12*Is^6sXgXz7}hP1+rwMHG#gr z^)K{qbf!awbfz=?+8@>FU0F5;h8V-(Cg0+o|X9-$S3CTY*?^b$k5*zVHgZs3lV z^0c;GccfJnCCj(gZ87aQuH@2k9iO4E*oar7i{71uPpNmO>JfQ|tSQmvj_jyY}H#8Y;R@+O~kY1u~6A{+?}5q?!o{}hIC zL&FHeXtOl0VL`_zvJAQ}!7|u1AJ}fZ9 zrK8=kS8H~Na@;P4$s?^&rM9z!X3kHkt~A}pt}hdy#*9l#+CtUqzK&@;APG>t9&?XZ zg;aIA(WOpJ4TP#lV3r}`Itk1%^pc9{RFc9>VjdrBC=i-M*)+E3_yk2thPsg3)ZG`` z12vVkreTp_w|B)Mm?Rc(T0K71v5Xal1gUpb;W_3l%yF!wj6c&+!jp#7XPS9Zg|cgE z{VJa7Si>_)tn3M{n&3*d8<}GzMckJ&b{dv39TCr=ec9r z!XGZW?pD3leqx16XrtxG##QR56U?8r**BHh_9=8R!)<%Tk|KY$2VMeubnvhyWWC@x z!ke+V?+ahU_Y5N)NKeXL!;cKt{@aw8Z2(1vZj>nLi#kzVD>P~}Q)7b0D2;UM((@F} z3>q1Y@$r|?f1{TO&d^gC1Lts-o_fQ8W^d3eh7`_|)rG(+f{W-29Q{I$WArUE{yWn9 zxU!f_Wo{kddK9_T*a318E6hCa%wpIoOgh|591@rI)?Ai2bQxDzCi zp?`bcr{D>)9>NFY=N@@e2{yjugCr(TOzmlnxF7@F7K8j#5HIqv{3|{x~=uYep zEIfUQrF-#o{MJ4mr{fo6`&d