3 Commits

Author SHA1 Message Date
Fabrice Drouin
d30e2a1b59 Set version to 0.15.0 (#105) 2024-03-04 19:29:52 +01:00
Fabrice Drouin
bae4744bcb Add macos build targets (#104)
* Add macos build targets

* Update snapshot publishing script
2024-03-04 17:58:20 +01:00
Fabrice Drouin
b2eb68bf83 Post release cleanup (#103)
* Set version to 0.15.0-SNAPSHOT

* Update publishing scripts
2024-02-14 18:28:19 +01:00
9 changed files with 96 additions and 43 deletions

View File

@@ -22,7 +22,7 @@ buildscript {
allprojects { allprojects {
group = "fr.acinq.secp256k1" group = "fr.acinq.secp256k1"
version = "0.14.0" version = "0.15.0"
repositories { repositories {
google() google()
@@ -58,6 +58,14 @@ kotlin {
secp256k1CInterop("host") secp256k1CInterop("host")
} }
macosX64 {
secp256k1CInterop("host")
}
macosArm64 {
secp256k1CInterop("host")
}
iosX64 { iosX64 {
secp256k1CInterop("ios") secp256k1CInterop("ios")
} }

View File

@@ -6,6 +6,7 @@ org.gradle.parallel = true
kotlin.code.style = official kotlin.code.style = official
kotlin.native.ignoreDisabledTargets = true kotlin.native.ignoreDisabledTargets = true
kotlin.mpp.enableCInteropCommonization=true kotlin.mpp.enableCInteropCommonization=true
kotlin.native.cacheKind.macosArm64=none
# Android # Android
android.useAndroidX = true android.useAndroidX = true

View File

@@ -23,7 +23,11 @@ else
fi fi
./autogen.sh ./autogen.sh
./configure $CONF_OPTS --enable-experimental --enable-module_ecdh --enable-module-recovery --enable-module-schnorrsig --enable-module-musig --enable-benchmark=no --enable-shared=no --enable-exhaustive-tests=no --enable-tests=no if [ "$TARGET" == "darwin" ]; then
CFLAGS="-arch arm64 -arch x86_64" ./configure $CONF_OPTS --enable-experimental --enable-module_ecdh --enable-module-recovery --enable-module-schnorrsig --enable-module-musig --enable-benchmark=no --enable-shared=no --enable-exhaustive-tests=no --enable-tests=no
else
./configure $CONF_OPTS --enable-experimental --enable-module_ecdh --enable-module-recovery --enable-module-schnorrsig --enable-module-musig --enable-benchmark=no --enable-shared=no --enable-exhaustive-tests=no --enable-tests=no
fi
make clean make clean
make make

View File

@@ -1,5 +1,10 @@
#!/bin/bash -x #!/bin/bash -x
if [[ -z "${VERSION}" ]]; then
echo "VERSION is not defined"
exit 1
fi
if [ $# -eq 0 ] if [ $# -eq 0 ]
then then
echo "specify either snapshot or release" echo "specify either snapshot or release"

View File

@@ -1,5 +1,10 @@
#!/bin/bash -x #!/bin/bash -x
if [[ -z "${VERSION}" ]]; then
echo "VERSION is not defined"
exit 1
fi
if [ $# -eq 0 ] if [ $# -eq 0 ]
then then
echo "specify either snapshot or release" echo "specify either snapshot or release"

View File

@@ -21,45 +21,52 @@ mvn deploy:deploy-file -DrepositoryId=ossrh -Durl=https://oss.sonatype.org/conte
-Djavadoc=$ARTIFACT_ID_BASE-$VERSION-javadoc.jar -Djavadoc=$ARTIFACT_ID_BASE-$VERSION-javadoc.jar
popd popd
pushd . pushd .
for i in iosarm64 iossimulatorarm64 iosx64 jni-android jni-common jni-jvm-darwin jni-jvm-extract jni-jvm-linux jni-jvm-mingw jni-jvm jvm linuxx64; do for i in iosarm64 iossimulatorarm64 iosx64 macosarm64 macosx64 jni-android jni-common jni-jvm-darwin jni-jvm-extract jni-jvm-linux jni-jvm-mingw jni-jvm jvm linuxx64; do
cd fr/acinq/secp256k1/secp256k1-kmp-$i/$VERSION cd fr/acinq/secp256k1/secp256k1-kmp-$i/$VERSION
if [ $i == iosarm64 ] || [ $i == iossimulatorarm64 ] || [ $i == iosx64 ]; then
mvn deploy:deploy-file -DrepositoryId=ossrh -Durl=https://oss.sonatype.org/content/repositories/snapshots/ \ case $i in
-DpomFile=$ARTIFACT_ID_BASE-$i-$VERSION.pom \ iosarm64 | iossimulatorarm64 | iosx64 | macosarm64 | macosx64)
-Dfile=$ARTIFACT_ID_BASE-$i-$VERSION.klib \ mvn deploy:deploy-file -DrepositoryId=ossrh -Durl=https://oss.sonatype.org/content/repositories/snapshots/ \
-Dfiles=$ARTIFACT_ID_BASE-$i-$VERSION-metadata.jar,$ARTIFACT_ID_BASE-$i-$VERSION.module,$ARTIFACT_ID_BASE-$i-$VERSION-cinterop-libsecp256k1.klib \ -DpomFile=$ARTIFACT_ID_BASE-$i-$VERSION.pom \
-Dtypes=jar,module,klib \ -Dfile=$ARTIFACT_ID_BASE-$i-$VERSION.klib \
-Dclassifiers=metadata,,cinterop-libsecp256k1 \ -Dfiles=$ARTIFACT_ID_BASE-$i-$VERSION-metadata.jar,$ARTIFACT_ID_BASE-$i-$VERSION.module,$ARTIFACT_ID_BASE-$i-$VERSION-cinterop-libsecp256k1.klib \
-Dsources=$ARTIFACT_ID_BASE-$i-$VERSION-sources.jar \ -Dtypes=jar,module,klib \
-Djavadoc=$ARTIFACT_ID_BASE-$i-$VERSION-javadoc.jar -Dclassifiers=metadata,,cinterop-libsecp256k1 \
elif [ $i == linuxx64 ]; then -Dsources=$ARTIFACT_ID_BASE-$i-$VERSION-sources.jar \
mvn deploy:deploy-file -DrepositoryId=ossrh -Durl=https://oss.sonatype.org/content/repositories/snapshots/ \ -Djavadoc=$ARTIFACT_ID_BASE-$i-$VERSION-javadoc.jar
-DpomFile=$ARTIFACT_ID_BASE-$i-$VERSION.pom \ ;;
-Dfile=$ARTIFACT_ID_BASE-$i-$VERSION.klib \ linuxx64)
-Dfiles=$ARTIFACT_ID_BASE-$i-$VERSION.module,$ARTIFACT_ID_BASE-$i-$VERSION-cinterop-libsecp256k1.klib \ mvn deploy:deploy-file -DrepositoryId=ossrh -Durl=https://oss.sonatype.org/content/repositories/snapshots/ \
-Dtypes=module,klib \ -DpomFile=$ARTIFACT_ID_BASE-$i-$VERSION.pom \
-Dclassifiers=,cinterop-libsecp256k1 \ -Dfile=$ARTIFACT_ID_BASE-$i-$VERSION.klib \
-Dsources=$ARTIFACT_ID_BASE-$i-$VERSION-sources.jar \ -Dfiles=$ARTIFACT_ID_BASE-$i-$VERSION.module,$ARTIFACT_ID_BASE-$i-$VERSION-cinterop-libsecp256k1.klib \
-Djavadoc=$ARTIFACT_ID_BASE-$i-$VERSION-javadoc.jar -Dtypes=module,klib \
elif [ $i == jni-android ]; then -Dclassifiers=,cinterop-libsecp256k1 \
mvn deploy:deploy-file -DrepositoryId=ossrh -Durl=https://oss.sonatype.org/content/repositories/snapshots/ \ -Dsources=$ARTIFACT_ID_BASE-$i-$VERSION-sources.jar \
-DpomFile=$ARTIFACT_ID_BASE-$i-$VERSION.pom \ -Djavadoc=$ARTIFACT_ID_BASE-$i-$VERSION-javadoc.jar
-Dfile=$ARTIFACT_ID_BASE-$i-$VERSION.aar \ ;;
-Dfiles=$ARTIFACT_ID_BASE-$i-$VERSION.module \ jni-android)
-Dtypes=module \ mvn deploy:deploy-file -DrepositoryId=ossrh -Durl=https://oss.sonatype.org/content/repositories/snapshots/ \
-Dclassifiers= \ -DpomFile=$ARTIFACT_ID_BASE-$i-$VERSION.pom \
-Dsources=$ARTIFACT_ID_BASE-$i-$VERSION-sources.jar \ -Dfile=$ARTIFACT_ID_BASE-$i-$VERSION.aar \
-Djavadoc=$ARTIFACT_ID_BASE-$i-$VERSION-javadoc.jar -Dfiles=$ARTIFACT_ID_BASE-$i-$VERSION.module \
else -Dtypes=module \
mvn deploy:deploy-file -DrepositoryId=ossrh -Durl=https://oss.sonatype.org/content/repositories/snapshots/ \ -Dclassifiers= \
-DpomFile=$ARTIFACT_ID_BASE-$i-$VERSION.pom \ -Dsources=$ARTIFACT_ID_BASE-$i-$VERSION-sources.jar \
-Dfile=$ARTIFACT_ID_BASE-$i-$VERSION.jar \ -Djavadoc=$ARTIFACT_ID_BASE-$i-$VERSION-javadoc.jar
-Dfiles=$ARTIFACT_ID_BASE-$i-$VERSION.module \ ;;
-Dtypes=module \ *)
-Dclassifiers= \ mvn deploy:deploy-file -DrepositoryId=ossrh -Durl=https://oss.sonatype.org/content/repositories/snapshots/ \
-Dsources=$ARTIFACT_ID_BASE-$i-$VERSION-sources.jar \ -DpomFile=$ARTIFACT_ID_BASE-$i-$VERSION.pom \
-Djavadoc=$ARTIFACT_ID_BASE-$i-$VERSION-javadoc.jar -Dfile=$ARTIFACT_ID_BASE-$i-$VERSION.jar \
fi -Dfiles=$ARTIFACT_ID_BASE-$i-$VERSION.module \
-Dtypes=module \
-Dclassifiers= \
-Dsources=$ARTIFACT_ID_BASE-$i-$VERSION-sources.jar \
-Djavadoc=$ARTIFACT_ID_BASE-$i-$VERSION-javadoc.jar
;;
esac
popd popd
pushd . pushd .
done done

View File

@@ -3,9 +3,22 @@
# first you must sign all files: # first you must sign all files:
# find release -type f -print -exec gpg -ab {} \; # find release -type f -print -exec gpg -ab {} \;
VERSION=0.6.2 if [[ -z "${VERSION}" ]]; then
echo "VERSION is not defined"
exit 1
fi
if [[ -z "${OSS_USER}" ]]; then
echo "OSS_USER is not defined"
exit 1
fi
read -p "Password : " -s OSS_PASSWORD
for i in secp256k1-kmp \ for i in secp256k1-kmp \
secp256k1-kmp-iosarm64 \ secp256k1-kmp-iosarm64 \
secp256k1-kmp-iossimulatorarm64 \
secp256k1-kmp-iosx64 \ secp256k1-kmp-iosx64 \
secp256k1-kmp-jni-android \ secp256k1-kmp-jni-android \
secp256k1-kmp-jni-common \ secp256k1-kmp-jni-common \
@@ -15,14 +28,14 @@ for i in secp256k1-kmp \
secp256k1-kmp-jni-jvm-linux \ secp256k1-kmp-jni-jvm-linux \
secp256k1-kmp-jni-jvm-mingw \ secp256k1-kmp-jni-jvm-mingw \
secp256k1-kmp-jvm \ secp256k1-kmp-jvm \
secp256k1-kmp-linux secp256k1-kmp-linuxx64
do do
pushd . pushd .
cd release/fr/acinq/secp256k1/$i/$VERSION cd release/fr/acinq/secp256k1/$i/$VERSION
pwd pwd
jar -cvf bundle.jar * jar -cvf bundle.jar *
# use correct sonatype credentials here # use correct sonatype credentials here
curl -v -XPOST -u USER:PASSWORD --upload-file bundle.jar https://oss.sonatype.org/service/local/staging/bundle_upload curl -v -XPOST -u $OSS_USER:$OSS_PASSWORD --upload-file bundle.jar https://oss.sonatype.org/service/local/staging/bundle_upload
popd popd
done done

View File

@@ -7,6 +7,14 @@ staticLibraries.linux = libsecp256k1.a
libraryPaths.linux = c/secp256k1/build/linux/ native/build/linux/ native/build/darwin/ libraryPaths.linux = c/secp256k1/build/linux/ native/build/linux/ native/build/darwin/
linkerOpts.linux = -L/usr/lib64 -L/usr/lib/x86_64-linux-gnu -L/usr/local/lib linkerOpts.linux = -L/usr/lib64 -L/usr/lib/x86_64-linux-gnu -L/usr/local/lib
staticLibraries.macos_x64 = libsecp256k1.a
libraryPaths.macos_x64 = c/secp256k1/build/darwin/ native/build/darwin/
linkerOpts.macos_x64 = -framework Security -framework Foundation
staticLibraries.macos_arm64 = libsecp256k1.a
libraryPaths.macos_arm64 = c/secp256k1/build/darwin/ native/build/darwin/
linkerOpts.macos_arm64 = -framework Security -framework Foundation
staticLibraries.ios = libsecp256k1.a staticLibraries.ios = libsecp256k1.a
libraryPaths.ios_x64 = c/secp256k1/build/ios/ /usr/local/lib native/build/ios/ libraryPaths.ios_x64 = c/secp256k1/build/ios/ /usr/local/lib native/build/ios/
libraryPaths.ios_arm64 = c/secp256k1/build/ios/ /usr/local/lib native/build/ios/ libraryPaths.ios_arm64 = c/secp256k1/build/ios/ /usr/local/lib native/build/ios/

View File

@@ -57,6 +57,8 @@ kotlin {
} }
linuxX64() linuxX64()
macosX64()
macosArm64()
iosX64() iosX64()
iosArm64() iosArm64()
iosSimulatorArm64() iosSimulatorArm64()