diff --git a/src/main/groovy/com/vanniktech/code/quality/tools/CodeQualityToolsPlugin.groovy b/src/main/groovy/com/vanniktech/code/quality/tools/CodeQualityToolsPlugin.groovy index c53c2f6..a99dfa3 100755 --- a/src/main/groovy/com/vanniktech/code/quality/tools/CodeQualityToolsPlugin.groovy +++ b/src/main/groovy/com/vanniktech/code/quality/tools/CodeQualityToolsPlugin.groovy @@ -183,6 +183,12 @@ class CodeQualityToolsPlugin implements Plugin { } } + if (extension.lint.absolutePaths != null) { + subProject.android.lintOptions { + absolutePaths = extension.lint.absolutePaths + } + } + if (extension.lint.baselineFileName != null) { subProject.android.lintOptions { baseline subProject.file(extension.lint.baselineFileName) diff --git a/src/main/groovy/com/vanniktech/code/quality/tools/CodeQualityToolsPluginExtension.groovy b/src/main/groovy/com/vanniktech/code/quality/tools/CodeQualityToolsPluginExtension.groovy index 358b048..5be8998 100644 --- a/src/main/groovy/com/vanniktech/code/quality/tools/CodeQualityToolsPluginExtension.groovy +++ b/src/main/groovy/com/vanniktech/code/quality/tools/CodeQualityToolsPluginExtension.groovy @@ -170,6 +170,12 @@ class CodeQualityToolsPluginExtension { * @since 0.5.0 */ String baselineFileName = null + + /** + * Returns whether lint should use absolute paths or not + * @since 0.9.0 + */ + Boolean absolutePaths } static class Ktlint { diff --git a/src/test/groovy/com/vanniktech/code/quality/tools/CodeQualityToolsPluginLintTest.groovy b/src/test/groovy/com/vanniktech/code/quality/tools/CodeQualityToolsPluginLintTest.groovy index 97ad845..e84f139 100755 --- a/src/test/groovy/com/vanniktech/code/quality/tools/CodeQualityToolsPluginLintTest.groovy +++ b/src/test/groovy/com/vanniktech/code/quality/tools/CodeQualityToolsPluginLintTest.groovy @@ -53,6 +53,7 @@ class CodeQualityToolsPluginLintTest extends CommonCodeQualityToolsTest { assert androidAppProject.android.lintOptions.abortOnError == extension.lint.abortOnError assert androidAppProject.android.lintOptions.checkAllWarnings == extension.lint.checkAllWarnings assert androidAppProject.android.lintOptions.textReport == extension.lint.textReport + assert androidAppProject.android.lintOptions.absolutePaths assert androidAppProject.android.lintOptions.baselineFile == androidAppProject.file("baseline.xml") assert androidAppProject.android.lintOptions.textOutput.toString() == extension.lint.textOutput @@ -61,6 +62,7 @@ class CodeQualityToolsPluginLintTest extends CommonCodeQualityToolsTest { assert androidLibraryProject.android.lintOptions.abortOnError == extension.lint.abortOnError assert androidLibraryProject.android.lintOptions.checkAllWarnings == extension.lint.checkAllWarnings assert androidLibraryProject.android.lintOptions.textReport == extension.lint.textReport + assert androidLibraryProject.android.lintOptions.absolutePaths assert androidLibraryProject.android.lintOptions.baselineFile == androidLibraryProject.file("baseline.xml") assert androidLibraryProject.android.lintOptions.textOutput.toString() == extension.lint.textOutput } @@ -94,6 +96,17 @@ class CodeQualityToolsPluginLintTest extends CommonCodeQualityToolsTest { assert androidLibraryProject.android.lintOptions.checkAllWarnings == extension.lint.checkAllWarnings } + @Test void absolutePaths() { + def extension = new CodeQualityToolsPluginExtensionForTests() + extension.lint.absolutePaths = false + + assert addLint(androidAppProject, extension) + assert androidAppProject.android.lintOptions.absolutePaths == extension.lint.absolutePaths + + assert addLint(androidLibraryProject, extension) + assert androidLibraryProject.android.lintOptions.absolutePaths == extension.lint.absolutePaths + } + @Test void failEarlyFalse() { def extension = new CodeQualityToolsPluginExtensionForTests() extension.failEarly = false