Dev #41

Merged
altavir merged 17 commits from dev into master 2022-03-15 13:06:15 +03:00
8 changed files with 19 additions and 26 deletions
Showing only changes of commit acb13abc6e - Show all commits

View File

@ -33,7 +33,6 @@ dependencies {
implementation(libs.dokka.gradle) implementation(libs.dokka.gradle)
implementation(libs.kotlin.jupyter.gradle) implementation(libs.kotlin.jupyter.gradle)
implementation(libs.kotlin.serialization) implementation(libs.kotlin.serialization)
@Suppress("UnstableApiUsage")
implementation(libs.kotlinx.html) implementation(libs.kotlinx.html)
implementation("org.tomlj:tomlj:1.0.0") implementation("org.tomlj:tomlj:1.0.0")
// // nexus publishing plugin // // nexus publishing plugin
@ -60,7 +59,7 @@ gradlePlugin {
create("project") { create("project") {
id = "ru.mipt.npm.gradle.project" id = "ru.mipt.npm.gradle.project"
description = "The root plugin for multimodule project infrastructure" description = "The root plugin for multi-module project infrastructure"
implementationClass = "ru.mipt.npm.gradle.KScienceProjectPlugin" implementationClass = "ru.mipt.npm.gradle.KScienceProjectPlugin"
} }
@ -215,6 +214,10 @@ afterEvaluate {
} }
} }
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
kotlinOptions.jvmTarget = "11"
}
tasks.processResources.configure { tasks.processResources.configure {
duplicatesStrategy = DuplicatesStrategy.INCLUDE duplicatesStrategy = DuplicatesStrategy.INCLUDE
from("gradle/libs.versions.toml") from("gradle/libs.versions.toml")

View File

@ -1,7 +1,7 @@
[versions] [versions]
tools = "0.11.1-kotlin-1.6.10" tools = "0.11.1-kotlin-1.6.10"
kotlin = "1.6.10" kotlin = "1.6.10"
atomicfu = "0.17.0" atomicfu = "0.17.1"
binary-compatibility-validator = "0.8.0" binary-compatibility-validator = "0.8.0"
changelog = "1.3.1" changelog = "1.3.1"
dokka = "1.6.10" dokka = "1.6.10"

Binary file not shown.

View File

@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists

View File

@ -1,3 +1 @@
rootProject.name = "gradle-tools" rootProject.name = "gradle-tools"
enableFeaturePreview("VERSION_CATALOGS")

View File

@ -23,6 +23,8 @@ public class KScienceNativePlugin : Plugin<Project> {
linuxX64(), linuxX64(),
mingwX64(), mingwX64(),
macosX64(), macosX64(),
iosX64(),
iosArm64()
) )
sourceSets { sourceSets {

View File

@ -53,18 +53,19 @@ public class KSciencePublishingExtension(public val project: Project) {
} }
} }
@Suppress("UNUSED_VARIABLE") private fun linkPublicationsToReleaseTask(name: String) = project.afterEvaluate {
private val release by project.tasks.creating { allTasks()
.filter { it.name.startsWith("publish") && it.name.endsWith("To${name.capitalize()}Repository") }
.forEach {
val theName = "release${it.name.removePrefix("publish").removeSuffix("")}"
logger.info("Making $theName task depend on ${it.name}")
val releaseTask = project.tasks.findByName(theName) ?: project.tasks.create(theName) {
group = KScienceProjectPlugin.RELEASE_GROUP group = KScienceProjectPlugin.RELEASE_GROUP
description = "Publish development or production release based on version suffix" description = "Publish development or production release based on version suffix"
} }
private fun linkPublicationsToReleaseTask(name: String) = project.afterEvaluate { releaseTask.dependsOn(it)
allTasks()
.filter { it.name == "publish${publicationTarget}To${name.capitalize()}Repository" }
.forEach {
logger.info("Linking $it to release")
release.dependsOn(it)
} }
} }
@ -73,7 +74,6 @@ public class KSciencePublishingExtension(public val project: Project) {
* *
* @param githubProject the GitHub project. * @param githubProject the GitHub project.
* @param githubOrg the GitHub user or organization. * @param githubOrg the GitHub user or organization.
* @param publish add publish task for github.
* @param addToRelease publish packages in the `release` task to the GitHub repository. * @param addToRelease publish packages in the `release` task to the GitHub repository.
*/ */
public fun github( public fun github(

View File

@ -107,16 +107,6 @@ internal fun Project.setupPublication(mavenPomConfiguration: MavenPom.() -> Unit
internal fun Project.isSnapshot() = "dev" in version.toString() || version.toString().endsWith("SNAPSHOT") internal fun Project.isSnapshot() = "dev" in version.toString() || version.toString().endsWith("SNAPSHOT")
internal val Project.publicationTarget: String
get() {
val publicationPlatform = project.findProperty("publishing.platform") as? String
return if (publicationPlatform == null) {
"AllPublications"
} else {
publicationPlatform.capitalize() + "Publication"
}
}
internal fun Project.addGithubPublishing( internal fun Project.addGithubPublishing(
githubOrg: String, githubOrg: String,
githubProject: String, githubProject: String,