Disable API validation for snapshots

This commit is contained in:
Alexander Nozik 2021-04-11 09:44:42 +03:00
parent 6d324b6e0d
commit 60f5d15ba1
2 changed files with 17 additions and 10 deletions

View File

@ -7,6 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
### Added
- Disable API validation for snapshots
### Changed
- `publication.platform` changed to `publishing.platform`

View File

@ -1,6 +1,7 @@
package ru.mipt.npm.gradle
import groovy.text.SimpleTemplateEngine
import kotlinx.validation.ApiValidationExtension
import kotlinx.validation.BinaryCompatibilityValidatorPlugin
import org.gradle.api.Plugin
import org.gradle.api.Project
@ -8,17 +9,14 @@ import org.gradle.kotlin.dsl.*
import org.jetbrains.changelog.ChangelogPlugin
import org.jetbrains.dokka.gradle.DokkaPlugin
import org.jetbrains.dokka.gradle.DokkaTask
import ru.mipt.npm.gradle.internal.addGithubPublishing
import ru.mipt.npm.gradle.internal.addSonatypePublishing
import ru.mipt.npm.gradle.internal.addSpacePublishing
import ru.mipt.npm.gradle.internal.setupPublication
import ru.mipt.npm.gradle.internal.*
@Suppress("unused")
class KSciencePublishingExtension(val project: Project) {
private var initializedFlag = false
fun configurePublications(vcsUrl: String){
if(!initializedFlag) {
fun configurePublications(vcsUrl: String) {
if (!initializedFlag) {
project.setupPublication(vcsUrl)
initializedFlag = true
}
@ -29,7 +27,7 @@ class KSciencePublishingExtension(val project: Project) {
*/
fun github(githubProject: String, githubOrg: String = "mipt-npm") {
//automatically initialize vcs using github
if(!initializedFlag){
if (!initializedFlag) {
configurePublications("https://github.com/$githubOrg/$githubProject")
}
project.addGithubPublishing(githubOrg, githubProject)
@ -39,7 +37,7 @@ class KSciencePublishingExtension(val project: Project) {
* Space publishing
*/
fun space(spaceRepo: String = "https://maven.pkg.jetbrains.space/mipt-npm/p/sci/maven") {
require(initializedFlag){"The publishing is not set up use 'configurePublications' method to do so"}
require(initializedFlag) { "The publishing is not set up use 'configurePublications' method to do so" }
project.addSpacePublishing(spaceRepo)
}
@ -52,8 +50,8 @@ class KSciencePublishingExtension(val project: Project) {
/**
* Sonatype publishing
*/
fun sonatype(){
require(initializedFlag){"The publishing is not set up use 'configurePublications' method to do so"}
fun sonatype() {
require(initializedFlag) { "The publishing is not set up use 'configurePublications' method to do so" }
project.addSonatypePublishing()
}
}
@ -177,6 +175,14 @@ open class KScienceProjectPlugin : Plugin<Project> {
description = "Publish development or production release based on version suffix"
dependsOn(generateReadme)
}
// Disable API validation for snapshots
if (isSnapshot()) {
extensions.findByType<ApiValidationExtension>()?.apply {
validationDisabled = true
logger.warn("API validation is disabled for snapshot or dev version")
}
}
}
companion object {