LantaoJin commented on code in PR #77:
URL: https://github.com/apache/datafusion-java/pull/77#discussion_r3280322316
##########
core/pom.xml:
##########
@@ -77,9 +83,34 @@ under the License.
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
-
<argLine>-Djava.library.path=${maven.multiModuleProjectDirectory}/native/target/debug
--add-opens=java.base/java.nio=ALL-UNNAMED</argLine>
+
<argLine>--add-opens=java.base/java.nio=ALL-UNNAMED</argLine>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>copy-native-lib</id>
+ <phase>process-classes</phase>
+ <goals><goal>run</goal></goals>
+ <configuration>
+ <target>
+ <property name="datafusion.native.lib.source"
+
value="${maven.multiModuleProjectDirectory}/native/target/${datafusion.native.profile}/${datafusion.lib.filename}"/>
+ <fail message="Native library not found at
${datafusion.native.lib.source}. Run 'cd native && cargo build' (or
'make') before building the JAR.">
+ <condition><not><available
file="${datafusion.native.lib.source}"/></not></condition>
+ </fail>
Review Comment:
On Windows, none of the new native profiles defines datafusion.lib.filename,
datafusion.lib.os, or datafusion.lib.arch, so this path remains unresolved and
the new process-classes fail check aborts mvn test/package even after cargo
build creates native/target/debug/datafusion_jni.dll. This regresses the
previous java.library.path flow before NativeLibraryLoader can fall back to
System.loadLibrary. The fix is adding a Windows profile mirroring the Linux/Mac
ones: `<datafusion.lib.os>windows</datafusion.lib.os>`,
`<datafusion.lib.arch>amd64</datafusion.lib.arch>`,
`<datafusion.lib.filename>datafusion_jni.dll</datafusion.lib.filename>`. Even
though no Windows binary will be bundled today, the build at least stops
failing, or skip the copy step on unsupported platforms.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]