version
inbuild.gradle
(X.X.X
orX.X.X-rcN
)js_artifact_version
inbuild.gradle
(X.X.X
orX.X.XrcN
)__version__
inpython-package/lets_plot/_version.py
(X.X.X
orX.X.XrcN
)
./gradlew js-package:copyForPublish
- check
js-package/distr
directory. It must containlets-plot.js
andlets-plot.min.js
files.
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
)
version
inbuild.gradle
(X.X.X-alphaN
)js_artifact_version
inbuild.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 [email protected]:JetBrains/lets-plot lets-plot-release
- set both
build_python_extension
andenable_python_package
options toyes
- edit
bin
andinclude
paths in thePython settings
section: set paths to Python 3.6 - check and set credentials in the
PyPI settings
andSonatype settings
sections
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
bin
andinclude
paths in thePython settings
section: 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 version
andRelease title
with the released version "vX.X.X". - Fill the description field - copy from the CHANGELOG.md.
- Add JS artifacts from the
js-package/distr
directory to the binaries box. - Select
This is a pre-release
checkbox if you are releasing a pre-release version. - Click
Publish release
.
- remove build directory
lets-plot-release