diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 16a823e..c347a8d 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -6,7 +6,8 @@ updates:
schedule:
interval: "weekly"
ignore:
- - dependency-name: "kotlin"
- versions: [ "2.x" ]
+ - dependency-name: '*'
+ update-types:
+ - version-update:semver-major
commit-message:
prefix: "[deps]"
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index f4930b5..d795623 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -5,10 +5,10 @@ on:
branches:
- master
paths:
- - ".github/**"
- - "src/**"
- - "build.gradle"
- - "gradle.properties"
+ - .github/**
+ - src/**
+ - build.gradle
+ - gradle.properties
jobs:
build:
name: Build
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 7f39226..d2ef4ce 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -13,6 +13,8 @@ jobs:
contents: write
steps:
- uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
- uses: actions/setup-java@v4
with:
@@ -20,11 +22,20 @@ jobs:
java-version: "17"
cache: "gradle"
- - name: Publish artefacts
- run: ./gradlew publish
+ - name: Build and publish
+ run: ./gradlew clean assemble publish
+
+ - name: Release to Maven Central
+ run: ./gradlew jreleaserDeploy
env:
- GITHUB_USER: ${{ secrets.GITHUB_USER }}
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.MAVEN_USERNAME }}
+ JRELEASER_MAVENCENTRAL_TOKEN: ${{ secrets.MAVEN_PASSWORD }}
+ JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.GPG_PUBLIC_KEY }}
+ JRELEASER_GPG_SECRET_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
+ JRELEASER_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
+ JRELEASER_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Create release
uses: softprops/action-gh-release@v2
+ with:
+ generate_release_notes: true
diff --git a/.java-version b/.java-version
new file mode 100644
index 0000000..98d9bcb
--- /dev/null
+++ b/.java-version
@@ -0,0 +1 @@
+17
diff --git a/LICENSE b/LICENSE
index 2a923fa..e356932 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2024 Romanov Alexey
+Copyright (c) 2025 Romanov Alexey
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/README.md b/README.md
index f108af8..0ca1c59 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,8 @@
-[](https://github.com/Romanow/skip-method/actions/workflows/build.yml)
-[](https://codecov.io/github/Romanow/skip-method)
+[](https://github.com/Romanow/skip-method/actions/workflows/build.yml)
[](https://github.com/pre-commit/pre-commit)
+[](https://github.com/Romanow/skip-method/releases/latest)
+[](https://codecov.io/gh/Romanow/skip-method)
+[](https://github.com/Romanow/skip-method/blob/master/LICENSE)
# Пропуск вызова метода в тестах
@@ -9,6 +11,25 @@
Сделать исключение вызова конкретных методов (в коде) и заменить их значением по-умолчанию.
Используется для исключения вызова методов при запуске тестов на разных окружениях.
+## Подключение
+
+### Maven
+
+```xml
+
+ ru.romanow-alex
+ skip-method
+ ${skip-method.version}
+
+```
+
+### Gradle
+
+```groovy
+testImplementation "ru.romanow-alex:skip-method:$skipMethodVersion"
+```
+
+
## Конфигурация
Настроить поддержку AspectJ в [gradle](build.gradle):
diff --git a/build.gradle b/build.gradle
index 5d93822..1ffaa53 100644
--- a/build.gradle
+++ b/build.gradle
@@ -2,14 +2,15 @@ plugins {
id "idea"
id "jacoco"
id "maven-publish"
- id "org.jetbrains.kotlin.jvm" version "1.9.22"
+ id "org.jreleaser" version "1.19.0"
+ id "org.jetbrains.kotlin.jvm" version "1.9.25"
id "org.jlleitschuh.gradle.ktlint" version "12.1.1"
}
[compileKotlin, compileTestKotlin]*.kotlinOptions*.jvmTarget = "17"
ext {
- junitVersion = "5.11.0"
+ junitVersion = "5.13.3"
mockitoVersion = "5.13.0"
assertjVersion = "3.26.3"
aspectjVersion = "1.9.22.1"
@@ -51,6 +52,10 @@ test {
useJUnitPlatform()
systemProperty "skipOn", findProperty("skipOn")
+ testLogging {
+ showStandardStreams = true
+ }
+
doFirst {
jvmArgs "--add-opens",
"java.base/java.lang=ALL-UNNAMED",
@@ -70,9 +75,11 @@ check.dependsOn jacocoTestReport
publishing {
publications {
maven(MavenPublication) {
+ from components.java
pom {
- name = "playwright-page-object"
- description = "Page Object pattern for Playwright framework"
+ name = "skip-method"
+ description = "Skip method in test"
+ url = "https://github.com/Romanow/skip-method/"
licenses {
license {
name = "The MIT License"
@@ -81,22 +88,39 @@ publishing {
}
developers {
developer {
- name = "Romanov Alex"
- email = "romanowalex@mail.ru"
+ id = "Romanow"
+ name = "Romanov Alexey"
+ email = "romanow.tech@gmail.com"
}
}
scm {
- url = "https://github.com/Romanow/playwright-page-object/"
+ url = "https://github.com/Romanow/skip-method/"
+ connection = "scm:git:https://github.com/Romanow/skip-method.git"
+ developerConnection = "scm:git:ssh://github.com/Romanow/skip-method.git"
}
}
}
}
repositories {
maven {
- url = uri("https://maven.pkg.github.com/Romanow/playwright-page-object")
- credentials {
- username = System.getenv("GITHUB_USER")
- password = System.getenv("GITHUB_TOKEN")
+ url = "build/staging-deploy"
+ }
+ }
+}
+
+jreleaser {
+ signing {
+ active = "ALWAYS"
+ armored = true
+ }
+ deploy {
+ maven {
+ mavenCentral {
+ sonatype {
+ active = "ALWAYS"
+ url = "https://central.sonatype.com/api/v1/publisher"
+ stagingRepository("build/staging-deploy")
+ }
}
}
}
diff --git a/gradle.properties b/gradle.properties
index 00aed64..2b9afb9 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,3 +1,3 @@
version=1.0.0
-group=ru.romanow.skip.method
+group=ru.romanow-alex
org.gradle.daemon=true
diff --git a/src/main/kotlin/ru/romanow/skip/method/SkipMethod.kt b/src/main/kotlin/ru/romanow/skip/method/SkipMethod.kt
index 76e4d8a..9392ff8 100644
--- a/src/main/kotlin/ru/romanow/skip/method/SkipMethod.kt
+++ b/src/main/kotlin/ru/romanow/skip/method/SkipMethod.kt
@@ -9,7 +9,9 @@ annotation class SkipMethod(
val skipOn: Array = []
) {
enum class Environments {
- DEV, STAGE, PROD
+ DEV,
+ STAGE,
+ PROD
}
}