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