Skip to content

Commit dc0a84a

Browse files
committed
Publish 3.0.0 to Maven Central and update docs.
1 parent 1a169de commit dc0a84a

File tree

8 files changed

+200
-100
lines changed

8 files changed

+200
-100
lines changed

CHANGELOG.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,59 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres
66
to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [3.0.0] - 2021-06-04
9+
10+
### Added
11+
12+
- In tooltip customization API:
13+
- `layerTooltips(variables)` - the new parameter `variables` defines a list of variable names, which values will be
14+
placed in the general multiline tooltip.
15+
See: [Tooltip Customization](https://github.com/JetBrains/lets-plot/blob/master/docs/tooltips.md#variables).
16+
17+
18+
- [lets-plot-mini-apps](https://github.com/alshan/lets-plot-mini-apps) GitHub repository containing examples of using
19+
the Lets-Plot Kotlin API in JVM and Kotlin-JS projects.
20+
21+
### Changed
22+
23+
- **[BREAKING CHANGE]**: The CDN for delivering the Lets-Plot JavaScript library is
24+
now [JSDELIVR](https://www.jsdelivr.com/?docs=gh)
25+
(was CDNJS).
26+
27+
New URLs:
28+
- Lets-Plot v2.0.3: https://cdn.jsdelivr.net/gh/JetBrains/lets-plot@v2.0.3/js-package/distr/lets-plot.min.js
29+
- The latest version: https://cdn.jsdelivr.net/gh/JetBrains/lets-plot/js-package/distr/lets-plot.min.js
30+
31+
32+
- The project has been converted to a "multiplatform" project targeting JVM and JS platforms.
33+
34+
To use Lets-Plot Kotlin API in your project, include dependencies:
35+
- JVM: `implementation "org.jetbrains.lets-plot:lets-plot-kotlin-jvm:3.0.0"`
36+
- JS: `implementation "org.jetbrains.lets-plot:lets-plot-kotlin-js:3.0.0"`
37+
38+
See [README_DEV.md](https://github.com/JetBrains/lets-plot-kotlin/blob/master/README_DEV.md) for more details.
39+
40+
41+
- **[BREAKING CHANGE]** The JVM artifact `lets-plot-kotlin-api` is no longer deployed: replaced with the
42+
equivalent `lets-plot-kotlin-jvm`.
43+
44+
45+
- The artifact `lets-plot-kotlin-api-kernel` renamed to `lets-plot-kotlin-kernel` (this change only concerns Kotlin
46+
Jupyter Kernel)
47+
48+
### Fixed
49+
50+
- Poor font rendering in Swing/Batik. Related to: [[#364](https://github.com/JetBrains/lets-plot/issues/364)]
51+
- Exclude slf4j implementation from lets-plot-common [[#374](https://github.com/JetBrains/lets-plot/issues/374)]
52+
- geom_boxplot: should be possible to create boxplot without specifying
53+
x-series [[#325](https://github.com/JetBrains/lets-plot/issues/325)]
54+
- geom_hline: graph plotted outside of coordinate plane visible
55+
part [[#334](https://github.com/JetBrains/lets-plot/issues/334)]
56+
- Draw geometry only once if layer has no aes mapping
57+
specified [[#73](https://github.com/JetBrains/lets-plot/issues/73)]
58+
- Can't build plot: "Uncaught SyntaxError: Unexpected string" in a
59+
console [[#371](https://github.com/JetBrains/lets-plot/issues/371)]
60+
861
## [2.0.1] - 2021-04-19
962

1063
### Changed

README.md

Lines changed: 50 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<td>Latest Lets-Plot Kotlin API Version</td>
66
<td>
77
<a href="https://search.maven.org/search?q=lets-plot"/>
8-
<img src="https://img.shields.io/maven-central/v/org.jetbrains.lets-plot/lets-plot-kotlin-api?color=blue&label=Maven%20Central"/>
8+
<img src="https://img.shields.io/maven-central/v/org.jetbrains.lets-plot/lets-plot-kotlin?color=blue&label=Maven%20Central"/>
99
</td>
1010
</tr>
1111
<tr>
@@ -34,8 +34,8 @@
3434
- [Resources](#resources)
3535

3636
- [Lets-Plot-Kotlin in Datalore notebooks](#datalore)
37-
38-
- [Lets-Plot in JVM-based application](#jvm)
37+
38+
- [Lets-Plot in JVM and Kotlin-JS application](#jvm)
3939

4040
- [Lets-Plot Kotlin API](#api)
4141
- [User guide and API reference](#guide)
@@ -45,7 +45,7 @@
4545
- [Tooltip customization](#tooltip-customization)
4646
- [GeoTools support](#geotools)
4747

48-
- [What is new in 2.0.1](#new)
48+
- [What is new in 3.0.0](#new)
4949
- [Change log](#change_log)
5050
- [License](#license)
5151

@@ -158,25 +158,38 @@ Try the following [examples](https://github.com/JetBrains/lets-plot-kotlin/blob/
158158
In Datalore notebook you can run Kotlin code directly in your browser. Many popular Kotlin libraries are preinstalled and readily available
159159
(see the list of [supported Kotlin libraries](https://github.com/Kotlin/kotlin-jupyter#supported-libraries)).
160160

161-
See [Quickstart in Datalore](https://view.datalore.io/notebook/Ybcyrh7ifkvTQVxbTMxaTp) example notebook to learn more about Kotlin support in Datalore.
161+
See [Quickstart in Datalore](https://view.datalore.io/notebook/Ybcyrh7ifkvTQVxbTMxaTp) example notebook to learn more
162+
about Kotlin support in Datalore.
162163

163-
Watch the [Datalore Getting Started Tutorial](https://youtu.be/MjvFQxqNSe0) video for a quick introduction to Datalore.
164+
Watch the [Datalore Getting Started Tutorial](https://youtu.be/MjvFQxqNSe0) video for a quick introduction to Datalore.
164165

165166
<a id="jvm"></a>
166-
### Lets-Plot in JVM-based application
167167

168-
Apart from Jupyter notebooks, Lets-Plot library and Kotlin API enables embedding plots into a JVM-based application.
168+
### Lets-Plot in JVM and Kotlin-JS application
169+
170+
Apart from Jupyter notebooks, Lets-Plot library and Kotlin API enables embedding plots into a JVM and a Kotlin-JS
171+
application.
169172

170-
See [README_DEV.md](https://github.com/JetBrains/lets-plot-kotlin/blob/master/README_DEV.md) to learn more about creating plots in a JVM environment.
173+
See [README_DEV.md](https://github.com/JetBrains/lets-plot-kotlin/blob/master/README_DEV.md) to learn more about
174+
creating plots in JVM or Kotlin-JS environment.
175+
176+
In the [lets-plot-mini-apps](https://github.com/alshan/lets-plot-mini-apps) GitHub repository you will find examples of
177+
using Lets-Plot Kotlin API in JVM and Kotlin-JS projects.
171178

172179
<a id="api"></a>
180+
173181
### Lets-Plot Kotlin API
174182

175183
<a id="guide"></a>
184+
176185
#### User guide and API reference
177-
- The User Guide in the form of Jupyter notebook: [user_guide.ipynb](https://nbviewer.jupyter.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/guide/user_guide.ipynb)
178186

179-
- Lets-Plot Kotlin API [reference](https://htmlpreview.github.io/?https://raw.githubusercontent.com/JetBrains/lets-plot-kotlin/master/docs/api-reference/plot-api/index.html).
187+
- The User Guide in the form of Jupyter
188+
notebook: [user_guide.ipynb](https://nbviewer.jupyter.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/guide/user_guide.ipynb)
189+
190+
- Lets-Plot Kotlin
191+
API [reference](https://htmlpreview.github.io/?https://raw.githubusercontent.com/JetBrains/lets-plot-kotlin/master/docs/api-reference/plot-api/index.html)
192+
.
180193

181194
<a id="sampling"></a>
182195
#### Data sampling
@@ -245,15 +258,33 @@ Learn more: [GeoTools Support](https://github.com/JetBrains/lets-plot-kotlin/blo
245258

246259
<a id="new"></a>
247260

248-
## What is new in 2.0.1
261+
## What is new in 3.0.0
262+
263+
- The project has been converted to a "multiplatform" project targeting JVM and JS platforms.
264+
265+
To use Lets-Plot Kotlin API in your project, include dependencies:
266+
- JVM: `implementation "org.jetbrains.lets-plot:lets-plot-kotlin-jvm:3.0.0"`
267+
- JS: `implementation "org.jetbrains.lets-plot:lets-plot-kotlin-js:3.0.0"`
268+
269+
See [README_DEV.md](https://github.com/JetBrains/lets-plot-kotlin/blob/master/README_DEV.md) for more details.
270+
271+
272+
- **[BREAKING CHANGE]** The JVM artifact `lets-plot-kotlin-api` is no longer deployed: replaced with the
273+
equivalent `lets-plot-kotlin-jvm`.
274+
275+
276+
- The artifact `lets-plot-kotlin-api-kernel` renamed to `lets-plot-kotlin-kernel` (this change only concerns Kotlin
277+
Jupyter Kernel)
278+
279+
280+
- **[BREAKING CHANGE]**: The CDN for delivering the Lets-Plot JavaScript library is
281+
now [JSDELIVR](https://www.jsdelivr.com/?docs=gh)
282+
(was CDNJS).
283+
284+
New URLs:
285+
- Lets-Plot v2.0.3: https://cdn.jsdelivr.net/gh/JetBrains/lets-plot@v2.0.3/js-package/distr/lets-plot.min.js
286+
- The latest version: https://cdn.jsdelivr.net/gh/JetBrains/lets-plot/js-package/distr/lets-plot.min.js
249287

250-
- **[BREAKING CHANGE]**: The **groupId** of all maven artifacts is now **"org.jetbrains.lets-plot"** (was "
251-
org.jetbrains.lets-plot-kotlin")
252-
This was the reason for increasing of the `major` version.
253-
- All **snake_case** symbols were deprecated and replaced with equivalent **camelCase**
254-
symbols [[#53](https://github.com/JetBrains/lets-plot-kotlin/discussions/53)].
255-
- Maven artifacts published to [Maven Central](https://search.maven.org/search?q=lets-plot) (due to shutting down
256-
of [Bintray, JCenter](https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/))
257288

258289
- Other improvements and fixes -
259290
see [CHANGELOG.md](https://github.com/JetBrains/lets-plot-kotlin/blob/master/CHANGELOG.md)

README_DEV.md

Lines changed: 87 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,75 +1,132 @@
1-
# Lets-Plot for Kotlin Developers Guide
1+
# Lets-Plot for Kotlin Developers Guide
22

33
### Building the project
44

5-
Copy file `build_settings.template.yml` located in the project root directory to the file named `build_settings.yml` in the same location.
5+
Copy file `build_settings.template.yml` located in the project root directory to the file named `build_settings.yml` in
6+
the same location.
67

78
run `./gradlew build`
89

910
### Running demos
1011

11-
Aside from examples of Jupyter notebooks the project also contains a set of simple demos showing how plots can be built outside Jupyter notebook environment. Each such demo has `main` method and is launched like any other simple JVM application.
12+
Aside from of Jupyter demo notebooks the project also contains a set of simple demos showing how plots can be built in a
13+
JVM or Kotlin-JS environment.
14+
15+
Each JVM demo has `main` method and is launched like any other JVM application.
16+
17+
The Kotlin-JS demo app is launched using Gradle task: `./gradlew :js-frontend-app:browserDevelopmentRun`
18+
19+
The simple demos can be found in the following folders:
1220

13-
The simple demos can be found in the following folders:
1421
```
1522
lets-plot-kotlin/demo/browser
1623
lets-plot-kotlin/demo/jvm-batik
1724
lets-plot-kotlin/demo/jvm-javafx
25+
lets-plot-kotlin/demo/geotools-batik
26+
lets-plot-kotlin/demo/js-frontend-app
1827
```
1928

20-
### Creating plots in JVM-based applications
29+
### Lets-Plot in JVM and Kotlin-JS applications
2130

22-
Lets-Plot library enables embedding plots into a JVM-based application.
31+
Lets-Plot library enables embedding plots into a JVM or Kotlin-JS application.
2332

24-
It also offers a choice between [JavaFX](https://en.wikipedia.org/wiki/JavaFX) graphics and rendering powered by [Apache Batik SVG Toolkit](https://xmlgraphics.apache.org/batik/).
33+
When in JVM environment the Lets-Plot library offers a choice between [JavaFX](https://en.wikipedia.org/wiki/JavaFX)
34+
graphics and rendering powered by [Apache Batik SVG Toolkit](https://xmlgraphics.apache.org/batik/).
2535

26-
#### Required Maven artifacts published by the main [Lets-Plot](https://github.com/JetBrains/lets-plot) project
36+
#### Artifacts
2737

28-
- `lets-plot-common`
29-
- `lets-plot-batik` or `lets-plot-jfx` (choose one)
38+
All artifacts are available at [Maven Central](https://search.maven.org/search?q=lets-plot).
3039

31-
[![Maven Central](https://img.shields.io/maven-central/v/org.jetbrains.lets-plot/lets-plot-common?color=blue&label=Maven%20Central)](https://search.maven.org/search?q=lets-plot)
40+
<table>
41+
<tr>
42+
<td>Lets-Plot Kotlin API</td>
43+
<td>
44+
<i>lets-plot-kotlin-jvm</i><br>
45+
<i>lets-plot-kotlin-js</i><br>
46+
<i>lets-plot-kotlin-geotools</i>
47+
</td>
48+
<td>
49+
<a href="https://search.maven.org/search?q=lets-plot"/>
50+
<img src="https://img.shields.io/maven-central/v/org.jetbrains.lets-plot/lets-plot-kotlin?color=blue&label=Maven%20Central"/>
51+
</td>
52+
<td>
53+
Published by this project.
54+
</td>
55+
</tr>
56+
<tr>
57+
<td>Lets-Plot library</td>
58+
<td>
59+
<i>lets-plot-batik</i><br>
60+
<i>lets-plot-jfx</i><br>
61+
<i>lets-plot-common</i>
62+
</td>
63+
<td>
64+
<a href="https://search.maven.org/search?q=lets-plot"/>
65+
<img src="https://img.shields.io/maven-central/v/org.jetbrains.lets-plot/lets-plot-common?color=blue&label=Maven%20Central"/>
66+
</td>
67+
<td>
68+
Published by the <a href="https://github.com/JetBrains/lets-plot">Lets-Plot library</a> project.
69+
</td>
70+
</tr>
71+
</table>
3272

33-
#### Lets-Plot Kotlin API artifact (published by this project)
73+
#### Project dependencies
3474

35-
- `lets-plot-kotlin-api`
75+
The following is how you configure a Gradle (Groovy) project:
3676

37-
[![Maven Central](https://img.shields.io/maven-central/v/org.jetbrains.lets-plot/lets-plot-kotlin-api?color=blue&label=Maven%20Central)](https://search.maven.org/search?q=lets-plot-kotlin)
77+
```groovy
78+
repositories {
79+
mavenCentral()
80+
}
81+
```
3882

39-
#### Project dependencies
83+
- JVM/Swing/Batik application:
4084

41-
All artifacts are available at [Maven Central](https://search.maven.org/search?q=lets-plot).
85+
```groovy
86+
dependencies {
87+
implementation "org.jetbrains.lets-plot:lets-plot-batik:$lets_plot_library_version>"
88+
implementation "org.jetbrains.lets-plot:lets-plot-kotlin-jvm:$lets_plot_kotlin_api_version"
89+
}
90+
```
4291

43-
The following is an example fragment of a Gradle project that uses Lets-Plot Kotlin API and Apache Batik rendering:
92+
- JVM/Swing/JavaFX application:
4493

4594
```groovy
4695
dependencies {
47-
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
48-
implementation "org.jetbrains.lets-plot:lets-plot-batik:<lib version>"
49-
api "org.jetbrains.lets-plot:lets-plot-common:<lib version>"
50-
api "org.jetbrains.lets-plot:lets-plot-kotlin-api:<api version>"
96+
implementation "org.jetbrains.lets-plot:lets-plot-jfx:$lets_plot_library_version"
97+
implementation "org.jetbrains.lets-plot:lets-plot-kotlin-jvm:$lets_plot_kotlin_api_version"
5198
}
5299
```
53100

101+
- Kotlin-JS application:
102+
54103
```groovy
55-
repositories {
56-
mavenCentral()
104+
dependencies {
105+
implementation "org.jetbrains.lets-plot:lets-plot-kotlin-js:$lets_plot_kotlin_api_version"
57106
}
58107
```
59108

60-
#### An example of a **minimal JVM-based** application
109+
#### Example applications
110+
111+
The [lets-plot-mini-apps](https://github.com/alshan/lets-plot-mini-apps) GitHub repository contains examples of using
112+
the Lets-Plot Kotlin API in JVM and Kotlin-JS projects.
113+
114+
You will also find similar "minimal" apps in this repository.
61115

62-
- Using Apache Batik:
63-
[minimalDemo/Main.kt](https://github.com/JetBrains/lets-plot-kotlin/blob/master/demo/jvm-batik/src/main/kotlin/minimalDemo/Main.kt)
116+
- JVM/Swing/Apache Batik:
117+
[minimalDemo/Main.kt](https://github.com/JetBrains/lets-plot-kotlin/blob/master/demo/jvm-batik/src/main/kotlin/minimalDemo/Main.kt)
64118

65-
- Using JavaFX:
66-
[minimalDemo/Main.kt](https://github.com/JetBrains/lets-plot-kotlin/blob/master/demo/jvm-javafx/src/main/kotlin/minimalDemo/Main.kt)
119+
- JVM/Swing/JavaFX Scene:
120+
[minimalDemo/Main.kt](https://github.com/JetBrains/lets-plot-kotlin/blob/master/demo/jvm-javafx/src/main/kotlin/minimalDemo/Main.kt)
67121

122+
- Kotlin-JS:
123+
[js-frontend-app](https://github.com/JetBrains/lets-plot-kotlin/tree/master/demo/js-frontend-app)
68124

69125
### Frontend context
70126

71-
`Frontend context` is required for method `show()` in `Figure` interface to work properly. Both `Plot` and `GGBunch` classes in `Lets-Plot` Kotlin API implement `Figure` interface.
72-
Calling method `show` is typical for interactive notebook-like applications.
127+
`Frontend context` is required for method `show()` in `Figure` interface to work properly. Both `Plot` and `GGBunch`
128+
classes in `Lets-Plot` Kotlin API implement `Figure` interface. Calling method `show` is typical for interactive
129+
notebook-like applications.
73130

74131
The following steps describe how to use `Lets-Plot` JVM "backend" in "browser" frontend context.
75132

RELEASE.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ a) Upload to the Nexus staging repository:
1515
- `./gradlew :plot-api:publishAllPublicationsToMavenRepository`
1616
- `./gradlew publishLetsPlotKotlinGeoToolsPublicationToMavenRepository`
1717

18-
> Check artifacts were uploaded to Nexus staging repository:
18+
> Check artifacts are uploaded to the Nexus staging repository:
1919
>
2020
> https://oss.sonatype.org/index.html#stagingRepositories
2121
>
@@ -26,6 +26,13 @@ b) Publish all artifacts to the Nexus "Releases" repository (from the staging):
2626

2727
- `./gradlew closeAndReleaseRepository`
2828

29+
> Check artifacts `lets-plot-kotlin-[jvm, js, kernel, metadata, geotools]` are uploaded to the Nexus Releases repository:
30+
>
31+
> https://oss.sonatype.org/index.html#view-repositories;releases~browsestorage
32+
>
33+
> In the "Browse Storage" tab enter ‘Path lookup’: org/jetbrains/lets-plot
34+
35+
2936
> **Note**: PGP signature is required for publishing.
3037
>
3138
> See:

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ project.ext.buildSettings = settings
2727

2828
allprojects {
2929
group 'org.jetbrains.lets-plot'
30-
version "3.0.0-SNAPSHOT"
30+
version "3.0.1-alpha1"
3131

3232
ext.versionIsDev = (version.contains('SNAPSHOT')
3333
|| version.contains('rc')

demo/demo-common/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
*/
55

66
plugins {
7-
// id 'java'
87
id 'org.jetbrains.kotlin.jvm'
98
}
109

0 commit comments

Comments
 (0)