Skip to content

Commit 9d9a201

Browse files
fix: add origin master branch as default, sentry env disble
1 parent ffdf610 commit 9d9a201

File tree

3 files changed

+51
-27
lines changed

3 files changed

+51
-27
lines changed

build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ buildConfig {
4343
buildConfigField 'String', 'ENV', project.hasProperty('env') ? env : 'production'
4444
buildConfigField 'String', 'LOG_LEVEL', project.hasProperty('log') ? log : 'info'
4545
buildConfigField 'boolean', 'SILENT_USER_OUTPUT', project.hasProperty('silent') ? silent : 'false'
46+
buildConfigField 'boolean', 'SENTRY_ENABLED', project.hasProperty('sentry') ? sentry : 'true'
4647
buildConfigField 'String', 'SENTRY_DSN', 'https://0263d6473bd24a9ba40e25aa5fb0a242:[email protected]/233260'
4748
buildConfigField 'boolean', 'PRINT_STACK_TRACE', 'false'
4849

src/main/kotlin/app/Logger.kt

Lines changed: 43 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ object Logger {
6262
internal const val TRACE = 4
6363

6464
const val SILENT = BuildConfig.SILENT_USER_OUTPUT
65+
const val SENTRY_ENABLED = BuildConfig.SENTRY_ENABLED
6566

6667
/**
6768
* Print stack trace on error log.
@@ -71,14 +72,16 @@ object Logger {
7172
/**
7273
* Context of Sentry error reporting software for adding info.
7374
*/
74-
private val sentryContext: Context
75+
private val sentryContext: Context?
7576

7677
/**
7778
* Username used for error reporting.
7879
*/
7980
var username: String? = null
8081
set(value) {
81-
sentryContext.user = UserBuilder().setUsername(value).build()
82+
if (SENTRY_ENABLED) {
83+
sentryContext?.user = UserBuilder().setUsername(value).build()
84+
}
8285
Analytics.username = value ?: ""
8386
}
8487

@@ -88,9 +91,13 @@ object Logger {
8891
}
8992

9093
init {
91-
Sentry.init(BuildConfig.SENTRY_DSN)
92-
sentryContext = Sentry.getContext()
93-
addTags()
94+
if (SENTRY_ENABLED) {
95+
Sentry.init(BuildConfig.SENTRY_DSN)
96+
sentryContext = Sentry.getContext()
97+
addTags()
98+
} else {
99+
sentryContext = null
100+
}
94101
LEVEL = configLevelValue()
95102
}
96103

@@ -168,7 +175,7 @@ object Logger {
168175
}
169176
if (!logOnly) {
170177
Analytics.trackError(e)
171-
Sentry.capture(e)
178+
capture(e)
172179
}
173180
addBreadcrumb(finalMessage, Breadcrumb.Level.ERROR)
174181
}
@@ -221,28 +228,38 @@ object Logger {
221228

222229
@kotlin.PublishedApi
223230
internal fun addBreadcrumb(message: String, level: Breadcrumb.Level) {
224-
sentryContext.recordBreadcrumb(BreadcrumbBuilder()
225-
.setMessage(message)
226-
.setLevel(level)
227-
.setTimestamp(Date())
228-
.build())
231+
if (SENTRY_ENABLED) {
232+
sentryContext?.recordBreadcrumb(BreadcrumbBuilder()
233+
.setMessage(message)
234+
.setLevel(level)
235+
.setTimestamp(Date())
236+
.build())
237+
}
229238
}
230239

231240
private fun addTags() {
232-
val default = "unavailable"
233-
val osName = System.getProperty("os.name", default)
234-
val osVersion = System.getProperty("os.version", default)
235-
val javaVendor = System.getProperty("java.vendor", default)
236-
val javaVersion = System.getProperty("java.version", default)
237-
238-
sentryContext.addTag("environment", BuildConfig.ENV)
239-
sentryContext.addTag("log-level", BuildConfig.LOG_LEVEL)
240-
sentryContext.addTag("version", BuildConfig.VERSION)
241-
sentryContext.addTag("version-code", BuildConfig.VERSION_CODE
242-
.toString())
243-
sentryContext.addTag("os-name", osName)
244-
sentryContext.addTag("os-version", osVersion)
245-
sentryContext.addTag("java-vendor", javaVendor)
246-
sentryContext.addTag("java-version", javaVersion)
241+
if (SENTRY_ENABLED) {
242+
val default = "unavailable"
243+
val osName = System.getProperty("os.name", default)
244+
val osVersion = System.getProperty("os.version", default)
245+
val javaVendor = System.getProperty("java.vendor", default)
246+
val javaVersion = System.getProperty("java.version", default)
247+
248+
sentryContext?.addTag("environment", BuildConfig.ENV)
249+
sentryContext?.addTag("log-level", BuildConfig.LOG_LEVEL)
250+
sentryContext?.addTag("version", BuildConfig.VERSION)
251+
sentryContext?.addTag("version-code", BuildConfig.VERSION_CODE
252+
.toString())
253+
sentryContext?.addTag("os-name", osName)
254+
sentryContext?.addTag("os-version", osVersion)
255+
sentryContext?.addTag("java-vendor", javaVendor)
256+
sentryContext?.addTag("java-version", javaVersion)
257+
}
258+
}
259+
260+
private fun capture(e: Throwable) {
261+
if (SENTRY_ENABLED) {
262+
Sentry.capture(e)
263+
}
247264
}
248265
}

src/main/kotlin/app/hashers/CommitCrawler.kt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ data class JgitDiff(val diffEntry: DiffEntry, val editList: EditList)
3232
*/
3333
object CommitCrawler {
3434
private val MASTER_BRANCH = "refs/heads/master"
35+
private val MASTER_BRANCH_ORIGIN = "refs/remotes/origin/master"
3536
private val REMOTE_HEAD = "refs/remotes/origin/HEAD"
3637

3738
fun getDefaultBranchHead(git: Git): ObjectId {
@@ -47,7 +48,12 @@ object CommitCrawler {
4748
Logger.debug { "Hashing from local master branch" }
4849
return masterBranch
4950
}
50-
throw Exception("No remote default or local master branch found")
51+
val originMasterBranch = git.repository.resolve(MASTER_BRANCH_ORIGIN)
52+
if (originMasterBranch != null) {
53+
Logger.debug { "Hashing from origin master branch" }
54+
return originMasterBranch
55+
}
56+
throw Exception("No remote default or local/origin master branch found")
5157
}
5258

5359
fun fetchRehashesAndAuthors(git: Git):

0 commit comments

Comments
 (0)