Skip to content

Commit 69edb4b

Browse files
Merge pull request #25 from RedMadRobot/feature/add-publishing-on-ci
добавил пулбликацию на CI
2 parents 99250f5 + b226884 commit 69edb4b

File tree

185 files changed

+376
-254
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

185 files changed

+376
-254
lines changed

.github/workflows/main.yml

Lines changed: 50 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,61 @@
11
name: CI
22

33
on:
4+
push:
5+
branches: [main]
6+
# Release tag format is v[version]
7+
# For example: v1.3.5
8+
tags: ["v*"]
49
pull_request:
5-
branches: [ main ]
10+
branches: [main]
611

712
jobs:
8-
build:
13+
check:
914
name: Check
1015
runs-on: ubuntu-latest
11-
1216
steps:
13-
- name: Checkout sources
14-
uses: actions/checkout@v3
15-
16-
- name: set up JDK
17-
uses: actions/setup-java@v3
18-
with:
19-
java-version: '17'
20-
distribution: 'temurin'
17+
- name: Checkout sources
18+
uses: actions/checkout@v4
19+
- name: Setup Java
20+
uses: actions/setup-java@v4
21+
with:
22+
distribution: "temurin"
23+
java-version: 17
24+
- name: Setup Gradle
25+
uses: gradle/actions/setup-gradle@v3
26+
- name: Run Check
27+
run: ./gradlew check
2128

22-
- name: Setup Gradle
23-
uses: gradle/actions/setup-gradle@v3
29+
publish:
30+
name: Publish
31+
needs: check
32+
runs-on: ubuntu-latest
33+
if: ${{ startsWith(github.ref, 'refs/tags/') }}
2434

25-
- name: Build
26-
run: ./gradlew check
35+
steps:
36+
- name: Checkout sources
37+
uses: actions/checkout@v4
38+
- name: Setup Java
39+
uses: actions/setup-java@v4
40+
with:
41+
distribution: "temurin"
42+
java-version: 17
43+
- name: Setup Gradle
44+
uses: gradle/actions/setup-gradle@v3
45+
- name: Run Publish
46+
run: ./gradlew publish
47+
env:
48+
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_USERNAME }}
49+
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_PASSWORD }}
50+
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_KEY }}
51+
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_KEY_PASSWORD }}
52+
ORG_GRADLE_PROJECT_githubPackagesUsername: ${{ github.actor }}
53+
ORG_GRADLE_PROJECT_githubPackagesPassword: ${{ secrets.GITHUB_TOKEN }}
54+
- name: Extract release notes
55+
uses: ffurrer2/extract-release-notes@v2
56+
with:
57+
release_notes_file: RELEASE_NOTES.md
58+
- name: Create GitHub Release
59+
uses: softprops/action-gh-release@v2
60+
with:
61+
body_path: RELEASE_NOTES.md
Lines changed: 80 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -1,76 +1,80 @@
1-
# Changelog
2-
3-
## 0.9.0
4-
### Изменения
5-
* Переименованы модули.
6-
* Gradle обновлен до 8.7
7-
* compileSdk и targetSdk повышены до 34
8-
* Добавлена возможность открыть DebugPanel без FragmentManager
9-
* Добавлена поддержка Jetpack Compose
10-
* accounts-plugin переведен на Jetpack Compose
11-
* app-settings-plugin переведен на Jetpack Compose
12-
* flipper-plugin переведен на Jetpack Compose
13-
* servers-plugin переведен на Jetpack Compose
14-
* **Breaking changes:** Изменены Maven-координаты библиотек. Наименования пакетов во всех модулях приведены к общему виду. См. [гайд по миграции][migration-guide].
15-
* **Breaking changes:** Удален плагин Variable. Вместо него используйте плагин Konfeature. См. [гайд по миграции][migration-guide].
16-
17-
## 0.8.1
18-
### Изменения
19-
* Исправлен краш при остановке активити (#13)
20-
21-
## 0.8.0
22-
### Изменения
23-
* Исправлен краш на SDK 34 (#7)
24-
* Исправлен краш при доступе к БД (#5)
25-
* Обновлены зависимости:
26-
* Kotlin 1.6.20 → 1.9.23
27-
* Room 2.4.0 → 2.6.1
28-
* KotlinX Coroutines 1.3.9 → 1.8.0
29-
* Удалено использование синтетиков
30-
* Обновлено окружение сборки проекта
31-
32-
## 0.7.5
33-
### Изменения
34-
* Добавлена поддержка строк для плагина Flipper.
35-
Теперь их можно указывать в качестве изменяемых значений.
36-
37-
## 0.7.4
38-
### Изменения
39-
* Добавлена конфигурация для публикации в публичный Maven
40-
* Проект переведен на Gradle Kotlin DSL
41-
42-
## 0.7.3
43-
### Изменения
44-
45-
* Исправлена ошибка с отсутствием события изменения сервера.
46-
* Метод observeEvents в DebugPanel возвращает не nullable Flow
47-
48-
## 0.7.2
49-
### Изменения
50-
* Добавил группирование для групп тоглов (без под групп).
51-
Добавил возможность добавлять источники в рантайме Добавил возможность выбирать между источниками в рантайме.
52-
Изменения в поведении: теперь в изменеённых тоглах будут приходить состояния всех тоглов, а не только имзененных
53-
54-
* Добавлен плагин для быстрой подмены переменных в проекте VariablePlugin
55-
56-
## 0.6.9
57-
### Изменения
58-
Исправлены ошибки в работе `flipper-plugin` для релизной сборки
59-
60-
## 0.6.8
61-
### Изменения
62-
Добавлен [flipper-plugin](../plugins/flipper-plugin) для удобной работы с библиотекой [Flipper](https://github.com/RedMadRobot/flipper)
63-
64-
## 0.6.7
65-
### Изменения
66-
* Полностью удален Rx из зависимостей.
67-
* Удален Groupie. Для списков используется [itemsAdapter](https://github.com/RedMadRobot/itemsadapter)
68-
* Kotlin обновлен до 1.5.21.
69-
* Android Gradle plugin обновлен до 4.2.0.
70-
* Изменен способ удаления добавленных вручную элементов.
71-
* Немного доработана цветовая тема библиотеки.
72-
* Добавлена поддержка **viewbinding**.
73-
* Исправлена проблема с задвоением логов при использовании Timber.
74-
* Исправлены мелкие баги.
75-
76-
[migration-guide]: migration_guide.md
1+
## [Unreleased]
2+
3+
### Changed
4+
5+
- no changes
6+
7+
## 0.9.0
8+
### Изменения
9+
* Переименованы модули.
10+
* Gradle обновлен до 8.7
11+
* compileSdk и targetSdk повышены до 34
12+
* Добавлена возможность открыть DebugPanel без FragmentManager
13+
* Добавлена поддержка Jetpack Compose
14+
* accounts-plugin переведен на Jetpack Compose
15+
* app-settings-plugin переведен на Jetpack Compose
16+
* flipper-plugin переведен на Jetpack Compose
17+
* servers-plugin переведен на Jetpack Compose
18+
* **Breaking changes:** Изменены Maven-координаты библиотек. Наименования пакетов во всех модулях приведены к общему виду. См. [гайд по миграции][docs\migration-guide].
19+
* **Breaking changes:** Удален плагин Variable. Вместо него используйте плагин Konfeature. См. [гайд по миграции][docs\migration-guide].
20+
21+
## 0.8.1
22+
### Изменения
23+
* Исправлен краш при остановке активити (#13)
24+
25+
## 0.8.0
26+
### Изменения
27+
* Исправлен краш на SDK 34 (#7)
28+
* Исправлен краш при доступе к БД (#5)
29+
* Обновлены зависимости:
30+
* Kotlin 1.6.20 → 1.9.23
31+
* Room 2.4.0 → 2.6.1
32+
* KotlinX Coroutines 1.3.9 → 1.8.0
33+
* Удалено использование синтетиков
34+
* Обновлено окружение сборки проекта
35+
36+
## 0.7.5
37+
### Изменения
38+
* Добавлена поддержка строк для плагина Flipper.
39+
Теперь их можно указывать в качестве изменяемых значений.
40+
41+
## 0.7.4
42+
### Изменения
43+
* Добавлена конфигурация для публикации в публичный Maven
44+
* Проект переведен на Gradle Kotlin DSL
45+
46+
## 0.7.3
47+
### Изменения
48+
49+
* Исправлена ошибка с отсутствием события изменения сервера.
50+
* Метод observeEvents в DebugPanel возвращает не nullable Flow
51+
52+
## 0.7.2
53+
### Изменения
54+
* Добавил группирование для групп тоглов (без под групп).
55+
Добавил возможность добавлять источники в рантайме Добавил возможность выбирать между источниками в рантайме.
56+
Изменения в поведении: теперь в изменеённых тоглах будут приходить состояния всех тоглов, а не только имзененных
57+
58+
* Добавлен плагин для быстрой подмены переменных в проекте VariablePlugin
59+
60+
## 0.6.9
61+
### Изменения
62+
Исправлены ошибки в работе `flipper-plugin` для релизной сборки
63+
64+
## 0.6.8
65+
### Изменения
66+
Добавлен [flipper-plugin](../plugins/flipper-plugin) для удобной работы с библиотекой [Flipper](https://github.com/RedMadRobot/flipper)
67+
68+
## 0.6.7
69+
### Изменения
70+
* Полностью удален Rx из зависимостей.
71+
* Удален Groupie. Для списков используется [itemsAdapter](https://github.com/RedMadRobot/itemsadapter)
72+
* Kotlin обновлен до 1.5.21.
73+
* Android Gradle plugin обновлен до 4.2.0.
74+
* Изменен способ удаления добавленных вручную элементов.
75+
* Немного доработана цветовая тема библиотеки.
76+
* Добавлена поддержка **viewbinding**.
77+
* Исправлена проблема с задвоением логов при использовании Timber.
78+
* Исправлены мелкие баги.
79+
80+
[migration-guide]: migration_guide.md

build.gradle.kts

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
11
// Top-level build file where you can add configuration options common to all sub-projects/modules.
2-
plugins {
3-
id("io.github.gradle-nexus.publish-plugin") version "2.0.0"
4-
}
52

63
subprojects {
74
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile>().configureEach {
@@ -11,17 +8,6 @@ subprojects {
118
}
129
}
1310

14-
nexusPublishing {
15-
// Uncomment if you need to release artifacts uploaded using "publish" task.
16-
// repositoryDescription.set("Implicitly created (auto staging).")
17-
repositories {
18-
sonatype {
19-
nexusUrl.set(uri("https://s01.oss.sonatype.org/service/local/"))
20-
snapshotRepositoryUrl.set(uri("https://s01.oss.sonatype.org/content/repositories/snapshots/"))
21-
}
22-
}
23-
}
24-
2511
tasks.register("clean", Delete::class) {
2612
delete(rootProject.layout.buildDirectory)
2713
}

buildSrc/build.gradle.kts

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,22 @@ plugins {
44

55
group = "com.redmadrobot.build"
66

7-
repositories {
8-
google()
9-
mavenCentral()
7+
8+
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
9+
kotlinOptions.jvmTarget = JavaVersion.VERSION_11.toString()
10+
}
11+
12+
java {
13+
targetCompatibility = JavaVersion.VERSION_11
14+
sourceCompatibility = JavaVersion.VERSION_11
1015
}
1116

1217
dependencies {
13-
implementation(kotlin("gradle-plugin", version = "1.9.23"))
14-
implementation("com.android.tools.build:gradle:8.3.2")
18+
implementation(libs.infrastructure.publish)
19+
implementation(libs.infrastructure.android)
20+
implementation(libs.publish.gradlePlugin)
21+
implementation(libs.gradle.android.cacheFixGradlePlugin)
22+
implementation(libs.kotlin.gradlePlugin)
23+
implementation(libs.detekt.gradlePlugin)
24+
implementation(libs.android.gradlePlugin)
1525
}

buildSrc/settings.gradle.kts

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
pluginManagement {
2+
repositories {
3+
gradlePluginPortal()
4+
google {
5+
content {
6+
includeGroupAndSubgroups("com.android")
7+
includeGroupAndSubgroups("com.google")
8+
includeGroupAndSubgroups("androidx")
9+
}
10+
}
11+
mavenCentral()
12+
}
13+
}
14+
15+
@Suppress("UnstableApiUsage")
16+
dependencyResolutionManagement {
17+
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
18+
19+
repositories {
20+
google {
21+
content {
22+
includeGroupAndSubgroups("com.android")
23+
includeGroupAndSubgroups("com.google")
24+
includeGroupAndSubgroups("androidx")
25+
}
26+
}
27+
28+
mavenCentral()
29+
gradlePluginPortal()
30+
}
31+
32+
versionCatalogs {
33+
create("libs") {
34+
from(files("../gradle/libs.versions.toml"))
35+
}
36+
}
37+
}

0 commit comments

Comments
 (0)