From ef05fa7e051caba4bc3877c5940d8f83aff74729 Mon Sep 17 00:00:00 2001 From: Melih Date: Tue, 31 Mar 2020 13:25:54 +0200 Subject: [PATCH] Fixed detekt findings, removed test code --- .../com/melih/abstractions/mapper/Mapper.kt | 4 +- app/build.gradle | 4 +- .../kotlin/com/melih/rocketscience/App.kt | 3 - .../com/melih/rocketscience/di/AppModule.kt | 8 - core/build.gradle | 5 +- .../melih/interactors/base/BaseInteractor.kt | 2 +- .../interactors/sources/LaunchesSource.kt | 25 +- .../com/melih/persistence/dao/LaunchesDao.kt | 12 +- default-detekt-config.yml | 264 ++++++++++++------ .../melih/detail/data/LaunchDetailMapper.kt | 2 +- .../com/melih/launches/data/LaunchMapper.kt | 2 +- scripts/feature_module.gradle | 5 +- 12 files changed, 208 insertions(+), 128 deletions(-) diff --git a/abstractions/src/main/kotlin/com/melih/abstractions/mapper/Mapper.kt b/abstractions/src/main/kotlin/com/melih/abstractions/mapper/Mapper.kt index aac38d2..0eba505 100644 --- a/abstractions/src/main/kotlin/com/melih/abstractions/mapper/Mapper.kt +++ b/abstractions/src/main/kotlin/com/melih/abstractions/mapper/Mapper.kt @@ -2,7 +2,7 @@ package com.melih.abstractions.mapper import com.melih.abstractions.data.ViewEntity -abstract class Mapper { +interface Mapper { - abstract fun convert(t: T): R + fun convert(t: T): R } diff --git a/app/build.gradle b/app/build.gradle index 4d1af18..8dd64c3 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -14,8 +14,8 @@ android { testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } - dataBinding { - enabled = true + buildFeatures{ + dataBinding = true } } diff --git a/app/src/main/kotlin/com/melih/rocketscience/App.kt b/app/src/main/kotlin/com/melih/rocketscience/App.kt index a5e2b73..803856c 100644 --- a/app/src/main/kotlin/com/melih/rocketscience/App.kt +++ b/app/src/main/kotlin/com/melih/rocketscience/App.kt @@ -16,9 +16,6 @@ class App : DaggerApplication() { .create(this) ) - @Inject - lateinit var item: LaunchDetailItem - override fun onCreate() { super.onCreate() diff --git a/app/src/main/kotlin/com/melih/rocketscience/di/AppModule.kt b/app/src/main/kotlin/com/melih/rocketscience/di/AppModule.kt index 71cc7a0..0d0630b 100644 --- a/app/src/main/kotlin/com/melih/rocketscience/di/AppModule.kt +++ b/app/src/main/kotlin/com/melih/rocketscience/di/AppModule.kt @@ -18,12 +18,4 @@ abstract class AppModule { DetailContributor::class] ) abstract fun mainActivity(): MainActivity - - @Module - companion object { - - @JvmStatic - @Provides - fun provdeSomeObject() = LaunchDetailItem(10, "", "Rocket", "Desc") - } } diff --git a/core/build.gradle b/core/build.gradle index 0d9ae40..325677e 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -7,8 +7,9 @@ apply from: "$rootProject.projectDir/scripts/default_dependencies.gradle" apply from: "$rootProject.projectDir/scripts/sources.gradle" android { - dataBinding { - enabled = true + + buildFeatures{ + dataBinding = true } } diff --git a/data/interactors/src/main/kotlin/com/melih/interactors/base/BaseInteractor.kt b/data/interactors/src/main/kotlin/com/melih/interactors/base/BaseInteractor.kt index 1a57c62..d8a7a85 100644 --- a/data/interactors/src/main/kotlin/com/melih/interactors/base/BaseInteractor.kt +++ b/data/interactors/src/main/kotlin/com/melih/interactors/base/BaseInteractor.kt @@ -39,4 +39,4 @@ interface InteractorParameters /** * Symbolizes absence of parameters for an [interactor][BaseInteractor] */ -class None : Any(), InteractorParameters +class None : InteractorParameters diff --git a/data/interactors/src/main/kotlin/com/melih/interactors/sources/LaunchesSource.kt b/data/interactors/src/main/kotlin/com/melih/interactors/sources/LaunchesSource.kt index ad73cce..7abce3c 100644 --- a/data/interactors/src/main/kotlin/com/melih/interactors/sources/LaunchesSource.kt +++ b/data/interactors/src/main/kotlin/com/melih/interactors/sources/LaunchesSource.kt @@ -143,21 +143,18 @@ internal class LaunchesSource @Inject constructor( launch } - private fun transformImageUrl(imageUrl: String, supportedSizes: IntArray) = - try { - val urlSplit = imageUrl.split("_") - val url = urlSplit[0] - val format = urlSplit[1].split(".")[1] + private fun transformImageUrl(imageUrl: String, supportedSizes: IntArray): String { + val urlSplit = imageUrl.split("_") + val url = urlSplit[0] + val format = urlSplit[1].split(".")[1] - val requestedSize = if (!supportedSizes.contains(DEFAULT_IMAGE_SIZE)) { - supportedSizes.last { it < DEFAULT_IMAGE_SIZE } - } else { - DEFAULT_IMAGE_SIZE - } - - "${url}_$requestedSize.$format" - } catch (e: Exception) { - imageUrl + val requestedSize = if (!supportedSizes.contains(DEFAULT_IMAGE_SIZE)) { + supportedSizes.last { it < DEFAULT_IMAGE_SIZE } + } else { + DEFAULT_IMAGE_SIZE } + + return "${url}_$requestedSize.$format" + } //endregion } diff --git a/data/persistence/src/main/kotlin/com/melih/persistence/dao/LaunchesDao.kt b/data/persistence/src/main/kotlin/com/melih/persistence/dao/LaunchesDao.kt index 7d14666..36f366b 100644 --- a/data/persistence/src/main/kotlin/com/melih/persistence/dao/LaunchesDao.kt +++ b/data/persistence/src/main/kotlin/com/melih/persistence/dao/LaunchesDao.kt @@ -10,26 +10,26 @@ import com.melih.definitions.entities.LaunchEntity * DAO for list of [launches][LaunchEntity] */ @Dao -abstract class LaunchesDao { +interface LaunchesDao { //region Queries @Query("SELECT * FROM Launches ORDER BY launchStartTime DESC LIMIT :count OFFSET :page*:count") - abstract suspend fun getLaunches(count: Int, page: Int): List + suspend fun getLaunches(count: Int, page: Int): List @Query("SELECT * FROM Launches WHERE id=:id LIMIT 1") - abstract suspend fun getLaunchById(id: Long): LaunchEntity? + suspend fun getLaunchById(id: Long): LaunchEntity? @Query("DELETE FROM Launches") - abstract suspend fun nukeLaunches() + suspend fun nukeLaunches() //endregion //region Insertion @Insert(onConflict = OnConflictStrategy.REPLACE) - abstract suspend fun saveLaunches(launches: List) + suspend fun saveLaunches(launches: List) @Insert(onConflict = OnConflictStrategy.REPLACE) - abstract suspend fun saveLaunch(launch: LaunchEntity) + suspend fun saveLaunch(launch: LaunchEntity) //endregion } diff --git a/default-detekt-config.yml b/default-detekt-config.yml index 326fe3c..738f638 100644 --- a/default-detekt-config.yml +++ b/default-detekt-config.yml @@ -1,40 +1,21 @@ -autoCorrect: true - -test-pattern: # Configure exclusions for test sources - active: true - patterns: # Test file regexes - - '.*/test/.*' - - '.*/androidTest/.*' - - '.*Test.kt' - - '.*Spec.kt' - - '.*Spek.kt' - exclude-rule-sets: - - 'comments' - exclude-rules: - - 'NamingRules' - - 'WildcardImport' - - 'MagicNumber' - - 'MaxLineLength' - - 'LateinitUsage' - - 'StringLiteralDuplication' - - 'SpreadOperator' - - 'TooManyFunctions' - - 'ForEachOnRange' - - 'FunctionMaxLength' - - 'TooGenericExceptionCaught' - - 'InstanceOfCheckForException' - build: maxIssues: 1 + excludeCorrectable: false weights: -# complexity: 1 -# LongParameterList: 1 -# style: 1 -# comments: 0 + # complexity: 2 + # LongParameterList: 1 + # style: 1 + # comments: 1 + +config: + validation: true + # when writing own rules with new properties, exclude the property path e.g.: 'my_rule_set,.*>.*>[my_property]' + excludes: '' processors: active: true exclude: + - 'DetektProgressListener' # - 'FunctionCountProcessor' # - 'PropertyCountProcessor' # - 'ClassCountProcessor' @@ -44,21 +25,25 @@ processors: console-reports: active: true exclude: - # - 'ProjectStatisticsReport' - # - 'ComplexityReport' - # - 'NotificationReport' - # - 'FindingsReport' - # - 'BuildFailureReport' + - 'ProjectStatisticsReport' + - 'ComplexityReport' + - 'NotificationReport' + # - 'FindingsReport' + - 'FileBasedFindingsReport' comments: active: true + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' + AbsentOrWrongFileLicense: + active: false + licenseTemplateFile: 'license.template' CommentOverPrivateFunction: active: false CommentOverPrivateProperty: active: false EndOfSentenceFormat: active: false - endOfSentenceFormat: ([.?!][ \t\n\r\f<])|([.?!]$) + endOfSentenceFormat: '([.?!][ \t\n\r\f<])|([.?!:]$)' UndocumentedPublicClass: active: false searchInNestedClass: true @@ -67,6 +52,8 @@ comments: searchInInnerInterface: true UndocumentedPublicFunction: active: false + UndocumentedPublicProperty: + active: false complexity: active: true @@ -77,14 +64,17 @@ complexity: active: false threshold: 10 includeStaticDeclarations: false + includePrivateDeclarations: false ComplexMethod: active: true - threshold: 10 + threshold: 15 ignoreSingleWhenExpression: false ignoreSimpleWhenEntries: false + ignoreNestingFunctions: false + nestingFunctions: run,let,apply,with,also,use,forEach,isNotNull,ifNull LabeledExpression: active: false - ignoredLabels: "" + ignoredLabels: '' LargeClass: active: true threshold: 600 @@ -93,8 +83,10 @@ complexity: threshold: 60 LongParameterList: active: true - threshold: 6 + functionThreshold: 6 + constructorThreshold: 7 ignoreDefaultParameters: false + ignoreDataClasses: true MethodOverloading: active: false threshold: 6 @@ -103,12 +95,14 @@ complexity: threshold: 4 StringLiteralDuplication: active: false + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' threshold: 3 ignoreAnnotation: true excludeStringsWithLessThan5Characters: true ignoreStringsRegex: '$^' TooManyFunctions: active: true + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' thresholdInFiles: 11 thresholdInClasses: 11 thresholdInInterfaces: 11 @@ -118,11 +112,18 @@ complexity: ignorePrivate: false ignoreOverridden: false +coroutines: + active: true + GlobalCoroutineUsage: + active: false + RedundantSuspendModifier: + active: false + empty-blocks: active: true EmptyCatchBlock: active: true - allowedExceptionNameRegex: "^(_|(ignore|expected).*)" + allowedExceptionNameRegex: '^(_|(ignore|expected).*)' EmptyClassBlock: active: true EmptyDefaultConstructor: @@ -137,7 +138,7 @@ empty-blocks: active: true EmptyFunctionBlock: active: true - ignoreOverriddenFunctions: false + ignoreOverridden: false EmptyIfBlock: active: true EmptyInitBlock: @@ -146,6 +147,8 @@ empty-blocks: active: true EmptySecondaryConstructor: active: true + EmptyTryBlock: + active: true EmptyWhenBlock: active: true EmptyWhileBlock: @@ -158,6 +161,7 @@ exceptions: methodNames: 'toString,hashCode,equals,finalize' InstanceOfCheckForException: active: false + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' NotImplementedDeclaration: active: false PrintStackTrace: @@ -166,9 +170,11 @@ exceptions: active: false ReturnFromFinally: active: false + ignoreLabeled: false SwallowedException: active: false ignoredExceptionTypes: 'InterruptedException,NumberFormatException,ParseException,MalformedURLException' + allowedExceptionNameRegex: '^(_|(ignore|expected).*)' ThrowingExceptionFromFinally: active: false ThrowingExceptionInMain: @@ -179,53 +185,65 @@ exceptions: ThrowingNewInstanceOfSameException: active: false TooGenericExceptionCaught: - active: false + active: true + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' exceptionNames: - - ArrayIndexOutOfBoundsException - - Error - - Exception - - IllegalMonitorStateException - - NullPointerException - - IndexOutOfBoundsException - - RuntimeException - - Throwable - allowedExceptionNameRegex: "^(_|(ignore|expected).*)" + - ArrayIndexOutOfBoundsException + - Error + - Exception + - IllegalMonitorStateException + - NullPointerException + - IndexOutOfBoundsException + - RuntimeException + - Throwable + allowedExceptionNameRegex: '^(_|(ignore|expected).*)' TooGenericExceptionThrown: active: true exceptionNames: - - Error - - Exception - - Throwable - - RuntimeException + - Error + - Exception + - Throwable + - RuntimeException formatting: active: true android: false autoCorrect: true + AnnotationOnSeparateLine: + active: false + autoCorrect: true ChainWrapping: active: true autoCorrect: true CommentSpacing: active: true autoCorrect: true + EnumEntryNameCase: + active: false + autoCorrect: true Filename: active: true FinalNewline: active: true autoCorrect: true + insertFinalNewLine: true ImportOrdering: active: false + autoCorrect: true Indentation: - active: true + active: false autoCorrect: true indentSize: 4 continuationIndentSize: 4 MaximumLineLength: active: true - maxLineLength: 150 + maxLineLength: 173 ModifierOrdering: active: true autoCorrect: true + MultiLineIfElse: + active: true + autoCorrect: true NoBlankLineBeforeRbrace: active: true autoCorrect: true @@ -235,8 +253,9 @@ formatting: NoEmptyClassBody: active: true autoCorrect: true - NoItParamInMultilineLambda: + NoEmptyFirstLineInMethodBlock: active: false + autoCorrect: true NoLineBreakAfterElse: active: true autoCorrect: true @@ -260,7 +279,6 @@ formatting: autoCorrect: true NoWildcardImports: active: true - autoCorrect: true PackageName: active: true autoCorrect: true @@ -277,6 +295,9 @@ formatting: SpacingAroundCurly: active: true autoCorrect: true + SpacingAroundDot: + active: true + autoCorrect: true SpacingAroundKeyword: active: true autoCorrect: true @@ -297,60 +318,79 @@ naming: active: true ClassNaming: active: true + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' classPattern: '[A-Z$][a-zA-Z0-9$]*' ConstructorParameterNaming: active: true + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' parameterPattern: '[a-z][A-Za-z0-9]*' privateParameterPattern: '[a-z][A-Za-z0-9]*' excludeClassPattern: '$^' + ignoreOverridden: true EnumNaming: active: true + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' enumEntryPattern: '^[A-Z][_a-zA-Z0-9]*' ForbiddenClassName: active: false + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' forbiddenName: '' FunctionMaxLength: active: false + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' maximumFunctionNameLength: 30 FunctionMinLength: active: false + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' minimumFunctionNameLength: 3 FunctionNaming: active: true + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' functionPattern: '^([a-z$][a-zA-Z$0-9]*)|(`.*`)$' excludeClassPattern: '$^' ignoreOverridden: true FunctionParameterNaming: active: true + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' parameterPattern: '[a-z][A-Za-z0-9]*' excludeClassPattern: '$^' - ignoreOverriddenFunctions: true + ignoreOverridden: true + InvalidPackageDeclaration: + active: false + rootPackage: '' MatchingDeclarationName: active: true + mustBeFirst: true MemberNameEqualsClassName: - active: false - ignoreOverriddenFunction: true + active: true + ignoreOverridden: true ObjectPropertyNaming: active: true + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' constantPattern: '[A-Za-z][_A-Za-z0-9]*' propertyPattern: '[A-Za-z][_A-Za-z0-9]*' privatePropertyPattern: '(_)?[A-Za-z][_A-Za-z0-9]*' PackageNaming: active: true + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' packagePattern: '^[a-z]+(\.[a-z][A-Za-z0-9]*)*$' TopLevelPropertyNaming: active: true + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' constantPattern: '[A-Z][_A-Z0-9]*' propertyPattern: '[A-Za-z][_A-Za-z0-9]*' - privatePropertyPattern: '(_)?[A-Za-z][A-Za-z0-9]*' + privatePropertyPattern: '_?[A-Za-z][_A-Za-z0-9]*' VariableMaxLength: active: false + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' maximumVariableNameLength: 64 VariableMinLength: active: false + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' minimumVariableNameLength: 1 VariableNaming: active: true + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' variablePattern: '[a-z][A-Za-z0-9]*' privateVariablePattern: '(_)?[a-z][A-Za-z0-9]*' excludeClassPattern: '$^' @@ -359,46 +399,61 @@ naming: performance: active: true ArrayPrimitive: - active: false + active: true ForEachOnRange: active: true + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' SpreadOperator: active: true + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' UnnecessaryTemporaryInstantiation: active: true potential-bugs: active: true + Deprecation: + active: false DuplicateCaseInWhenExpression: active: true EqualsAlwaysReturnsTrueOrFalse: - active: false + active: true EqualsWithHashCodeExist: active: true ExplicitGarbageCollectionCall: active: true + HasPlatformType: + active: false + ImplicitDefaultLocale: + active: false InvalidRange: - active: false + active: true IteratorHasNextCallsNextMethod: - active: false + active: true IteratorNotThrowingNoSuchElementException: - active: false + active: true LateinitUsage: active: false - excludeAnnotatedProperties: "" - ignoreOnClassesPattern: "" + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' + excludeAnnotatedProperties: '' + ignoreOnClassesPattern: '' + MapGetWithNotNullAssertionOperator: + active: false + MissingWhenCase: + active: true + RedundantElseInWhen: + active: true UnconditionalJumpStatementInLoop: active: false UnreachableCode: active: true UnsafeCallOnNullableType: - active: false + active: true UnsafeCast: active: false UselessPostfixExpression: active: false WrongEqualsTypeParameter: - active: false + active: true style: active: true @@ -407,10 +462,14 @@ style: DataClassContainsFunctions: active: false conversionFunctionPrefix: 'to' - EqualsNullCall: + DataClassShouldBeImmutable: active: false + EqualsNullCall: + active: true EqualsOnSignatureLine: active: false + ExplicitCollectionElementAccessMethod: + active: false ExplicitItLambdaParameter: active: false ExpressionBodySyntax: @@ -419,38 +478,54 @@ style: ForbiddenComment: active: true values: 'TODO:,FIXME:,STOPSHIP:' + allowedPatterns: '' ForbiddenImport: active: false - imports: '' + imports: [] + forbiddenPatterns: '' + ForbiddenMethodCall: + active: false + methods: '' + ForbiddenPublicDataClass: + active: false + ignorePackages: '*.internal,*.internal.*' ForbiddenVoid: active: false + ignoreOverridden: false + ignoreUsageInGenerics: false FunctionOnlyReturningConstant: - active: false + active: true ignoreOverridableFunction: true excludedFunctions: 'describeContents' + excludeAnnotatedFunction: 'dagger.Provides' + LibraryCodeMustSpecifyReturnType: + active: true LoopWithTooManyJumpStatements: - active: false + active: true maxJumpCount: 1 MagicNumber: active: true + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' ignoreNumbers: '-1,0,1,2' ignoreHashCodeFunction: true ignorePropertyDeclaration: false + ignoreLocalVariableDeclaration: false ignoreConstantDeclaration: true ignoreCompanionObjectPropertyDeclaration: true ignoreAnnotation: false ignoreNamedArgument: true ignoreEnums: false + ignoreRanges: false MandatoryBracesIfStatements: active: false MaxLineLength: active: true - maxLineLength: 150 + maxLineLength: 173 excludePackageStatements: true excludeImportStatements: true excludeCommentStatements: false MayBeConst: - active: false + active: true ModifierOrder: active: true NestedClassesVisibility: @@ -468,15 +543,18 @@ style: PreferToOverPairSyntax: active: false ProtectedMemberInFinalClass: + active: true + RedundantExplicitType: active: false RedundantVisibilityModifierRule: active: false ReturnCount: active: true max: 2 - excludedFunctions: "equals" + excludedFunctions: 'equals' excludeLabeled: false excludeReturnFromLambda: true + excludeGuardClauses: false SafeCast: active: true SerialVersionUIDInSerializableClass: @@ -492,12 +570,14 @@ style: active: false acceptableDecimalLength: 5 UnnecessaryAbstractClass: + active: true + excludeAnnotatedClasses: 'dagger.Module' + UnnecessaryAnnotationUseSiteTarget: active: false - excludeAnnotatedClasses: "dagger.Module" UnnecessaryApply: active: false UnnecessaryInheritance: - active: false + active: true UnnecessaryLet: active: false UnnecessaryParentheses: @@ -507,17 +587,29 @@ style: UnusedImports: active: false UnusedPrivateClass: - active: false + active: true UnusedPrivateMember: active: false - allowedNames: "(_|ignored|expected|serialVersionUID)" + allowedNames: '(_|ignored|expected|serialVersionUID)' + UseArrayLiteralsInAnnotations: + active: false + UseCheckOrError: + active: false UseDataClass: active: false - excludeAnnotatedClasses: "" - UtilityClassWithPublicConstructor: + excludeAnnotatedClasses: '' + allowVars: false + UseIfInsteadOfWhen: active: false + UseRequire: + active: false + UselessCallOnNotNull: + active: true + UtilityClassWithPublicConstructor: + active: true VarCouldBeVal: active: false WildcardImport: active: true - excludeImports: 'java.util.*,kotlinx.android.synthetic.*' + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' + excludeImports: 'java.util.*,kotlinx.android.synthetic.*' \ No newline at end of file diff --git a/features/detail/src/main/kotlin/com/melih/detail/data/LaunchDetailMapper.kt b/features/detail/src/main/kotlin/com/melih/detail/data/LaunchDetailMapper.kt index 32f61c0..363e16d 100644 --- a/features/detail/src/main/kotlin/com/melih/detail/data/LaunchDetailMapper.kt +++ b/features/detail/src/main/kotlin/com/melih/detail/data/LaunchDetailMapper.kt @@ -4,7 +4,7 @@ import com.melih.abstractions.mapper.Mapper import com.melih.definitions.entities.LaunchEntity import javax.inject.Inject -class LaunchDetailMapper @Inject constructor() : Mapper() { +class LaunchDetailMapper @Inject constructor() : Mapper { override fun convert(launchEntity: LaunchEntity) = with(launchEntity) { diff --git a/features/launches/src/main/kotlin/com/melih/launches/data/LaunchMapper.kt b/features/launches/src/main/kotlin/com/melih/launches/data/LaunchMapper.kt index 77aadd1..4a24bee 100644 --- a/features/launches/src/main/kotlin/com/melih/launches/data/LaunchMapper.kt +++ b/features/launches/src/main/kotlin/com/melih/launches/data/LaunchMapper.kt @@ -4,7 +4,7 @@ import com.melih.abstractions.mapper.Mapper import com.melih.definitions.entities.LaunchEntity import javax.inject.Inject -class LaunchMapper @Inject constructor() : Mapper() { +class LaunchMapper @Inject constructor() : Mapper { override fun convert(launchEntity: LaunchEntity) = with(launchEntity) { diff --git a/scripts/feature_module.gradle b/scripts/feature_module.gradle index 89eae3a..83bba26 100644 --- a/scripts/feature_module.gradle +++ b/scripts/feature_module.gradle @@ -4,8 +4,9 @@ apply from: "$rootProject.projectDir/scripts/module.gradle" apply from: "$rootProject.projectDir/scripts/default_dependencies.gradle" android { - dataBinding { - enabled = true + + buildFeatures{ + dataBinding = true } }