Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4899e772 authored by Jonathan Klee's avatar Jonathan Klee
Browse files

Merge branch '0000-t-add-detekt' into 'main'

Add Detekt to prevent code smells

See merge request !262
parents aa02e0a9 cad0825b
Loading
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -38,6 +38,10 @@ lint:
  stage: build
  script:
    - ./gradlew lintRelease
    - ./gradlew detekt
  artifacts:
    paths:
      - build/reports/detekt/


build:
+54 −0
Original line number Diff line number Diff line
<?xml version='1.0' encoding='UTF-8'?>
<SmellBaseline>
  <ManuallySuppressedIssues/>
  <CurrentIssues>
    <ID>EmptyDefaultConstructor:AccountAddedReceiver.kt$AccountAddedReceiver$()</ID>
    <ID>EmptyElseBlock:SyncTask.kt$SyncTask$if (filePath.isEmpty()) return</ID>
    <ID>MagicNumber:FileDiffUtils.kt$FileDiffUtils$1000</ID>
    <ID>MagicNumber:SyncProxy.kt$SyncProxy$1000</ID>
    <ID>MagicNumber:SyncProxy.kt$SyncProxy$18000</ID>
    <ID>MagicNumber:SyncProxy.kt$SyncProxy$3</ID>
    <ID>MagicNumber:SyncProxy.kt$SyncProxy$3600</ID>
    <ID>MagicNumber:SyncProxy.kt$SyncProxy$7200</ID>
    <ID>MagicNumber:SyncWorker.kt$SyncWorker$30</ID>
    <ID>MaxLineLength:FullScanWorker.kt$FullScanWorker$if (isFileSyncDisabled(account)) return false</ID>
    <ID>MaxLineLength:FullScanWorker.kt$FullScanWorker$private</ID>
    <ID>MaxLineLength:RootSyncedFolderProvider.kt$RootSyncedFolderProvider$private</ID>
    <ID>MaxLineLength:RootSyncedFolderProvider.kt$RootSyncedFolderProvider$private val REMOTE_ROM_SETTINGS_PATH = PATH_SEPARATOR + "Devices" + PATH_SEPARATOR + BRAND + "_" + MODEL + "_" + Build.getSerial() + "/rom_settings/"</ID>
    <ID>MaxLineLength:SyncProxy.kt$SyncProxy$private val syncRequestQueue: ConcurrentLinkedQueue&lt;SyncRequest> = ConcurrentLinkedQueue() //could we use channel instead ?</ID>
    <ID>MaxLineLength:SyncTask.kt$SyncTask$if</ID>
    <ID>NewLineAtEndOfFile:AccountAddedReceiver.kt$foundation.e.drive.account.receivers.AccountAddedReceiver.kt</ID>
    <ID>NewLineAtEndOfFile:AppConstants.kt$foundation.e.drive.utils.AppConstants.kt</ID>
    <ID>NewLineAtEndOfFile:FileDiffUtils.kt$foundation.e.drive.periodicScan.contentScanner.FileDiffUtils.kt</ID>
    <ID>NewLineAtEndOfFile:FileUtils.kt$foundation.e.drive.utils.FileUtils.kt</ID>
    <ID>NewLineAtEndOfFile:FullScanWorker.kt$foundation.e.drive.periodicScan.FullScanWorker.kt</ID>
    <ID>NewLineAtEndOfFile:RootSyncedFolderProvider.kt$foundation.e.drive.utils.RootSyncedFolderProvider.kt</ID>
    <ID>NewLineAtEndOfFile:StateMachine.kt$foundation.e.drive.synchronization.StateMachine.kt</ID>
    <ID>NewLineAtEndOfFile:SyncProxy.kt$foundation.e.drive.synchronization.SyncProxy.kt</ID>
    <ID>NewLineAtEndOfFile:SyncTask.kt$foundation.e.drive.synchronization.SyncTask.kt</ID>
    <ID>NewLineAtEndOfFile:SyncWorker.kt$foundation.e.drive.synchronization.SyncWorker.kt</ID>
    <ID>NewLineAtEndOfFile:SyncedFileState.kt$foundation.e.drive.models.SyncedFileState.kt</ID>
    <ID>ReturnCount:AccountAddedReceiver.kt$AccountAddedReceiver$private fun canStart( accountName: String, accountType: String, prefs: SharedPreferences, context: Context ): Boolean</ID>
    <ID>ReturnCount:FileDiffUtils.kt$FileDiffUtils$@JvmStatic fun getActionForFileDiff(remoteFile: RemoteFile, fileState: SyncedFileState): Action</ID>
    <ID>ReturnCount:FullScanWorker.kt$FullScanWorker$override fun doWork(): Result</ID>
    <ID>ReturnCount:FullScanWorker.kt$FullScanWorker$private fun checkStartConditions(account: Account?, prefs : SharedPreferences, requestCollector: SyncRequestCollector): Boolean</ID>
    <ID>ReturnCount:FullScanWorker.kt$FullScanWorker$private fun scanLocalFiles(syncedFolders: List&lt;SyncedFolder>): HashMap&lt;Int, SyncRequest></ID>
    <ID>ReturnCount:FullScanWorker.kt$FullScanWorker$private fun scanRemoteFiles(account: Account, syncedFolders: List&lt;SyncedFolder>): HashMap&lt;Int, SyncRequest></ID>
    <ID>ReturnCount:StateMachine.kt$StateMachine$private fun setPeriodicScanState(): Boolean</ID>
    <ID>ReturnCount:SyncProxy.kt$SyncProxy$override fun onPeriodicScanStart(application: Application): Boolean</ID>
    <ID>ReturnCount:SyncProxy.kt$SyncProxy$override fun queueSyncRequest(request: SyncRequest, context: Context): Boolean</ID>
    <ID>ReturnCount:SyncProxy.kt$SyncProxy$override fun startSynchronization(context: Context)</ID>
    <ID>ReturnCount:SyncProxy.kt$SyncProxy$private fun skipBecauseOfPreviousFail(request: SyncRequest, context: Context): Boolean</ID>
    <ID>ReturnCount:SyncTask.kt$SyncTask$private fun canStart(): Boolean</ID>
    <ID>ReturnCount:SyncTask.kt$SyncTask$private fun runDownload(syncWrapper: SyncWrapper): Boolean</ID>
    <ID>ReturnCount:SyncTask.kt$SyncTask$private fun runUpload(syncWrapper: SyncWrapper): Boolean</ID>
    <ID>ReturnCount:SyncTask.kt$SyncTask$private fun updateFailureCounter(request: SyncRequest, success: Boolean)</ID>
    <ID>ReturnCount:SyncWorker.kt$SyncWorker$override fun doWork(): Result</ID>
    <ID>SwallowedException:FileUtils.kt$FileUtils$e: java.lang.NullPointerException</ID>
    <ID>TooGenericExceptionCaught:FullScanWorker.kt$FullScanWorker$exception: Exception</ID>
    <ID>TooGenericExceptionCaught:SyncWorker.kt$SyncWorker$exception: Exception</ID>
    <ID>TooManyFunctions:SyncProxy.kt$SyncProxy : SyncRequestCollectorSyncManager</ID>
    <ID>WildcardImport:AccountAddedReceiver.kt$import foundation.e.drive.work.WorkRequestFactory.*</ID>
    <ID>WildcardImport:SyncTask.kt$import foundation.e.drive.models.SyncRequest.Type.*</ID>
  </CurrentIssues>
</SmellBaseline>
+21 −0
Original line number Diff line number Diff line
@@ -3,8 +3,29 @@ plugins {
    id 'com.android.application' version '7.1.3' apply false
    id 'com.android.library' version '7.1.3' apply false
    id 'org.jetbrains.kotlin.android' version '1.8.20-RC' apply false
    id 'io.gitlab.arturbosch.detekt' version '1.23.1'
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

subprojects {
    detekt {
        toolVersion = "1.23.1"

        source = files(
                "src/main/java"
        )

        config.setFrom("detekt.yml")
        baseline = file("detekt-baseline.xml")
        parallel = false
        buildUponDefaultConfig = true
        allRules = false
        disableDefaultRuleSets = false
        debug = false
        ignoreFailures = false
        basePath = projectDir
    }
}

detekt.yml

0 → 100644
+22 −0
Original line number Diff line number Diff line
# Naming rules
naming:

  ConstructorParameterNaming:
    active: false

  VariableNaming:
    active: false


# Style rules
style:

  ForbiddenComment:
    active: false


# Complexity rules
complexity:

  TooManyFunctions:
    ignorePrivate: true