Skip to content

Commit 8a83ca0

Browse files
committed
Add sonarqube
1 parent 7ca76d6 commit 8a83ca0

File tree

5 files changed

+37
-5
lines changed

5 files changed

+37
-5
lines changed

.github/workflows/develop.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,4 +71,4 @@ jobs:
7171
shell: bash
7272
env:
7373
PGP_KEY_PRIVATE: ${{secrets.S_PGP_KEY_PRIVATE}}
74-
- run: './gradlew --no-daemon publishDevelop -PdevBuildNumber=${{ github.run_number }} -PpearxRepoUsername=${{ secrets.S_PEARX_REPO_USERNAME }} -PpearxRepoPassword=${{ secrets.S_PEARX_REPO_PASSWORD }} -Psigning.keyId=${{ secrets.S_PGP_KEY_PUBID }} -Psigning.password="${{ secrets.S_PGP_KEY_PASSWORD }}" -Psigning.secretKeyRingFile=private.key'
74+
- run: './gradlew --no-daemon publishDevelop -PdevBuildNumber=${{ github.run_number }} -PpearxRepoUsername=${{ secrets.S_PEARX_REPO_USERNAME }} -PpearxRepoPassword=${{ secrets.S_PEARX_REPO_PASSWORD }} -Psigning.keyId=${{ secrets.S_PGP_KEY_PUBID }} -Psigning.password="${{ secrets.S_PGP_KEY_PASSWORD }}" -Psigning.secretKeyRingFile=private.key -PsonarcloudToken=${{ secrets.SONARCLOUD_TOKEN }}'

.github/workflows/master.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,4 +71,4 @@ jobs:
7171
shell: bash
7272
env:
7373
PGP_KEY_PRIVATE: ${{secrets.S_PGP_KEY_PRIVATE}}
74-
- run: './gradlew --no-daemon release -PpearxRepoUsername=${{ secrets.S_PEARX_REPO_USERNAME }} -PpearxRepoPassword=${{ secrets.S_PEARX_REPO_PASSWORD }} -Psigning.keyId=${{ secrets.S_PGP_KEY_PUBID }} -Psigning.password="${{ secrets.S_PGP_KEY_PASSWORD }}" -Psigning.secretKeyRingFile=private.key -PgithubAccessToken="${{ secrets.S_GITHUB_RELEASE_TOKEN }}" -PsonatypeOssUsername="${{ secrets.S_SONATYPE_OSS_USERNAME }}" -PsonatypeOssPassword="${{ secrets.S_SONATYPE_OSS_PASSWORD }}"'
74+
- run: './gradlew --no-daemon release -PpearxRepoUsername=${{ secrets.S_PEARX_REPO_USERNAME }} -PpearxRepoPassword=${{ secrets.S_PEARX_REPO_PASSWORD }} -Psigning.keyId=${{ secrets.S_PGP_KEY_PUBID }} -Psigning.password="${{ secrets.S_PGP_KEY_PASSWORD }}" -Psigning.secretKeyRingFile=private.key -PgithubAccessToken="${{ secrets.S_GITHUB_RELEASE_TOKEN }}" -PsonatypeOssUsername="${{ secrets.S_SONATYPE_OSS_USERNAME }}" -PsonatypeOssPassword="${{ secrets.S_SONATYPE_OSS_PASSWORD }}" -PsonarcloudToken=${{ secrets.SONARCLOUD_TOKEN }}'

build.gradle.kts

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import com.github.breadmoirai.githubreleaseplugin.GithubReleaseExtension
22
import net.pearx.multigradle.util.MultiGradleExtension
33
import net.pearx.multigradle.util.kotlinMpp
4+
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
45

56
val projectChangelog: String by project
67
val projectDescription: String by project
@@ -13,13 +14,14 @@ val pearxRepoPassword: String? by project
1314
val sonatypeOssUsername: String? by project
1415
val sonatypeOssPassword: String? by project
1516
val githubAccessToken: String? by project
17+
val sonarcloudToken: String? by project
1618
val devBuildNumber: String? by project
1719

18-
1920
plugins {
2021
id("net.pearx.multigradle.simple.project")
2122
kotlin("multiplatform") apply (false)
2223
id("com.github.breadmoirai.github-release")
24+
id("org.sonarqube")
2325
`maven-publish`
2426
signing
2527
}
@@ -125,6 +127,10 @@ configure<PublishingExtension> {
125127
}
126128

127129
tasks {
130+
withType<KotlinCompile> {
131+
kotlinOptions.freeCompilerArgs += "-Xopt-in=kotlin.ExperimentalUnsignedTypes"
132+
}
133+
128134
val publishDevelop by registering {
129135
group = "publishing"
130136
dependsOn(withType<PublishToMavenRepository>().matching { it.repository.name.endsWith("-develop") })
@@ -147,8 +153,31 @@ configure<SigningExtension> {
147153
configure<GithubReleaseExtension> {
148154
setToken(githubAccessToken)
149155
setOwner("pearxteam")
150-
setRepo("kpastebin")
156+
setRepo(project.name)
151157
setTargetCommitish("master")
152158
setBody(projectChangelog)
153159
//setReleaseAssets((publishing.publications["maven"] as MavenPublication).artifacts.map { it.file })
160+
}
161+
162+
fun findSourceDirectories(endsWith: String): FileCollection {
163+
return files(kotlin.sourceSets.filter { it.name.endsWith(endsWith) }.map { it.kotlin.sourceDirectories }).filter { it.isDirectory }
164+
}
165+
166+
if (sonarcloudToken != null) {
167+
tasks.check {
168+
finalizedBy("sonarqube")
169+
}
170+
sonarqube {
171+
properties {
172+
property("sonar.host.url", "https://sonarcloud.io")
173+
property("sonar.login", sonarcloudToken!!)
174+
property("sonar.projectKey", "pearxteam_${project.name}")
175+
property("sonar.organization", "pearxteam")
176+
property("sonar.sourceEncoding", "UTF-8")
177+
property("sonar.sources", findSourceDirectories("Main").joinToString())
178+
property("sonar.tests", findSourceDirectories("Test").joinToString())
179+
property("sonar.coverage.jacoco.xmlReportPaths", "$buildDir/reports/jacoco/jacocoJvmTestReport/jacocoJvmTestReport.xml")
180+
property("sonar.junit.reportPaths", "$buildDir/test-results/jvmTest/*.xml")
181+
}
182+
}
154183
}

gradle.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ projectChangelog=
1010
projectDescription=Multiplatform Kotlin library to interact with the pastebin.com API.
1111
kotlinVersion=1.4.0
1212
githubReleaseVersion=2.2.12
13-
multigradleVersion=1.9.2
13+
sonarqubeVersion=3.0
14+
multigradleVersion=1.10.0
1415

1516
#Java Stuff
1617
javaVersion=8

settings.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,14 @@ pluginManagement {
44
val multigradleVersion: String by settings
55
val kotlinVersion: String by settings
66
val githubReleaseVersion: String by settings
7+
val sonarqubeVersion: String by settings
78

89
plugins {
910
kotlin("multiplatform") version kotlinVersion
1011
id("net.pearx.multigradle.simple.project") version multigradleVersion
1112
id("net.pearx.multigradle.simple.settings") version multigradleVersion
1213
id("com.github.breadmoirai.github-release") version githubReleaseVersion
14+
id("org.sonarqube") version sonarqubeVersion
1315
}
1416
}
1517

0 commit comments

Comments
 (0)