Skip to content

Commit 5d45a2d

Browse files
author
Rafal Harabien
committed
Do not mark entire root directory as input for git hook task
1 parent ac312e3 commit 5d45a2d

File tree

1 file changed

+8
-16
lines changed
  • plugin/src/main/kotlin/org/jlleitschuh/gradle/ktlint

1 file changed

+8
-16
lines changed

Diff for: plugin/src/main/kotlin/org/jlleitschuh/gradle/ktlint/GitHook.kt

+8-16
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,10 @@ package org.jlleitschuh.gradle.ktlint
22

33
import org.eclipse.jgit.lib.RepositoryBuilder
44
import org.gradle.api.DefaultTask
5-
import org.gradle.api.file.DirectoryProperty
65
import org.gradle.api.file.ProjectLayout
76
import org.gradle.api.model.ObjectFactory
87
import org.gradle.api.provider.Property
98
import org.gradle.api.tasks.Input
10-
import org.gradle.api.tasks.InputDirectory
119
import org.gradle.api.tasks.TaskAction
1210
import org.intellij.lang.annotations.Language
1311
import org.jlleitschuh.gradle.ktlint.tasks.BaseKtLintCheckTask
@@ -79,24 +77,24 @@ internal fun generateGitHook(
7977
8078
echo "Running ktlint over these files:"
8179
echo "${'$'}CHANGED_FILES"
82-
80+
8381
diff=.git/unstaged-ktlint-git-hook.diff
8482
git diff --color=never > ${'$'}diff
8583
if [ -s ${'$'}diff ]; then
8684
git apply -R ${'$'}diff
8785
fi
88-
86+
8987
${generateGradleCommand(taskName, gradleRootDirPrefix)}
9088
9189
echo "Completed ktlint run."
9290
${postCheck(shouldUpdateCommit)}
93-
91+
9492
if [ -s ${'$'}diff ]; then
9593
git apply --ignore-whitespace ${'$'}diff
9694
fi
9795
rm ${'$'}diff
9896
unset diff
99-
97+
10098
echo "Completed ktlint hook."
10199
102100
""".trimIndent()
@@ -148,19 +146,13 @@ open class KtlintInstallGitHookTask @Inject constructor(
148146
@get:Input
149147
internal val hookName: Property<String> = objectFactory.property(String::class.java)
150148

151-
@get:InputDirectory
152-
internal val projectDir: DirectoryProperty = objectFactory.directoryProperty().apply {
153-
set(projectLayout.projectDirectory)
154-
}
149+
private val projectDir = projectLayout.projectDirectory.asFile
155150

156-
@get:InputDirectory
157-
internal val rootDirectory: DirectoryProperty = objectFactory.directoryProperty().apply {
158-
set(project.rootDir)
159-
}
151+
private val rootDirectory = project.rootDir
160152

161153
@TaskAction
162154
fun installHook() {
163-
val repo = RepositoryBuilder().findGitDir(projectDir.get().asFile).setMustExist(false).build()
155+
val repo = RepositoryBuilder().findGitDir(projectDir).setMustExist(false).build()
164156
if (!repo.objectDatabase.exists()) {
165157
logger.warn("No git folder was found!")
166158
return
@@ -173,7 +165,7 @@ open class KtlintInstallGitHookTask @Inject constructor(
173165
gitHookFile.createNewFile()
174166
gitHookFile.setExecutable(true)
175167
}
176-
val gradleRootDirPrefix = rootDirectory.get().asFile.relativeTo(repo.workTree).path
168+
val gradleRootDirPrefix = rootDirectory.relativeTo(repo.workTree).path
177169

178170
if (gitHookFile.length() == 0L) {
179171
gitHookFile.writeText(

0 commit comments

Comments
 (0)