Skip to content

Commit e69e9e8

Browse files
authored
feat!: Bootstrap project and implement env-var provider (#1)
Signed-off-by: Bence Hornák <[email protected]>
1 parent 2c5c1d9 commit e69e9e8

File tree

37 files changed

+2044
-24
lines changed

37 files changed

+2044
-24
lines changed

.gitattributes

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#
2+
# https://help.github.com/articles/dealing-with-line-endings/
3+
#
4+
# Linux start script should use lf
5+
/gradlew text eol=lf
6+
7+
# These are Windows script files and should use crlf
8+
*.bat text eol=crlf
9+
10+
# Binary files should be left untouched
11+
*.jar binary
12+

.github/CODE_OF_CONDUCT.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Code of Conduct
2+
3+
Please refer to the [OpenFeature community page](https://openfeature.dev/community/#code-of-conduct) for more information on Code of Conduct.

.github/workflows/ci.yaml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches:
6+
- 'main'
7+
pull_request:
8+
branches:
9+
- '*'
10+
11+
jobs:
12+
Tests:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Checkout
16+
uses: actions/checkout@v4
17+
- name: Run checks
18+
run: ./gradlew check --no-daemon --stacktrace

.github/workflows/lint-pr.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: 'Lint PR'
2+
3+
on:
4+
pull_request_target:
5+
types:
6+
- opened
7+
- edited
8+
- synchronize
9+
10+
jobs:
11+
main:
12+
name: Validate PR title
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: amannn/action-semantic-pull-request@v5
16+
id: lint_pr_title
17+
env:
18+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
19+
20+
- uses: marocchino/sticky-pull-request-comment@v2
21+
# When the previous steps fails, the workflow would stop. By adding this
22+
# condition you can continue the execution with the populated error message.
23+
if: always() && (steps.lint_pr_title.outputs.error_message != null)
24+
with:
25+
header: pr-title-lint-error
26+
message: |
27+
Hey there and thank you for opening this pull request! 👋🏼
28+
29+
We require pull request titles to follow the [Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/) and it looks like your proposed title needs to be adjusted.
30+
31+
Details:
32+
33+
```
34+
${{ steps.lint_pr_title.outputs.error_message }}
35+
```
36+
37+
# Delete a previous comment when the issue has been resolved
38+
- if: ${{ steps.lint_pr_title.outputs.error_message == null }}
39+
uses: marocchino/sticky-pull-request-comment@v2
40+
with:
41+
header: pr-title-lint-error
42+
delete: true

.gitignore

Lines changed: 10 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,14 @@
1-
# Compiled class file
2-
*.class
1+
# Ignore Gradle project-specific cache directory
2+
.gradle
33

4-
# Log file
5-
*.log
6-
7-
# BlueJ files
8-
*.ctxt
9-
10-
# Mobile Tools for Java (J2ME)
11-
.mtj.tmp/
4+
# Kotlin Gradle plugin data, see https://kotlinlang.org/docs/whatsnew20.html#new-directory-for-kotlin-data-in-gradle-projects
5+
.kotlin/
126

13-
# Package Files #
14-
*.jar
15-
*.war
16-
*.nar
17-
*.ear
18-
*.zip
19-
*.tar.gz
20-
*.rar
7+
# Ignore Gradle build output directory
8+
build
219

22-
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
23-
hs_err_pid*
24-
replay_pid*
10+
# Ignore IntelliJ files
11+
.idea
2512

26-
# Kotlin Gradle plugin data, see https://kotlinlang.org/docs/whatsnew20.html#new-directory-for-kotlin-data-in-gradle-projects
27-
.kotlin/
13+
# Ignore Kotlin files
14+
.kotlin

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Changelog

CONTRIBUTING.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Contributing
2+
3+
TODO

OWNERS.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Owners
2+
3+
- See [CONTRIBUTING.md](CONTRIBUTING.md) for general contribution guidelines.
4+
5+
## Core Developers
6+
7+
- Fabrizio Demaria (fabriziodemaria, Spotify)
8+
- Nicklas Lundin (nicklasl, Spotify)
9+
- Nicky Bondarenko (nickybondarenko, Spotify)
10+
- Todd Baert (toddbaert, Dynatrace)
11+
- Vahid Torkaman (vahidlazio, Spotify)
12+
13+
See https://github.com/open-feature/community/blob/main/config/open-feature/sdk-kotlin/workgroup.yaml.

README.md

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,24 @@
1-
# kotlin-sdk-contrib
1+
# OpenFeature Kotlin Contributions
2+
3+
> [!WARNING]
4+
> This repository is not fully initialized for the moment, proceed at your own risk.
5+
6+
This repository is intended for OpenFeature contributions which are not included in the [OpenFeature Kotlin SDK](https://github.com/open-feature/kotlin-sdk).
7+
8+
The project includes:
9+
10+
- [Providers](./providers)
11+
- [Hooks](./hooks)
12+
13+
### Software Bill of Materials (SBOM)
14+
15+
We publish SBOMs with all of our releases. You can find them in Maven Central alongside the artifacts.
16+
17+
## Contributing
18+
19+
see: [CONTRIBUTING.md](./CONTRIBUTING.md)
20+
21+
## License
22+
23+
Apache 2.0 - See [LICENSE](./LICENSE) for more information.
24+

build.gradle.kts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
plugins {
2+
alias(libs.plugins.nexus.publish)
3+
}
4+
5+
allprojects {
6+
extra["groupId"] = "dev.openfeature.kotlin.contrib"
7+
ext["version"] = "0.1.0"
8+
}
9+
group = project.extra["groupId"].toString()
10+
version = project.extra["version"].toString()
11+
12+
nexusPublishing {
13+
this.repositories {
14+
sonatype {
15+
nexusUrl.set(uri("https://s01.oss.sonatype.org/service/local/"))
16+
snapshotRepositoryUrl.set(
17+
uri("https://s01.oss.sonatype.org/content/repositories/snapshots/"),
18+
)
19+
username = System.getenv("OSSRH_USERNAME")
20+
password = System.getenv("OSSRH_PASSWORD")
21+
}
22+
}
23+
}

0 commit comments

Comments
 (0)