Dev #14
@ -7,6 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
### Added
|
### Added
|
||||||
|
- Disable API validation for snapshots
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
- `publication.platform` changed to `publishing.platform`
|
- `publication.platform` changed to `publishing.platform`
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package ru.mipt.npm.gradle
|
package ru.mipt.npm.gradle
|
||||||
|
|
||||||
import groovy.text.SimpleTemplateEngine
|
import groovy.text.SimpleTemplateEngine
|
||||||
|
import kotlinx.validation.ApiValidationExtension
|
||||||
import kotlinx.validation.BinaryCompatibilityValidatorPlugin
|
import kotlinx.validation.BinaryCompatibilityValidatorPlugin
|
||||||
import org.gradle.api.Plugin
|
import org.gradle.api.Plugin
|
||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
||||||
@ -8,17 +9,14 @@ import org.gradle.kotlin.dsl.*
|
|||||||
import org.jetbrains.changelog.ChangelogPlugin
|
import org.jetbrains.changelog.ChangelogPlugin
|
||||||
import org.jetbrains.dokka.gradle.DokkaPlugin
|
import org.jetbrains.dokka.gradle.DokkaPlugin
|
||||||
import org.jetbrains.dokka.gradle.DokkaTask
|
import org.jetbrains.dokka.gradle.DokkaTask
|
||||||
import ru.mipt.npm.gradle.internal.addGithubPublishing
|
import ru.mipt.npm.gradle.internal.*
|
||||||
import ru.mipt.npm.gradle.internal.addSonatypePublishing
|
|
||||||
import ru.mipt.npm.gradle.internal.addSpacePublishing
|
|
||||||
import ru.mipt.npm.gradle.internal.setupPublication
|
|
||||||
|
|
||||||
@Suppress("unused")
|
@Suppress("unused")
|
||||||
class KSciencePublishingExtension(val project: Project) {
|
class KSciencePublishingExtension(val project: Project) {
|
||||||
private var initializedFlag = false
|
private var initializedFlag = false
|
||||||
|
|
||||||
fun configurePublications(vcsUrl: String){
|
fun configurePublications(vcsUrl: String) {
|
||||||
if(!initializedFlag) {
|
if (!initializedFlag) {
|
||||||
project.setupPublication(vcsUrl)
|
project.setupPublication(vcsUrl)
|
||||||
initializedFlag = true
|
initializedFlag = true
|
||||||
}
|
}
|
||||||
@ -29,7 +27,7 @@ class KSciencePublishingExtension(val project: Project) {
|
|||||||
*/
|
*/
|
||||||
fun github(githubProject: String, githubOrg: String = "mipt-npm") {
|
fun github(githubProject: String, githubOrg: String = "mipt-npm") {
|
||||||
//automatically initialize vcs using github
|
//automatically initialize vcs using github
|
||||||
if(!initializedFlag){
|
if (!initializedFlag) {
|
||||||
configurePublications("https://github.com/$githubOrg/$githubProject")
|
configurePublications("https://github.com/$githubOrg/$githubProject")
|
||||||
}
|
}
|
||||||
project.addGithubPublishing(githubOrg, githubProject)
|
project.addGithubPublishing(githubOrg, githubProject)
|
||||||
@ -39,7 +37,7 @@ class KSciencePublishingExtension(val project: Project) {
|
|||||||
* Space publishing
|
* Space publishing
|
||||||
*/
|
*/
|
||||||
fun space(spaceRepo: String = "https://maven.pkg.jetbrains.space/mipt-npm/p/sci/maven") {
|
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)
|
project.addSpacePublishing(spaceRepo)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -52,8 +50,8 @@ class KSciencePublishingExtension(val project: Project) {
|
|||||||
/**
|
/**
|
||||||
* Sonatype publishing
|
* Sonatype publishing
|
||||||
*/
|
*/
|
||||||
fun sonatype(){
|
fun sonatype() {
|
||||||
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.addSonatypePublishing()
|
project.addSonatypePublishing()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -177,6 +175,14 @@ open class KScienceProjectPlugin : Plugin<Project> {
|
|||||||
description = "Publish development or production release based on version suffix"
|
description = "Publish development or production release based on version suffix"
|
||||||
dependsOn(generateReadme)
|
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 {
|
companion object {
|
||||||
|
Loading…
Reference in New Issue
Block a user