Skip to content

Commit 365811b

Browse files
authored
Merge pull request #24 from FredPraca/feat/upgrade-versions
Upgrade versions
2 parents cbd852d + 59effcb commit 365811b

22 files changed

+220
-197
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ remove the dots and make the first characters upper case. For example, `jthumbna
7272

7373
## Requirements
7474

75-
- Java JRE **17**
75+
- Java JRE **21**
7676
- OpenOffice 4.x or LibreOffice 7.x
7777

7878
## Supported File Formats
@@ -97,7 +97,7 @@ remove the dots and make the first characters upper case. For example, `jthumbna
9797
<dependency>
9898
<groupId>io.github.makbn</groupId>
9999
<artifactId>jthumbnail</artifactId>
100-
<version>2.2.0</version>
100+
<version>2.2.1</version>
101101
</dependency>
102102
```
103103

@@ -108,7 +108,7 @@ remove the dots and make the first characters upper case. For example, `jthumbna
108108
**Step 1**. Add the dependency to the `build.gradle` file:
109109

110110
```gradle
111-
compile "io.github.makbn:jthumbnail:2.2.0"
111+
compile "io.github.makbn:jthumbnail:2.2.1"
112112
```
113113

114114
## TODO

build.gradle

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
plugins {
2-
id "org.springframework.boot" version "3.1.3"
3-
id "io.spring.dependency-management" version "1.1.3"
2+
id "org.springframework.boot" version "3.5.4"
3+
id "io.spring.dependency-management" version "1.1.7"
44
id "java-library"
55
id "maven-publish"
66
}
@@ -21,7 +21,7 @@ repositories {
2121

2222
dependencyManagement {
2323
imports {
24-
mavenBom 'org.springframework.modulith:spring-modulith-bom:1.0.0'
24+
mavenBom 'org.springframework.modulith:spring-modulith-bom:1.4.2'
2525
}
2626
}
2727

@@ -36,9 +36,12 @@ dependencies {
3636
testAnnotationProcessor "org.projectlombok:lombok:${lombok_ver}"
3737

3838
implementation "org.springframework.modulith:spring-modulith-starter-core"
39+
implementation "org.springframework.modulith:spring-modulith-events-api"
3940
implementation "org.springframework:spring-tx"
4041
implementation "org.springframework.boot:spring-boot-starter-web"
41-
implementation "e-iceblue:spire.office.free:${iceblue_ver}"
42+
implementation api("e-iceblue:spire.office.free:${iceblue_ver}@pom") {
43+
transitive = true
44+
}
4245
implementation "org.apache.poi:poi:${apachepoi_ver}"
4346
implementation "org.apache.poi:poi-scratchpad:${apachepoi_ver}"
4447
implementation "commons-io:commons-io:${commonsio_ver}"
@@ -61,9 +64,9 @@ dependencies {
6164
}
6265

6366
group = 'io.github.makbn'
64-
version = 'v2.2.0'
67+
version = 'v2.2.1'
6568
description = 'JThumbnail is a Java library for creating Thumbnails of common types of files'
66-
java.sourceCompatibility = JavaVersion.VERSION_17
69+
java.sourceCompatibility = JavaVersion.VERSION_21
6770

6871
publishing {
6972
publications {
@@ -72,7 +75,7 @@ publishing {
7275

7376
groupId = 'io.github.makbn'
7477
artifactId = 'jthumbnail'
75-
version = '2.2.0'
78+
version = '2.2.1'
7679
}
7780
}
7881

@@ -88,6 +91,11 @@ publishing {
8891
}
8992
}
9093

94+
jar {
95+
enabled = true
96+
archiveClassifier = '' //use empty string
97+
}
98+
9199
test {
92100
useJUnitPlatform()
93101
testLogging {

gradle.properties

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
apachepoi_ver=5.2.2
2-
commonsio_ver=2.11.0
3-
jod_ver=4.4.2
4-
pdfbox_ver=2.0.26
5-
slf4j_ver=2.0.16
6-
javacv_ver=1.5.7
7-
opencv_ver=4.5.5-1.5.7
8-
thumb_ver=0.4.17
1+
apachepoi_ver=5.4.1
2+
commonsio_ver=2.20.0
3+
jod_ver=4.4.10
4+
pdfbox_ver=3.0.5
5+
slf4j_ver=2.0.17
6+
javacv_ver=1.5.12
7+
opencv_ver=4.11.0-1.5.12
8+
thumb_ver=0.4.20
99
mp3agic_ver=0.9.1
10-
tika_ver=2.4.1
11-
commonscli_ver=1.5.0
10+
tika_ver=3.2.2
11+
commonscli_ver=1.10.0
1212
opencvplat_ver=4.0.1-1.4.4
13-
lombok_ver=1.18.24
14-
junit_ver=5.8.2
15-
iceblue_ver=5.3.1
16-
springdoc_ver=2.2.0
13+
lombok_ver=1.18.38
14+
junit_ver=5.13.4
15+
iceblue_ver=5.4.0
16+
springdoc_ver=2.8.9

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

src/main/java/io/github/makbn/jthumbnail/api/controller/ThumbnailController.java

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,25 @@
11
package io.github.makbn.jthumbnail.api.controller;
22

3+
import java.io.IOException;
4+
import java.nio.file.Files;
5+
import java.util.Optional;
6+
7+
import org.springframework.core.io.ByteArrayResource;
8+
import org.springframework.core.io.Resource;
9+
import org.springframework.http.HttpHeaders;
10+
import org.springframework.http.HttpStatus;
11+
import org.springframework.http.MediaType;
12+
import org.springframework.http.ResponseEntity;
13+
import org.springframework.web.bind.annotation.CrossOrigin;
14+
import org.springframework.web.bind.annotation.GetMapping;
15+
import org.springframework.web.bind.annotation.PathVariable;
16+
import org.springframework.web.bind.annotation.PostMapping;
17+
import org.springframework.web.bind.annotation.RequestMapping;
18+
import org.springframework.web.bind.annotation.RequestParam;
19+
import org.springframework.web.bind.annotation.RequestPart;
20+
import org.springframework.web.bind.annotation.RestController;
21+
import org.springframework.web.multipart.MultipartFile;
22+
323
import io.github.makbn.jthumbnail.api.model.JThumbnailApiResponse;
424
import io.github.makbn.jthumbnail.api.model.Thumbnail;
525
import io.github.makbn.jthumbnail.api.service.ThumbnailService;
@@ -13,19 +33,6 @@
1333
import io.swagger.v3.oas.annotations.tags.Tag;
1434
import lombok.AccessLevel;
1535
import lombok.experimental.FieldDefaults;
16-
import org.springframework.beans.factory.annotation.Autowired;
17-
import org.springframework.core.io.ByteArrayResource;
18-
import org.springframework.core.io.Resource;
19-
import org.springframework.http.HttpHeaders;
20-
import org.springframework.http.HttpStatus;
21-
import org.springframework.http.MediaType;
22-
import org.springframework.http.ResponseEntity;
23-
import org.springframework.web.bind.annotation.*;
24-
import org.springframework.web.multipart.MultipartFile;
25-
26-
import java.io.IOException;
27-
import java.nio.file.Files;
28-
import java.util.Optional;
2936

3037
@CrossOrigin("*")
3138
@RestController
@@ -35,7 +42,6 @@
3542
public class ThumbnailController {
3643
ThumbnailService service;
3744

38-
@Autowired
3945
public ThumbnailController(ThumbnailService service) {
4046
this.service = service;
4147
}

src/main/java/io/github/makbn/jthumbnail/api/service/ThumbnailService.java

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,5 @@
11
package io.github.makbn.jthumbnail.api.service;
22

3-
import io.github.makbn.jthumbnail.api.model.Thumbnail;
4-
import io.github.makbn.jthumbnail.core.JThumbnailer;
5-
import io.github.makbn.jthumbnail.core.config.AppSettings;
6-
import io.github.makbn.jthumbnail.core.model.ThumbnailCandidate;
7-
import io.github.makbn.jthumbnail.core.model.ThumbnailEvent;
8-
import lombok.AccessLevel;
9-
import lombok.NonNull;
10-
import lombok.experimental.FieldDefaults;
11-
import lombok.extern.log4j.Log4j2;
12-
import org.springframework.beans.factory.annotation.Autowired;
13-
import org.springframework.modulith.ApplicationModuleListener;
14-
import org.springframework.stereotype.Component;
15-
import org.springframework.web.multipart.MultipartFile;
16-
173
import java.io.File;
184
import java.io.IOException;
195
import java.nio.file.Files;
@@ -24,6 +10,20 @@
2410
import java.util.concurrent.CompletableFuture;
2511
import java.util.concurrent.ExecutionException;
2612

13+
import org.springframework.modulith.events.ApplicationModuleListener;
14+
import org.springframework.stereotype.Component;
15+
import org.springframework.web.multipart.MultipartFile;
16+
17+
import io.github.makbn.jthumbnail.api.model.Thumbnail;
18+
import io.github.makbn.jthumbnail.core.JThumbnailer;
19+
import io.github.makbn.jthumbnail.core.config.AppSettings;
20+
import io.github.makbn.jthumbnail.core.model.ThumbnailCandidate;
21+
import io.github.makbn.jthumbnail.core.model.ThumbnailEvent;
22+
import lombok.AccessLevel;
23+
import lombok.NonNull;
24+
import lombok.experimental.FieldDefaults;
25+
import lombok.extern.log4j.Log4j2;
26+
2727
@Component
2828
@Log4j2
2929
@FieldDefaults(makeFinal = true, level = AccessLevel.PRIVATE)
@@ -35,7 +35,6 @@ public class ThumbnailService {
3535
// can be replaced with LoadingCache to prevent OOM
3636
Map<String, File> temporaryFilesMap;
3737

38-
@Autowired
3938
public ThumbnailService(JThumbnailer thumbnailer, AppSettings settings) {
4039
this.thumbnailer = thumbnailer;
4140
this.settings = settings;

src/main/java/io/github/makbn/jthumbnail/core/JThumbnailer.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
package io.github.makbn.jthumbnail.core;
22

3+
import java.io.Closeable;
4+
import java.io.File;
5+
6+
import org.springframework.context.ApplicationEventPublisher;
7+
import org.springframework.scheduling.annotation.Async;
8+
import org.springframework.scheduling.annotation.EnableAsync;
9+
import org.springframework.stereotype.Component;
10+
311
import io.github.makbn.jthumbnail.core.exception.ThumbnailerException;
412
import io.github.makbn.jthumbnail.core.exception.ThumbnailerRuntimeException;
513
import io.github.makbn.jthumbnail.core.listener.ThumbnailListener;
@@ -8,14 +16,6 @@
816
import io.github.makbn.jthumbnail.core.util.mime.MimeTypeDetector;
917
import lombok.AccessLevel;
1018
import lombok.experimental.FieldDefaults;
11-
import org.springframework.beans.factory.annotation.Autowired;
12-
import org.springframework.context.ApplicationEventPublisher;
13-
import org.springframework.scheduling.annotation.Async;
14-
import org.springframework.scheduling.annotation.EnableAsync;
15-
import org.springframework.stereotype.Component;
16-
17-
import java.io.Closeable;
18-
import java.io.File;
1919

2020
@Component
2121
@EnableAsync
@@ -25,7 +25,6 @@ public class JThumbnailer implements Closeable {
2525
MimeTypeDetector typeDetector;
2626
ApplicationEventPublisher events;
2727

28-
@Autowired
2928
public JThumbnailer(ThumbnailerManager manager, ApplicationEventPublisher events) {
3029
this.manager = manager;
3130
this.events = events;

src/main/java/io/github/makbn/jthumbnail/core/ThumbnailerManager.java

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,5 @@
11
package io.github.makbn.jthumbnail.core;
22

3-
import io.github.makbn.jthumbnail.core.exception.ThumbnailerException;
4-
import io.github.makbn.jthumbnail.core.exception.ThumbnailerRuntimeException;
5-
import io.github.makbn.jthumbnail.core.model.ExecutionResult;
6-
import io.github.makbn.jthumbnail.core.thumbnailers.Thumbnailer;
7-
import io.github.makbn.jthumbnail.core.util.mime.MimeTypeDetector;
8-
import lombok.AccessLevel;
9-
import lombok.experimental.FieldDefaults;
10-
import lombok.experimental.NonFinal;
11-
import lombok.extern.slf4j.Slf4j;
12-
import org.apache.commons.io.FilenameUtils;
13-
import org.springframework.beans.factory.annotation.Autowired;
14-
import org.springframework.context.annotation.DependsOn;
15-
import org.springframework.stereotype.Component;
16-
173
import java.io.File;
184
import java.io.IOException;
195
import java.nio.file.Files;
@@ -24,6 +10,20 @@
2410
import java.util.function.Predicate;
2511
import java.util.stream.Collectors;
2612

13+
import org.apache.commons.io.FilenameUtils;
14+
import org.springframework.context.annotation.DependsOn;
15+
import org.springframework.stereotype.Component;
16+
17+
import io.github.makbn.jthumbnail.core.exception.ThumbnailerException;
18+
import io.github.makbn.jthumbnail.core.exception.ThumbnailerRuntimeException;
19+
import io.github.makbn.jthumbnail.core.model.ExecutionResult;
20+
import io.github.makbn.jthumbnail.core.thumbnailers.Thumbnailer;
21+
import io.github.makbn.jthumbnail.core.util.mime.MimeTypeDetector;
22+
import lombok.AccessLevel;
23+
import lombok.experimental.FieldDefaults;
24+
import lombok.experimental.NonFinal;
25+
import lombok.extern.slf4j.Slf4j;
26+
2727

2828
/**
2929
* This class manages all available Thumbnailers.
@@ -67,7 +67,6 @@ public class ThumbnailerManager implements Thumbnailer {
6767
/**
6868
* Initialise Thumbnail Manager
6969
*/
70-
@Autowired
7170
public ThumbnailerManager(List<? extends Thumbnailer> thumbnailers) {
7271
this.thumbnailers = registerThumbnailer(thumbnailers);
7372
this.mimeTypeDetector = new MimeTypeDetector();

src/main/java/io/github/makbn/jthumbnail/core/config/OfficeManagerConfiguration.java

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,26 @@
11
package io.github.makbn.jthumbnail.core.config;
22

3-
import io.github.makbn.jthumbnail.core.exception.ThumbnailerRuntimeException;
4-
import lombok.AccessLevel;
5-
import lombok.experimental.FieldDefaults;
3+
import java.io.File;
4+
import java.io.IOException;
5+
66
import org.jodconverter.core.office.OfficeException;
77
import org.jodconverter.core.office.OfficeManager;
88
import org.jodconverter.local.office.ExistingProcessAction;
99
import org.jodconverter.local.office.LocalOfficeManager;
10-
import org.springframework.beans.factory.annotation.Autowired;
1110
import org.springframework.context.annotation.Bean;
1211
import org.springframework.context.annotation.Configuration;
1312
import org.springframework.context.annotation.DependsOn;
1413

15-
import java.io.File;
16-
import java.io.IOException;
14+
import io.github.makbn.jthumbnail.core.exception.ThumbnailerRuntimeException;
15+
import lombok.AccessLevel;
16+
import lombok.experimental.FieldDefaults;
1717

1818
@Configuration("jtOfficeManagerConfiguration")
1919
@DependsOn("jtApplicationConfig")
2020
@FieldDefaults(makeFinal = true, level = AccessLevel.PRIVATE)
2121
public class OfficeManagerConfiguration {
2222
OfficeManager officeManager;
2323

24-
@Autowired
2524
public OfficeManagerConfiguration(AppSettings settings) throws IOException {
2625
File dir = settings.getOfficeDirectory();
2726

@@ -32,7 +31,6 @@ public OfficeManagerConfiguration(AppSettings settings) throws IOException {
3231
.taskExecutionTimeout(settings.getTimeout())
3332
.maxTasksPerProcess(settings.getMaxTaskPerProcess())
3433
.existingProcessAction(ExistingProcessAction.CONNECT_OR_KILL)
35-
.disableOpengl(true)
3634
.officeHome(settings.getOpenOfficePath())
3735
.install()
3836
.build();
@@ -44,7 +42,7 @@ public OfficeManagerConfiguration(AppSettings settings) throws IOException {
4442
}
4543

4644
@Bean("officeManager")
47-
public OfficeManager getOfficeManager() {
45+
OfficeManager getOfficeManager() {
4846
return officeManager;
4947
}
5048

0 commit comments

Comments
 (0)