IGNITE-28462: Upgrade remaining Maven plugins#12982
Conversation
812a406 to
724521a
Compare
c9de64f to
8217e35
Compare
|
|
||
| if (file.isFile() && fileName.toLowerCase().endsWith(".class")) | ||
| if (file.isFile() && fileName.toLowerCase().endsWith(".class") | ||
| && !fileName.equals("package-info.class")) |
There was a problem hiding this comment.
can you append a comment, why we need such a change plz ?
There was a problem hiding this comment.
Plugin update revealed that there was a defect in BinaryContext .
After the version was upgraded package-info.class became physically present in the package directory on the disk. The method picked it up as a regular class and added it to the list for registration as a binary type.
Logs: https://ci2.ignite.apache.org/buildConfiguration/IgniteTests24Java8_BinaryObjects/9015329?buildTab=overview
8e2be78 to
c22462b
Compare
There was a problem hiding this comment.
do we really need this change ?
There was a problem hiding this comment.
The keystore contained a 1024-bit DSA key expired in 2007. maven-jarsigner-plugin in new version 3.1.0 introduced strict validation that rejects signing with expired or weak certificates. Without this change, all GridFileDeploymentSelfTest tests fail at the build phase.
I couldn't find a specific run when this happened at the moment.
| private String readStream(InputStream inputStream) throws IOException { | ||
| ByteArrayOutputStream baos = new ByteArrayOutputStream(); | ||
| IOUtils.copy(inputStream, baos); | ||
| byte[] buf = new byte[4096]; |
There was a problem hiding this comment.
if you decide to remove import org.apache.commons.io.* dependency it need to be done through whole module, i.e. such method need to e moved into some utility class, othervize you need to revert such a change
There was a problem hiding this comment.
The decision of this change is not about removing commons-io. JavaVersionCommand.java runs inside a forked JVM. The forked process classpath does not include test-scoped dependencies, so commons-io is not available here.
There was a problem hiding this comment.
Before this PR, Surefire 2.x was used for modules/core (inherited from parent). In Surefire 2.x, useSystemClassLoader=true was the default, which caused test-scoped dependencies to be available in forked processes. This PR upgrades Surefire to 3.5.4 (via the new maven.surefire.plugin.version property in parent/pom.xml). In Surefire 3.x, IsolatedClassLoader enforces stricter classpath isolation — test-scoped jars are no longer propagated to child JVM processes. Since commons-io is declared as <scope>test</scope> in modules/core/pom.xml, it becomes unavailable in the forked JVM launched by IgniteProcessProxy.
| <scope>test</scope> | ||
| </dependency> | ||
|
|
||
| <dependency> |
There was a problem hiding this comment.
i found that all compile properly well without this change, wdyt ?
There was a problem hiding this comment.
You are right. commons-io is no longer used in compress tests after replacing FileUtils.sizeOfDirectory.
| File nodeFolder = ((IgniteEx)node).context().pdsFolderResolver().fileTree().nodeStorage(); | ||
|
|
||
| if (nodeFolder != null) | ||
| pers += FileUtils.sizeOfDirectory(nodeFolder); |
There was a problem hiding this comment.
the same as below: if you want to remove this dependency, such method need to be moved into some test utility class, othrvize revert this change or explain why you need it ?
Previous keystore used 1024-bit DSA key expired in 2007. maven-jarsigner-plugin 3.1.0 enforces strict validation and rejects signing with weak/expired certificates. Replaced with RSA 2048-bit key valid for 10 years.
|
| * @throws IOException If something goes wrong. | ||
| */ | ||
| private String readStream(InputStream inputStream) throws IOException { | ||
| // commons-io (IOUtils) is intentionally not used here. |
There was a problem hiding this comment.
probably need to move into GridTestIoUtils ?



Thank you for submitting the pull request to the Apache Ignite.
In order to streamline the review of the contribution
we ask you to ensure the following steps have been taken:
The Contribution Checklist
The description explains WHAT and WHY was made instead of HOW.
The following pattern must be used:
IGNITE-XXXX Change summarywhereXXXX- number of JIRA issue.(see the Maintainers list)
the
green visaattached to the JIRA ticket (see tabPR Checkat TC.Bot - Instance 1 or TC.Bot - Instance 2)Notes
If you need any help, please email dev@ignite.apache.org or ask anу advice on http://asf.slack.com #ignite channel.