parent
48c3e4723b
commit
4df49dd8f6
23
publishing/PUBLISHING.md
Normal file
23
publishing/PUBLISHING.md
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
# Publishing secp256k1-kmp artifacts
|
||||||
|
|
||||||
|
## snapshots
|
||||||
|
|
||||||
|
Snapshots are published to the Sonatype snapshot repository (https://oss.sonatype.org/content/repositories/snapshots/).
|
||||||
|
To publish snapshot, you must add your sonatype credentials for the `ossrh` server to your local maven settings (typically in $HOME/.m2/settings.xml)
|
||||||
|
|
||||||
|
- Download `snapshot.zip` generated by the `Publish snapshot` github action
|
||||||
|
- unzip `snapshot.zip` in the `publishing` directory
|
||||||
|
- edit `secp256k1-kmp-snapshot-deploy.sh` and update the `VERSION` environment variable if needed
|
||||||
|
- run `secp256k1-kmp-snapshot-deploy.sh`
|
||||||
|
|
||||||
|
## releases
|
||||||
|
|
||||||
|
Releases are published to the Sonatype staging repository. If all items are valid they will be published to `maven central` repository.
|
||||||
|
You must edit `secp256k1-kmp-staging-upload.sh` and add your sonatype credentials. You must also have a valid GPG key.
|
||||||
|
|
||||||
|
- Download `release.zip` generated by the `Publish release` github action (which is triggered every time you publish a github release)
|
||||||
|
- unzip `release.zip` in the `publishing` directory
|
||||||
|
- edit `secp256k1-kmp-staging-upload.sh` and update the `VERSION` environment variable if needed
|
||||||
|
- sign all artifacts with a valid gpg key: `find release -type f -print -exec gpg -ab {} \;`
|
||||||
|
- run `secp256k1-kmp-staging-upload.sh`
|
||||||
|
- log into sonatype, close and publish your staging repository. Artifacts will be available on Maven Central within a few hours.
|
53
publishing/secp256k1-kmp-snapshot-deploy.sh
Executable file
53
publishing/secp256k1-kmp-snapshot-deploy.sh
Executable file
@ -0,0 +1,53 @@
|
|||||||
|
#!/bin/bash -x
|
||||||
|
|
||||||
|
GROUP_ID=fr.acinq.secp256k1
|
||||||
|
ARTIFACT_ID_BASE=secp256k1-kmp
|
||||||
|
VERSION=0.6.3-SNAPSHOT
|
||||||
|
|
||||||
|
cd snapshot
|
||||||
|
pushd .
|
||||||
|
cd fr/acinq/secp256k1/secp256k1-kmp/$VERSION
|
||||||
|
mvn deploy:deploy-file -DrepositoryId=ossrh -Durl=https://oss.sonatype.org/content/repositories/snapshots/ \
|
||||||
|
-DpomFile=$ARTIFACT_ID_BASE-$VERSION.pom \
|
||||||
|
-Dfile=$ARTIFACT_ID_BASE-$VERSION.jar \
|
||||||
|
-Dfiles=$ARTIFACT_ID_BASE-$VERSION.module,$ARTIFACT_ID_BASE-$VERSION-kotlin-tooling-metadata.json \
|
||||||
|
-Dtypes=module,json \
|
||||||
|
-Dclassifiers=,kotlin-tooling-metadata \
|
||||||
|
-Dsources=$ARTIFACT_ID_BASE-$VERSION-sources.jar \
|
||||||
|
-Djavadoc=$ARTIFACT_ID_BASE-$VERSION-javadoc.jar
|
||||||
|
popd
|
||||||
|
pushd .
|
||||||
|
for i in iosarm64 iosx64 jni-android jni-common jni-jvm-darwin jni-jvm-extract jni-jvm-linux jni-jvm-mingw jni-jvm jvm linux
|
||||||
|
do
|
||||||
|
cd fr/acinq/secp256k1/secp256k1-kmp-$i/$VERSION
|
||||||
|
if [ $i == iosarm64 ] || [ $i == iosx64 ] || [ $i == linux ]; then
|
||||||
|
mvn deploy:deploy-file -DrepositoryId=ossrh -Durl=https://oss.sonatype.org/content/repositories/snapshots/ \
|
||||||
|
-DpomFile=$ARTIFACT_ID_BASE-$i-$VERSION.pom \
|
||||||
|
-Dfile=$ARTIFACT_ID_BASE-$i-$VERSION.klib \
|
||||||
|
-Dfiles=$ARTIFACT_ID_BASE-$i-$VERSION.module,$ARTIFACT_ID_BASE-$i-$VERSION-cinterop-libsecp256k1.klib \
|
||||||
|
-Dtypes=module,klib \
|
||||||
|
-Dclassifiers=,cinterop-libsecp256k1 \
|
||||||
|
-Dsources=$ARTIFACT_ID_BASE-$i-$VERSION-sources.jar \
|
||||||
|
-Djavadoc=$ARTIFACT_ID_BASE-$i-$VERSION-javadoc.jar
|
||||||
|
elif [ $i == jni-android ]; then
|
||||||
|
mvn deploy:deploy-file -DrepositoryId=ossrh -Durl=https://oss.sonatype.org/content/repositories/snapshots/ \
|
||||||
|
-DpomFile=$ARTIFACT_ID_BASE-$i-$VERSION.pom \
|
||||||
|
-Dfile=$ARTIFACT_ID_BASE-$i-$VERSION.aar \
|
||||||
|
-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
|
||||||
|
else
|
||||||
|
mvn deploy:deploy-file -DrepositoryId=ossrh -Durl=https://oss.sonatype.org/content/repositories/snapshots/ \
|
||||||
|
-DpomFile=$ARTIFACT_ID_BASE-$i-$VERSION.pom \
|
||||||
|
-Dfile=$ARTIFACT_ID_BASE-$i-$VERSION.jar \
|
||||||
|
-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
|
||||||
|
fi
|
||||||
|
popd
|
||||||
|
pushd .
|
||||||
|
done
|
28
publishing/secp256k1-kmp-staging-upload.sh
Executable file
28
publishing/secp256k1-kmp-staging-upload.sh
Executable file
@ -0,0 +1,28 @@
|
|||||||
|
#!/bin/bash -x
|
||||||
|
#
|
||||||
|
# first you must sign all files:
|
||||||
|
# find release -type f -print -exec gpg -ab {} \;
|
||||||
|
|
||||||
|
VERSION=0.6.2
|
||||||
|
for i in secp256k1-kmp \
|
||||||
|
secp256k1-kmp-iosarm64 \
|
||||||
|
secp256k1-kmp-iosx64 \
|
||||||
|
secp256k1-kmp-jni-android \
|
||||||
|
secp256k1-kmp-jni-common \
|
||||||
|
secp256k1-kmp-jni-jvm \
|
||||||
|
secp256k1-kmp-jni-jvm-darwin \
|
||||||
|
secp256k1-kmp-jni-jvm-extract \
|
||||||
|
secp256k1-kmp-jni-jvm-linux \
|
||||||
|
secp256k1-kmp-jni-jvm-mingw \
|
||||||
|
secp256k1-kmp-jvm \
|
||||||
|
secp256k1-kmp-linux
|
||||||
|
do
|
||||||
|
pushd .
|
||||||
|
cd release/fr/acinq/secp256k1/$i/$VERSION
|
||||||
|
pwd
|
||||||
|
jar -cvf bundle.jar *
|
||||||
|
# use correct sonatype credentials here
|
||||||
|
curl -v -XPOST -u USER:PASSWORD --upload-file bundle.jar https://oss.sonatype.org/service/local/staging/bundle_upload
|
||||||
|
popd
|
||||||
|
done
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user