Skip to content

Commit dd9a595

Browse files
committed
add fix for classpath change and for cmake discovery on macos
Signed-off-by: Samuel Herman <[email protected]>
1 parent 5d61402 commit dd9a595

16 files changed

+95
-38
lines changed

build.gradle

+80-23
Original file line numberDiff line numberDiff line change
@@ -329,31 +329,88 @@ task windowsPatches(type:Exec) {
329329
commandLine 'cmd', '/c', "Powershell -File $rootDir\\scripts\\windowsScript.ps1"
330330
}
331331

332-
task cmakeJniLib(type:Exec) {
333-
workingDir 'jni'
334-
def args = []
335-
args.add("cmake")
336-
args.add("-B build")
337-
args.add("-DKNN_PLUGIN_VERSION=${opensearch_version}")
338-
args.add("-DAVX2_ENABLED=${avx2_enabled}")
339-
args.add("-DAVX512_ENABLED=${avx512_enabled}")
340-
args.add("-DAVX512_SPR_ENABLED=${avx512_spr_enabled}")
341-
args.add("-DCOMMIT_LIB_PATCHES=${commit_lib_patches}")
342-
args.add("-DAPPLY_LIB_PATCHES=${apply_lib_patches}")
343-
def javaHome = Jvm.current().getJavaHome()
344-
logger.lifecycle("Java home directory used by gradle: $javaHome")
345-
if (Os.isFamily(Os.FAMILY_MAC)) {
346-
environment('JAVA_HOME',javaHome)
347-
}
348-
if (Os.isFamily(Os.FAMILY_WINDOWS)) {
349-
dependsOn windowsPatches
350-
args.add("-G")
351-
args.add("Unix Makefiles")
352-
args.add("-DBLAS_LIBRARIES=$rootDir\\src\\main\\resources\\windowsDependencies\\libopenblas.dll")
353-
args.add("-DLAPACK_LIBRARIES=$rootDir\\src\\main\\resources\\windowsDependencies\\libopenblas.dll")
332+
tasks.register('checkCmakePath', Exec) {
333+
def outputStream = new ByteArrayOutputStream()
334+
def findCmakePathArgs = []
335+
findCmakePathArgs.add("which")
336+
findCmakePathArgs.add("cmake")
337+
commandLine findCmakePathArgs
338+
standardOutput = outputStream
339+
doLast {
340+
def cmakePath = outputStream.toString().trim()
341+
println "CMake path: ${cmakePath}"
342+
// Ensure cmakePath is treated as a String. If parsing to an int is required,
343+
// handle it explicitly, though a path typically should not be parsed as an int.
344+
if (cmakePath.isEmpty()) {
345+
throw new GradleException("CMake not found in PATH. Please install CMake.")
346+
}
347+
workingDir 'jni'
348+
def args = []
349+
args.add("cmake")
350+
args.add("-B build")
351+
args.add("-DKNN_PLUGIN_VERSION=${opensearch_version}")
352+
args.add("-DAVX2_ENABLED=${avx2_enabled}")
353+
args.add("-DAVX512_ENABLED=${avx512_enabled}")
354+
args.add("-DAVX512_SPR_ENABLED=${avx512_spr_enabled}")
355+
args.add("-DCOMMIT_LIB_PATCHES=${commit_lib_patches}")
356+
args.add("-DAPPLY_LIB_PATCHES=${apply_lib_patches}")
357+
def javaHome = Jvm.current().getJavaHome()
358+
logger.lifecycle("Java home directory used by gradle: $javaHome")
359+
if (Os.isFamily(Os.FAMILY_MAC)) {
360+
environment('JAVA_HOME', javaHome)
361+
}
362+
if (Os.isFamily(Os.FAMILY_WINDOWS)) {
363+
dependsOn windowsPatches
364+
args.add("-G")
365+
args.add("Unix Makefiles")
366+
args.add("-DBLAS_LIBRARIES=$rootDir\\src\\main\\resources\\windowsDependencies\\libopenblas.dll")
367+
args.add("-DLAPACK_LIBRARIES=$rootDir\\src\\main\\resources\\windowsDependencies\\libopenblas.dll")
368+
}
369+
370+
commandLine args
354371
}
372+
}
355373

356-
commandLine args
374+
tasks.register('cmakeJniLib', Exec) {
375+
def outputStream = new ByteArrayOutputStream()
376+
def findCmakePathArgs = []
377+
findCmakePathArgs.add("which")
378+
findCmakePathArgs.add("cmake")
379+
commandLine findCmakePathArgs
380+
standardOutput = outputStream
381+
doLast {
382+
def cmakePath = outputStream.toString().trim()
383+
println "CMake path: ${cmakePath}"
384+
// Ensure cmakePath is treated as a String. If parsing to an int is required,
385+
// handle it explicitly, though a path typically should not be parsed as an int.
386+
if (cmakePath.isEmpty()) {
387+
throw new GradleException("CMake not found in PATH. Please install CMake.")
388+
}
389+
workingDir 'jni'
390+
def args = []
391+
args.add("cmake")
392+
args.add("-B build")
393+
args.add("-DKNN_PLUGIN_VERSION=${opensearch_version}")
394+
args.add("-DAVX2_ENABLED=${avx2_enabled}")
395+
args.add("-DAVX512_ENABLED=${avx512_enabled}")
396+
args.add("-DAVX512_SPR_ENABLED=${avx512_spr_enabled}")
397+
args.add("-DCOMMIT_LIB_PATCHES=${commit_lib_patches}")
398+
args.add("-DAPPLY_LIB_PATCHES=${apply_lib_patches}")
399+
def javaHome = Jvm.current().getJavaHome()
400+
logger.lifecycle("Java home directory used by gradle: $javaHome")
401+
if (Os.isFamily(Os.FAMILY_MAC)) {
402+
environment('JAVA_HOME', javaHome)
403+
}
404+
if (Os.isFamily(Os.FAMILY_WINDOWS)) {
405+
dependsOn windowsPatches
406+
args.add("-G")
407+
args.add("Unix Makefiles")
408+
args.add("-DBLAS_LIBRARIES=$rootDir\\src\\main\\resources\\windowsDependencies\\libopenblas.dll")
409+
args.add("-DLAPACK_LIBRARIES=$rootDir\\src\\main\\resources\\windowsDependencies\\libopenblas.dll")
410+
}
411+
412+
commandLine args
413+
}
357414
}
358415

359416
task buildJniLib(type:Exec) {

src/main/java/org/opensearch/knn/index/KNNCircuitBreaker.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import org.opensearch.knn.plugin.transport.KNNStatsResponse;
1414
import org.apache.logging.log4j.LogManager;
1515
import org.apache.logging.log4j.Logger;
16-
import org.opensearch.client.Client;
16+
import org.opensearch.transport.client.Client;
1717
import org.opensearch.cluster.service.ClusterService;
1818
import org.opensearch.common.unit.TimeValue;
1919
import org.opensearch.threadpool.ThreadPool;

src/main/java/org/opensearch/knn/index/KNNSettings.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import org.opensearch.OpenSearchParseException;
1212
import org.opensearch.action.admin.cluster.settings.ClusterUpdateSettingsRequest;
1313
import org.opensearch.action.admin.cluster.settings.ClusterUpdateSettingsResponse;
14-
import org.opensearch.client.Client;
14+
import org.opensearch.transport.client.Client;
1515
import org.opensearch.cluster.metadata.IndexMetadata;
1616
import org.opensearch.cluster.service.ClusterService;
1717
import org.opensearch.common.Booleans;

src/main/java/org/opensearch/knn/indices/ModelDao.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
import org.opensearch.action.search.SearchResponse;
3737
import org.opensearch.action.support.WriteRequest;
3838
import org.opensearch.action.support.clustermanager.AcknowledgedResponse;
39-
import org.opensearch.client.Client;
39+
import org.opensearch.transport.client.Client;
4040
import org.opensearch.cluster.health.ClusterHealthStatus;
4141
import org.opensearch.cluster.health.ClusterIndexHealth;
4242
import org.opensearch.cluster.metadata.IndexMetadata;

src/main/java/org/opensearch/knn/plugin/KNNPlugin.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
import com.google.common.collect.ImmutableList;
5050

5151
import org.opensearch.action.ActionRequest;
52-
import org.opensearch.client.Client;
52+
import org.opensearch.transport.client.Client;
5353
import org.opensearch.cluster.metadata.IndexNameExpressionResolver;
5454
import org.opensearch.cluster.node.DiscoveryNodes;
5555
import org.opensearch.cluster.service.ClusterService;

src/main/java/org/opensearch/knn/plugin/rest/RestClearCacheHandler.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import com.google.common.collect.ImmutableList;
99
import lombok.AllArgsConstructor;
1010
import lombok.extern.log4j.Log4j2;
11-
import org.opensearch.client.node.NodeClient;
11+
import org.opensearch.transport.client.node.NodeClient;
1212
import org.opensearch.cluster.metadata.IndexNameExpressionResolver;
1313
import org.opensearch.cluster.service.ClusterService;
1414
import org.opensearch.core.common.Strings;

src/main/java/org/opensearch/knn/plugin/rest/RestDeleteModelHandler.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
package org.opensearch.knn.plugin.rest;
1313

1414
import com.google.common.collect.ImmutableList;
15-
import org.opensearch.client.node.NodeClient;
15+
import org.opensearch.transport.client.node.NodeClient;
1616
import org.opensearch.core.common.Strings;
1717
import org.opensearch.knn.plugin.KNNPlugin;
1818
import org.opensearch.knn.plugin.transport.DeleteModelAction;

src/main/java/org/opensearch/knn/plugin/rest/RestGetModelHandler.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
import com.google.common.collect.ImmutableList;
1515
import org.apache.commons.lang.StringUtils;
16-
import org.opensearch.client.node.NodeClient;
16+
import org.opensearch.transport.client.node.NodeClient;
1717
import org.opensearch.knn.plugin.KNNPlugin;
1818
import org.opensearch.knn.plugin.transport.GetModelAction;
1919
import org.opensearch.knn.plugin.transport.GetModelRequest;

src/main/java/org/opensearch/knn/plugin/rest/RestKNNStatsHandler.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import org.opensearch.knn.plugin.transport.KNNStatsAction;
1212
import org.opensearch.knn.plugin.transport.KNNStatsRequest;
1313
import com.google.common.collect.ImmutableList;
14-
import org.opensearch.client.node.NodeClient;
14+
import org.opensearch.transport.client.node.NodeClient;
1515
import org.opensearch.rest.BaseRestHandler;
1616
import org.opensearch.rest.RestRequest;
1717
import org.opensearch.rest.action.RestActions;

src/main/java/org/opensearch/knn/plugin/rest/RestKNNWarmupHandler.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import com.google.common.collect.ImmutableList;
1414
import org.apache.logging.log4j.LogManager;
1515
import org.apache.logging.log4j.Logger;
16-
import org.opensearch.client.node.NodeClient;
16+
import org.opensearch.transport.client.node.NodeClient;
1717
import org.opensearch.cluster.metadata.IndexNameExpressionResolver;
1818
import org.opensearch.cluster.service.ClusterService;
1919
import org.opensearch.common.settings.Settings;

src/main/java/org/opensearch/knn/plugin/rest/RestSearchModelHandler.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
import com.google.common.collect.ImmutableList;
1515
import org.opensearch.action.search.SearchRequest;
16-
import org.opensearch.client.node.NodeClient;
16+
import org.opensearch.transport.client.node.NodeClient;
1717
import org.opensearch.knn.plugin.KNNPlugin;
1818
import org.opensearch.knn.plugin.transport.SearchModelAction;
1919
import org.opensearch.rest.BaseRestHandler;

src/main/java/org/opensearch/knn/plugin/rest/RestTrainModelHandler.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
package org.opensearch.knn.plugin.rest;
1313

1414
import com.google.common.collect.ImmutableList;
15-
import org.opensearch.client.node.NodeClient;
15+
import org.opensearch.transport.client.node.NodeClient;
1616
import org.opensearch.core.xcontent.XContentParser;
1717
import org.opensearch.index.mapper.NumberFieldMapper;
1818
import org.opensearch.knn.common.KNNConstants;

src/main/java/org/opensearch/knn/plugin/transport/TrainingJobRouterTransportAction.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
import org.opensearch.action.search.SearchRequest;
1818
import org.opensearch.action.support.ActionFilters;
1919
import org.opensearch.action.support.HandledTransportAction;
20-
import org.opensearch.client.Client;
20+
import org.opensearch.transport.client.Client;
2121
import org.opensearch.cluster.node.DiscoveryNode;
2222
import org.opensearch.cluster.service.ClusterService;
2323
import org.opensearch.common.ValidationException;

src/main/java/org/opensearch/knn/training/VectorReader.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
import org.opensearch.action.search.SearchRequestBuilder;
1818
import org.opensearch.action.search.SearchResponse;
1919
import org.opensearch.action.search.SearchScrollRequestBuilder;
20-
import org.opensearch.client.Client;
20+
import org.opensearch.transport.client.Client;
2121
import org.opensearch.cluster.metadata.IndexMetadata;
2222
import org.opensearch.cluster.service.ClusterService;
2323
import org.opensearch.common.ValidationException;

src/test/java/org/opensearch/knn/plugin/transport/TrainingJobRouterTransportActionTests.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
import org.opensearch.core.action.ActionListener;
1717
import org.opensearch.action.search.SearchResponse;
1818
import org.opensearch.action.support.ActionFilters;
19-
import org.opensearch.client.Client;
19+
import org.opensearch.transport.client.Client;
2020
import org.opensearch.cluster.ClusterName;
2121
import org.opensearch.cluster.ClusterState;
2222
import org.opensearch.cluster.node.DiscoveryNode;

src/test/java/org/opensearch/knn/quantization/models/quantizationState/QuantizationStateCacheTests.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import lombok.SneakyThrows;
1010
import org.junit.After;
1111
import org.junit.Before;
12-
import org.opensearch.client.Client;
12+
import org.opensearch.transport.client.Client;
1313
import org.opensearch.cluster.service.ClusterService;
1414
import org.opensearch.common.settings.ClusterSettings;
1515
import org.opensearch.common.settings.Settings;

0 commit comments

Comments
 (0)