Skip to content

Commit 76b63f6

Browse files
committed
!feat: ✨change spring boot to Vertx
1 parent 6e058b4 commit 76b63f6

35 files changed

Lines changed: 2302 additions & 1630 deletions
Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ on:
22
workflow_dispatch:
33
push:
44
branches:
5-
- 'main'
5+
- 'master'
66

77
# https://github.com/OWNER/REPO/settings/actions
88
# MUST CHANGE GITHUB_TOKEN PERMISSION FROM READ TO WRITE
@@ -11,9 +11,10 @@ on:
1111
permissions:
1212
contents: write
1313
pull-requests: write
14+
issues: write
1415

1516
jobs:
16-
build-and-test:
17+
build-test-release:
1718
strategy:
1819
matrix:
1920
os: [ubuntu-latest]
@@ -31,29 +32,28 @@ jobs:
3132

3233
steps:
3334
- name: Checkout
34-
uses: actions/checkout@v3
35+
uses: actions/checkout@v4
3536

3637
- name: Prepare database
3738
run: PGPASSWORD=postgres psql -h localhost -U postgres -p 5432 -f './src/test/resources/TEST.sql'
3839

3940
- name: Install JDK
40-
uses: actions/setup-java@v3
41+
uses: actions/setup-java@v4
4142
with:
4243
java-version: 17
4344
distribution: 'adopt'
4445
cache: 'maven'
4546

4647
- name: Run tests
4748
run: mvn test
48-
49-
release-please:
50-
needs: build-and-test
51-
strategy:
52-
matrix:
53-
os: [ubuntu-latest]
54-
runs-on: ${{ matrix.os }}
55-
steps:
49+
5650
- uses: google-github-actions/release-please-action@v3
5751
with:
5852
release-type: maven
5953
#package-name: release-please-action
54+
token: ${{ secrets.GITHUB_TOKEN }}
55+
extra-files: |
56+
README.md
57+
CHANGELOG.md
58+
59+

.gitignore

Lines changed: 164 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,141 @@
1+
### Eclipse ###
2+
.metadata
3+
bin/
4+
tmp/
5+
*.tmp
6+
*.bak
7+
*.swp
8+
*~.nib
9+
local.properties
10+
.settings/
11+
.loadpath
12+
.recommenders
13+
14+
# External tool builders
15+
.externalToolBuilders/
16+
17+
# Locally stored "Eclipse launch configurations"
18+
*.launch
19+
20+
# PyDev specific (Python IDE for Eclipse)
21+
*.pydevproject
22+
23+
# CDT-specific (C/C++ Development Tooling)
24+
.cproject
25+
26+
# Java annotation processor (APT)
27+
.factorypath
28+
29+
# PDT-specific (PHP Development Tools)
30+
.buildpath
31+
32+
# sbteclipse plugin
33+
.target
34+
35+
# Tern plugin
36+
.tern-project
37+
38+
# TeXlipse plugin
39+
.texlipse
40+
41+
# STS (Spring Tool Suite)
42+
.springBeans
43+
44+
# Code Recommenders
45+
.recommenders/
46+
47+
# Scala IDE specific (Scala & Java development for Eclipse)
48+
.cache-main
49+
.scala_dependencies
50+
.worksheet
51+
52+
### Intellij+iml ###
53+
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
54+
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
55+
56+
# User-specific stuff:
57+
.idea/**/workspace.xml
58+
.idea/**/tasks.xml
59+
.idea/dictionaries
60+
61+
# Sensitive or high-churn files:
62+
.idea/**/dataSources/
63+
.idea/**/dataSources.ids
64+
.idea/**/dataSources.xml
65+
.idea/**/dataSources.local.xml
66+
.idea/**/sqlDataSources.xml
67+
.idea/**/dynamic.xml
68+
.idea/**/uiDesigner.xml
69+
70+
# Gradle:
71+
.idea/**/gradle.xml
72+
.idea/**/libraries
73+
74+
# CMake
75+
cmake-buildTool-debug/
76+
77+
# Mongo Explorer plugin:
78+
.idea/**/mongoSettings.xml
79+
80+
## File-based project format:
81+
*.iws
82+
83+
## Plugin-specific files:
84+
85+
# IntelliJ
86+
/out/
87+
88+
# mpeltonen/sbt-idea plugin
89+
.idea_modules/
90+
91+
# JIRA plugin
92+
atlassian-ide-plugin.xml
93+
94+
# Cursive Clojure plugin
95+
.idea/replstate.xml
96+
97+
# Crashlytics plugin (for Android Studio and IntelliJ)
98+
com_crashlytics_export_strings.xml
99+
crashlytics.properties
100+
crashlytics-buildTool.properties
101+
fabric.properties
102+
103+
### Intellij+iml Patch ###
104+
# Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-249601023
105+
106+
*.iml
107+
modules.xml
108+
.idea/misc.xml
109+
*.ipr
110+
111+
### macOS ###
112+
*.DS_Store
113+
.AppleDouble
114+
.LSOverride
115+
116+
# Icon must end with two \r
117+
Icon
118+
119+
# Thumbnails
120+
._*
121+
122+
# Files that might appear in the root of a volume
123+
.DocumentRevisions-V100
124+
.fseventsd
125+
.Spotlight-V100
126+
.TemporaryItems
127+
.Trashes
128+
.VolumeIcon.icns
129+
.com.apple.timemachine.donotpresent
130+
131+
# Directories potentially created on remote AFP share
132+
.AppleDB
133+
.AppleDesktop
134+
Network Trash Folder
135+
Temporary Items
136+
.apdisk
137+
138+
### Maven ###
1139
target/
2140
pom.xml.tag
3141
pom.xml.releaseBackup
@@ -6,20 +144,35 @@ pom.xml.next
6144
release.properties
7145
dependency-reduced-pom.xml
8146
buildNumber.properties
9-
10147
.mvn/timing.properties
11-
# https://github.com/takari/maven-wrapper#usage-without-binary-jar
12-
.mvn/wrapper/maven-wrapper.jar
13148

14-
# Eclipse m2e generated files
15-
# Eclipse Core
16-
.project
149+
# Avoid ignoring Maven wrapper jar file (.jar files are usually ignored)
150+
.mvn/maven-wrapper.jar
151+
152+
### Gradle ###
153+
.gradle
154+
/buildTool/
155+
156+
# Ignore Gradle GUI config
157+
gradle-app.setting
158+
159+
# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
160+
!gradle-wrapper.jar
17161

18-
# JDT-specific (Eclipse Java Development Tools)
19-
.classpath
162+
# Cache of project
163+
.gradletasknamecache
20164

21-
### VS Code ###
165+
# # Work around https://youtrack.jetbrains.com/issue/IDEA-116898
166+
# gradle/wrapper/gradle-wrapper.properties
22167

168+
### NetBeans ###
169+
nbproject/private/
170+
buildTool/
171+
nbbuild/
172+
dist/
173+
nbdist/
174+
.nb-gradle/
23175

24-
### spring-boot ###
25-
application-prod.properties
176+
### this project configuration ###
177+
src/main/resources/config-prod.json
178+
src/main/resources/config-test.json

.mvn/wrapper/maven-wrapper.jar

61.1 KB
Binary file not shown.

.prettierrc

Lines changed: 0 additions & 8 deletions
This file was deleted.

.vscode/launch.json

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
{
2-
"configurations": [
3-
{
4-
"type": "java",
5-
"name": "Spring Boot-RptSrvApplication",
6-
"request": "launch",
7-
"cwd": "${workspaceFolder}",
8-
"mainClass": "com.da.crystal.report.RptSrvApplication",
9-
"projectName": "crystal-report-server-java",
10-
"args": "",
11-
"envFile": "${workspaceFolder}/.env"
12-
}
13-
]
14-
}
2+
// Use IntelliSense to learn about possible attributes.
3+
// Hover to view descriptions of existing attributes.
4+
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5+
"version": "0.2.0",
6+
"configurations": [
7+
{
8+
"type": "java",
9+
"name": "VertxApp",
10+
"request": "launch",
11+
"mainClass": "com.da.crystal.report.VertxApp"
12+
}
13+
]
14+
}

.vscode/settings.json

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,21 @@
11
{
2-
"java.compile.nullAnalysis.mode": "automatic",
3-
"java.configuration.updateBuildConfiguration": "automatic",
4-
"cSpell.customDictionaries": {
5-
"project-words": {
6-
"name": "project-words",
7-
"description": "Words used in this project",
8-
"path": "${workspaceRoot}/project-words.txt",
9-
"addWords": true
10-
},
11-
"custom": true, // Enable the `custom` dictionary
12-
"internal-terms": false // Disable the `internal-terms` dictionary
13-
},
14-
"auto-header-plus.pathContainsWorkspaceFolder": false
15-
}
2+
"editor.codeActionsOnSave": {
3+
"source.organizeImports": "explicit"
4+
},
5+
"auto-header-plus.commentElements": [
6+
"Author",
7+
"CreatedDate",
8+
"LastEditors",
9+
"LastEditDate",
10+
"CopyRight"
11+
],
12+
"editor.formatOnSave": true,
13+
"editor.detectIndentation": false,
14+
"editor.stickyTabStops": true,
15+
"editor.tabSize": 2,
16+
"editor.useTabStops": false,
17+
"java.compile.nullAnalysis.mode": "automatic",
18+
"java.configuration.updateBuildConfiguration": "automatic",
19+
"auto-header-plus.pathContainsWorkspaceFolder": false,
20+
"java.debug.settings.onBuildFailureProceed": true
21+
}

README.md

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ An Crystal Report server run in java.
1212

1313
### Linux System Prepare
1414

15-
1. Copy fonts to`JAVA_HOME/lib/fonts`, and set permission to this folder
15+
1. Copy fonts to`$JAVA_HOME/lib/fonts`, and set permission to this folder
1616
```
1717
sudo chmod -R $JAVA_HOME/lib/fonts 755
1818
```
19-
2. Create fonts index, and update fonts cache
19+
2. Create fonts index, and update fonts cache (As Required)
2020
- CentOS
2121
```
2222
yum install -y fontconfig mkfontscale
@@ -27,14 +27,19 @@ An Crystal Report server run in java.
2727
sudo apt-get -y install fontconfig xfonts-utils
2828
mkfontscale && mkfontdir && fc-cache -fv
2929
```
30+
3. Allow the TLS disabled algorithms (As Required)
31+
If the connect database version is too old, and the running Linux system is new, you maybe will have the TLS connection issue by disabled algorithms.
32+
33+
Edit`JAVA_HOME/conf/security/java.security`, Delete `dk.tls.disabledAlgorithms`disabled algorithms value;
34+
Edit`/etc/crypto-policies/back-ends/java.config`, Delete `jdk.tls.disabledAlgorithms`disabled algorithms value;
3035
3136
### How to Use
3237
3338
1. It contains `postgres`,`mysql`, `sql server` driver by default, Add your db driver in `pom.xml` as necessary.
34-
2. Config your database url, driverClassName, user, password in `application.properties`.
35-
3. Run `maven package` to get `war` package.
36-
4. Copy `war` to tomcat, and run tomcat. Then copy your crystal report files to `WEB-INF/reports` folder, you can add them at anytime.
39+
2. At the target running folder, upload `target\lib`(it contains all dependencies), upload `*.rpt` files to `reports` folder.
40+
3. update your database url, driverClassName, user, password, report location in `config-prod`.
41+
4. At the target running folder, Run `java -jar crystal-report-server-java.jar --conf=config-prod.json` or Run `java -jar crystal-report-server-java-fat.jar --conf=config-prod.json`.
3742
5. Open `http://server:port/Report/{ReportTemplateName}/{format}?param0=val0&param1=val1` in browser, you can see your report.
38-
6. If chinese text can't display in pdf, please configure /ect/locale.conf `LANG=zh_CN.UTF-8`
3943
4044
> Note: `{ReportTemplateName}` is the name of your report template file without extension, `{format}` is the format you want, such as `pdf` `doc` `xls`, `param0` and `param1` are the parameters of your report, give a param named with `filename`, this param value will be used as the file name.
45+
> Suggestion: Using `Command SQL` instead of `Table Link` for better performance, reduce the report generation duration.

0 commit comments

Comments
 (0)