@@ -157,7 +157,7 @@ tasks.register('buildRust', Exec) {
157157 description = ' Build the Rust JNI library using Cargo'
158158 group = ' build'
159159
160- workingDir file(' src/main/rust' )
160+ workingDir = file(" ${ projectDir } / src/main/rust" )
161161
162162 // Determine the target directory and library name based on OS
163163 def osName = System . getProperty(' os.name' ). toLowerCase()
@@ -166,7 +166,7 @@ tasks.register('buildRust', Exec) {
166166
167167 // Use debug build for development, release for production
168168 def buildType = project. hasProperty(' rustRelease' ) ? ' release' : ' debug'
169- def targetDir = " target/ ${ buildType } "
169+ def targetDir = file( " ${ workingDir } /target/ " )
170170
171171 // Find cargo executable - try common locations
172172 def cargoExecutable = ' cargo'
@@ -184,9 +184,9 @@ tasks.register('buildRust', Exec) {
184184 }
185185
186186 def cargoArgs = [cargoExecutable, ' build' ]
187- if (buildType == ' release' ) {
188- cargoArgs. add(' --release' )
189- }
187+ // if (buildType == 'release') {
188+ cargoArgs. add(' --release' )
189+ // }
190190
191191 if (osName. contains(' windows' )) {
192192 commandLine cargoArgs
@@ -195,10 +195,10 @@ tasks.register('buildRust', Exec) {
195195 }
196196
197197 // Set environment variables for cross-compilation if needed
198- environment ' CARGO_TARGET_DIR' , file( ' jni/target ' ) . absolutePath
198+ environment ' CARGO_TARGET_DIR' , targetDir . absolutePath
199199
200- inputs. files fileTree(' src/main/rust/ src' )
201- inputs. file ' src/main/rust/ Cargo.toml'
200+ inputs. files fileTree(" ${ workingDir } / src" )
201+ inputs. file " ${ workingDir } / Cargo.toml"
202202// outputs.files file("jni/${targetDir}/${libPrefix}opensearch_datafusion_jni${libExtension}")
203203// System.out.println("Building Rust library in ${buildType} mode");
204204
0 commit comments