Skip to content

Commit eecc9f0

Browse files
committed
Fix download ctrl. Move reactive functionality into separed service. Versions update.
1 parent a9bb080 commit eecc9f0

File tree

32 files changed

+341
-267
lines changed

32 files changed

+341
-267
lines changed

.dockerignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
**
2+
!modules/apps/file-items-service/build/libs/*.jar
3+
!modules/apps/file-server/build/libs/*.jar
4+
!modules/docker/all/nginx/default.conf

.travis.yml

Lines changed: 45 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,11 @@ service:
22
- docker
33

44
language: java
5-
jdk:
6-
- oraclejdk8
7-
#- oraclejdk10
5+
jdk: oraclejdk8
86
node_js: lts/*
97

108
addons:
119
apt:
12-
update: true
1310
packages:
1411
- sudo
1512
- lsof
@@ -33,19 +30,19 @@ before_install:
3330
#
3431
- sudo pip install docker-compose httpie >/dev/null 2>&1
3532
- source <(curl -s https://raw.githubusercontent.com/daggerok/bash-functions/master/main.bash)
36-
- stop_any 5432 5672 27017 8082 8082 8081 8081 8080 8080 80 80
33+
- stop_any 80 5432 8002 8001
3734

3835
script:
3936
# jgiven tests and docs
40-
#- bash gradlew -S -Pdebug clean test jgiven build documentation >/dev/null || true
41-
- bash gradlew -S -Pdebug clean check build >/dev/null
37+
- ./gradlew -S -Pdebug clean test jgiven build documentation >/dev/null
38+
- ./gradlew -S -Pdebug clean check build >/dev/null
4239

4340
- export APP_UPLOAD_PATH="/tmp/file-storage"
4441
- mkdir -p ${APP_UPLOAD_PATH}
4542
- cp -Rf ./modules/apps/file-server/build/libs "${APP_UPLOAD_PATH}/"
4643

4744
# postgres
48-
- bash gradlew clean assemble postgresUp >/dev/null
45+
- ./gradlew clean assemble postgresUp >/dev/null
4946
- bash ./modules/apps/file-items-service/build/libs/*.jar --spring.profiles.active=db-pg >/dev/null &
5047
- wait_for 8001
5148
- bash ./modules/apps/file-server/build/libs/*.jar >/dev/null &
@@ -55,11 +52,11 @@ script:
5552
- http --auth user:password -f post :8002/upload filename="$(date)-settings.gradle" file@settings.gradle
5653
- http --auth user:password :8002/api/v1/files
5754
- http --auth user:password :8002/
58-
- stop_any 8002 8002 8001 8001 80 80
59-
- bash gradlew postgresDown >/dev/null
55+
- stop_any 80 8002 8001 5432
56+
- ./gradlew postgresDown >/dev/null
6057

6158
# h2
62-
- bash gradlew clean assemble >/dev/null
59+
- ./gradlew clean assemble >/dev/null
6360
#- bash ./modules/apps/file-items-service/build/libs/*jar --spring.profiles.active=db-h2 >/dev/null &
6461
- bash ./modules/apps/file-items-service/build/libs/*jar >/dev/null &
6562
- wait_for 8001
@@ -70,10 +67,10 @@ script:
7067
- http --auth user:password -f post :8002/upload filename="$(date)-settings.gradle" file@settings.gradle
7168
- http --auth user:password :8002/api/v1/files
7269
- http --auth user:password :8002/
73-
- stop_any 8002 8002 8001 8001 80 80
70+
- stop_any 80 8002 8001 5432
7471

7572
# install as linux service
76-
- bash gradlew clean assemble postgresUp >/dev/null
73+
- ./gradlew clean assemble postgresUp >/dev/null
7774
- cp -Rf ./modules/apps/file-server/build/libs "${APP_UPLOAD_PATH}/"
7875
- mv -f ./modules/apps/file-items-service/build/libs/*.jar /tmp/file-items-service.jar
7976
- #export SPRING_PROFILES_ACTIVE=db-pg
@@ -92,30 +89,18 @@ script:
9289
- http --auth user:password :8002/
9390
- sudo service file-server stop
9491
- sudo service file-items-service stop
95-
- bash gradlew postgresDown >/dev/null 2>&1
92+
- ./gradlew postgresDown >/dev/null 2>&1
9693
- unset SPRING_PROFILES_ACTIVE
94+
- stop_any 80 8002 8001 5432
9795

98-
# scripts/application.bash
99-
- bash ./scripts/application.bash start build
100-
- bash ./scripts/application.bash stop build
101-
- bash ./scripts/application.bash start build
102-
- http --auth user:password -f post :8002/upload filename="$(date)-build.gradle" file@build.gradle
103-
- http --auth user:password -f post :8002/upload filename="$(date)-settings.gradle" file@settings.gradle
104-
- http --auth user:password -f post :8002/upload filename="$(date)-README.md" file@README.md
105-
- http --auth user:password :8001/api/v1/file-items
106-
- http --auth user:password :8002/api/v1/files
107-
- yes | bash ./scripts/application.bash clean build
108-
109-
# scripts/application-h2.bash
110-
- bash ./scripts/application-h2.bash start build
111-
- bash ./scripts/application-h2.bash stop build
112-
- bash ./scripts/application-h2.bash start build
113-
- http --auth user:password :8001/actuator/health
114-
- http --auth user:password -f post :8002/upload filename="$(date)-build.gradle" file@build.gradle
115-
- http --auth user:password -f post :8002/upload filename="$(date)-settings.gradle" file@settings.gradle
116-
- http --auth user:password :8002/api/v1/files
117-
- http --auth user:password :8002/
118-
- yes | bash ./scripts/application-h2.bash clean build
96+
# services behind reverse-proxy
97+
- ./gradlew clean
98+
- ./gradlew
99+
- ./gradlew allUp
100+
- wait_for 80
101+
- http -a user:password :80
102+
- ./gradlew allDown
103+
- stop_any 80 8002 8001 5432
119104

120105
env:
121106
global:
@@ -124,6 +109,7 @@ env:
124109
- secure: D04FeSPymLevdF11Ej1dUAxxHV9rKHHj/0sld/KPNh/mr876dm1l9AMo6VcBC5Kr1a6AwDJiOG9d8XgUEFRNvhBb3nMjIJa/99psykPL1N4WWZojULkeUtfhbVC+4d5qoLjNM2svT8IFJ9hO1kfgBGKk1Cd5KA+PtjceEIAJ29gaBvnbYo3MspXZsd3RA87kgY/poxQX2j7JeyKqQQKTLN8FTLqu7vgmdZWRYrUrSXiZvoJc9yJ+7PW6u4N4nVlReYb6+GGOM6BAtyB0dDxxG50sL8VcrYnzRlWyEXMaqNlqu2FBI+sBEuzkVkGulZMIsHDfKQhMPH/g2bN79FiPJVEiS7aOBiSMjS2f7vAq9JS3xOnNmMPjHOkAfzpktXbYHydeQIW6vcUue58qUkaj+zn7kyocg83hDlR/j3ATfXJvOGF4vqhkRwPtz7WeZ+Lra7nMrlhaLkFpALco7+ZOB9BwDa3lV1oic6Xv4pRNHgdIx+KcBOI6n4BND22ckzwa0p2+kfDHakIyojX2nNiWg7jzl1oDokI/3nnx/L2piUjKHspjvq7wiJjZefbYRgfLqML+TJ/osZ4P4rin8RLb6my/J3ApMlDH9PyiLNkafnhYKGsTP43XCYMBwVGxv++f/+6JeXsS35Hs4YXbCc1ANt7sTck6FzKgrELgTTOViGk=
125110

126111
before_deploy:
112+
# publish tag release
127113
- mkdir -p ${HOME}/.m2
128114
- echo '<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" ' > ${HOME}/.m2/settings.xml
129115
- echo ' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' >> ${HOME}/.m2/settings.xml
@@ -138,7 +124,30 @@ before_deploy:
138124
- echo ' </servers> ' >> ${HOME}/.m2/settings.xml
139125
- echo '</settings> ' >> ${HOME}/.m2/settings.xml
140126
- ./mvnw
141-
#
127+
128+
# test published release by using scripts/application.bash
129+
- bash ./scripts/application.bash start build
130+
- bash ./scripts/application.bash stop build
131+
- bash ./scripts/application.bash start build
132+
- http --auth user:password -f post :8002/upload filename="$(date)-build.gradle" file@build.gradle
133+
- http --auth user:password -f post :8002/upload filename="$(date)-settings.gradle" file@settings.gradle
134+
- http --auth user:password -f post :8002/upload filename="$(date)-README.md" file@README.md
135+
- http --auth user:password :8001/api/v1/file-items
136+
- http --auth user:password :8002/api/v1/files
137+
- yes | bash ./scripts/application.bash clean build
138+
139+
# test published release by using scripts/application-h2.bash
140+
- bash ./scripts/application-h2.bash start build
141+
- bash ./scripts/application-h2.bash stop build
142+
- bash ./scripts/application-h2.bash start build
143+
- http --auth user:password :8001/actuator/health
144+
- http --auth user:password -f post :8002/upload filename="$(date)-build.gradle" file@build.gradle
145+
- http --auth user:password -f post :8002/upload filename="$(date)-settings.gradle" file@settings.gradle
146+
- http --auth user:password :8002/api/v1/files
147+
- http --auth user:password :8002/
148+
- yes | bash ./scripts/application-h2.bash clean build
149+
150+
# documentation
142151
- ./mvnw -Pdocs >/dev/null
143152
- mkdir -p target/generated-docs
144153
- cp -Rf target/generated-docs/index.html target/generated-docs/404.html

README.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
streaming-file-server [![build](https://travis-ci.org/daggerok/streaming-file-server.svg?branch=master)](https://travis-ci.org/daggerok/streaming-file-server)
22
=====================
33

4-
_latests VERSION: 4.3.4_
4+
_latests VERSION: 4.3.5_
55

66
full-stack java file server based on spring-boot / spring-* with no limitation for upload and download files
77

@@ -19,16 +19,16 @@ Read [reference documentation](http://daggerok.github.io/streaming-file-server)
1919

2020
```bash
2121
# database
22-
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.4/docker-compose.yml
22+
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.5/docker-compose.yml
2323
docker-compose -f docker-compose.yml up -d
2424

2525
# file-items data service
26-
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.4/file-items-service-4.3.4.jar
27-
bash file-items-service-4.3.4.jar --spring.profiles.active=db-pg
26+
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.5/file-items-service-4.3.5.jar
27+
bash file-items-service-4.3.5.jar --spring.profiles.active=db-pg
2828

2929
# file server
30-
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.4/file-server-4.3.4.jar
31-
bash file-server-4.3.4.jar --app.upload.path=./path/to/file-storage
30+
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.5/file-server-4.3.5.jar
31+
bash file-server-4.3.5.jar --app.upload.path=./path/to/file-storage
3232

3333
# cleanup
3434
docker-compose -f docker-compose.yml down -v
@@ -37,7 +37,7 @@ docker-compose -f docker-compose.yml down -v
3737
**or simply using shell-script**
3838

3939
```bash
40-
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.4/application.bash
40+
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.5/application.bash
4141

4242
# start
4343
bash application.bash start ./path/to/file-storage
@@ -53,7 +53,7 @@ bash application.bash clean ./path/to/file-storage
5353

5454
installed binaries: `wget`, `docker-compose`, `bash` and of course `java` are required
5555

56-
**for windows use https://github.com/daggerok/streaming-file-server/releases/download/4.3.4/application.cmd**
56+
**for windows use https://github.com/daggerok/streaming-file-server/releases/download/4.3.5/application.cmd**
5757

5858
```cmd
5959
@rem start
@@ -73,18 +73,18 @@ installed binaries: `which`, `wget`, `docker-compose`, `taskkill`, `mkdir` and o
7373
**with h2 in-memory database**
7474

7575
```bash
76-
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.4/file-items-service-4.3.4.jar
77-
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.4/file-server-4.3.4.jar
76+
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.5/file-items-service-4.3.5.jar
77+
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.5/file-server-4.3.5.jar
7878

79-
# bash file-items-service-4.3.4.jar --spring.profiles.active=db-h2 # or just:
80-
bash file-items-service-4.3.4.jar
81-
bash file-server-4.3.4.jar --app.upload.path=./path/to/file-storage
79+
# bash file-items-service-4.3.5.jar --spring.profiles.active=db-h2 # or just:
80+
bash file-items-service-4.3.5.jar
81+
bash file-server-4.3.5.jar --app.upload.path=./path/to/file-storage
8282
```
8383

8484
**or simply shell script for h2**
8585

8686
```bash
87-
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.4/application-h2.bash
87+
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.5/application-h2.bash
8888

8989
# start
9090
bash application-h2.bash start ./path/to/file-storage
@@ -96,7 +96,7 @@ bash application-h2.bash stop
9696
bash application-h2.bash clean ./path/to/file-storage
9797
```
9898

99-
**for windows use https://github.com/daggerok/streaming-file-server/releases/download/4.3.4/application-h2.cmd**
99+
**for windows use https://github.com/daggerok/streaming-file-server/releases/download/4.3.5/application-h2.cmd**
100100

101101
```cmd
102102
@rem start
@@ -199,7 +199,7 @@ docker system prune -af --volumes
199199
### stack
200200

201201
- spring
202-
- spring-boot 2.0.4.RELEASE ~~1.x~~
202+
- spring-boot 2.0.6.RELEASE ~~1.x~~
203203
- ~~QueryDSL~~, ~~spring-data-rest,~~ spring-data-jpa
204204
- cors: see modules/apps/file-items-service/src/main/java/daggerok/config/AppCfg.java
205205
- 404 fallback: see modules/apps/file-server/src/main/java/daggerok/web/config/FallbackConfig.java

RELEASE.md

Lines changed: 26 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,23 @@
11
# streaming-file-server
22

3-
_version: 4.3.4_
3+
_version: 4.3.5_
44

55
## Java file server
66

77
**Java file server** based on *spring-boot* with no memory, upload or download files size limitations
88

9-
Update version:
10-
11-
- bootstrap 3 to 4 migration:
12-
- bootstrap -> 4.1.3
13-
- bootstrap-file-input -> 4.4.8
14-
- font-awesome -> 5.4.1
15-
- replaced glyphicons with [Free Font Awesome](https://fontawesome.com/free)
16-
- gradle documentation
17-
- org.asciidoctor.convert -> 1.5.8.1
18-
- org.ajoberstar.git-publish -> 2.0.0-rc.2
19-
- upgrade gradle up to 4.10.2
20-
- other versions upgrade:
21-
- jgiven -> 0.16.1
22-
- powermock -> 2.0.0-RC.1
23-
- powermock -> 2.0.0-RC.1
24-
- selenide -> 5.0.0
25-
- asciidoctorj-pdf -> 1.5.0-alpha.16
26-
- com.github.ben-manes gradle plugin -> 0.20.0
27-
- com.ewerk.gradle.plugins.querydsl -> 1.0.10
28-
- io.spring.dependency-management -> 1.0.6.RELEASE
29-
- com.avast.gradle.docker-compose -> 0.7.1
9+
1. Applied spring team recommendations base on [that JIRA: Reactive Repositories are not supported by JPA. Need
10+
spring-webflux + spring-data-jpa combination get working](https://jira.spring.io/browse/DATACMNS-1413)
11+
2. Fix Download web controller (download file wailed with optional error)
12+
3. Fix docker compose all, add nginx reverse proxy
13+
4. Versions update
14+
15+
| dependency | version |
16+
|------------------------:|:--------------|
17+
| spring-boot | 2.0.6.RELEASE |
18+
| lombok | 1.18.4 |
19+
| org.asciidoctor.convert | 1.5.9.1 |
20+
| gradle | 5.0-rc-1 |
3021

3122
## Installation
3223

@@ -36,16 +27,16 @@ Update version:
3627

3728
```bash
3829
# docker compose file for postgres database
39-
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.4/docker-compose.yml
30+
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.5/docker-compose.yml
4031
docker-compose up -d
4132

4233
# file-items data service
43-
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.4/file-items-service-4.3.4.jar
44-
java -jar file-items-service-4.3.4.jar --spring.profiles.active=db-pg
34+
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.5/file-items-service-4.3.5.jar
35+
java -jar file-items-service-4.3.5.jar --spring.profiles.active=db-pg
4536

4637
# file server
47-
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.4/file-server-4.3.4.jar
48-
java -jar file-server-4.3.4.jar --app.upload.path=./path/to/file-storage
38+
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.5/file-server-4.3.5.jar
39+
java -jar file-server-4.3.5.jar --app.upload.path=./path/to/file-storage
4940

5041
# cleanup
5142
docker-compose down -v
@@ -55,7 +46,7 @@ docker-compose down -v
5546

5647
```bash
5748
# bash script
58-
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.4/application.bash
49+
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.5/application.bash
5950

6051
# start
6152
bash application.bash start ./path/to/file-storage
@@ -75,7 +66,7 @@ binaries: `wget`, `docker-compose`, `bash` and of course `java` are required
7566

7667
```cmd
7768
@rem batch shell-script
78-
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.4/application.cmd
69+
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.5/application.cmd
7970
8071
@rem start
8172
application.cmd start path\to\file-storage
@@ -96,18 +87,18 @@ binaries: `which`, `wget`, `docker-compose`, `taskkill`, `mkdir` and of course j
9687
#### manual setup
9788

9889
```bash
99-
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.4/file-items-service-4.3.4.jar
100-
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.4/file-server-4.3.4.jar
90+
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.5/file-items-service-4.3.5.jar
91+
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.5/file-server-4.3.5.jar
10192

102-
bash file-items-service-4.3.4.jar --spring.profiles.active=db-h2
103-
bash file-server-4.3.4.jar --app.upload.path=./path/to/file-storage
93+
bash file-items-service-4.3.5.jar --spring.profiles.active=db-h2
94+
bash file-server-4.3.5.jar --app.upload.path=./path/to/file-storage
10495
```
10596

10697
#### or for simplicity use special h2 automation shell-script
10798

10899
```bash
109100
# bash shell script
110-
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.4/application-h2.bash
101+
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.5/application-h2.bash
111102

112103
# start
113104
bash application-h2.bash start ./path/to/file-storage
@@ -123,7 +114,7 @@ bash application-h2.bash clean ./path/to/file-storage
123114

124115
```cmd
125116
@rem cmd script
126-
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.4/application-h2.cmd
117+
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.5/application-h2.cmd
127118
128119
@rem start
129120
application-h2.cmd start path\to\file-storage

0 commit comments

Comments
 (0)