Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Commands API #7

Merged
merged 6 commits into from
Sep 30, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ org.gradle.jvmargs=-Xmx4096m
# Project properties
config.group = xyz.marinkovic.milos
config.artifact = codestats
config.version = 0.6.0
config.version = 0.7.0
config.gitHubRepoOwner = milosmns
config.gitHubRepoName = code-stats
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ package calculator

import components.data.Repository
import components.metrics.CodeReviewChangeLinesAdded
import history.filter.transform.RepositoryFinishedAtTransform
import kotlinx.datetime.LocalDate

class CodeReviewChangeLinesAddedCalculator : GenericLongMetricCalculator<CodeReviewChangeLinesAdded> {
class CodeReviewChangeLinesAddedCalculator : GenericCountMetricCalculator<CodeReviewChangeLinesAdded> {

override fun calculate(repositories: List<Repository>): CodeReviewChangeLinesAdded {
val perUser = repositories
Expand Down Expand Up @@ -42,4 +44,6 @@ class CodeReviewChangeLinesAddedCalculator : GenericLongMetricCalculator<CodeRev
)
}

override fun getTimeSeriesTransform(date: LocalDate) = RepositoryFinishedAtTransform(date)

}
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ package calculator

import components.data.Repository
import components.metrics.CodeReviewChangeLinesDeleted
import history.filter.transform.RepositoryFinishedAtTransform
import kotlinx.datetime.LocalDate

class CodeReviewChangeLinesDeletedCalculator : GenericLongMetricCalculator<CodeReviewChangeLinesDeleted> {
class CodeReviewChangeLinesDeletedCalculator : GenericCountMetricCalculator<CodeReviewChangeLinesDeleted> {

override fun calculate(repositories: List<Repository>): CodeReviewChangeLinesDeleted {
val perUser = repositories
Expand Down Expand Up @@ -42,4 +44,6 @@ class CodeReviewChangeLinesDeletedCalculator : GenericLongMetricCalculator<CodeR
)
}

override fun getTimeSeriesTransform(date: LocalDate) = RepositoryFinishedAtTransform(date)

}
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ package calculator

import components.data.Repository
import components.metrics.CodeReviewChangeLinesTotal
import history.filter.transform.RepositoryFinishedAtTransform
import kotlinx.datetime.LocalDate

class CodeReviewChangeLinesTotalCalculator : GenericLongMetricCalculator<CodeReviewChangeLinesTotal> {
class CodeReviewChangeLinesTotalCalculator : GenericCountMetricCalculator<CodeReviewChangeLinesTotal> {

override fun calculate(repositories: List<Repository>): CodeReviewChangeLinesTotal {
val perUser = repositories
Expand Down Expand Up @@ -42,4 +44,6 @@ class CodeReviewChangeLinesTotalCalculator : GenericLongMetricCalculator<CodeRev
)
}

override fun getTimeSeriesTransform(date: LocalDate) = RepositoryFinishedAtTransform(date)

}
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ package calculator

import components.data.Repository
import components.metrics.CodeReviewChangesAdded
import history.filter.transform.RepositoryFinishedAtTransform
import kotlinx.datetime.LocalDate

class CodeReviewChangesAddedCalculator : GenericLongMetricCalculator<CodeReviewChangesAdded> {
class CodeReviewChangesAddedCalculator : GenericCountMetricCalculator<CodeReviewChangesAdded> {

override fun calculate(repositories: List<Repository>): CodeReviewChangesAdded {
val perUser = repositories
Expand Down Expand Up @@ -42,4 +44,6 @@ class CodeReviewChangesAddedCalculator : GenericLongMetricCalculator<CodeReviewC
)
}

override fun getTimeSeriesTransform(date: LocalDate) = RepositoryFinishedAtTransform(date)

}
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ package calculator

import components.data.Repository
import components.metrics.CodeReviewChangesModified
import history.filter.transform.RepositoryFinishedAtTransform
import kotlinx.datetime.LocalDate

class CodeReviewChangesModifiedCalculator : GenericLongMetricCalculator<CodeReviewChangesModified> {
class CodeReviewChangesModifiedCalculator : GenericCountMetricCalculator<CodeReviewChangesModified> {

override fun calculate(repositories: List<Repository>): CodeReviewChangesModified {
val perUser = repositories
Expand Down Expand Up @@ -42,4 +44,6 @@ class CodeReviewChangesModifiedCalculator : GenericLongMetricCalculator<CodeRevi
)
}

override fun getTimeSeriesTransform(date: LocalDate) = RepositoryFinishedAtTransform(date)

}
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ package calculator

import components.data.Repository
import components.metrics.CodeReviewChangesRemoved
import history.filter.transform.RepositoryFinishedAtTransform
import kotlinx.datetime.LocalDate

class CodeReviewChangesRemovedCalculator : GenericLongMetricCalculator<CodeReviewChangesRemoved> {
class CodeReviewChangesRemovedCalculator : GenericCountMetricCalculator<CodeReviewChangesRemoved> {

override fun calculate(repositories: List<Repository>): CodeReviewChangesRemoved {
val perUser = repositories
Expand Down Expand Up @@ -42,4 +44,6 @@ class CodeReviewChangesRemovedCalculator : GenericLongMetricCalculator<CodeRevie
)
}

override fun getTimeSeriesTransform(date: LocalDate) = RepositoryFinishedAtTransform(date)

}
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ package calculator

import components.data.Repository
import components.metrics.CodeReviewChangesTotal
import history.filter.transform.RepositoryFinishedAtTransform
import kotlinx.datetime.LocalDate

class CodeReviewChangesTotalCalculator : GenericLongMetricCalculator<CodeReviewChangesTotal> {
class CodeReviewChangesTotalCalculator : GenericCountMetricCalculator<CodeReviewChangesTotal> {

override fun calculate(repositories: List<Repository>): CodeReviewChangesTotal {
val perUser = repositories
Expand Down Expand Up @@ -42,4 +44,6 @@ class CodeReviewChangesTotalCalculator : GenericLongMetricCalculator<CodeReviewC
)
}

override fun getTimeSeriesTransform(date: LocalDate) = RepositoryFinishedAtTransform(date)

}
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ package calculator

import components.data.Repository
import components.metrics.CodeReviewCommentsAuthored
import history.filter.transform.RepositoryCreatedAtTransform
import kotlinx.datetime.LocalDate

class CodeReviewCommentsAuthoredCalculator : GenericLongMetricCalculator<CodeReviewCommentsAuthored> {
class CodeReviewCommentsAuthoredCalculator : GenericCountMetricCalculator<CodeReviewCommentsAuthored> {

override fun calculate(repositories: List<Repository>): CodeReviewCommentsAuthored {
val perUser = repositories
Expand Down Expand Up @@ -43,4 +45,10 @@ class CodeReviewCommentsAuthoredCalculator : GenericLongMetricCalculator<CodeRev
)
}

override fun getTimeSeriesTransform(date: LocalDate) = RepositoryCreatedAtTransform(
createdAt = date,
applyToCommentsAndFeedbacks = true,
applyToCodeReviewsAndDiscussions = false,
)

}
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ package calculator

import components.data.Repository
import components.metrics.CodeReviewCommentsReceived
import history.filter.transform.RepositoryCreatedAtTransform
import kotlinx.datetime.LocalDate

class CodeReviewCommentsReceivedCalculator : GenericLongMetricCalculator<CodeReviewCommentsReceived> {
class CodeReviewCommentsReceivedCalculator : GenericCountMetricCalculator<CodeReviewCommentsReceived> {

override fun calculate(repositories: List<Repository>): CodeReviewCommentsReceived {
@Suppress("DuplicatedCode") // false positive from DiscussionCommentsReceivedCalculator
Expand All @@ -26,4 +28,10 @@ class CodeReviewCommentsReceivedCalculator : GenericLongMetricCalculator<CodeRev
)
}

override fun getTimeSeriesTransform(date: LocalDate) = RepositoryCreatedAtTransform(
createdAt = date,
applyToCommentsAndFeedbacks = true,
applyToCodeReviewsAndDiscussions = false,
)

}
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ package calculator

import components.data.Repository
import components.metrics.CodeReviewFeedbacksApproved
import history.filter.transform.RepositoryCreatedAtTransform
import kotlinx.datetime.LocalDate

class CodeReviewFeedbacksApprovedCalculator : GenericLongMetricCalculator<CodeReviewFeedbacksApproved> {
class CodeReviewFeedbacksApprovedCalculator : GenericCountMetricCalculator<CodeReviewFeedbacksApproved> {

override fun calculate(repositories: List<Repository>): CodeReviewFeedbacksApproved {
val perUser = repositories
Expand Down Expand Up @@ -37,4 +39,10 @@ class CodeReviewFeedbacksApprovedCalculator : GenericLongMetricCalculator<CodeRe
)
}

override fun getTimeSeriesTransform(date: LocalDate) = RepositoryCreatedAtTransform(
createdAt = date,
applyToCommentsAndFeedbacks = true,
applyToCodeReviewsAndDiscussions = false,
)

}
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ package calculator

import components.data.Repository
import components.metrics.CodeReviewFeedbacksPostponed
import history.filter.transform.RepositoryCreatedAtTransform
import kotlinx.datetime.LocalDate

class CodeReviewFeedbacksPostponedCalculator : GenericLongMetricCalculator<CodeReviewFeedbacksPostponed> {
class CodeReviewFeedbacksPostponedCalculator : GenericCountMetricCalculator<CodeReviewFeedbacksPostponed> {

override fun calculate(repositories: List<Repository>): CodeReviewFeedbacksPostponed {
val perUser = repositories
Expand Down Expand Up @@ -37,4 +39,10 @@ class CodeReviewFeedbacksPostponedCalculator : GenericLongMetricCalculator<CodeR
)
}

override fun getTimeSeriesTransform(date: LocalDate) = RepositoryCreatedAtTransform(
createdAt = date,
applyToCommentsAndFeedbacks = true,
applyToCodeReviewsAndDiscussions = false,
)

}
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ package calculator

import components.data.Repository
import components.metrics.CodeReviewFeedbacksRejected
import history.filter.transform.RepositoryCreatedAtTransform
import kotlinx.datetime.LocalDate

class CodeReviewFeedbacksRejectedCalculator : GenericLongMetricCalculator<CodeReviewFeedbacksRejected> {
class CodeReviewFeedbacksRejectedCalculator : GenericCountMetricCalculator<CodeReviewFeedbacksRejected> {

override fun calculate(repositories: List<Repository>): CodeReviewFeedbacksRejected {
val perUser = repositories
Expand Down Expand Up @@ -37,4 +39,10 @@ class CodeReviewFeedbacksRejectedCalculator : GenericLongMetricCalculator<CodeRe
)
}

override fun getTimeSeriesTransform(date: LocalDate) = RepositoryCreatedAtTransform(
createdAt = date,
applyToCommentsAndFeedbacks = true,
applyToCodeReviewsAndDiscussions = false,
)

}
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ package calculator

import components.data.Repository
import components.metrics.CodeReviewFeedbacksTotal
import history.filter.transform.RepositoryCreatedAtTransform
import kotlinx.datetime.LocalDate

class CodeReviewFeedbacksTotalCalculator : GenericLongMetricCalculator<CodeReviewFeedbacksTotal> {
class CodeReviewFeedbacksTotalCalculator : GenericCountMetricCalculator<CodeReviewFeedbacksTotal> {

override fun calculate(repositories: List<Repository>): CodeReviewFeedbacksTotal {
val perUser = repositories
Expand Down Expand Up @@ -37,4 +39,10 @@ class CodeReviewFeedbacksTotalCalculator : GenericLongMetricCalculator<CodeRevie
)
}

override fun getTimeSeriesTransform(date: LocalDate) = RepositoryCreatedAtTransform(
createdAt = date,
applyToCommentsAndFeedbacks = true,
applyToCodeReviewsAndDiscussions = false,
)

}
10 changes: 9 additions & 1 deletion src/commonMain/kotlin/calculator/CodeReviewsCalculator.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ package calculator

import components.data.Repository
import components.metrics.CodeReviews
import history.filter.transform.RepositoryCreatedAtTransform
import kotlinx.datetime.LocalDate

class CodeReviewsCalculator : GenericLongMetricCalculator<CodeReviews> {
class CodeReviewsCalculator : GenericCountMetricCalculator<CodeReviews> {

override fun calculate(repositories: List<Repository>): CodeReviews {
val perUser = repositories
Expand Down Expand Up @@ -32,4 +34,10 @@ class CodeReviewsCalculator : GenericLongMetricCalculator<CodeReviews> {
)
}

override fun getTimeSeriesTransform(date: LocalDate) = RepositoryCreatedAtTransform(
createdAt = date,
applyToCommentsAndFeedbacks = false,
applyToCodeReviewsAndDiscussions = true,
)

}
6 changes: 5 additions & 1 deletion src/commonMain/kotlin/calculator/CycleTimeCalculator.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@ package calculator

import components.data.Repository
import components.metrics.CycleTime
import history.filter.transform.RepositoryFinishedAtTransform
import kotlinx.datetime.Instant
import kotlinx.datetime.LocalDate

class CycleTimeCalculator(private val now: Instant) : GenericLongMetricCalculator<CycleTime> {
class CycleTimeCalculator(private val now: Instant) : GenericCountMetricCalculator<CycleTime> {

override fun calculate(repositories: List<Repository>): CycleTime {
val perUser = repositories
Expand Down Expand Up @@ -42,4 +44,6 @@ class CycleTimeCalculator(private val now: Instant) : GenericLongMetricCalculato
)
}

override fun getTimeSeriesTransform(date: LocalDate) = RepositoryFinishedAtTransform(date)

}
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ package calculator

import components.data.Repository
import components.metrics.DiscussionCommentsAuthored
import history.filter.transform.RepositoryCreatedAtTransform
import kotlinx.datetime.LocalDate

class DiscussionCommentsAuthoredCalculator : GenericLongMetricCalculator<DiscussionCommentsAuthored> {
class DiscussionCommentsAuthoredCalculator : GenericCountMetricCalculator<DiscussionCommentsAuthored> {

override fun calculate(repositories: List<Repository>): DiscussionCommentsAuthored {
val perUser = repositories
Expand Down Expand Up @@ -47,4 +49,10 @@ class DiscussionCommentsAuthoredCalculator : GenericLongMetricCalculator<Discuss
)
}

override fun getTimeSeriesTransform(date: LocalDate) = RepositoryCreatedAtTransform(
createdAt = date,
applyToCommentsAndFeedbacks = true,
applyToCodeReviewsAndDiscussions = false,
)

}
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ package calculator

import components.data.Repository
import components.metrics.DiscussionCommentsReceived
import history.filter.transform.RepositoryCreatedAtTransform
import kotlinx.datetime.LocalDate

class DiscussionCommentsReceivedCalculator : GenericLongMetricCalculator<DiscussionCommentsReceived> {
class DiscussionCommentsReceivedCalculator : GenericCountMetricCalculator<DiscussionCommentsReceived> {

override fun calculate(repositories: List<Repository>): DiscussionCommentsReceived {
@Suppress("DuplicatedCode") // false positive from CodeReviewCommentsReceivedCalculator
Expand All @@ -26,4 +28,10 @@ class DiscussionCommentsReceivedCalculator : GenericLongMetricCalculator<Discuss
)
}

override fun getTimeSeriesTransform(date: LocalDate) = RepositoryCreatedAtTransform(
createdAt = date,
applyToCommentsAndFeedbacks = true,
applyToCodeReviewsAndDiscussions = false,
)

}
10 changes: 9 additions & 1 deletion src/commonMain/kotlin/calculator/DiscussionsCalculator.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ package calculator

import components.data.Repository
import components.metrics.Discussions
import history.filter.transform.RepositoryCreatedAtTransform
import kotlinx.datetime.LocalDate

class DiscussionsCalculator : GenericLongMetricCalculator<Discussions> {
class DiscussionsCalculator : GenericCountMetricCalculator<Discussions> {

override fun calculate(repositories: List<Repository>): Discussions {
val perUser = repositories
Expand Down Expand Up @@ -42,4 +44,10 @@ class DiscussionsCalculator : GenericLongMetricCalculator<Discussions> {
)
}

override fun getTimeSeriesTransform(date: LocalDate) = RepositoryCreatedAtTransform(
createdAt = date,
applyToCommentsAndFeedbacks = false,
applyToCodeReviewsAndDiscussions = true,
)

}
Loading