diff --git a/Dangerfile.df.kts b/Dangerfile.df.kts index e6d14af8..f0880951 100644 --- a/Dangerfile.df.kts +++ b/Dangerfile.df.kts @@ -3,7 +3,7 @@ //@file:Repository("https://repo.maven.apache.org") //@file:DependsOn("systems.danger.exampleplugin:example:1.0") -import com.danger.dangerkotlin.* +import systems.danger.kotlin.* val danger = Danger(args) diff --git a/README.md b/README.md index fdc76db8..d632ee2c 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Is possible to generate a working `danger-kotlin` instance from the code that is You can make a `Dangerfile.df.kts` in your root project that looks through PR metadata, it's fully typed. ```kotlin -import com.danger.dangerkotlin.* +import systems.danger.kotlin.* import org.jetbrains.kotlin.script.util.* val danger = Danger(args) @@ -66,7 +66,7 @@ You can activate the autocomplete following this additional steps: - Install danger on your local machine - Go to `Preferences -> Build, Execution, Deployment -> Compiler -> Kotlin Compiler` (`Preferences -> Kotlin Compiler` in Android Studio) - At the bottom you will find a section `Kotlin Scripting` -- Complete the field `Script template classes` with `com.danger.kotlin.kts.DangerFileScript` +- Complete the field `Script template classes` with `systems.danger.kts.DangerFileScript` - Complete the field `Script templates classpath` with `/usr/local/lib/danger/danger-kotlin.jar` - Go to `Preferences -> Language & Frameworks -> Kotlin -> Kotlin Scripting` - Make sure the script template `DangerFileScript` is active and above the default `Kotlin Script` diff --git a/danger-kotlin-kts/src/main/kotlin/com/danger/kotlin/kts/DangerFileScriptDefinition.kt b/danger-kotlin-kts/src/main/kotlin/systems/danger/kts/DangerFileScriptDefinition.kt similarity index 98% rename from danger-kotlin-kts/src/main/kotlin/com/danger/kotlin/kts/DangerFileScriptDefinition.kt rename to danger-kotlin-kts/src/main/kotlin/systems/danger/kts/DangerFileScriptDefinition.kt index 2fb98430..a33f2423 100644 --- a/danger-kotlin-kts/src/main/kotlin/com/danger/kotlin/kts/DangerFileScriptDefinition.kt +++ b/danger-kotlin-kts/src/main/kotlin/systems/danger/kts/DangerFileScriptDefinition.kt @@ -1,4 +1,4 @@ -package com.danger.kotlin.kts +package systems.danger.kts import org.jetbrains.kotlin.mainKts.MainKtsConfigurator import org.jetbrains.kotlin.mainKts.MainKtsEvaluationConfiguration diff --git a/danger-kotlin-library/src/main/kotlin/com/danger/dangerkotlin/BitBucketServer.kt b/danger-kotlin-library/src/main/kotlin/systems/danger/kotlin/BitBucketServer.kt similarity index 92% rename from danger-kotlin-library/src/main/kotlin/com/danger/dangerkotlin/BitBucketServer.kt rename to danger-kotlin-library/src/main/kotlin/systems/danger/kotlin/BitBucketServer.kt index b16ab997..422710f1 100644 --- a/danger-kotlin-library/src/main/kotlin/com/danger/dangerkotlin/BitBucketServer.kt +++ b/danger-kotlin-library/src/main/kotlin/systems/danger/kotlin/BitBucketServer.kt @@ -1,4 +1,4 @@ -package com.danger.dangerkotlin +package systems.danger.kotlin import com.squareup.moshi.Json import com.squareup.moshi.JsonClass @@ -13,12 +13,12 @@ import com.squareup.moshi.JsonClass */ @JsonClass(generateAdapter = true) data class BitBucketServer( - val metadata: BitBucketServerMetadata, - @Json(name = "pr") + val metadata: BitBucketServerMetadata, + @Json(name = "pr") val pullRequest: BitBucketServerPR, - val commits: Array, - val comments: Array, - val activities: Array + val commits: Array, + val comments: Array, + val activities: Array ) { override fun equals(other: Any?): Boolean { if (this === other) return true @@ -55,12 +55,12 @@ data class BitBucketServer( */ @JsonClass(generateAdapter = true) data class BitBucketServerActivity( - val id: Int, - @Json(name = "createdDate") + val id: Int, + @Json(name = "createdDate") val createdAt: Long, - val user: BitBucketServerUser, - val action: String, - val commentAction: String? + val user: BitBucketServerUser, + val action: String, + val commentAction: String? ) /** @@ -232,14 +232,14 @@ data class BitBucketServerCommentInnerProperties( */ @JsonClass(generateAdapter = true) data class BitBucketServerCommit( - val id: String, - val displayId: String, - val author: BitBucketServerUser, - val authorTimestamp: Long, - val committer: BitBucketServerUser?, - val committerTimestamp: Long, - val message: String, - val parents: Array + val id: String, + val displayId: String, + val author: BitBucketServerUser, + val authorTimestamp: Long, + val committer: BitBucketServerUser?, + val committerTimestamp: Long, + val message: String, + val parents: Array ) { override fun equals(other: Any?): Boolean { if (this === other) return true @@ -303,24 +303,24 @@ data class BitBucketServerCommitParent( */ @JsonClass(generateAdapter = true) data class BitBucketServerPR( - val id: Int, - val version: Int, - val title: String, - val description: String?, - val state: String, - val open: Boolean, - val closed: Boolean, - @Json(name = "createdDate") + val id: Int, + val version: Int, + val title: String, + val description: String?, + val state: String, + val open: Boolean, + val closed: Boolean, + @Json(name = "createdDate") val createdAt: Long, - @Json(name = "updatedDate") + @Json(name = "updatedDate") val updatedAt: Long, - val fromRef: BitBucketServerMergeRef, - val toRef: BitBucketServerMergeRef, - @Json(name = "locked") + val fromRef: BitBucketServerMergeRef, + val toRef: BitBucketServerMergeRef, + @Json(name = "locked") val isLocked: Boolean, - val author: BitBucketServerParticipant, - val reviewers: Array, - val participants: Array + val author: BitBucketServerParticipant, + val reviewers: Array, + val participants: Array ) { override fun equals(other: Any?): Boolean { if (this === other) return true diff --git a/danger-kotlin-library/src/main/kotlin/com/danger/dangerkotlin/DangerDSL.kt b/danger-kotlin-library/src/main/kotlin/systems/danger/kotlin/DangerDSL.kt similarity index 80% rename from danger-kotlin-library/src/main/kotlin/com/danger/dangerkotlin/DangerDSL.kt rename to danger-kotlin-library/src/main/kotlin/systems/danger/kotlin/DangerDSL.kt index 06f6187b..28f69ffc 100644 --- a/danger-kotlin-library/src/main/kotlin/com/danger/dangerkotlin/DangerDSL.kt +++ b/danger-kotlin-library/src/main/kotlin/systems/danger/kotlin/DangerDSL.kt @@ -1,4 +1,4 @@ -package com.danger.dangerkotlin +package systems.danger.kotlin import com.squareup.moshi.Json @@ -8,11 +8,11 @@ data class DSL( ) data class DangerDSL( - @Json(name ="github") + @Json(name ="github") private val _github: GitHub?, - @Json(name ="bitbucket_server") + @Json(name ="bitbucket_server") private val _bitBucketServer: BitBucketServer?, - val git: Git + val git: Git ) { val github: GitHub get() = _github!! diff --git a/danger-kotlin-library/src/main/kotlin/com/danger/dangerkotlin/DangerResults.kt b/danger-kotlin-library/src/main/kotlin/systems/danger/kotlin/DangerResults.kt similarity index 97% rename from danger-kotlin-library/src/main/kotlin/com/danger/dangerkotlin/DangerResults.kt rename to danger-kotlin-library/src/main/kotlin/systems/danger/kotlin/DangerResults.kt index e372bf27..ae6d3a93 100644 --- a/danger-kotlin-library/src/main/kotlin/com/danger/dangerkotlin/DangerResults.kt +++ b/danger-kotlin-library/src/main/kotlin/systems/danger/kotlin/DangerResults.kt @@ -1,4 +1,4 @@ -package com.danger.dangerkotlin +package systems.danger.kotlin internal data class DangerResults( var fails: Array = arrayOf(), diff --git a/danger-kotlin-library/src/main/kotlin/com/danger/dangerkotlin/DangerRunner.kt b/danger-kotlin-library/src/main/kotlin/systems/danger/kotlin/DangerRunner.kt similarity index 97% rename from danger-kotlin-library/src/main/kotlin/com/danger/dangerkotlin/DangerRunner.kt rename to danger-kotlin-library/src/main/kotlin/systems/danger/kotlin/DangerRunner.kt index c9c54f06..483a05fa 100644 --- a/danger-kotlin-library/src/main/kotlin/com/danger/dangerkotlin/DangerRunner.kt +++ b/danger-kotlin-library/src/main/kotlin/systems/danger/kotlin/DangerRunner.kt @@ -1,4 +1,4 @@ -package com.danger.dangerkotlin +package systems.danger.kotlin import com.squareup.moshi.JsonAdapter import com.squareup.moshi.JsonReader @@ -70,7 +70,8 @@ internal fun DangerPlugin.withContext(dangerContext: DangerContext) { private class DangerRunner(jsonInputFilePath: FilePath, jsonOutputPath: FilePath) : DangerContext { val jsonOutputFile: File = File(jsonOutputPath) val danger: DangerDSL - val dangerResults: DangerResults = DangerResults() + val dangerResults: DangerResults = + DangerResults() private val moshi = Moshi.Builder() .add(Date::class.java, Rfc3339DateJsonAdapter().nullSafe()) @@ -191,7 +192,8 @@ fun Danger(args: Array): DangerDSL { val jsonInputFilePath = args[argsCount - 2] val jsonOutputPath = args[argsCount - 1] - dangerRunner = DangerRunner(jsonInputFilePath, jsonOutputPath) + dangerRunner = + DangerRunner(jsonInputFilePath, jsonOutputPath) return dangerRunner.danger } diff --git a/danger-kotlin-library/src/main/kotlin/com/danger/dangerkotlin/Git.kt b/danger-kotlin-library/src/main/kotlin/systems/danger/kotlin/Git.kt similarity index 98% rename from danger-kotlin-library/src/main/kotlin/com/danger/dangerkotlin/Git.kt rename to danger-kotlin-library/src/main/kotlin/systems/danger/kotlin/Git.kt index 1772e045..57150646 100644 --- a/danger-kotlin-library/src/main/kotlin/com/danger/dangerkotlin/Git.kt +++ b/danger-kotlin-library/src/main/kotlin/systems/danger/kotlin/Git.kt @@ -1,4 +1,4 @@ -package com.danger.dangerkotlin +package systems.danger.kotlin import com.squareup.moshi.Json import com.squareup.moshi.JsonClass diff --git a/danger-kotlin-library/src/main/kotlin/com/danger/dangerkotlin/GitHub.kt b/danger-kotlin-library/src/main/kotlin/systems/danger/kotlin/GitHub.kt similarity index 93% rename from danger-kotlin-library/src/main/kotlin/com/danger/dangerkotlin/GitHub.kt rename to danger-kotlin-library/src/main/kotlin/systems/danger/kotlin/GitHub.kt index ff392567..fdcecb6b 100644 --- a/danger-kotlin-library/src/main/kotlin/com/danger/dangerkotlin/GitHub.kt +++ b/danger-kotlin-library/src/main/kotlin/systems/danger/kotlin/GitHub.kt @@ -1,4 +1,4 @@ -package com.danger.dangerkotlin +package systems.danger.kotlin import com.squareup.moshi.Json import com.squareup.moshi.JsonClass @@ -80,29 +80,29 @@ enum class GitHubPullRequestState(val value: String) { */ @JsonClass(generateAdapter = true) data class GitHubPR( - val number: Int, - val title: String, - val body: String, - val user: GitHubUser, - val assignee: GitHubUser?, - val assignees: Array, - @Json(name = "created_at") val createdAt: Date, - @Json(name = "updated_at") val updatedAt: Date, - @Json(name = "closed_at") val closedAt: Date?, - @Json(name = "merged_at") val mergedAt: Date?, - val head: GitHubMergeRef, - val base: GitHubMergeRef, - val state: GitHubPullRequestState, - @Json(name = "locked") val isLocked: Boolean, - @Json(name = "merged") val isMerged: Boolean?, - @Json(name = "commits") val commitCount: Int?, - @Json(name = "comments") val commentCount: Int?, - @Json(name = "review_comments") val reviewCommentCount: Int?, - val additions: Int?, - val deletions: Int?, - @Json(name = "changed_files") val changedFiles: Int?, - val milestone: GitHubMilestone?, - @Json(name = "html_url") val htmlURL: String + val number: Int, + val title: String, + val body: String, + val user: GitHubUser, + val assignee: GitHubUser?, + val assignees: Array, + @Json(name = "created_at") val createdAt: Date, + @Json(name = "updated_at") val updatedAt: Date, + @Json(name = "closed_at") val closedAt: Date?, + @Json(name = "merged_at") val mergedAt: Date?, + val head: GitHubMergeRef, + val base: GitHubMergeRef, + val state: GitHubPullRequestState, + @Json(name = "locked") val isLocked: Boolean, + @Json(name = "merged") val isMerged: Boolean?, + @Json(name = "commits") val commitCount: Int?, + @Json(name = "comments") val commentCount: Int?, + @Json(name = "review_comments") val reviewCommentCount: Int?, + val additions: Int?, + val deletions: Int?, + @Json(name = "changed_files") val changedFiles: Int?, + val milestone: GitHubMilestone?, + @Json(name = "html_url") val htmlURL: String ) { override fun equals(other: Any?): Boolean { if (this === other) return true diff --git a/danger-kotlin-library/src/main/kotlin/com/danger/dangerkotlin/Violation.kt b/danger-kotlin-library/src/main/kotlin/systems/danger/kotlin/Violation.kt similarity index 89% rename from danger-kotlin-library/src/main/kotlin/com/danger/dangerkotlin/Violation.kt rename to danger-kotlin-library/src/main/kotlin/systems/danger/kotlin/Violation.kt index 5abd427f..59b1f6aa 100644 --- a/danger-kotlin-library/src/main/kotlin/com/danger/dangerkotlin/Violation.kt +++ b/danger-kotlin-library/src/main/kotlin/systems/danger/kotlin/Violation.kt @@ -1,4 +1,4 @@ -package com.danger.dangerkotlin +package systems.danger.kotlin class Violation(message: String) { val message: String diff --git a/danger-kotlin-library/src/test/kotlin/com/danger/dangerkotlin/BitBucketServerParsingTests.kt b/danger-kotlin-library/src/test/kotlin/com/danger/dangerkotlin/BitBucketServerParsingTests.kt deleted file mode 100644 index c132591c..00000000 --- a/danger-kotlin-library/src/test/kotlin/com/danger/dangerkotlin/BitBucketServerParsingTests.kt +++ /dev/null @@ -1,118 +0,0 @@ -package com.danger.dangerkotlin - -import com.squareup.moshi.Moshi -import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory -import org.junit.Assert.assertEquals -import org.junit.Test -import java.util.* - -class BitBucketServerParsingTests { - private val jsonFiles = JSONFiles() - private val moshi = Moshi.Builder().add(KotlinJsonAdapterFactory()).add(Date::class.java, Rfc3339DateJsonAdapter().nullSafe()).build().adapter(DSL::class.java) - private val dsl - get() = moshi.fromJson(jsonFiles.dangerBitBucketServerJSON) - private val bitBucketServer: BitBucketServer - get() = dsl!!.danger.bitBucketServer - - @Test - fun testItParsesTheBitBucketPullRequest() { - with(bitBucketServer.pullRequest) { - val expectedUser = BitBucketServerUser(null,"test", null, "user@email.com", null, null, null) - assertEquals(expectedUser, author.user) - - val expectedProject = BitBucketServerProject(1, "PROJ", "Project", false, "NORMAL") - val expectedRepo = BitBucketServerRepo("Repo", "repo", "git", false, true, expectedProject) - val expectedHead = BitBucketServerMergeRef("refs/heads/foo", "foo", "d6725486c38d46a33e76f622cf24b9a388c8d13d", expectedRepo) - assertEquals(expectedHead, toRef) - - val expectedBase = BitBucketServerMergeRef("refs/heads/master", "master", "8942a1f75e4c95df836f19ef681d20a87da2ee20", expectedRepo) - assertEquals(expectedBase, fromRef) - - val expectedPartecipant = BitBucketServerUser(2, "danger", "DangerCI", "user@email.com", true, "danger", "NORMAL") - assertEquals(1, participants.count()) - assertEquals(expectedPartecipant, participants[0].user) - - assertEquals(false, closed) - assertEquals(1518863923273, createdAt) - assertEquals(false, isLocked) - assertEquals(true, open) - assertEquals("OPEN", state) - assertEquals("Pull request title", title) - - val expectedReviewerUser = BitBucketServerUser(2, "danger", "DangerCI", "foo@bar.com", true, "danger", "NORMAL") - val expectedReviewer = BitBucketServerReviewer(expectedReviewerUser, true, "8942a1f75e4c95df836f19ef681d20a87da2ee20") - assertEquals(1, reviewers.count()) - assertEquals(expectedReviewer, reviewers[0]) - } - } - - @Test - fun testItParsesTheBitBucketCommits() { - with(bitBucketServer.commits) { - val expectedUser = BitBucketServerUser(2, "danger", "DangerCI", "foo@bar.com", true, "danger", "NORMAL") - val expectedParent = BitBucketServerCommitParent("c62ada76533a2de045d4c6062988ba84df140729", "c62ada76533") - val expectedCommit = BitBucketServerCommit("d6725486c38d46a33e76f622cf24b9a388c8d13d", - "d6725486c38", - expectedUser, - 1519442341000, - expectedUser, - 1519442341000, - "Modify and remove files", - arrayOf(expectedParent)) - assertEquals(expectedCommit, first()) - assertEquals(2, count()) - } - } - - @Test - fun testItParsesTheBitBucketComments() { - with(bitBucketServer.comments) { - val expectedUser = BitBucketServerUser(2, "danger", "DangerCI", "foo@bar.com", true, "danger", "NORMAL") - val commentText = "test" - val expectedProperty = BitBucketServerCommentInnerProperties(1, null) - val expectedCommentDetail = BitBucketServerCommentDetail(10, 23, commentText, expectedUser, 1518939353345, 1519449132488, arrayOf(), expectedProperty, arrayOf()) - val expectedComment = BitBucketServerComment(52, - 1518939353345, - expectedUser, - "COMMENTED", - null, - null, - null, - null, - "ADDED", - expectedCommentDetail) - - assertEquals(expectedComment.toString(), this[1].toString()) - assertEquals(7, count()) - } - } - - @Test - fun testItParsesTheBitBucketMetadata() { - with(bitBucketServer.metadata) { - assertEquals("artsy/emission", repoSlug) - assertEquals("327", pullRequestID) - } - } - - @Test - fun testItParsesTheBitBucketActivities() { - with(bitBucketServer.activities) { - val expectedUser = BitBucketServerUser(1,"test", "test", "foo@bar.com", true, "test", "NORMAL") - val expectedActivity = BitBucketServerActivity(61, 1519442356495, expectedUser, "RESCOPED", null) - - assertEquals(expectedActivity, first()) - assertEquals(7, count()) - } - } - - @Test - fun testOnBitBucketIsTrue(){ - assertEquals(true, dsl!!.danger.onBitBucketServer) - } - - @Test - fun testOnGitHubIsFalse(){ - assertEquals(false, dsl!!.danger.onGitHub) - } -} diff --git a/danger-kotlin-library/src/test/kotlin/systems/danger/kotlin/BitBucketServerParsingTests.kt b/danger-kotlin-library/src/test/kotlin/systems/danger/kotlin/BitBucketServerParsingTests.kt new file mode 100644 index 00000000..ea34d251 --- /dev/null +++ b/danger-kotlin-library/src/test/kotlin/systems/danger/kotlin/BitBucketServerParsingTests.kt @@ -0,0 +1,213 @@ +package systems.danger.kotlin + +import com.squareup.moshi.Moshi +import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory +import org.junit.Assert.assertEquals +import org.junit.Test +import java.util.* + +class BitBucketServerParsingTests { + private val jsonFiles = JSONFiles() + private val moshi = Moshi.Builder().add(KotlinJsonAdapterFactory()).add(Date::class.java, Rfc3339DateJsonAdapter().nullSafe()).build().adapter( + DSL::class.java) + private val dsl + get() = moshi.fromJson(jsonFiles.dangerBitBucketServerJSON) + private val bitBucketServer: BitBucketServer + get() = dsl!!.danger.bitBucketServer + + @Test + fun testItParsesTheBitBucketPullRequest() { + with(bitBucketServer.pullRequest) { + val expectedUser = BitBucketServerUser( + null, + "test", + null, + "user@email.com", + null, + null, + null + ) + assertEquals(expectedUser, author.user) + + val expectedProject = + BitBucketServerProject(1, "PROJ", "Project", false, "NORMAL") + val expectedRepo = BitBucketServerRepo( + "Repo", + "repo", + "git", + false, + true, + expectedProject + ) + val expectedHead = BitBucketServerMergeRef( + "refs/heads/foo", + "foo", + "d6725486c38d46a33e76f622cf24b9a388c8d13d", + expectedRepo + ) + assertEquals(expectedHead, toRef) + + val expectedBase = BitBucketServerMergeRef( + "refs/heads/master", + "master", + "8942a1f75e4c95df836f19ef681d20a87da2ee20", + expectedRepo + ) + assertEquals(expectedBase, fromRef) + + val expectedPartecipant = BitBucketServerUser( + 2, + "danger", + "DangerCI", + "user@email.com", + true, + "danger", + "NORMAL" + ) + assertEquals(1, participants.count()) + assertEquals(expectedPartecipant, participants[0].user) + + assertEquals(false, closed) + assertEquals(1518863923273, createdAt) + assertEquals(false, isLocked) + assertEquals(true, open) + assertEquals("OPEN", state) + assertEquals("Pull request title", title) + + val expectedReviewerUser = BitBucketServerUser( + 2, + "danger", + "DangerCI", + "foo@bar.com", + true, + "danger", + "NORMAL" + ) + val expectedReviewer = BitBucketServerReviewer( + expectedReviewerUser, + true, + "8942a1f75e4c95df836f19ef681d20a87da2ee20" + ) + assertEquals(1, reviewers.count()) + assertEquals(expectedReviewer, reviewers[0]) + } + } + + @Test + fun testItParsesTheBitBucketCommits() { + with(bitBucketServer.commits) { + val expectedUser = BitBucketServerUser( + 2, + "danger", + "DangerCI", + "foo@bar.com", + true, + "danger", + "NORMAL" + ) + val expectedParent = BitBucketServerCommitParent( + "c62ada76533a2de045d4c6062988ba84df140729", + "c62ada76533" + ) + val expectedCommit = BitBucketServerCommit( + "d6725486c38d46a33e76f622cf24b9a388c8d13d", + "d6725486c38", + expectedUser, + 1519442341000, + expectedUser, + 1519442341000, + "Modify and remove files", + arrayOf(expectedParent) + ) + assertEquals(expectedCommit, first()) + assertEquals(2, count()) + } + } + + @Test + fun testItParsesTheBitBucketComments() { + with(bitBucketServer.comments) { + val expectedUser = BitBucketServerUser( + 2, + "danger", + "DangerCI", + "foo@bar.com", + true, + "danger", + "NORMAL" + ) + val commentText = "test" + val expectedProperty = + BitBucketServerCommentInnerProperties(1, null) + val expectedCommentDetail = BitBucketServerCommentDetail( + 10, + 23, + commentText, + expectedUser, + 1518939353345, + 1519449132488, + arrayOf(), + expectedProperty, + arrayOf() + ) + val expectedComment = BitBucketServerComment( + 52, + 1518939353345, + expectedUser, + "COMMENTED", + null, + null, + null, + null, + "ADDED", + expectedCommentDetail + ) + + assertEquals(expectedComment.toString(), this[1].toString()) + assertEquals(7, count()) + } + } + + @Test + fun testItParsesTheBitBucketMetadata() { + with(bitBucketServer.metadata) { + assertEquals("artsy/emission", repoSlug) + assertEquals("327", pullRequestID) + } + } + + @Test + fun testItParsesTheBitBucketActivities() { + with(bitBucketServer.activities) { + val expectedUser = BitBucketServerUser( + 1, + "test", + "test", + "foo@bar.com", + true, + "test", + "NORMAL" + ) + val expectedActivity = BitBucketServerActivity( + 61, + 1519442356495, + expectedUser, + "RESCOPED", + null + ) + + assertEquals(expectedActivity, first()) + assertEquals(7, count()) + } + } + + @Test + fun testOnBitBucketIsTrue(){ + assertEquals(true, dsl!!.danger.onBitBucketServer) + } + + @Test + fun testOnGitHubIsFalse(){ + assertEquals(false, dsl!!.danger.onGitHub) + } +} diff --git a/danger-kotlin-library/src/test/kotlin/com/danger/dangerkotlin/GitHubParsingTests.kt b/danger-kotlin-library/src/test/kotlin/systems/danger/kotlin/GitHubParsingTests.kt similarity index 81% rename from danger-kotlin-library/src/test/kotlin/com/danger/dangerkotlin/GitHubParsingTests.kt rename to danger-kotlin-library/src/test/kotlin/systems/danger/kotlin/GitHubParsingTests.kt index 350201c6..a19a4145 100644 --- a/danger-kotlin-library/src/test/kotlin/com/danger/dangerkotlin/GitHubParsingTests.kt +++ b/danger-kotlin-library/src/test/kotlin/systems/danger/kotlin/GitHubParsingTests.kt @@ -1,6 +1,5 @@ -package com.danger.dangerkotlin +package systems.danger.kotlin -import com.danger.dangerkotlin.* import com.squareup.moshi.Moshi import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory import org.junit.Assert.* @@ -9,7 +8,8 @@ import java.util.* class GitHubParsingTests { private val jsonFiles = JSONFiles() - private val moshi = Moshi.Builder().add(KotlinJsonAdapterFactory()).add(Date::class.java, Rfc3339DateJsonAdapter().nullSafe()).build().adapter(DSL::class.java) + private val moshi = Moshi.Builder().add(KotlinJsonAdapterFactory()).add(Date::class.java, Rfc3339DateJsonAdapter().nullSafe()).build().adapter( + DSL::class.java) private val dsl get() = moshi.fromJson(jsonFiles.githubDangerJSON)!! private val github @@ -42,14 +42,26 @@ class GitHubParsingTests { assertNull(milestone) - val expectedUser = GitHubUser(498212, "ashfurrow", GitHubUserType.USER) + val expectedUser = GitHubUser( + 498212, + "ashfurrow", + GitHubUserType.USER + ) assertEquals(expectedUser, user) - val expectedAssegnee = GitHubUser(49038, "orta", GitHubUserType.USER) + val expectedAssegnee = GitHubUser( + 49038, + "orta", + GitHubUserType.USER + ) assertEquals(expectedAssegnee, assignee) assertEquals(expectedAssegnee, assignees.first()) - val artsyUser = GitHubUser(546231, "artsy", GitHubUserType.ORGANIZATION) + val artsyUser = GitHubUser( + 546231, + "artsy", + GitHubUserType.ORGANIZATION + ) val eidolonRepo = GitHubRepo( 22613546, "eidolon", @@ -85,9 +97,21 @@ class GitHubParsingTests { val commit = commits.first() - val expectedUser = GitHubUser(498212, "ashfurrow", GitHubUserType.USER) - val expectedGitAuthor = GitCommitAuthor("Ash Furrow", "ash@ashfurrow.com", "2016-07-26T19:54:16Z") - val expectedGitCommitter = GitCommitAuthor("Ash Furrow", "ash@ashfurrow.com", "2016-07-26T19:55:00Z") + val expectedUser = GitHubUser( + 498212, + "ashfurrow", + GitHubUserType.USER + ) + val expectedGitAuthor = GitCommitAuthor( + "Ash Furrow", + "ash@ashfurrow.com", + "2016-07-26T19:54:16Z" + ) + val expectedGitCommitter = GitCommitAuthor( + "Ash Furrow", + "ash@ashfurrow.com", + "2016-07-26T19:55:00Z" + ) val expectedCommit = GitCommit( null, expectedGitAuthor, @@ -126,7 +150,11 @@ class GitHubParsingTests { assertEquals(null, closedAt) assertTrue(labels.isEmpty()) - val expectedCreator = GitHubUser(1, "octocat", GitHubUserType.USER) + val expectedCreator = GitHubUser( + 1, + "octocat", + GitHubUserType.USER + ) val expectedMilestone = GitHubMilestone( 1002604, 1, @@ -149,7 +177,11 @@ class GitHubParsingTests { fun testItParsesTheRequestedReviewersCorrectly() { with(github.requestedReviewers) { - val expectedUser = GitHubUser(1, "octocat", GitHubUserType.USER) + val expectedUser = GitHubUser( + 1, + "octocat", + GitHubUserType.USER + ) assertEquals(expectedUser, users.first()) val expectedTeam = GitHubTeam(1, "Justice League") diff --git a/danger-kotlin-library/src/test/kotlin/com/danger/dangerkotlin/GitParsingTests.kt b/danger-kotlin-library/src/test/kotlin/systems/danger/kotlin/GitParsingTests.kt similarity index 97% rename from danger-kotlin-library/src/test/kotlin/com/danger/dangerkotlin/GitParsingTests.kt rename to danger-kotlin-library/src/test/kotlin/systems/danger/kotlin/GitParsingTests.kt index 64bf468e..d0053870 100644 --- a/danger-kotlin-library/src/test/kotlin/com/danger/dangerkotlin/GitParsingTests.kt +++ b/danger-kotlin-library/src/test/kotlin/systems/danger/kotlin/GitParsingTests.kt @@ -1,8 +1,5 @@ -package com.danger.dangerkotlin +package systems.danger.kotlin -import com.danger.dangerkotlin.DSL -import com.danger.dangerkotlin.JSONFiles -import com.danger.dangerkotlin.Rfc3339DateJsonAdapter import com.squareup.moshi.* import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory import org.junit.Assert @@ -11,7 +8,8 @@ import java.util.* class GitParsingTests { private val jsonFiles = JSONFiles() - private val moshi = Moshi.Builder().add(KotlinJsonAdapterFactory()).add(Date::class.java, Rfc3339DateJsonAdapter().nullSafe()).build().adapter(DSL::class.java) + private val moshi = Moshi.Builder().add(KotlinJsonAdapterFactory()).add(Date::class.java, Rfc3339DateJsonAdapter().nullSafe()).build().adapter( + DSL::class.java) private val dsl get() = moshi.fromJson(jsonFiles.githubDangerJSON)!! diff --git a/danger-kotlin-library/src/test/kotlin/com/danger/dangerkotlin/JSONFiles.kt b/danger-kotlin-library/src/test/kotlin/systems/danger/kotlin/JSONFiles.kt similarity index 90% rename from danger-kotlin-library/src/test/kotlin/com/danger/dangerkotlin/JSONFiles.kt rename to danger-kotlin-library/src/test/kotlin/systems/danger/kotlin/JSONFiles.kt index 5be96119..581ffc94 100644 --- a/danger-kotlin-library/src/test/kotlin/com/danger/dangerkotlin/JSONFiles.kt +++ b/danger-kotlin-library/src/test/kotlin/systems/danger/kotlin/JSONFiles.kt @@ -1,4 +1,4 @@ -package com.danger.dangerkotlin +package systems.danger.kotlin class JSONFiles { val githubDangerJSON diff --git a/danger-kotlin-library/version.gradle b/danger-kotlin-library/version.gradle index 32927891..75064196 100644 --- a/danger-kotlin-library/version.gradle +++ b/danger-kotlin-library/version.gradle @@ -1,2 +1,2 @@ -group 'com.danger' +group 'systems.danger' version '0.1.4' \ No newline at end of file diff --git a/danger-kotlin/src/runnerMain/kotlin/Main.kt b/danger-kotlin/src/runnerMain/kotlin/Main.kt index af26f06e..3e064159 100644 --- a/danger-kotlin/src/runnerMain/kotlin/Main.kt +++ b/danger-kotlin/src/runnerMain/kotlin/Main.kt @@ -1,5 +1,5 @@ -import com.danger.runner.DangerKotlin -import com.danger.runner.cmd.dangerjs.DangerJS +import systems.danger.DangerKotlin +import systems.danger.cmd.dangerjs.DangerJS const val PROCESS_DANGER_KOTLIN = "danger-kotlin" diff --git a/danger-kotlin/src/runnerMain/kotlin/com/danger/runner/DangerKotlin.kt b/danger-kotlin/src/runnerMain/kotlin/systems.danger/DangerKotlin.kt similarity index 63% rename from danger-kotlin/src/runnerMain/kotlin/com/danger/runner/DangerKotlin.kt rename to danger-kotlin/src/runnerMain/kotlin/systems.danger/DangerKotlin.kt index 0ef9b1bd..c0021f5f 100644 --- a/danger-kotlin/src/runnerMain/kotlin/com/danger/runner/DangerKotlin.kt +++ b/danger-kotlin/src/runnerMain/kotlin/systems.danger/DangerKotlin.kt @@ -1,14 +1,14 @@ -package com.danger.runner +package systems.danger -import com.danger.runner.cmd.* -import com.danger.runner.cmd.dangerfile.DangerFile +import systems.danger.cmd.dangerfile.DangerFile object DangerKotlin { private const val FILE_TMP_OUTPUT_JSON = "danger_out.json" fun run() { val dangerDSLPath = readLine() - dangerDSLPath?.removePrefix("danger://dsl/")?.let { + + dangerDSLPath?.removePrefix("danger://dsl/")?.stripEndLine()?.let { with(DangerFile) { execute(it, FILE_TMP_OUTPUT_JSON) } @@ -20,4 +20,7 @@ object DangerKotlin { private fun printResult() { println("danger-results:/$FILE_TMP_OUTPUT_JSON") } + + private fun String.stripEndLine() = replace("\u007F", "") + } \ No newline at end of file diff --git a/danger-kotlin/src/runnerMain/kotlin/com/danger/runner/cmd/Cmd.kt b/danger-kotlin/src/runnerMain/kotlin/systems.danger/cmd/Cmd.kt similarity index 95% rename from danger-kotlin/src/runnerMain/kotlin/com/danger/runner/cmd/Cmd.kt rename to danger-kotlin/src/runnerMain/kotlin/systems.danger/cmd/Cmd.kt index 7635e37a..170f2181 100644 --- a/danger-kotlin/src/runnerMain/kotlin/com/danger/runner/cmd/Cmd.kt +++ b/danger-kotlin/src/runnerMain/kotlin/systems.danger/cmd/Cmd.kt @@ -1,4 +1,4 @@ -package com.danger.runner.cmd +package systems.danger.cmd import platform.posix.* diff --git a/danger-kotlin/src/runnerMain/kotlin/com/danger/runner/cmd/dangerfile/DangerFile.kt b/danger-kotlin/src/runnerMain/kotlin/systems.danger/cmd/dangerfile/DangerFile.kt similarity index 95% rename from danger-kotlin/src/runnerMain/kotlin/com/danger/runner/cmd/dangerfile/DangerFile.kt rename to danger-kotlin/src/runnerMain/kotlin/systems.danger/cmd/dangerfile/DangerFile.kt index f6bdda3d..d371e812 100644 --- a/danger-kotlin/src/runnerMain/kotlin/com/danger/runner/cmd/dangerfile/DangerFile.kt +++ b/danger-kotlin/src/runnerMain/kotlin/systems.danger/cmd/dangerfile/DangerFile.kt @@ -1,6 +1,6 @@ -package com.danger.runner.cmd.dangerfile +package systems.danger.cmd.dangerfile -import com.danger.runner.cmd.* +import systems.danger.cmd.* import kotlinx.cinterop.CPointer import platform.posix.* diff --git a/danger-kotlin/src/runnerMain/kotlin/com/danger/runner/cmd/dangerfile/DangerFileBridge.kt b/danger-kotlin/src/runnerMain/kotlin/systems.danger/cmd/dangerfile/DangerFileBridge.kt similarity index 66% rename from danger-kotlin/src/runnerMain/kotlin/com/danger/runner/cmd/dangerfile/DangerFileBridge.kt rename to danger-kotlin/src/runnerMain/kotlin/systems.danger/cmd/dangerfile/DangerFileBridge.kt index d7fb379f..8cb7fffe 100644 --- a/danger-kotlin/src/runnerMain/kotlin/com/danger/runner/cmd/dangerfile/DangerFileBridge.kt +++ b/danger-kotlin/src/runnerMain/kotlin/systems.danger/cmd/dangerfile/DangerFileBridge.kt @@ -1,4 +1,4 @@ -package com.danger.runner.cmd.dangerfile +package systems.danger.cmd.dangerfile interface DangerFileBridge { fun execute(inputJson: String, outputJson: String) diff --git a/danger-kotlin/src/runnerMain/kotlin/com/danger/runner/cmd/dangerjs/DangerJS.kt b/danger-kotlin/src/runnerMain/kotlin/systems.danger/cmd/dangerjs/DangerJS.kt similarity index 80% rename from danger-kotlin/src/runnerMain/kotlin/com/danger/runner/cmd/dangerjs/DangerJS.kt rename to danger-kotlin/src/runnerMain/kotlin/systems.danger/cmd/dangerjs/DangerJS.kt index 6c2d22df..363bff2c 100644 --- a/danger-kotlin/src/runnerMain/kotlin/com/danger/runner/cmd/dangerjs/DangerJS.kt +++ b/danger-kotlin/src/runnerMain/kotlin/systems.danger/cmd/dangerjs/DangerJS.kt @@ -1,6 +1,6 @@ -package com.danger.runner.cmd.dangerjs +package systems.danger.cmd.dangerjs -import com.danger.runner.cmd.Cmd +import systems.danger.cmd.Cmd object DangerJS: DangerJSBridge { diff --git a/danger-kotlin/src/runnerMain/kotlin/com/danger/runner/cmd/dangerjs/DangerJSBridge.kt b/danger-kotlin/src/runnerMain/kotlin/systems.danger/cmd/dangerjs/DangerJSBridge.kt similarity index 71% rename from danger-kotlin/src/runnerMain/kotlin/com/danger/runner/cmd/dangerjs/DangerJSBridge.kt rename to danger-kotlin/src/runnerMain/kotlin/systems.danger/cmd/dangerjs/DangerJSBridge.kt index 4a85bf6c..853c9b0f 100644 --- a/danger-kotlin/src/runnerMain/kotlin/com/danger/runner/cmd/dangerjs/DangerJSBridge.kt +++ b/danger-kotlin/src/runnerMain/kotlin/systems.danger/cmd/dangerjs/DangerJSBridge.kt @@ -1,4 +1,4 @@ -package com.danger.runner.cmd.dangerjs +package systems.danger.cmd.dangerjs interface DangerJSBridge { fun process(command: String, processName: String, args: List) diff --git a/dependencyVersions.gradle b/dependencyVersions.gradle index dd9acb3a..5bec48c9 100644 --- a/dependencyVersions.gradle +++ b/dependencyVersions.gradle @@ -10,10 +10,10 @@ project.ext.artifactIdMoshiKotlin = 'moshi-kotlin' project.ext.versionKotlinMain = '1.3.61' project.ext.groupIdKotlinMain = 'org.jetbrains.kotlin' -project.ext.artifactIdMKotlinMain = 'kotlin-main-kts' +project.ext.artifactIdKotlinMain = 'kotlin-main-kts' ext.utils = [ - moshi : "$groupIdMoshi:$artifactIdMoshiKotlin:$versionMoshi" + moshi: "$groupIdMoshi:$artifactIdMoshiKotlin:$versionMoshi" ] ext.utilsDependencies = group { @@ -31,7 +31,8 @@ project.ext.versionKotlin = '1.3.61' project.ext.groupIdKotlin = 'org.jetbrains.kotlin' project.ext.artifactIdKotlinScriptRuntime = 'kotlin-script-runtime' ext.kotlin = [ - runtime : "$groupIdKotlin:$artifactIdKotlinScriptRuntime:$versionKotlin" + runtime: "$groupIdKotlin:$artifactIdKotlinScriptRuntime:$versionKotlin", + mainKts: "$groupIdKotlinMain:$artifactIdKotlinMain:$versionKotlinMain" ] ext.kotlinDependencies = group { implementation kotlin.runtime @@ -42,7 +43,7 @@ project.ext.versionJunit = '4.12' project.ext.groupIdJunit = 'junit' project.ext.artifactIdJunit = 'junit' ext.testing = [ - junit : "junit:junit:$versionJunit" + junit: "junit:junit:$versionJunit" ] ext.testingDependencies = group { testImplementation testing.junit diff --git a/gradle.properties b/gradle.properties index 73bbcd70..b9b919b3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ -kotlinVersion=1.3.21 +kotlinVersion=1.3.60 kotlin.code.style=official \ No newline at end of file