Skip to content

Commit b07dc04

Browse files
authored
Release 2.3.0 (#7)
1 parent 949d9ff commit b07dc04

File tree

8 files changed

+51
-45
lines changed

8 files changed

+51
-45
lines changed

.github/workflows/publish.yml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: Publish
22

33
on:
44
push:
5-
branches: [ main, hotfix , testRelease]
5+
branches: [ main, hotfix, testRelease]
66
workflow_dispatch:
77

88
jobs:
@@ -20,18 +20,16 @@ jobs:
2020
java-version: '17'
2121

2222
- name: Setup Gradle
23-
uses: gradle/actions/setup-gradle@v3
24-
with:
25-
gradle-home-cache-cleanup: true
23+
uses: gradle/actions/setup-gradle@v4
2624

2725
- name: Build
2826
run: ./gradlew build
2927

3028
- name: Publish to Sonatype (for snapshots) or to Maven Central
3129
run: ./gradlew publish closeAndReleaseRepository
3230
env:
33-
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
34-
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
31+
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
32+
OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }}
3533
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3634
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
3735
SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }}

CHANGELOG.md

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,52 @@
11
# Changelog
2+
23
All notable changes to this project will be documented in this file.
34

45
## [Unreleased]
6+
57
### Added
8+
69
- Added `EasyBind.mapBacked(ObservableList<A> source, Function<A, B> mapper, boolean mapOnUpdate)` method to control whether new objects are created on updates. [#5](https://github.com/JabRef/EasyBind/pull/5)
710

811
### Changed
12+
913
- Fixed an issue in `EasyBind#mapBacked` where updates to the source `ObservableList` elements were not reflected in the `SortedList`. [#5](https://github.com/JabRef/EasyBind/pull/5)
1014

11-
### Removed
15+
### Fixed
16+
17+
- Changed maven coordinates to `org.jabref` in `README.md`
1218

1319
## [2.2.0] - 2021-05-18
20+
1421
### Added
22+
1523
### Changed
24+
1625
- Mark JavaFX dependency as transitive. Thanks to Sebastian Stenzel.
1726
- Remove `classifier = linux` for JavaFX dependency in the `pom` file. This makes it easier to use the library on different OS without pulling-in the wrong dependencies.
1827

1928
### Removed
2029

2130
## [2.1.0] - 2020-08-13
31+
2232
### Added
33+
2334
- Added support for JDK >= 9. [#21](https://github.com/tobiasdiez/EasyBind/issues/21)
2435
- Added `EasyObservableList#mapped` as fluid alternative to `EasyBind#map`
2536
- Added `EasyObservableList#filteredWrapped` as an alternative to `EasyObservableList#filtered` that returns an `EasyObservableList` instead of a `FilteredList`.
2637
- This allows fluid method chaining without having to wrap the `FilteredList` using `EasyBind#wrapList` again.
2738
- It is a temporary workaround that will be removed once https://github.com/openjdk/jfx/pull/278 is merged.
2839

2940
### Changed
41+
3042
- `EasyBind#flatten` and `EasyBind#concat` now return an `EasyObservableList` instead of an `ObservableList`.
3143

3244
### Removed
3345

3446
## [2.0.0] - 2020-07-17
47+
3548
### Added
49+
3650
- Added new interface `EasyObservableList` which is a wrapper around a standard `ObservableList` providing access to a few convenient helper methods. Use `EasyBind.wrapList` to create such a wrapper around a given `ObservableList`.
3751
- Added new method `EasyBind.reduce(list, accumulation)` that creates a binding holding the result of the accumulation function on the provided list.
3852
- Added a few new methods `EasyBind.valueAt` that are essentially equivalent to the standard `Bindings.valueAt` methods except that they gracefully handle non-existing values by returning a `OptionalBinding`.
@@ -41,6 +55,7 @@ All notable changes to this project will be documented in this file.
4155
- New methods that create bindings whose value is computed similar to the corresponding methods in `Optional`, e.g. `isPresent`, `isEmpty`, `orElse`, `flatMap`.
4256

4357
### Changed
58+
4459
- Renamed package to `com.tobiasdiez.easybind`.
4560
- Split `MonadicBinding` into a part which is really concerned with optionals (new `ObervableOptionalValue`) and one which provides helper methods for a fluent interface for normal bindings (new `EasyBinding`).
4661
- Renamed `flatMap` to `mapObservable` to avoid clashes with the corresponding method in `Optional`.
@@ -50,12 +65,14 @@ All notable changes to this project will be documented in this file.
5065
- Moved `PropertyBinding` to `com.tobiasdiez.easybind`.
5166

5267
### Removed
68+
5369
- Removed `EasyBind.filter(ObservableValue<T> source, Predicate<? super T> predicate)`. Use `EasyBind.wrapNullable(source).filter(predicate)` instead.
5470
- Removed `EasyBind.orElse(ObservableValue<? extends T> source, T other)`. Use `EasyBind.wrapNullable(source).orElse(other)` instead.
5571

56-
5772
## [1.2.2] - 2020-05-05
73+
5874
### Added
75+
5976
- `EasyBind.flatten(List<ObservableList<T>> lists)` and `EasyBind.concat(ObservableList<T>... lists)` that create a new list combining the values of the given lists. Unlike `FXCollections.concat()`, updates to the source lists propagate to the combined list.
6077
- `EasyBind.mapBacked(ObservableList<A> source, Function<A, B> mapper)` that works similar to `EasyBind.map` with the important difference that the `mapper` is applied only on initializing the list and not every time an item in the list is accessed.
6178
- `EasyBind.filter`
@@ -65,12 +82,14 @@ All notable changes to this project will be documented in this file.
6582
- Support for Java Module System by providing correct module information.
6683

6784
## [1.0.3] - 2014-08-19
68-
Last official release by [Tomas Mikula](https://github.com/TomasMikula/EasyBind) under the name `org.fxmisc.easybind:easybind`.
6985

86+
Last official release by [Tomas Mikula](https://github.com/TomasMikula/EasyBind) under the name `org.fxmisc.easybind:easybind`.
7087

7188
[Unreleased]: https://github.com/tobiasdiez/EasyBind/compare/v1.2.2...master
7289
[2.2.0]: https://github.com/tobiasdiez/EasyBind/compare/2.1.0...2.2.0
7390
[2.1.0]: https://github.com/tobiasdiez/EasyBind/compare/2.0.0...2.1.0
7491
[2.0.0]: https://github.com/tobiasdiez/EasyBind/compare/v1.2.2...2.0.0
7592
[1.2.2]: https://github.com/tobiasdiez/EasyBind/compare/v1.0.3...v1.2.2
7693
[1.0.3]: https://github.com/tobiasdiez/EasyBind/releases/tag/v1.0.3
94+
95+
<!-- markdownlint-disable-file MD024 MD033 MD053 -->

README.md

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -228,34 +228,30 @@ Use EasyBind in your project
228228

229229
### Stable release
230230

231-
Current stable release is `2.2.0`.
231+
Current stable release is `2.3.0`.
232232
It contains many new features, but also breaks backwards compatibility to the `1.x` versions as many methods have been renamed; see the [Changelog](CHANGELOG.md) for details.
233-
In case you are upgrading from the `EasyBind` library developed by by Tomas Mikula, then the easiest option is to use version `1.2.2` which includes a few improvements and bug fixes while being compatible with older versions.
233+
In case you are upgrading from the `EasyBind` library developed by Tomas Mikula, then the easiest option is to use version `1.2.2` which includes a few improvements and bug fixes while being compatible with older versions.
234234

235235
#### Maven coordinates
236236

237237
| Group ID | Artifact ID | Version |
238238
| :-----------------: | :---------: | :-----: |
239-
| com.tobiasdiez | easybind | 2.2.0 |
239+
| org.jabref | easybind | 2.3.0 |
240240

241241
#### Gradle example
242242

243243
```groovy
244244
dependencies {
245-
compile group: 'com.tobiasdiez', name: 'easybind', version: '2.2.0'
245+
compile group: 'org.jabref', name: 'easybind', version: '2.3.0'
246246
}
247247
```
248248

249249
#### Sbt example
250250

251251
```scala
252-
libraryDependencies += "com.tobiasdiez" % "easybind" % "2.2.0"
252+
libraryDependencies += "org.jabref" % "easybind" % "2.3.0"
253253
```
254254

255-
#### Manual download
256-
257-
[Download](https://github.com/tobiasdiez/EasyBind/releases) the JAR file and place it on your classpath.
258-
259255
### Snapshot releases
260256

261257
Snapshot releases are deployed to Sonatype snapshot repository.
@@ -264,7 +260,7 @@ Snapshot releases are deployed to Sonatype snapshot repository.
264260

265261
| Group ID | Artifact ID | Version |
266262
| :-----------------: | :---------: | :------------: |
267-
| com.tobiasdiez | easybind | 2.2.1-SNAPSHOT |
263+
| org.jabref | easybind | 2.3.1-SNAPSHOT |
268264

269265
#### Gradle example
270266

@@ -276,7 +272,7 @@ repositories {
276272
}
277273
278274
dependencies {
279-
compile group: 'org.jabref', name: 'easybind', version: '2.2.1-SNAPSHOT'
275+
compile group: 'org.jabref', name: 'easybind', version: '2.3.1-SNAPSHOT'
280276
}
281277
```
282278

@@ -285,9 +281,5 @@ dependencies {
285281
```scala
286282
resolvers += "Sonatype OSS Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots"
287283

288-
libraryDependencies += "org.jabref" % "easybind" % "2.2.1-SNAPSHOT"
284+
libraryDependencies += "org.jabref" % "easybind" % "2.3.1-SNAPSHOT"
289285
```
290-
291-
#### Manual download
292-
293-
[Download](https://oss.sonatype.org/content/repositories/snapshots/com/tobiasdiez/easybind/) the latest JAR file and place it on your classpath.

build.gradle

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,8 @@ plugins {
77
id 'org.javamodularity.moduleplugin' version '1.8.15'
88
}
99

10-
1110
group = 'org.jabref'
12-
version = '2.2.1-SNAPSHOT'
11+
version = '2.3.0'
1312
ext.isReleaseVersion = !version.endsWith("SNAPSHOT")
1413

1514
sourceCompatibility = JavaVersion.VERSION_17
@@ -47,7 +46,7 @@ publishing {
4746
pom {
4847
name = 'EasyBind'
4948
description = 'Factory methods for easy creation of JavaFX bindings using lambdas.'
50-
url = 'https://github.com/tobiasdiez/EasyBind'
49+
url = 'https://github.com/JabRef/EasyBind'
5150

5251
licenses {
5352
license {
@@ -57,18 +56,15 @@ publishing {
5756
}
5857
}
5958

60-
6159
developers {
6260
developer {
6361
id = 'siedlerchr'
6462
name = 'Christoph Schwentker'
6563
}
66-
6764
developer {
6865
id = 'koppor'
6966
name = 'Oliver Kopp'
7067
}
71-
7268
developer {
7369
id = 'tobiasdiez'
7470
name = 'Tobias Diez'
@@ -77,6 +73,7 @@ publishing {
7773
name = 'Tomas Mikula'
7874
}
7975
}
76+
8077
scm {
8178
url = 'https://github.com/JabRef/EasyBind'
8279
connection = 'scm:git:git://github.com/JabRef/EasyBind.git'
@@ -92,18 +89,19 @@ signing {
9289
useInMemoryPgpKeys(System.getenv("SIGNING_KEY"), System.getenv("SIGNING_PASSWORD"))
9390
sign publishing.publications.mavenJava
9491
}
92+
9593
nexusPublishing {
9694
repositories {
97-
sonatype { //only for users registered in Sonatype after 24 Feb 2021
98-
username = System.getenv("MAVEN_USERNAME")
99-
password = System.getenv("MAVEN_PASSWORD")
100-
nexusUrl.set(uri("https://s01.oss.sonatype.org/service/local/"))
101-
snapshotRepositoryUrl.set(uri("https://s01.oss.sonatype.org/content/repositories/snapshots/"))
95+
// see https://central.sonatype.org/publish/publish-portal-ossrh-staging-api/#configuration
96+
sonatype {
97+
username = System.getenv("OSSRH_USERNAME")
98+
password = System.getenv("OSSRH_TOKEN")
99+
nexusUrl.set(uri("https://ossrh-staging-api.central.sonatype.com/service/local/"))
100+
snapshotRepositoryUrl.set(uri("https://central.sonatype.com/repository/maven-snapshots/"))
102101
}
103102
}
104103
}
105104

106-
107105
test {
108106
useJUnitPlatform()
109107

gradle/wrapper/gradle-wrapper.jar

260 Bytes
Binary file not shown.

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

gradlew

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,7 @@ done
8686
# shellcheck disable=SC2034
8787
APP_BASE_NAME=${0##*/}
8888
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
89-
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
90-
' "$PWD" ) || exit
89+
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
9190

9291
# Use the maximum available, or set MAX_FD != -1 to use that value.
9392
MAX_FD=maximum
@@ -115,7 +114,7 @@ case "$( uname )" in #(
115114
NONSTOP* ) nonstop=true ;;
116115
esac
117116

118-
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
117+
CLASSPATH="\\\"\\\""
119118

120119

121120
# Determine the Java command to use to start the JVM.
@@ -206,15 +205,15 @@ fi
206205
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
207206

208207
# Collect all arguments for the java command:
209-
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
208+
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
210209
# and any embedded shellness will be escaped.
211210
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
212211
# treated as '${Hostname}' itself on the command line.
213212

214213
set -- \
215214
"-Dorg.gradle.appname=$APP_BASE_NAME" \
216215
-classpath "$CLASSPATH" \
217-
org.gradle.wrapper.GradleWrapperMain \
216+
-jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
218217
"$@"
219218

220219
# Stop when "xargs" is not available.

gradlew.bat

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,11 @@ goto fail
7070
:execute
7171
@rem Setup the command line
7272

73-
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
73+
set CLASSPATH=
7474

7575

7676
@rem Execute Gradle
77-
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
77+
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
7878

7979
:end
8080
@rem End local scope for the variables with windows NT shell

0 commit comments

Comments
 (0)