Skip to content

Commit 8472332

Browse files
committed
4.3.10: Fix docker-compose postgres network name. Add jacoco and spotbugs gradle multi-project build configs. Versions upgrade: power mock -> 2.0.0, jruby -> 9.2.5.0, gradle -> 5.1
1 parent 2a8a5d7 commit 8472332

File tree

19 files changed

+274
-81
lines changed

19 files changed

+274
-81
lines changed

.travis.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ before_install:
3535
script:
3636
# jgiven tests and docs
3737
- ./gradlew -S -Pdebug clean test jgiven build documentation >/dev/null
38+
- ./gradlew check jacocoTestReport jacocoTestCoverageVerification
3839
- ./gradlew -S -Pdebug clean check build >/dev/null
3940

4041
- export APP_UPLOAD_PATH="/tmp/file-storage"

README.md

Lines changed: 49 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
streaming-file-server [![build](https://travis-ci.org/daggerok/streaming-file-server.svg?branch=master)](https://travis-ci.org/daggerok/streaming-file-server)
2-
=====================
3-
4-
_latest VERSION: 3.4.9_
1+
# streaming-file-server [![build](https://travis-ci.org/daggerok/streaming-file-server.svg?branch=master)](https://travis-ci.org/daggerok/streaming-file-server)
2+
_version: 4.3.10_
53

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

@@ -13,22 +11,28 @@ Read [reference documentation](http://daggerok.github.io/streaming-file-server)
1311

1412
[**try it locally**](https://github.com/daggerok/streaming-file-server/releases)
1513

14+
available commands:
15+
16+
- start: `<application> start <storage>`
17+
- stop: `<application> stop`
18+
- clean: `<application> clean <storage>`
19+
1620
### Installation
1721

1822
**with postgres in docker**
1923

2024
```bash
2125
# database
22-
wget https://github.com/daggerok/streaming-file-server/releases/download/3.4.9/docker-compose.yml
26+
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.10/docker-compose.yml
2327
docker-compose -f docker-compose.yml up -d
2428

2529
# file-items data service
26-
wget https://github.com/daggerok/streaming-file-server/releases/download/3.4.9/file-items-service-3.4.9.jar
27-
bash file-items-service-3.4.9.jar --spring.profiles.active=db-pg
30+
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.10/file-items-service-4.3.10.jar
31+
bash file-items-service-4.3.10.jar --spring.profiles.active=db-pg
2832

2933
# file server
30-
wget https://github.com/daggerok/streaming-file-server/releases/download/3.4.9/file-server-3.4.9.jar
31-
bash file-server-3.4.9.jar --app.upload.path=./path/to/file-storage
34+
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.10/file-server-4.3.10.jar
35+
bash file-server-4.3.10.jar --app.upload.path=./path/to/file-storage
3236

3337
# cleanup
3438
docker-compose -f docker-compose.yml down -v
@@ -37,7 +41,7 @@ docker-compose -f docker-compose.yml down -v
3741
**or simply using shell-script**
3842

3943
```bash
40-
wget https://github.com/daggerok/streaming-file-server/releases/download/3.4.9/application.bash
44+
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.10/application.bash
4145

4246
# start
4347
bash application.bash start ./path/to/file-storage
@@ -53,7 +57,7 @@ bash application.bash clean ./path/to/file-storage
5357

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

56-
**for windows use https://github.com/daggerok/streaming-file-server/releases/download/3.4.9/application.cmd**
60+
**for windows use https://github.com/daggerok/streaming-file-server/releases/download/4.3.10/application.cmd**
5761

5862
```cmd
5963
@rem start
@@ -73,18 +77,18 @@ installed binaries: `which`, `wget`, `docker-compose`, `taskkill`, `mkdir` and o
7377
**with h2 in-memory database**
7478

7579
```bash
76-
wget https://github.com/daggerok/streaming-file-server/releases/download/3.4.9/file-items-service-3.4.9.jar
77-
wget https://github.com/daggerok/streaming-file-server/releases/download/3.4.9/file-server-3.4.9.jar
80+
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.10/file-items-service-4.3.10.jar
81+
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.10/file-server-4.3.10.jar
7882

79-
# bash file-items-service-3.4.9.jar --spring.profiles.active=db-h2 # or just:
80-
bash file-items-service-3.4.9.jar
81-
bash file-server-3.4.9.jar --app.upload.path=./path/to/file-storage
83+
# bash file-items-service-4.3.10.jar --spring.profiles.active=db-h2 # or just:
84+
bash file-items-service-4.3.10.jar
85+
bash file-server-4.3.10.jar --app.upload.path=./path/to/file-storage
8286
```
8387

8488
**or simply shell script for h2**
8589

8690
```bash
87-
wget https://github.com/daggerok/streaming-file-server/releases/download/3.4.9/application-h2.bash
91+
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.10/application-h2.bash
8892

8993
# start
9094
bash application-h2.bash start ./path/to/file-storage
@@ -96,7 +100,7 @@ bash application-h2.bash stop
96100
bash application-h2.bash clean ./path/to/file-storage
97101
```
98102

99-
**for windows use https://github.com/daggerok/streaming-file-server/releases/download/3.4.9/application-h2.cmd**
103+
**for windows use https://github.com/daggerok/streaming-file-server/releases/download/4.3.10/application-h2.cmd**
100104

101105
```cmd
102106
@rem start
@@ -168,12 +172,32 @@ for image in $(docker images -qa) ; do docker rmi -f $image ; done
168172
docker system prune -af --volumes
169173
```
170174

175+
### spotbugs
176+
177+
```bash
178+
./gradlew check
179+
# or:
180+
./gradlew spotbugsMain spotbugsTest
181+
182+
tree ./build/spotbugs
183+
```
184+
185+
### jacoco
186+
187+
```bash
188+
#./gradlew build
189+
# or:
190+
./gradlew check jacocoTestReport jacocoTestCoverageVerification
191+
192+
open ./build/jacoco/modules-apps-file-server/index.html
193+
```
194+
171195
### version
172196

173197
#### set version
174198

175199
```bash
176-
./mvnw versions:set -DnewVersion=3.4.9
200+
./mvnw versions:set -DnewVersion=4.3.10
177201
```
178202

179203
#### process versions substitution
@@ -188,6 +212,12 @@ docker system prune -af --volumes
188212
./mvnw
189213
```
190214

215+
### all together
216+
217+
```bash
218+
./mvnw versions:set -DnewVersion=... ; ./mvnw -Pversions ; ./mvnw
219+
```
220+
191221
<!--
192222
193223
### known issues (deprecations)

RELEASE.md

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
11
# streaming-file-server
2-
3-
_version: 3.4.9_
2+
_version: 4.3.10_
43

54
## Java file server
65

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

8+
- fix docker-compose postgres network name
9+
- add jacoco and spotbugs gradle multi-project build configs
910
- versions upgrade:
1011

11-
| dependency | version |
12-
|-------------:|:---------|
13-
| maven | 3.6.0 |
14-
| gradle | 5.1-rc-3 |
15-
| font-awesome | 5.6.1 |
12+
| dependency | version |
13+
|-----------------------:|:--------|
14+
| power mock | 2.0.0 |
15+
| jruby | 9.2.5.0 |
16+
| gradle | 5.1 |
17+
| spotbugs-gradle-plugin | 1.6.9 |
1618

1719
## Installation
1820

@@ -22,16 +24,16 @@ _version: 3.4.9_
2224

2325
```bash
2426
# docker compose file for postgres database
25-
wget https://github.com/daggerok/streaming-file-server/releases/download/3.4.9/docker-compose.yml
27+
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.10/docker-compose.yml
2628
docker-compose up -d
2729

2830
# file-items data service
29-
wget https://github.com/daggerok/streaming-file-server/releases/download/3.4.9/file-items-service-3.4.9.jar
30-
java -jar file-items-service-3.4.9.jar --spring.profiles.active=db-pg
31+
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.10/file-items-service-4.3.10.jar
32+
java -jar file-items-service-4.3.10.jar --spring.profiles.active=db-pg
3133

3234
# file server
33-
wget https://github.com/daggerok/streaming-file-server/releases/download/3.4.9/file-server-3.4.9.jar
34-
java -jar file-server-3.4.9.jar --app.upload.path=./path/to/file-storage
35+
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.10/file-server-4.3.10.jar
36+
java -jar file-server-4.3.10.jar --app.upload.path=./path/to/file-storage
3537

3638
# cleanup
3739
docker-compose down -v
@@ -41,7 +43,7 @@ docker-compose down -v
4143

4244
```bash
4345
# bash script
44-
wget https://github.com/daggerok/streaming-file-server/releases/download/3.4.9/application.bash
46+
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.10/application.bash
4547

4648
# start
4749
bash application.bash start ./path/to/file-storage
@@ -61,7 +63,7 @@ binaries: `wget`, `docker-compose`, `bash` and of course `java` are required
6163

6264
```cmd
6365
@rem batch shell-script
64-
wget https://github.com/daggerok/streaming-file-server/releases/download/3.4.9/application.cmd
66+
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.10/application.cmd
6567
6668
@rem start
6769
application.cmd start path\to\file-storage
@@ -82,18 +84,18 @@ binaries: `which`, `wget`, `docker-compose`, `taskkill`, `mkdir` and of course j
8284
#### manual setup
8385

8486
```bash
85-
wget https://github.com/daggerok/streaming-file-server/releases/download/3.4.9/file-items-service-3.4.9.jar
86-
wget https://github.com/daggerok/streaming-file-server/releases/download/3.4.9/file-server-3.4.9.jar
87+
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.10/file-items-service-4.3.10.jar
88+
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.10/file-server-4.3.10.jar
8789

88-
bash file-items-service-3.4.9.jar --spring.profiles.active=db-h2
89-
bash file-server-3.4.9.jar --app.upload.path=./path/to/file-storage
90+
bash file-items-service-4.3.10.jar --spring.profiles.active=db-h2
91+
bash file-server-4.3.10.jar --app.upload.path=./path/to/file-storage
9092
```
9193

9294
#### or for simplicity use special h2 automation shell-script
9395

9496
```bash
9597
# bash shell script
96-
wget https://github.com/daggerok/streaming-file-server/releases/download/3.4.9/application-h2.bash
98+
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.10/application-h2.bash
9799

98100
# start
99101
bash application-h2.bash start ./path/to/file-storage
@@ -109,7 +111,7 @@ bash application-h2.bash clean ./path/to/file-storage
109111

110112
```cmd
111113
@rem cmd script
112-
wget https://github.com/daggerok/streaming-file-server/releases/download/3.4.9/application-h2.cmd
114+
wget https://github.com/daggerok/streaming-file-server/releases/download/4.3.10/application-h2.cmd
113115
114116
@rem start
115117
application-h2.cmd start path\to\file-storage

build.gradle

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,12 @@ buildscript {
1313
slf4jVersion = '1.7.25'
1414
vavrVersion = '0.9.2'
1515

16+
toolVersion = '3.1.10'
17+
spotbugsVersion = '1.6.9'
18+
1619
jgivenVersion = '0.17.0'
1720
selenideVersion = '5.1.0'
18-
powermockitoVersion = '2.0.0-RC.4'
21+
powermockitoVersion = '2.0.0'
1922

2023
popperVersion = '1.14.6'
2124
jqueryVersion = '3.3.1-1'
@@ -27,7 +30,7 @@ buildscript {
2730

2831
dependencies {
2932
classpath 'org.asciidoctor:asciidoctorj-pdf:1.5.0-alpha.16'
30-
classpath 'org.jruby:jruby-complete:9.2.4.1' /* 9.1.13.0 */
33+
classpath 'org.jruby:jruby-complete:9.2.5.0' /* 9.1.13.0 */
3134
}
3235

3336
configurations.all {
@@ -38,6 +41,7 @@ buildscript {
3841
}
3942

4043
plugins {
44+
id 'com.github.spotbugs' version '1.6.9'
4145
id 'net.saliman.properties' version '1.4.6'
4246
id 'com.github.ben-manes.versions' version '0.20.0'
4347

@@ -50,9 +54,9 @@ plugins {
5054
id 'com.ewerk.gradle.plugins.querydsl' version '1.0.10' apply false
5155
id 'io.spring.dependency-management' version '1.0.6.RELEASE' apply false
5256

53-
id 'com.github.breadmoirai.github-release' version '2.2.1' apply false
57+
id 'com.github.breadmoirai.github-release' version '2.2.3' apply false
5458
id 'org.ajoberstar.git-publish' version '2.0.0' /* '2.0.0-rc.2' *//* +0.3.0 +0.2.2 | -0.4.1 */ apply false
55-
id 'org.asciidoctor.convert' version '1.5.9.1' apply false // on windows my fail: instead use 1.5.8.1
59+
id 'org.asciidoctor.convert' version '1.5.9.1' apply false // on windows my fail use instead: 1.5.8.1
5660
id 'com.avast.gradle.docker-compose' version '0.7.1' apply false // fail with 0.8.9 + asciidoctor ruby
5761
}
5862

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
ogr.gradle.project.version = 3.4.9
1+
ogr.gradle.project.version = 4.3.10

gradle/jacoco.gradle

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
// read more: https://docs.gradle.org/current/userguide/jacoco_plugin.html
2+
// Also got some thoughts from here: https://gist.github.com/aalmiray/e6f54aa4b3803be0bcac
3+
4+
allprojects {
5+
apply plugin: 'java'
6+
apply plugin: 'jacoco'
7+
8+
jacoco {
9+
toolVersion = '0.8.2'
10+
}
11+
12+
jacocoTestReport {
13+
def jacocoPath = "$rootProject.buildDir.absolutePath/jacoco"
14+
def projectPath = project.path.replaceAll(':', '-').replaceFirst('-', '')
15+
reports {
16+
xml.enabled = false
17+
csv.enabled = false
18+
html.enabled = true
19+
html.destination file("$jacocoPath/$projectPath")
20+
}
21+
}
22+
build.dependsOn(jacocoTestReport)
23+
jacocoTestReport.mustRunAfter(test)
24+
25+
jacocoTestCoverageVerification {
26+
violationRules {
27+
rule {
28+
limit {
29+
minimum = 0.2 // very low coverage, only 20%... try achieve at least 0.5
30+
}
31+
}
32+
33+
rule {
34+
enabled = false
35+
element = 'CLASS'
36+
includes = ['org.gradle.*']
37+
38+
limit {
39+
counter = 'LINE'
40+
value = 'TOTALCOUNT'
41+
maximum = 0.3
42+
}
43+
}
44+
}
45+
}
46+
build.dependsOn(jacocoTestCoverageVerification)
47+
jacocoTestCoverageVerification.mustRunAfter(test)
48+
}

0 commit comments

Comments
 (0)