versioninbuild.gradle(X.X.XorX.X.X-rcN)js_artifact_versioninbuild.gradle(X.X.XorX.X.XrcN)__version__inpython-package/lets_plot/_version.py(X.X.XorX.X.XrcN)
./gradlew js-package:copyForPublish- check
js-package/distrdirectory. It must containlets-plot.jsandlets-plot.min.jsfiles.
git add --all && git commit -m "Updated version vX.X.X" && git push(orvX.X.XrcN)git tag vX.X.X && git push --tags(orvX.X.XrcN)
versioninbuild.gradle(X.X.X-alphaN)js_artifact_versioninbuild.gradle(X.X.X.devN)__version__inpython-package/lets_plot/_version.py(X.X.X.devN)
The next steps need to be reproduced on all supported platforms (Mac, Linux and Windows).
On Windows use .\gradlew.bat instead of ./gradlew to run Gradle script.
git clone --branch vX.X.X git@github.com:JetBrains/lets-plot lets-plot-release
- set both
build_python_extensionandenable_python_packageoptions toyes - edit
binandincludepaths in thePython settingssection: set paths to Python 3.6 - check and set credentials in the
PyPI settingsandSonatype settingssections
run ./gradlew build
For Linux without graphical environment add parameter to exclude JFX test:
./gradlew build -x :vis-svg-mapper-jfx:jvmTest
or tests will stuck in running state.
As the result you will get artifacts for jvm-package and python-package (python wheel file built with Python 3.6)
- edit
binandincludepaths in thePython settingssection: set paths to Python 3.7 - run
./gradlew python-package-build:build
Reproduce this steps for Python 3.8 and 3.9
Then you'll get python wheel files built with Python 3.7, 3.8 and 3.9.
run ./gradlew python-package-build:buildManylinuxWheels
- for testing (test.pypi.org):
./gradlew python-package-build:publishTestPythonPackage
- for production (pypi.org):
./gradlew python-package-build:publishProdPythonPackage
-
./gradlew publishLetsPlotJvmCommonPublicationToMavenRepository -
./gradlew publishLetsPlotJvmJfxPublicationToMavenRepository -
./gradlew publishLetsPlotJvmBatikPublicationToMavenRepository -
./gradlew publishLetsPlotImageExportPublicationToMavenRepository -
./gradlew publishLetsPlotGISPublicationToMavenRepository -
./gradlew publishKotlinApiDependenciesToMavenRepository
Check all artifacts were uploaded: https://oss.sonatype.org/#stagingRepositories
Close and release repository to the Maven Central:
./gradlew closeAndReleaseRepository
This operation can take up to 5 minutes.
- Open the link: https://github.com/JetBrains/lets-plot/releases/new
- Fill
Tag versionandRelease titlewith the released version "vX.X.X". - Fill the description field - copy from the CHANGELOG.md.
- Add JS artifacts from the
js-package/distrdirectory to the binaries box. - Select
This is a pre-releasecheckbox if you are releasing a pre-release version. - Click
Publish release.
- remove build directory
lets-plot-release