Skip to content

Commit 731eb4a

Browse files
committed
init
0 parents  commit 731eb4a

35 files changed

+2204
-0
lines changed

.editorconfig

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
root=true
2+
[*]
3+
indent_size=2
4+
end_of_line=lf
5+
charset=utf-8
6+
trim_trailing_whitespace=true
7+
insert_final_newline=true
8+
[*.{kt,kts}]
9+
ij_kotlin_imports_layout=*
10+
ij_continuation_indent_size=4
11+
ktlint_standard_filename=disabled
12+
ktlint_standard_package-name=disabled
13+
ktlint_standard_property-naming=disabled
14+
ktlint_standard_function-naming=disabled
15+
filename=disabled
16+
ktlint_experimental=enabled
17+
[*.xml]
18+
indent_size=4

.github/dependabot.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for all configuration options:
4+
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5+
6+
version: 2
7+
updates:
8+
- package-ecosystem: "gradle" # See documentation for possible values
9+
directory: "/" # Location of package manifests
10+
schedule:
11+
interval: "weekly"

.github/workflows/build.yml

Lines changed: 171 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
name: Build and publish snapshot
2+
3+
on:
4+
push:
5+
branches: [ master ]
6+
paths-ignore: [ '**.md', '**.MD', '!docs/**' ]
7+
tags-ignore:
8+
- '**'
9+
pull_request:
10+
branches: [ master ]
11+
paths-ignore: [ '**.md', '**.MD', '!docs/**' ]
12+
workflow_dispatch:
13+
14+
env:
15+
GRADLE_OPTS: "-Dorg.gradle.jvmargs=-Xmx4g -Dorg.gradle.daemon=false -Dkotlin.incremental=false -XX:+UseParallelGC -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8"
16+
17+
permissions:
18+
contents: write
19+
20+
jobs:
21+
build:
22+
strategy:
23+
matrix:
24+
os: [ macos-11 ]
25+
runs-on: ${{ matrix.os }}
26+
timeout-minutes: 45
27+
if: ${{ github.repository == 'hoc081098/kotlin-channel-event-bus' }}
28+
steps:
29+
- uses: actions/checkout@v3
30+
31+
- name: Set up JDK
32+
uses: actions/setup-java@v3
33+
with:
34+
distribution: 'zulu'
35+
java-version: '17'
36+
37+
- name: Cache gradle, wrapper and buildSrc
38+
uses: actions/cache@v3
39+
with:
40+
path: |
41+
~/.gradle/caches
42+
~/.gradle/wrapper
43+
key: ${{ matrix.os }}-gradle-${{ hashFiles('**/*.gradle*') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}-${{ hashFiles('**/buildSrc/**/*.kt') }}
44+
restore-keys: |
45+
${{ matrix.os }}-gradle-
46+
- name: Cache konan
47+
uses: actions/cache@v3
48+
with:
49+
path: |
50+
~/.konan/cache
51+
~/.konan/dependencies
52+
~/.konan/kotlin-native-macos*
53+
~/.konan/kotlin-native-mingw*
54+
~/.konan/kotlin-native-windows*
55+
~/.konan/kotlin-native-linux*
56+
~/.konan/kotlin-native-prebuilt-macos*
57+
~/.konan/kotlin-native-prebuilt-mingw*
58+
~/.konan/kotlin-native-prebuilt-windows*
59+
~/.konan/kotlin-native-prebuilt-linux*
60+
key: ${{ matrix.os }}-konan-${{ hashFiles('**/*.gradle*') }}
61+
restore-keys: |
62+
${{ matrix.os }}-konan-
63+
- name: Make gradlew executable
64+
run: chmod +x ./gradlew
65+
66+
- name: Build
67+
run: ./gradlew :channel-event-bus:build --stacktrace
68+
69+
- name: Kover Xml Report
70+
run: ./gradlew :koverXmlReport
71+
72+
- name: Upload Test Report
73+
uses: codecov/[email protected]
74+
75+
- name: Upload test report artifact
76+
if: ${{ failure() }}
77+
uses: actions/upload-artifact@v3
78+
with:
79+
name: test-report
80+
path: build/reports/tests/allTests/
81+
82+
publish:
83+
needs: [ build ]
84+
if: ${{ github.ref == 'refs/heads/master' && github.repository == 'hoc081098/kotlin-channel-event-bus' }}
85+
strategy:
86+
matrix:
87+
os: [ macos-11 ]
88+
runs-on: ${{ matrix.os }}
89+
timeout-minutes: 30
90+
steps:
91+
- name: Checkout
92+
uses: actions/checkout@v3
93+
94+
- name: Set up JDK
95+
uses: actions/setup-java@v3
96+
with:
97+
distribution: 'zulu'
98+
java-version: '17'
99+
100+
- name: Cache gradle, wrapper and buildSrc
101+
uses: actions/cache@v3
102+
with:
103+
path: |
104+
~/.gradle/caches
105+
~/.gradle/wrapper
106+
key: ${{ matrix.os }}-gradle-${{ hashFiles('**/*.gradle*') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}-${{ hashFiles('**/buildSrc/**/*.kt') }}
107+
restore-keys: |
108+
${{ matrix.os }}-gradle-
109+
- name: Cache konan
110+
uses: actions/cache@v3
111+
with:
112+
path: |
113+
~/.konan/cache
114+
~/.konan/dependencies
115+
~/.konan/kotlin-native-macos*
116+
~/.konan/kotlin-native-mingw*
117+
~/.konan/kotlin-native-windows*
118+
~/.konan/kotlin-native-linux*
119+
~/.konan/kotlin-native-prebuilt-macos*
120+
~/.konan/kotlin-native-prebuilt-mingw*
121+
~/.konan/kotlin-native-prebuilt-windows*
122+
~/.konan/kotlin-native-prebuilt-linux*
123+
key: ${{ matrix.os }}-konan-${{ hashFiles('**/*.gradle*') }}
124+
restore-keys: |
125+
${{ matrix.os }}-konan-
126+
- name: Make gradlew executable
127+
run: chmod +x ./gradlew
128+
129+
- name: Retrieve version
130+
run: |
131+
echo "VERSION_NAME=$(cat gradle.properties | grep -w "VERSION_NAME" | cut -d'=' -f2)" >> $GITHUB_ENV
132+
shell: bash
133+
134+
- name: Publish snapshot
135+
run: ./gradlew publish --stacktrace
136+
if: ${{ endsWith(env.VERSION_NAME, '-SNAPSHOT') && contains(matrix.os, 'macos') }}
137+
env:
138+
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_NEXUS_USERNAME }}
139+
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_NEXUS_PASSWORD }}
140+
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.MAVEN_SIGNING_PRIVATE_KEY }}
141+
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.MAVEN_SIGNING_PASSWORD }}
142+
143+
- name: Install Python
144+
uses: actions/setup-python@v4
145+
with:
146+
python-version: 3.x
147+
148+
- name: Install MkDocs Material
149+
run: pip install mkdocs-material
150+
151+
- name: Generate docs
152+
run: ./gradlew :dokkaHtmlMultiModule --no-parallel --stacktrace
153+
154+
- name: Copy docs
155+
run: |
156+
cp README.md docs/index.md
157+
sh scripts/update_docs_url.sh "snapshot"
158+
mkdir -p docs/API
159+
cp -R build/dokka/htmlMultiModule/. docs/API
160+
161+
- name: Build MkDocs
162+
run: mkdocs build
163+
164+
- name: Deploy docs 🚀 to website
165+
if: ${{ contains(matrix.os, 'macos') }}
166+
uses: JamesIves/[email protected]
167+
with:
168+
branch: gh-pages # The branch the action should deploy to.
169+
folder: site # The folder the action should deploy.
170+
target-folder: docs/latest/
171+
clean: true

.github/workflows/publish-release.yml

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
name: Publish Release
2+
3+
on:
4+
push:
5+
tags:
6+
- '**'
7+
8+
env:
9+
GRADLE_OPTS: "-Dorg.gradle.jvmargs=-Xmx4g -Dorg.gradle.daemon=false -Dkotlin.incremental=false -XX:+UseParallelGC -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8"
10+
11+
permissions:
12+
contents: write
13+
14+
jobs:
15+
create-gh-release:
16+
if: ${{ github.repository == 'hoc081098/kotlin-channel-event-bus' }}
17+
runs-on: ubuntu-latest
18+
steps:
19+
- name: Checkout
20+
uses: actions/checkout@v3
21+
22+
- name: Extract release notes
23+
id: release_notes
24+
uses: ffurrer2/extract-release-notes@v1
25+
26+
- name: Create release
27+
uses: softprops/action-gh-release@v1
28+
with:
29+
body: ${{ steps.release_notes.outputs.release_notes }}
30+
env:
31+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
32+
33+
publish:
34+
needs: create-gh-release
35+
if: ${{ github.repository == 'hoc081098/kotlin-channel-event-bus' }}
36+
strategy:
37+
matrix:
38+
os: [ macos-11 ]
39+
runs-on: ${{ matrix.os }}
40+
steps:
41+
- name: Checkout
42+
uses: actions/checkout@v3
43+
44+
- name: Set up JDK
45+
uses: actions/setup-java@v3
46+
with:
47+
distribution: 'zulu'
48+
java-version: '17'
49+
50+
- name: Cache gradle, wrapper and buildSrc
51+
uses: actions/cache@v3
52+
with:
53+
path: |
54+
~/.gradle/caches
55+
~/.gradle/wrapper
56+
key: ${{ matrix.os }}-gradle-${{ hashFiles('**/*.gradle*') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}-${{ hashFiles('**/buildSrc/**/*.kt') }}
57+
restore-keys: |
58+
${{ matrix.os }}-gradle-
59+
- name: Cache konan
60+
uses: actions/cache@v3
61+
with:
62+
path: |
63+
~/.konan/cache
64+
~/.konan/dependencies
65+
~/.konan/kotlin-native-macos*
66+
~/.konan/kotlin-native-mingw*
67+
~/.konan/kotlin-native-windows*
68+
~/.konan/kotlin-native-linux*
69+
~/.konan/kotlin-native-prebuilt-macos*
70+
~/.konan/kotlin-native-prebuilt-mingw*
71+
~/.konan/kotlin-native-prebuilt-windows*
72+
~/.konan/kotlin-native-prebuilt-linux*
73+
key: ${{ matrix.os }}-konan-${{ hashFiles('**/*.gradle*') }}
74+
restore-keys: |
75+
${{ matrix.os }}-konan-
76+
- name: Make gradlew executable
77+
run: chmod +x ./gradlew
78+
79+
- name: Build release
80+
run: ./gradlew :channel-event-bus:assemble
81+
82+
- name: Publish release
83+
run: ./gradlew publish --stacktrace
84+
if: contains(matrix.os, 'macos')
85+
env:
86+
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_NEXUS_USERNAME }}
87+
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_NEXUS_PASSWORD }}
88+
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.MAVEN_SIGNING_PRIVATE_KEY }}
89+
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.MAVEN_SIGNING_PASSWORD }}
90+
91+
- name: Install Python
92+
uses: actions/setup-python@v4
93+
with:
94+
python-version: 3.x
95+
96+
- name: Install MkDocs Material
97+
run: pip install mkdocs-material
98+
99+
- name: Generate docs
100+
run: ./gradlew :dokkaHtmlMultiModule --no-parallel --stacktrace
101+
102+
- name: Copy docs
103+
run: |
104+
cp README.md docs/index.md
105+
mkdir -p docs/API
106+
cp -R build/dokka/htmlMultiModule/. docs/API
107+
108+
- name: Build MkDocs
109+
run: mkdocs build
110+
111+
- name: Deploy docs 🚀 to website
112+
if: ${{ contains(matrix.os, 'macos') }}
113+
uses: JamesIves/[email protected]
114+
with:
115+
branch: gh-pages # The branch the action should deploy to.
116+
folder: site # The folder the action should deploy.
117+
target-folder: docs/0.x/
118+
clean: true

.gitignore

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# Project exclude paths
2+
/.gradle/
3+
/build/
4+
/local.properties
5+
.DS_Store
6+
.idea/shelf
7+
/confluence/target
8+
/dependencies/repo
9+
/android.tests.dependencies
10+
/dependencies/android.tests.dependencies
11+
/dist
12+
/local
13+
/gh-pages
14+
/ideaSDK
15+
/clionSDK
16+
/android-studio/sdk
17+
out/
18+
/tmp
19+
kotlin-ide/
20+
workspace.xml
21+
*.versionsBackup
22+
/idea/testData/debugger/tinyApp/classes*
23+
/jps-plugin/testData/kannotator
24+
/js/js.translator/testData/out/
25+
/js/js.translator/testData/out-min/
26+
/js/js.translator/testData/out-pir/
27+
.gradle/
28+
build/
29+
!**/src/**/build
30+
!**/test/**/build
31+
*.iml
32+
!**/testData/**/*.iml
33+
.idea/libraries/Gradle*.xml
34+
.idea/libraries/Maven*.xml
35+
.idea/artifacts/FlowExt_*.xml
36+
.idea/artifacts/KotlinPlugin.xml
37+
.idea/modules
38+
.idea/runConfigurations/JPS_*.xml
39+
.idea/runConfigurations/PILL_*.xml
40+
.idea/runConfigurations/_FP_*.xml
41+
.idea/runConfigurations/_MT_*.xml
42+
.idea/libraries
43+
.idea/modules.xml
44+
.idea/gradle.xml
45+
.idea/compiler.xml
46+
.idea/inspectionProfiles/profiles_settings.xml
47+
.idea/.name
48+
.idea/artifacts/dist_auto_*
49+
.idea/artifacts/dist.xml
50+
.idea/artifacts/ideaPlugin.xml
51+
.idea/artifacts/kotlinc.xml
52+
.idea/artifacts/kotlin_compiler_jar.xml
53+
.idea/artifacts/kotlin_plugin_jar.xml
54+
.idea/artifacts/kotlin_jps_plugin_jar.xml
55+
.idea/artifacts/kotlin_daemon_client_jar.xml
56+
.idea/artifacts/kotlin_imports_dumper_compiler_plugin_jar.xml
57+
.idea/artifacts/kotlin_main_kts_jar.xml
58+
.idea/artifacts/kotlin_compiler_client_embeddable_jar.xml
59+
.idea/artifacts/kotlin_reflect_jar.xml
60+
.idea/artifacts/kotlin_stdlib_js_ir_*
61+
.idea/artifacts/kotlin_test_js_ir_*
62+
.idea/artifacts/kotlin_stdlib_wasm_*
63+
.idea/jarRepositories.xml
64+
.idea/csv-plugin.xml
65+
kotlin-ultimate/
66+
node_modules/
67+
.rpt2_cache/
68+
libraries/tools/kotlin-test-js-runner/lib/
69+
local.properties
70+
buildSrcTmp/
71+
distTmp/
72+
outTmp/
73+
/test.output
74+
/kotlin-native/dist

0 commit comments

Comments
 (0)