diff --git a/datasources/build.gradle b/datasources/build.gradle index 8c708176558..8b79d8e227c 100644 --- a/datasources/build.gradle +++ b/datasources/build.gradle @@ -3,6 +3,8 @@ * SPDX-License-Identifier: Apache-2.0 */ +import org.opensearch.gradle.info.FipsBuildParams + plugins { id 'java-library' id "io.freefair.lombok" @@ -27,8 +29,12 @@ dependencies { exclude group: 'org.bouncycastle', module: 'bcprov-ext-jdk18on' } - // bc-fips is provided by OpenSearch core at runtime since opensearch 3.6.0 - compileOnly "org.bouncycastle:bc-fips:${versions.bouncycastle_jce}" + // When building with -Pcrypto.standard=FIPS-140-3, bcFips jars are provided by OpenSearch + if (FipsBuildParams.isInFipsMode()) { + compileOnly "org.bouncycastle:bc-fips:${versions.bouncycastle_jce}" + } else { + implementation "org.bouncycastle:bc-fips:${versions.bouncycastle_jce}" + } testImplementation "org.bouncycastle:bc-fips:${versions.bouncycastle_jce}" testImplementation group: 'junit', name: 'junit', version: '4.13.2' diff --git a/gradle.properties b/gradle.properties index d95eee2f1a1..d3ed60e82c4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,3 +6,4 @@ version=1.13.0 org.gradle.jvmargs=-Duser.language=en -Duser.country=US org.gradle.parallel=true org.gradle.caching=true +crypto.standard=FIPS-140-3 diff --git a/scripts/build.sh b/scripts/build.sh index 336d1ebb62b..4c4aaf128ee 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -68,7 +68,7 @@ fi mkdir -p $OUTPUT -./gradlew assemble --no-daemon --refresh-dependencies -DskipTests=true -Dopensearch.version=$VERSION -Dbuild.snapshot=$SNAPSHOT -Dbuild.version_qualifier=$QUALIFIER -Pcrypto.standard=FIPS-140-3 +./gradlew assemble --no-daemon --refresh-dependencies -DskipTests=true -Dopensearch.version=$VERSION -Dbuild.snapshot=$SNAPSHOT -Dbuild.version_qualifier=$QUALIFIER zipPath=$(find . -path \*build/distributions/*.zip) distributions="$(dirname "${zipPath}")" @@ -77,7 +77,7 @@ echo "COPY ${distributions}/*.zip" mkdir -p $OUTPUT/plugins cp ${distributions}/*.zip ./$OUTPUT/plugins -./gradlew publishToMavenLocal -Dopensearch.version=$VERSION -Dbuild.snapshot=$SNAPSHOT -Dbuild.version_qualifier=$QUALIFIER -Pcrypto.standard=FIPS-140-3 -./gradlew publishPluginZipPublicationToZipStagingRepository -Dopensearch.version=$VERSION -Dbuild.snapshot=$SNAPSHOT -Dbuild.version_qualifier=$QUALIFIER -Pcrypto.standard=FIPS-140-3 +./gradlew publishToMavenLocal -Dopensearch.version=$VERSION -Dbuild.snapshot=$SNAPSHOT -Dbuild.version_qualifier=$QUALIFIER +./gradlew publishPluginZipPublicationToZipStagingRepository -Dopensearch.version=$VERSION -Dbuild.snapshot=$SNAPSHOT -Dbuild.version_qualifier=$QUALIFIER mkdir -p $OUTPUT/maven/org/opensearch cp -r ./build/local-staging-repo/org/opensearch/. $OUTPUT/maven/org/opensearch