Commit Graph

112 Commits (29fb2a3fd2dc1fc30cadf5db77ce034179698f00)

Author SHA1 Message Date
Andy Wilkinson ebebe09a9d Fix file handle leak in JarFileTests
The JarFile was not being closed which linked a file handle and caused
a test failure on Windows.

The local variable has been renamed as, when declared in a
try-with-resources, Checkstyle was confused by the shadowing of the
jarFile field and required references to jarFile within the try-block
the be prefixed with this.

See gh-19595
5 years ago
Madhura Bhave 91e459a5d4 Polish "Limit ChronoField values to their range"
See gh-19595
5 years ago
Dmytro Nosan 9bc68b9877 Limit ChronoField values to their range
See gh-19595
5 years ago
Andy Wilkinson 795c2f225f Support getComment() on a nested JarFile
Previously, calling getComment() on a nested jar file would result
in the outer jar file's comment being returned.

This commit updates the loader's JarFile to read the file's comment
from the central directory end record and return it from getComment().

Fixes gh-18128
5 years ago
Madhura Bhave 541d3c4853 Fix typo 5 years ago
Phillip Webb fb1dd8fe93 Merge branch '2.0.x' into 2.1.x 5 years ago
Phillip Webb 913e831f4e Merge '1.5.x' into 2.0.x 5 years ago
Andy Wilkinson 4083c721f2 Fix URL normalization when replacing /./ with /
Previously, a regular expression of /./ was used to replace /./ with
/.  The '.'' in the expression matches any single character so the
replacement was more broadly applicable than it should have been. For
example, /a/ would be replaced with /.

This commit uses Pattern.LITERAL to compile the regular expression
from the CURRENT_DIR (/./) contant. This allows the constant to be
used to check for occurances of /./ in the string before attempting
replacement, while also ensuring that the '.' is treated literally.

Closes gh-17341
5 years ago
Phillip Webb 92bff3c328 Merge branch '2.0.x' into 2.1.x 5 years ago
Phillip Webb cfeb0239b7 Merge branch '1.5.x' into 2.0.x 5 years ago
Andy Wilkinson a5ae1de706 Fix spring-boot-loader's tests on Windows
Closes gh-17275
5 years ago
Andy Wilkinson 7d59b78829 Fix handling of jar files with + chars in their path
Closes gh-17208
6 years ago
Andy Wilkinson c12ccfb342 Close JarFile if failure occurs during construction
Fixes gh-17123
6 years ago
Andy Wilkinson 24925c3dae Merge branch '2.0.x' into 2.1.x
Closes gh-17078
6 years ago
Andy Wilkinson c6c139d980 Merge branch '1.5.x' into 2.0.x 6 years ago
Phillip Webb ccfbd03482 Merge branch '2.0.x' into 2.1.x 6 years ago
Phillip Webb b442d3b906 Merge branch '1.5.x' into 2.0.x 6 years ago
Andy Wilkinson 864942ad4f Merge branch '2.0.x' into 2.1.x 6 years ago
Andy Wilkinson ba4671f0ab Merge branch '1.5.x' into 2.0.x 6 years ago
Andy Wilkinson 4900505425 Merge branch '2.0.x' into 2.1.x 6 years ago
Andy Wilkinson fedb40a2bf Merge branch '1.5.x' into 2.0.x 6 years ago
Stephane Nicoll 567a82f4ba Update multi release test jar to include Java 12
See gh-16212
6 years ago
Andy Wilkinson e23f72c8b0 Merge branch '2.0.x' into 2.1.x 6 years ago
Andy Wilkinson 9fbd38ab3c Merge branch '1.5.x' into 2.0.x 6 years ago
Andy Wilkinson a36aa67b52 Merge branch '2.0.x' into 2.1.x 6 years ago
Spring Operator 3e2b6ac8ed Update build and setup configuration to use HTTPS
See gh-16246
6 years ago
Andy Wilkinson 68e3de0357 Use name from header not alias when checking entry has expected name
Previously, an entry’s potentially aliased name would be used when
checking that it has a particular name. The alias would always be
applied, irrespective of the name in the header. As a result, when
there was a clashing hash and an entry with a particular index did
not have the expected name, this would be concealed by the alias
being applied and the name check being done with the alias.

This commit reworks JarEntry to store the name in its header in
addition to its alias, if any. When checking that the entry has the
expected name, the unaliased name is passed in and the entry compares
it with the name from the header rather than the alias.

Closes gh-15981
6 years ago
Andy Wilkinson 8a7958ef55 Do not use reflection to fall back to JDKs jar URLStreamHandler
Closes gh-15844
6 years ago
Stephane Nicoll 51d3626c3b Merge branch '2.0.x' into 2.1.x 6 years ago
dreis2211 27e89bbb8a Optimize StringSequence
Closes gh-15473
6 years ago
Stephane Nicoll 7dbe70dc61 Merge branch '2.0.x' into 2.1.x 6 years ago
Stephane Nicoll c0b07a9429 Polish "Fix StringSequence.equals() for different lengths"
Closes gh-15465
6 years ago
dreis2211 2a0680c2ba Fix StringSequence.equals() for different lengths
See gh-15465
6 years ago
Stephane Nicoll ef40241bf6 Merge branch '2.0.x' into 2.1.x 6 years ago
dreis2211 d864b427eb Remove unused ByteArrayStartsWith matcher
Closes gh-15386
6 years ago
Andy Wilkinson 3fac0f0360 Polish multi-release jar support to avoid possible StackOverflowError
See gh-12523
6 years ago
Andy Wilkinson 56eebc9385 Update fat jar loader to support multi-release jar files
Closes gh-12523
6 years ago
Phillip Webb f3fa20b2d1 Polish 6 years ago
dreis2211 e68b9e8322 Remove unnecessary parameters for String.substring
Closes gh-14661
6 years ago
Phillip Webb d76bba5e6f Migrate from ExpectedException rule to AssertJ
Replace ExpectedException JUnit rules with AssertJ exception
assertions.

Closes gh-14336
6 years ago
Phillip Webb 11b1318cad Reduce GC pressure in JAR handler
Update the JAR `Hander` so that URL `startsWith` checks produce less
garbage. Comparisons are now performed first on the `path` rather than
the full `toString`. URL `toString` operations produce quite a lot of
garbage since a `StringBuilder` is always used.

In addition, we now also cache the JarFile URL toString to save repeated
calculation.

Closes gh-14561
6 years ago
Phillip Webb 2e2f91d4a0 Merge branch '1.5.x' into 2.0.x 6 years ago
Andy Wilkinson 29e38f4af8 Merge branch '1.5.x' into 2.0.x 6 years ago
Stephane Nicoll 21691f0b20 Merge branch '1.5.x' into 2.0.x 6 years ago
Phillip Webb 0ec22c8bf9 Polish copyright date on changed files 6 years ago
Phillip Webb aeb885192e Polish ternary expressions 6 years ago
Phillip Webb 63b609827e Fix checkstyle method order issues
Fix checkstyle issues with method ordering following the
spring-javaformat upgrade.

See gh-13932
6 years ago
Phillip Webb e6a68b39a3 Fix checkstyle javadoc issues
Fix checkstyle issues in javadoc following the spring-javaformat
upgrade.

See gh-13932
6 years ago
Phillip Webb 7fc455654a Fix checkstyle ternary issues
Fix checkstyle issues with ternary expressions following the
spring-javaformat upgrade.

See gh-13932
6 years ago
Johnny Lim 6b0ce46491 Polish
Closes gh-13320
7 years ago