Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
e081743
Extensive Additions and Modifications Getting Ready for v4.0.0.
dshepperton May 23, 2026
584f5c9
Updated pom.xml to Add Some Missing SLF4J Dependencies.
dshepperton May 24, 2026
e286534
Added ImageUtilTest. First of several test classes to come.
dshepperton May 24, 2026
ed5f4dd
Fixed SLF4J Logger Usages; Review Deferring of Strings for Logging.
dshepperton May 25, 2026
dc6b3aa
Added Base64UtilTest.
dshepperton May 25, 2026
04c7a90
Add CanIgnoreReturnValue Annotation.
dshepperton May 25, 2026
6a418ff
Modify Base64Util APIs to Take PrintWriter instead of Writer.
dshepperton May 25, 2026
deb4c56
Tests for Some com.tractionsoftware.commons.properties Classes.
dshepperton May 25, 2026
ba935ea
Extensive Cleanup, Focused on File+Temp File APIs.
dshepperton May 26, 2026
6a729fb
Many Further Refinements and Fixes.
dshepperton Jun 1, 2026
9d2ed0c
Rename CollectionsUtil isNullOrEmpty Methods to isEmpty.
dshepperton Jun 2, 2026
4e0fca5
Pulled in Tests for EnhancedCharSequenceTest.
dshepperton Jun 2, 2026
5cc1e51
Many More Test Cases.
dshepperton Jun 2, 2026
4572b6b
Extensive Additional Test Cases.
dshepperton Jun 9, 2026
2fc0ec8
Continuing to Build out Test Suite Coverage.
dshepperton Jun 15, 2026
f48021e
Extensive Additions to the Test Suite, and Several Bug Fixes.
dshepperton Jun 19, 2026
9b402c7
Fix ImageUtil.cropToSquare. Make it correctly center vertically
dshepperton Jun 20, 2026
d39bc7c
Use static imports for Assertions.* Methods.
dshepperton Jun 20, 2026
cbc5199
Fix Handling of tryToDecode false in Some MailUtil Methods.
dshepperton Jun 20, 2026
0d2967f
Extensive Expansion of Test Cases; Several Fixes and Revisions.
dshepperton Jun 23, 2026
84f6f10
Ignore Some IDEA-Related Files and Other Cruft.
dshepperton Jun 26, 2026
4212d76
Further Test Coverage and Refinement, Couple of Fixes.
dshepperton Jun 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
12 changes: 12 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,15 @@ buildNumber.properties
.project
# JDT-specific (Eclipse Java Development Tools)
.classpath

# Temporary local libraries folder
lib/

# IntelliJ IDEA
.idea/

# IDEA's code coverage report location
htmlReport/

# macOS annoying dotfiles.
**/.DS_Store
223 changes: 170 additions & 53 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,63 +3,180 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion>
<modelVersion>4.0.0</modelVersion>

<groupId>com.tractionsoftware.commons</groupId>
<artifactId>tractionsoftware-commons</artifactId>
<version>3.1</version>
<name>Traction Software Commons</name>
<inceptionYear>2016</inceptionYear>
<description>
A collection of general helper classes for Java.
</description>
<url>https://tractionsoftware.com/</url>
<groupId>com.tractionsoftware.commons</groupId>
<artifactId>tractionsoftware-commons</artifactId>
<version>4.0.0-SNAPSHOT</version>
<name>Traction Software Commons</name>
<inceptionYear>2016</inceptionYear>
<description>
A collection of general helper classes for Java.
</description>
<url>https://tractionsoftware.com/</url>

<developers>
<developer>
<name>Dave Shepperton</name>
<id>shep</id>
<email>shep@tractionsoftware.com</email>
<organization>Traction Software, Inc.</organization>
<roles>
<role>Java Developer</role>
</roles>
</developer>
</developers>
<developers>
<developer>
<name>Dave Shepperton</name>
<id>shep</id>
<email>shep@tractionsoftware.com</email>
<organization>Traction Software, Inc.</organization>
<roles>
<role>Java Developer</role>
</roles>
</developer>
</developers>

<dependencies>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>33.4.8-jre</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.18.0</version>
</dependency>
</dependencies>

<properties>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
<properties>
<maven.compiler.source>26</maven.compiler.source>
<maven.compiler.target>26</maven.compiler.target>
<maven.compiler.release>26</maven.compiler.release>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<slf4j.version>2.0.18</slf4j.version>
<guava.version>33.6.0-jre</guava.version>
<commons-lang3.version>3.20.0</commons-lang3.version>
</properties>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.4.2</version>
<configuration>
<archive>
<manifestFile>src/main/resources/META-INF/MANIFEST.MF</manifestFile>
</archive>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>

<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${commons-lang3.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>1.15.0</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.22.0</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.22.0</version>
</dependency>
<dependency>
<groupId>jakarta.annotation</groupId>
<artifactId>jakarta.annotation-api</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>jakarta.activation</groupId>
<artifactId>jakarta.activation-api</artifactId>
<version>2.1.4</version>
</dependency>
<dependency>
<groupId>jakarta.mail</groupId>
<artifactId>jakarta.mail-api</artifactId>
<version>2.1.5</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.eclipse.angus</groupId>
<artifactId>jakarta.mail</artifactId>
<version>2.0.5</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.threeten</groupId>
<artifactId>threeten-extra</artifactId>
<version>1.8.0</version>
<scope>compile</scope>
</dependency>
<!-- temporary local dependencies -->
<dependency>
<groupId>com.tractionsoftware.heif-reader</groupId>
<artifactId>heif-reader</artifactId>
<version>1.0.1</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/heif-reader-1.0.1.jar</systemPath>
</dependency>
<dependency>
<groupId>com.tractionsoftware.httpclient-wrappers</groupId>
<artifactId>tractionsoftware-httpclient-wrappers-api</artifactId>
<version>1.0.1</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/tractionsoftware-httpclient-wrappers-api-1.0.1.jar</systemPath>
</dependency>
<dependency>
<groupId>com.tractionsoftware.httpclient-wrappers</groupId>
<artifactId>tractionsoftware-httpclient-wrappers-apache-hc</artifactId>
<version>1.0.1</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/tractionsoftware-httpclient-wrappers-apache-hc-1.0.1.jar</systemPath>
</dependency>

<!-- for com.tractionsoftware.commons.html -->
<!-- Source: https://mvnrepository.com/artifact/net.sourceforge.htmlcleaner/htmlcleaner -->
<dependency>
<groupId>net.sourceforge.htmlcleaner</groupId>
<artifactId>htmlcleaner</artifactId>
<version>2.29</version>
<scope>compile</scope>
</dependency>

<!-- temporary direct dependency; this will be a transitive dependency of heif-reader -->
<dependency>
<groupId>org.mp4parser</groupId>
<artifactId>isoparser</artifactId>
<version>1.9.56</version>
<scope>runtime</scope>
</dependency>

<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>6.1.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${slf4j.version}</version>
<scope>test</scope>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.5.0</version>
<configuration>
<archive>
<manifestFile>src/main/resources/META-INF/MANIFEST.MF</manifestFile>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.5.6</version>
<configuration>
<systemPropertyVariables>
<org.slf4j.simpleLogger.defaultLogLevel>warn</org.slf4j.simpleLogger.defaultLogLevel>
</systemPropertyVariables>
<enableAssertions>false</enableAssertions>
</configuration>
</plugin>
</plugins>
</build>

</project>
Loading