@@ -34,6 +34,7 @@ import org.gradle.api.provider.ListProperty
3434import org.gradle.api.provider.Property
3535import org.gradle.api.tasks.Input
3636import org.gradle.api.tasks.InputDirectory
37+ import org.gradle.api.tasks.Internal
3738import org.gradle.api.tasks.Optional
3839import org.gradle.api.tasks.TaskAction
3940import org.gradle.api.tasks.options.Option
@@ -81,15 +82,15 @@ class JBangTask extends DefaultTask {
8182
8283 @Inject
8384 JBangTask (ObjectFactory objects ) {
84- DirectoryProperty jbangCacheDirectory = project. objects. directoryProperty()
85- jbangCacheDirectory. set(new File (project. gradle. gradleUserHomeDir, ' caches/jbang' ))
86-
8785 script = objects. property(String ). convention(' ' )
8886 version = objects. property(String ). convention(' latest' )
8987 jbangArgs = objects. listProperty(String ). convention([])
9088 args = objects. listProperty(String ). convention([])
9189 trusts = objects. listProperty(String ). convention([])
92- installDir = objects. directoryProperty(). convention(jbangCacheDirectory. get())
90+ installDir = objects. directoryProperty()
91+
92+ String userHome = System . getProperty(' user.home' )
93+ installDir. convention(objects. directoryProperty(). fileValue(new File (userHome, ' .jbang' + File . separator + ' cache' )))
9394 }
9495
9596 @Option (option = ' jbang-script' , description = ' The script to be executed by JBang (REQUIRED).' )
@@ -123,6 +124,8 @@ class JBangTask extends DefaultTask {
123124 throw new IllegalArgumentException (" A value for script must be defined" )
124125 }
125126
127+ Files . createDirectories(installDir. get(). asFile. toPath())
128+
126129 detectJBang()
127130 executeTrust()
128131 executeJBang()
0 commit comments