-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Don't publish
build-helpers
, use it directly
Fixes https://youtrack.jetbrains.com/issue/CMP-1339/Change-description-of-androidx-artifacts-in-Maven-Central-stage We need some changes in it: https://youtrack.jetbrains.com/issue/CMP-7198/Maven-Central-publication-publishes-old-artifacts-for-Core-Bundle https://youtrack.jetbrains.com/issue/CMP-1339/Change-description-of-androidx-artifacts-in-Maven-Central-stage and the current workflow is complicated: - make changes - publish this as a library in the dev repo - add this as a dependency in some Gradle project (Example https://github.com/JetBrains/compose-multiplatform-core/blob/2d8c5f479f590305b9fedc744e00fdc9c276bbb9/mpp/build.gradle.kts#L286) - Run the gradle task on CI from compose-multiplatform-core project ``` clone compose-multiplatform-core ./gradlew reuploadArtifactsToMavenCentral --info --stacktrace -Pmaven.central.sign=true -Pmaven.central.group=$group -Pmaven.central.stage=$stage -Pmaven.central.version=$version -Pmaven.central.staging.close.after.upload=true ``` This task also doesn't use any of `compose-multiplatform-core` info, so it is overhead to store it as part of this project. Now we just change some code, and it is already can be run by CI. Related change on CI: https://jetbrains.team/p/ui/repositories/compose-teamcity-config/revision/14790a506883923b25ef9ef4d05802f6210362f3 Related change in core: TODO ## Testing 1. Run https://teamcity.jetbrains.com/buildConfiguration/JetBrainsPublicProjects_Compose_UploadToMavenCentralManually on branch igor.demin/upload-to-maven-central-without-library with: 2. See:
- Loading branch information
Showing
27 changed files
with
104 additions
and
132 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
import org.jetbrains.compose.internal.publishing.* | ||
|
||
plugins { | ||
signing | ||
} | ||
|
||
val mavenCentral = MavenCentralProperties(project) | ||
val mavenCentralGroup = project.providers.gradleProperty("maven.central.group") | ||
val mavenCentralStage = project.providers.gradleProperty("maven.central.stage") | ||
if (mavenCentral.signArtifacts) { | ||
signing.useInMemoryPgpKeys( | ||
mavenCentral.signArtifactsKey.get(), | ||
mavenCentral.signArtifactsPassword.get() | ||
) | ||
} | ||
|
||
val publishingDir = project.layout.buildDirectory.dir("publishing") | ||
val originalArtifactsRoot = publishingDir.map { it.dir("original") } | ||
val preparedArtifactsRoot = publishingDir.map { it.dir("prepared") } | ||
val modulesFile = publishingDir.map { it.file("modules.txt") } | ||
|
||
val findComposeModules by tasks.registering(FindModulesInSpaceTask::class) { | ||
requestedGroupId.set(mavenCentralGroup) | ||
requestedVersion.set(mavenCentral.version) | ||
spaceInstanceUrl.set("https://public.jetbrains.space") | ||
spaceClientId.set(System.getenv("COMPOSE_REPO_USERNAME") ?: "") | ||
spaceClientSecret.set(System.getenv("COMPOSE_REPO_KEY") ?: "") | ||
spaceProjectId.set(System.getenv("COMPOSE_DEV_REPO_PROJECT_ID") ?: "") | ||
spaceRepoId.set(System.getenv("COMPOSE_DEV_REPO_REPO_ID") ?: "") | ||
modulesTxtFile.set(modulesFile) | ||
} | ||
|
||
val downloadArtifactsFromComposeDev by tasks.registering(DownloadFromSpaceMavenRepoTask::class) { | ||
dependsOn(findComposeModules) | ||
modulesToDownload.set(project.provider { | ||
readComposeModules( | ||
modulesFile, | ||
originalArtifactsRoot | ||
) | ||
}) | ||
spaceRepoUrl.set("https://maven.pkg.jetbrains.space/public/p/compose/dev") | ||
} | ||
|
||
val fixModulesBeforePublishing by tasks.registering(FixModulesBeforePublishingTask::class) { | ||
dependsOn(downloadArtifactsFromComposeDev) | ||
inputRepoDir.set(originalArtifactsRoot) | ||
outputRepoDir.set(preparedArtifactsRoot) | ||
} | ||
|
||
val reuploadArtifactsToMavenCentral by tasks.registering(UploadToSonatypeTask::class) { | ||
dependsOn(fixModulesBeforePublishing) | ||
|
||
version.set(mavenCentral.version) | ||
modulesToUpload.set(project.provider { readComposeModules(modulesFile, preparedArtifactsRoot) }) | ||
|
||
sonatypeServer.set("https://oss.sonatype.org") | ||
user.set(mavenCentral.user) | ||
password.set(mavenCentral.password) | ||
autoCommitOnSuccess.set(mavenCentral.autoCommitOnSuccess) | ||
stagingProfileName.set(mavenCentralStage) | ||
} | ||
|
||
fun readComposeModules( | ||
modulesFile: Provider<out FileSystemLocation>, | ||
repoRoot: Provider<out FileSystemLocation> | ||
): List<ModuleToUpload> = | ||
modulesFile.get().asFile.readLines() | ||
.filter { it.isNotBlank() } | ||
.map { line -> | ||
val (group, artifact, version) = line.split(":") | ||
ModuleToUpload( | ||
groupId = group, | ||
artifactId = artifact, | ||
version = version, | ||
localDir = repoRoot.get().asFile.resolve("$group/$artifact/$version") | ||
) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
import org.gradle.kotlin.dsl.gradleKotlinDsl | ||
|
||
plugins { | ||
`java` | ||
`java-gradle-plugin` | ||
kotlin("jvm") version "1.9.24" | ||
} | ||
|
||
repositories { | ||
mavenCentral() | ||
maven("https://maven.pkg.jetbrains.space/public/p/space/maven") | ||
} | ||
|
||
dependencies { | ||
compileOnly(gradleApi()) | ||
compileOnly(gradleKotlinDsl()) | ||
|
||
val jacksonVersion = "2.12.5" | ||
implementation("com.fasterxml.jackson.dataformat:jackson-dataformat-xml:$jacksonVersion") | ||
implementation("com.fasterxml.jackson.module:jackson-module-kotlin:$jacksonVersion") | ||
implementation("io.ktor:ktor-client-okhttp:1.6.4") | ||
implementation("org.apache.tika:tika-parsers:1.24.1") | ||
implementation("org.jsoup:jsoup:1.14.3") | ||
implementation("org.jetbrains:space-sdk-jvm:83821-beta") | ||
implementation("de.undercouch:gradle-download-task:4.1.2") | ||
} |
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion
2
.../gradle/wrapper/gradle-wrapper.properties → .../gradle/wrapper/gradle-wrapper.properties
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
distributionBase=GRADLE_USER_HOME | ||
distributionPath=wrapper/dists | ||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.1-bin.zip | ||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip | ||
zipStoreBase=GRADLE_USER_HOME | ||
zipStorePath=wrapper/dists |
File renamed without changes.
File renamed without changes.
Empty file.