You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Add asObjectMap to get the EvaluationContext as Map<String,Object> ([#75](https://github.com/open-feature/java-sdk/issues/75)) ([2eec1a5](https://github.com/open-feature/java-sdk/commit/2eec1a5519b9efab7d7f9dc8b1cbd84d9218368b))
* isList check in Value checks type of list ([#70](https://github.com/open-feature/java-sdk/issues/70)) ([81ab071](https://github.com/open-feature/java-sdk/commit/81ab0710ea56af65eb65c7f95832b8f58c559a51))
[](https://www.repostatus.org/#wip)
If you would like snapshot builds, this is the relevant repository information:
73
75
@@ -85,11 +87,13 @@ If you would like snapshot builds, this is the relevant repository information:
85
87
```
86
88
87
89
#### Gradle
90
+
<!-- x-release-please-start-version -->
88
91
```groovy
89
92
dependencies {
90
-
implementation 'dev.openfeature:javasdk:0.1.0'
93
+
implementation 'dev.openfeature:javasdk:0.2.2'
91
94
}
92
95
```
96
+
<!-- x-release-please-end-version -->
93
97
94
98
### Configure it
95
99
To configure it, you'll need to add a provider to the global singleton `OpenFeatureAPI`. From there, you can generate a `Client` which is usable by your code. While you'll likely want a provider for your specific backend, we've provided a `NoOpProvider`, which simply returns the default passed in.
@@ -108,6 +112,16 @@ We hold regular meetings which you can see [here](https://github.com/open-featur
108
112
109
113
We are also present on the `#openfeature` channel in the [CNCF slack](https://slack.cncf.io/).
110
114
115
+
## Developing
116
+
117
+
### Integration tests
118
+
119
+
The continuous integration runs a set of [gherkin integration tests](https://github.com/open-feature/test-harness/blob/main/features/evaluation.feature) using [`flagd`](https://github.com/open-feature/flagd). These tests do not run with the default maven profile. If you'd like to run them locally, you can start the flagd testbed with `docker run -p 8013:8013 ghcr.io/open-feature/flagd-testbed:latest` and then run `mvn test -P integration-test`.
This is a simple checklist when performing a release.
1
+
# Releases
2
2
3
-
1. Ensure we're up-to-date with the current spec via `./spec_finder.py --diff-output --refresh-spec`
4
-
2. Update `README.md` with the current spec that we're up to
5
-
3. Update `README.md` to keep the install instructions on the right version
6
-
4. Update `<version>` in pom.xml
7
-
5. Run `mvn verify` to ensure it all works.
8
-
6. Commit the results as the new version.
3
+
This repo uses _Release Please_ to release packages. Release Please sets up a running PR that tracks all changes in the library, and maintains the versions according to [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/), generated when [PRs are merged](https://github.com/amannn/action-semantic-pull-request), based on the PR title. The semantics of the PR title are enforced by the `lint-pr.yml` workflow. When Release Please's running PR is merged, a new release is created, and the associated artifacts are published.
9
4
10
-
Then in GitHub, trigger a release.
5
+
## Customization of changelog and release notes.
11
6
12
-
1. Go to [github releases](https://github.com/open-feature/java-sdk/releases/new)
13
-
2. Name a tag w/ the version you want to release (e.g. `0.1.0`)
14
-
3. Click the generate release notes button and write some text about what actually changed.
15
-
4. Submit
16
-
5. Validate the action which builds the result happened correctly.
7
+
If you'd like to add custom content to a release, you can do this by editing the content in a Release Please PR's description. This content will be added to the notes for that release. If you'd like to add content to the changelog, simply push updates to the changelog in the Release Please PR.
17
8
18
-
If something went wrong above, here's how you reset.
19
-
1. Save the release notes you wrote.
20
-
2. Delete the release.
21
-
3. Delete the tag with `git push --delete origin 0.1.0` where 0.1.0 is your tag name.
The `release-please-config.json` defines the release please configuration. See schema [here](https://github.com/googleapis/release-please/blob/main/schemas/config.json) to understand all the options. We use the "simple" release strategy and annotate the POM with an element to help release please find the correct XML entity to update (the version element). Release Please stores it's understanding of the current version in the `version.txt` file.
0 commit comments