-
Notifications
You must be signed in to change notification settings - Fork 56
Build separate artifacts for library using CPack #123
Build separate artifacts for library using CPack #123
Conversation
dependsOn buildJniLib | ||
from "$buildDir/jni/release" | ||
include "*" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor: Should we specify to just copy the library? Making sure nothing else is copied
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Because the library extension is dependent on Operating System, I used wildcard here. Because only the library is placed in jni/release
in the current build process, I believe this operation is okay.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGMT! Thanks for pulling knn library to a separate rpm so that it could be pulled from rpm repo with out having to download from other sources. This was an issue for the users who does not have internet connectivity in their production servers. Thanks for innovating here.
* master: added github action to build library artifacts (opendistro-for-elasticsearch#132) FIX: buildDir->rootDir Build separate artifacts for library using CPack (opendistro-for-elasticsearch#123) Fix test structure (opendistro-for-elasticsearch#125)
Issue #, if available:
#122
Description of changes:
This change uses CPack to generate separate RPM/DEB artifacts for the KNN JNI Library and adds the library as a dependency of the KNN Plugin.
The following steps will build the RPM and DEB packages in the
jni/packages
folder:2 packages are generated:
Additionally, I changed the directory layout of JNI to follow a more standard C++ convention. The JNI directory now looks like this:
Now, when running
make
, it will build the library injni/release
instead ofbuildSrc
../gradlew build
will then build the library and move it tobuildSrc
.Updated documentation as well.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.