import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl

plugins {
	kotlin("multiplatform") version "2.0.20"
	`maven-publish`
}

group = "ru.landgrafhomyak.kotlin.utilities"
version = "v1.0k2.0.20"

repositories {
	mavenCentral()
	maven("https://maven.landgrafhomyak.ru/")
}

@OptIn(ExperimentalWasmDsl::class)
kotlin {
	explicitApi()

	jvmToolchain(8)
	jvm {
	}
	js(IR) {
		browser()
		nodejs()
	}
	wasmWasi {
		nodejs()
	}
	wasmJs {
		nodejs()
		browser()
		d8()
	}

	macosArm64()
	macosX64()
	linuxArm64()
	linuxX64()
	mingwX64()
	androidNativeArm32()
	androidNativeArm64()
	androidNativeX64()
	androidNativeX86()
	iosArm64()
	iosSimulatorArm64()
	iosX64()
	tvosX64()
	tvosArm64()
	tvosSimulatorArm64()
	watchosX64()
	watchosArm32()
	watchosArm64()
	watchosDeviceArm64()
	watchosSimulatorArm64()

	sourceSets {
		commonMain {
			dependencies {
			}
		}
	}
}

publishing {
	// other settings of publication
	repositories {
		maven {
			name = "XomrkMaven"
			url = uri("https://git.landgrafhomyak.ru/api/packages/xomrk/maven/")

			credentials(HttpHeaderCredentials::class) {
				name = "Authorization"
				value = "token ${System.getenv("XOMRK_MAVEN_REPO_DEPLOY_TOKEN")}"
			}

			authentication {
				create<HttpHeaderAuthentication>("header")
			}
		}
	}
}