package Ġcom . ches ire . lin tr ules . gradle . detector s Ċ Ċ import Ġcom . android . tools . lint . checks . infrastructure . Test Files Ċ import Ġcom . android . tools . lint . checks . infrastructure . Test Lint Task Ċ import Ġcom . ches ire . lin tr ules . gradle . issues . Duplicate Dependency Ċ import Ġorg . junit . Test Ċ Ċ class ĠDuplicate Dependency Detector Tests Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` duplicate Dependency Ġshould Ġbe Ġno Ġissue Ġwith Ġvalid ĠGradle Ġfile `() Ġ{ ĊĠĠĠĠĠĠĠ ĠTest Lint Task ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. lint () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. allow Missing Sdk () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. files ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest Files . gradle ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" Ċ apply Ġplugin : Ġ' com . android . application ' Ċ apply Ġplugin : Ġ' kotlin - android ' Ċ apply Ġplugin : Ġ' kotlin - android - extensions ' Ċ Ċ android Ġ{ ĊĠĠĠ Ġcompile Sdk Version Ġ 2 8 ĊĠĠĠ Ġdefault Config Ġ{ ĊĠĠĠĠĠĠĠ Ġapplication Id Ġ" com . ches ire . lint test " ĊĠĠĠĠĠĠĠ Ġmin Sdk Version Ġ 2 1 ĊĠĠĠĠĠĠĠ Ġtarget Sdk Version Ġ 2 8 ĊĠĠĠĠĠĠĠ Ġversion Code Ġ 1 ĊĠĠĠĠĠĠĠ Ġversion Name Ġ" 1 . 0 " ĊĠĠĠĠĠĠĠ Ġtest Instrumentation Runner Ġ" android x . test . runner . Android JUnit Runner " ĊĠĠĠ Ġ} ĊĠĠĠ Ġbuild Types Ġ{ ĊĠĠĠĠĠĠĠ Ġrelease Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmin ify Enabled Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpro guard Files ĠgetDefault Pro guard File (' pro guard - android - optimize . txt '), Ġ' pro guard - rules . pro ' ĊĠĠĠĠĠĠĠ Ġ} ĠĠĠĊĠĠĠ Ġ} Ċ } Ċ Ċ dependencies Ġ{ ĊĠĠĠ Ġimplementation Ġfile Tree ( dir : Ġ' libs ', Ġinclude : Ġ[' *. jar ']) ĊĊĠĠĠ Ġimplementation Ġ" org . jetbrains . kotlin : kotlin - stdlib - jdk 7 : 1 . 3 . 5 0 " ĊĠĠĠ Ġimplementation Ġ' android x . appcompat : appcompat : 1 . 1 . 0 ' ĊĠĠĠ Ġimplementation Ġ' android x . core : core - k tx : 1 . 1 . 0 ' ĊĠĠĠĠĊĠĠĠ Ġtest Implementation Ġ' com . android . tools . lint : lint - tests : 2 6 . 5 . 1 ' ĊĠĠĠ Ġtest Implementation Ġ' junit : junit : 4 . 1 2 ' ĊĠĠĠĠĊĠĠĠ Ġandroid Test Implementation Ġ' android x . test . ext : junit : 1 . 1 . 1 ' ĊĠĠĠ Ġandroid Test Implementation Ġ' android x . test . espress o : espress o - core : 3 . 2 . 0 ' ĊĠĠĠĠĊĠĠĠ Ġlint Checks Ġproject (": lin tr ules ") Ċ } ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). indent ed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. issues ( Duplicate Dependency . issue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. run () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect Clean () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` duplicate Dependency Ġshould Ġbe Ġno Ġissue Ġwith Ġshort Ġvalid ĠGradle Ġfile `() Ġ{ ĊĠĠĠĠĠĠĠ ĠTest Lint Task ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. lint () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. allow Missing Sdk () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. files ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest Files . gradle ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" Ċ dependencies Ġ{ ĊĠĠĠ Ġimplementation Ġfile Tree ( dir : Ġ' libs ', Ġinclude : Ġ[' *. jar ']) ĊĠĠĠ Ġimplementation Ġ" org . jetbrains . kotlin : kotlin - stdlib - jdk 7 : 1 . 3 . 5 0 " ĊĠĠĠ Ġimplementation Ġ' android x . appcompat : appcompat : 1 . 1 . 0 ' ĊĠĠĠ Ġimplementation Ġ' android x . core : core - k tx : 1 . 1 . 0 ' ĊĠĠĠĠĊĠĠĠ Ġtest Implementation Ġ' com . android . tools . lint : lint - tests : 2 6 . 5 . 1 ' ĊĠĠĠ Ġtest Implementation Ġ' junit : junit : 4 . 1 2 ' ĊĠĠĠĠĊĠĠĠ Ġandroid Test Implementation Ġ' android x . test . ext : junit : 1 . 1 . 1 ' ĊĠĠĠ Ġandroid Test Implementation Ġ' android x . test . espress o : espress o - core : 3 . 2 . 0 ' ĊĠĠĠĠĊĠĠĠ Ġlint Checks Ġproject (": lin tr ules ") Ċ } ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). indent ed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. issues ( Duplicate Dependency . issue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. run () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect Clean () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` duplicate Dependency Ġshould Ġbe Ġno Ġissue Ġwith Ġsame Ġentry Ġwith Ġdifferent Ġimplementation Ġtype `() Ġ{ ĊĠĠĠĠĠĠĠ ĠTest Lint Task ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. lint () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. allow Missing Sdk () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. files ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest Files . gradle ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" Ċ dependencies Ġ{ ĊĠĠĠ Ġimplementation Ġfile Tree ( dir : Ġ' libs ', Ġinclude : Ġ[' *. jar ']) ĊĠĠĠ Ġimplementation Ġ" org . jetbrains . kotlin : kotlin - stdlib - jdk 7 : 1 . 3 . 5 0 " ĊĠĠĠ Ġimplementation Ġ' android x . appcompat : appcompat : 1 . 1 . 0 ' ĊĠĠĠ Ġimplementation Ġ' android x . core : core - k tx : 1 . 1 . 0 ' ĊĠĠĠĠĊĠĠĠ Ġtest Implementation Ġ' android x . core : core - k tx : 1 . 1 . 0 ' ĊĠĠĠ Ġtest Implementation Ġ' com . android . tools . lint : lint - tests : 2 6 . 5 . 1 ' ĊĠĠĠ Ġtest Implementation Ġ' junit : junit : 4 . 1 2 ' ĊĠĠĠĠĊĠĠĠ Ġandroid Test Implementation Ġ' android x . test . ext : junit : 1 . 1 . 1 ' ĊĠĠĠ Ġandroid Test Implementation Ġ' android x . test . espress o : espress o - core : 3 . 2 . 0 ' ĊĠĠĠĠĊĠĠĠ Ġlint Checks Ġproject (": lin tr ules ") Ċ } ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). indent ed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. issues ( Duplicate Dependency . issue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. run () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect Clean () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` duplicate Dependency Ġshould Ġbe Ġan Ġissue Ġwhen Ġduplicate Ġentry `() Ġ{ ĊĠĠĠĠĠĠĠ ĠTest Lint Task ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. lint () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. allow Missing Sdk () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. files ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest Files . gradle ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" Ċ dependencies Ġ{ ĊĠĠĠ Ġimplementation Ġfile Tree ( dir : Ġ' libs ', Ġinclude : Ġ[' *. jar ']) ĊĠĠĠ Ġimplementation Ġ" org . jetbrains . kotlin : kotlin - stdlib - jdk 7 : 1 . 3 . 5 0 " ĊĠĠĠ Ġimplementation Ġ' android x . appcompat : appcompat : 1 . 1 . 0 ' ĊĠĠĠ Ġimplementation Ġ' android x . core : core - k tx : 1 . 1 . 0 ' ĊĠĠĠ Ġimplementation Ġ' android x . core : core - k tx : 1 . 1 . 0 ' ĊĠĠĠĠĊĠĠĠ Ġtest Implementation Ġ' com . android . tools . lint : lint - tests : 2 6 . 5 . 1 ' ĊĠĠĠ Ġtest Implementation Ġ' junit : junit : 4 . 1 2 ' ĊĠĠĠĠĊĠĠĠ Ġandroid Test Implementation Ġ' android x . test . ext : junit : 1 . 1 . 1 ' ĊĠĠĠ Ġandroid Test Implementation Ġ' android x . test . espress o : espress o - core : 3 . 2 . 0 ' ĊĠĠĠĠĊĠĠĠ Ġlint Checks Ġproject (": lin tr ules ") Ċ } ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). indent ed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. issues ( Duplicate Dependency . issue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. run () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| build . gradle : 6 : ĠWarning : ĠDependencies Ġshould Ġonly Ġbe Ġadded Ġto Ġa Ġgiven Ġmodule Ġonce . Ġ[ Duplicate Dependency ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ Ġimplementation Ġ' android x . core : core - k tx : 1 . 1 . 0 ' ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ Ġ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~ ~ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| 0 Ġerrors , Ġ 1 Ġwarnings """. trim Margin () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` duplicate Dependency Ġshould Ġbe Ġan Ġissue Ġwhen Ġduplicate Ġentry Ġwith Ġdifferent Ġversion `() Ġ{ ĊĠĠĠĠĠĠĠ ĠTest Lint Task ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. lint () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. allow Missing Sdk () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. files ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest Files . gradle ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" Ċ dependencies Ġ{ ĊĠĠĠ Ġimplementation Ġfile Tree ( dir : Ġ' libs ', Ġinclude : Ġ[' *. jar ']) ĊĠĠĠ Ġimplementation Ġ" org . jetbrains . kotlin : kotlin - stdlib - jdk 7 : 1 . 3 . 5 0 " ĊĠĠĠ Ġimplementation Ġ' android x . appcompat : appcompat : 1 . 1 . 0 ' ĊĠĠĠ Ġimplementation Ġ' android x . core : core - k tx : 1 . 1 . 0 ' ĊĠĠĠ Ġimplementation Ġ' android x . core : core - k tx : 1 . 5 . 0 ' ĊĠĠĠĠĊĠĠĠ Ġtest Implementation Ġ' com . android . tools . lint : lint - tests : 2 6 . 5 . 1 ' ĊĠĠĠ Ġtest Implementation Ġ' junit : junit : 4 . 1 2 ' ĊĠĠĠĠĊĠĠĠ Ġandroid Test Implementation Ġ' android x . test . ext : junit : 1 . 1 . 1 ' ĊĠĠĠ Ġandroid Test Implementation Ġ' android x . test . espress o : espress o - core : 3 . 2 . 0 ' ĊĠĠĠĠĊĠĠĠ Ġlint Checks Ġproject (": lin tr ules ") Ċ } ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). indent ed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. issues ( Duplicate Dependency . issue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. run () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| build . gradle : 6 : ĠWarning : ĠDependencies Ġshould Ġonly Ġbe Ġadded Ġto Ġa Ġgiven Ġmodule Ġonce . Ġ[ Duplicate Dependency ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ Ġimplementation Ġ' android x . core : core - k tx : 1 . 5 . 0 ' ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ Ġ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~ ~ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| 0 Ġerrors , Ġ 1 Ġwarnings """. trim Margin () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` duplicate Dependency Ġshould Ġbe Ġan Ġissue Ġwhen Ġduplicate Ġentry Ġat Ġdifferent Ġlocation `() Ġ{ ĊĠĠĠĠĠĠĠ ĠTest Lint Task ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. lint () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. allow Missing Sdk () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. files ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest Files . gradle ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" Ċ dependencies Ġ{ ĊĠĠĠ Ġimplementation Ġfile Tree ( dir : Ġ' libs ', Ġinclude : Ġ[' *. jar ']) ĊĠĠĠ Ġimplementation Ġ" org . jetbrains . kotlin : kotlin - stdlib - jdk 7 : 1 . 3 . 5 0 " ĊĠĠĠ Ġimplementation Ġ' android x . appcompat : appcompat : 1 . 1 . 0 ' ĊĠĠĠ Ġimplementation Ġ' android x . core : core - k tx : 1 . 1 . 0 ' ĊĠĠĠĠĊĠĠĠ Ġtest Implementation Ġ' com . android . tools . lint : lint - tests : 2 6 . 5 . 1 ' ĊĠĠĠ Ġtest Implementation Ġ' junit : junit : 4 . 1 2 ' ĊĠĠĠĠĊĠĠĠ Ġandroid Test Implementation Ġ' android x . test . ext : junit : 1 . 1 . 1 ' ĊĠĠĠ Ġimplementation Ġ' android x . core : core - k tx : 1 . 1 . 0 ' ĊĠĠĠ Ġandroid Test Implementation Ġ' android x . test . espress o : espress o - core : 3 . 2 . 0 ' ĊĠĠĠĠĊĠĠĠ Ġlint Checks Ġproject (": lin tr ules ") Ċ } ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). indent ed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. issues ( Duplicate Dependency . issue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. run () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| build . gradle : 1 1 : ĠWarning : ĠDependencies Ġshould Ġonly Ġbe Ġadded Ġto Ġa Ġgiven Ġmodule Ġonce . Ġ[ Duplicate Dependency ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ Ġimplementation Ġ' android x . core : core - k tx : 1 . 1 . 0 ' ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ Ġ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~ ~ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| 0 Ġerrors , Ġ 1 Ġwarnings """. trim Margin () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` duplicate Dependency Ġshould Ġnot Ġbe Ġan Ġissue Ġwith Ġmultiple Ġdifferent Ġitems `() Ġ{ ĊĠĠĠĠĠĠĠ ĠTest Lint Task ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. lint () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. allow Missing Sdk () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. files ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest Files . gradle ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" Ċ dependencies Ġ{ ĊĠĠĠ Ġimplementation Ġfile Tree ( dir : Ġ' libs ', Ġinclude : Ġ[' *. jar ']) ĊĠĠĠĠĊĠĠĠ Ġimplementation Ġproject ( path : Ġ': core ') ĊĠĠĠ Ġimplementation Ġproject ( path : Ġ': database ') ĊĠĠĠ Ġimplementation Ġproject ( path : Ġ': server ') ĊĠĠĠĠĠĠĠĠĊĠĠĠ Ġimplementation Ġ" org . jetbrains . kotlin : kotlin - stdlib - jdk 7 : 1 . 3 . 5 0 " ĊĠĠĠ Ġimplementation Ġ' android x . appcompat : appcompat : 1 . 1 . 0 ' ĊĠĠĠ Ġimplementation Ġ' android x . core : core - k tx : 1 . 1 . 0 ' ĊĠĠĠĠĊĠĠĠ Ġtest Implementation Ġproject ( path : Ġ': test utils ') ĊĠĠĠ Ġtest Implementation Ġ' com . android . tools . lint : lint - tests : 2 6 . 5 . 1 ' ĊĠĠĠ Ġtest Implementation Ġ" junit : junit : 4 . 1 2 " ĊĠĠĠĠĊĠĠĠ Ġandroid Test Implementation Ġ' android x . test . ext : junit : 1 . 1 . 1 ' ĊĠĠĠ Ġandroid Test Implementation Ġ' android x . test . espress o : espress o - core : 3 . 2 . 0 ' ĊĠĠĠĠĊĠĠĠ Ġlint Checks Ġproject (": lin tr ules ") Ċ } ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). indent ed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. issues ( Duplicate Dependency . issue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. run () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect Clean () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` duplicate Dependency Ġshould Ġbe Ġan Ġissue Ġwith Ġduplicate Ġproject `() Ġ{ ĊĠĠĠĠĠĠĠ ĠTest Lint Task ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. lint () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. allow Missing Sdk () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. files ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest Files . gradle ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" Ċ dependencies Ġ{ ĊĠĠĠ Ġimplementation Ġfile Tree ( dir : Ġ' libs ', Ġinclude : Ġ[' *. jar ']) ĊĠĠĠĠĊĠĠĠ Ġimplementation Ġproject ( path : Ġ': core ') ĊĠĠĠ Ġimplementation Ġproject ( path : Ġ': database ') ĊĠĠĠ Ġimplementation Ġproject ( path : Ġ': server ') ĊĠĠĠ Ġimplementation Ġproject ( path : Ġ': server ') ĊĠĠĠĠĠĠĠĠĊĠĠĠ Ġimplementation Ġ" org . jetbrains . kotlin : kotlin - stdlib - jdk 7 : 1 . 3 . 5 0 " ĊĠĠĠ Ġimplementation Ġ' android x . appcompat : appcompat : 1 . 1 . 0 ' ĊĠĠĠ Ġimplementation Ġ' android x . core : core - k tx : 1 . 1 . 0 ' ĊĠĠĠĠĊĠĠĠ Ġtest Implementation Ġproject ( path : Ġ': test utils ') ĊĠĠĠ Ġtest Implementation Ġ' com . android . tools . lint : lint - tests : 2 6 . 5 . 1 ' ĊĠĠĠ Ġtest Implementation Ġ" junit : junit : 4 . 1 2 " ĊĠĠĠĠĊĠĠĠ Ġandroid Test Implementation Ġ' android x . test . ext : junit : 1 . 1 . 1 ' ĊĠĠĠ Ġandroid Test Implementation Ġ' android x . test . espress o : espress o - core : 3 . 2 . 0 ' ĊĠĠĠĠĊĠĠĠ Ġlint Checks Ġproject (": lin tr ules ") Ċ } ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). indent ed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. issues ( Duplicate Dependency . issue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. run () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| build . gradle : 7 : ĠWarning : ĠDependencies Ġshould Ġonly Ġbe Ġadded Ġto Ġa Ġgiven Ġmodule Ġonce . Ġ[ Duplicate Dependency ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ Ġimplementation Ġproject ( path : Ġ': server ') ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ Ġ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~ ~~~ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| 0 Ġerrors , Ġ 1 Ġwarnings """. trim Margin () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` duplicate Dependency Ġshould Ġnot Ġbe Ġan Ġissue Ġwith Ġdifferent Ġnested Ġprojects `() Ġ{ ĊĠĠĠĠĠĠĠ ĠTest Lint Task ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. lint () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. allow Missing Sdk () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. files ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest Files . gradle ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" Ċ dependencies Ġ{ ĊĠĠĠ Ġimplementation Ġfile Tree ( dir : Ġ' libs ', Ġinclude : Ġ[' *. jar ']) ĊĠĠĠĠĊĠĠĠ Ġimplementation Ġproject ( path : Ġ': features : core ') ĊĠĠĠ Ġimplementation Ġproject ( path : Ġ': features : database ') ĊĠĠĠ Ġimplementation Ġproject ( path : Ġ': server ') ĊĠĠĠĠĠĠĠĠĊĠĠĠ Ġimplementation Ġ" org . jetbrains . kotlin : kotlin - stdlib - jdk 7 : 1 . 3 . 5 0 " ĊĠĠĠ Ġimplementation Ġ' android x . appcompat : appcompat : 1 . 1 . 0 ' ĊĠĠĠ Ġimplementation Ġ' android x . core : core - k tx : 1 . 1 . 0 ' ĊĠĠĠĠĊĠĠĠ Ġtest Implementation Ġproject ( path : Ġ': test utils ') ĊĠĠĠ Ġtest Implementation Ġ' com . android . tools . lint : lint - tests : 2 6 . 5 . 1 ' ĊĠĠĠ Ġtest Implementation Ġ" junit : junit : 4 . 1 2 " ĊĠĠĠĠĊĠĠĠ Ġandroid Test Implementation Ġ' android x . test . ext : junit : 1 . 1 . 1 ' ĊĠĠĠ Ġandroid Test Implementation Ġ' android x . test . espress o : espress o - core : 3 . 2 . 0 ' ĊĠĠĠĠĊĠĠĠ Ġlint Checks Ġproject (": lin tr ules ") Ċ } ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). indent ed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. issues ( Duplicate Dependency . issue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. run () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect Clean () ĊĠĠĠ Ġ} Ċ } Ċ