diff --git a/src/main/kotlin/com/lagradost/cloudstream3/gradle/CloudstreamExtension.kt b/src/main/kotlin/com/lagradost/cloudstream3/gradle/CloudstreamExtension.kt index 9893cef..d998e89 100644 --- a/src/main/kotlin/com/lagradost/cloudstream3/gradle/CloudstreamExtension.kt +++ b/src/main/kotlin/com/lagradost/cloudstream3/gradle/CloudstreamExtension.kt @@ -3,6 +3,7 @@ package com.lagradost.cloudstream3.gradle import org.gradle.api.Project import org.gradle.api.plugins.ExtensionContainer import org.gradle.api.provider.Property +import org.gradle.api.provider.ListProperty import javax.inject.Inject abstract class CloudstreamExtension @Inject constructor(project: Project) { @@ -12,10 +13,17 @@ abstract class CloudstreamExtension @Inject constructor(project: Project) { internal set fun overrideUrlPrefix(url: String) { + if (apkinfo == null) { + apkinfo = ApkInfo(this, "pre-release") + } apkinfo!!.urlPrefix = url } internal var pluginClassName: String? = null + + val updateUrl: Property = project.objects.property(String::class.java) + val sourceUrl: Property = project.objects.property(String::class.java) + val authors: ListProperty = project.objects.listProperty(String::class.java) } class ApkInfo(extension: CloudstreamExtension, release: String) { diff --git a/src/main/kotlin/com/lagradost/cloudstream3/gradle/configuration/ApkConfigurationProvider.kt b/src/main/kotlin/com/lagradost/cloudstream3/gradle/configuration/ApkConfigurationProvider.kt index 2f1627f..e8c28ba 100644 --- a/src/main/kotlin/com/lagradost/cloudstream3/gradle/configuration/ApkConfigurationProvider.kt +++ b/src/main/kotlin/com/lagradost/cloudstream3/gradle/configuration/ApkConfigurationProvider.kt @@ -21,8 +21,10 @@ class ApkConfigurationProvider : IConfigurationProvider { override fun provide(project: Project, dependency: Dependency) { val extension = project.extensions.getCloudstream() - val apkinfo = ApkInfo(extension, dependency.version ?: "pre-release") - extension.apkinfo = apkinfo + if (extension.apkinfo == null) { + extension.apkinfo = ApkInfo(extension, dependency.version ?: "pre-release") + } + val apkinfo = extension.apkinfo!! apkinfo.cache.mkdirs() diff --git a/src/main/kotlin/com/lagradost/cloudstream3/gradle/entities/PluginManifest.kt b/src/main/kotlin/com/lagradost/cloudstream3/gradle/entities/PluginManifest.kt index 119108e..4441af3 100644 --- a/src/main/kotlin/com/lagradost/cloudstream3/gradle/entities/PluginManifest.kt +++ b/src/main/kotlin/com/lagradost/cloudstream3/gradle/entities/PluginManifest.kt @@ -2,5 +2,9 @@ package com.lagradost.cloudstream3.gradle.entities data class PluginManifest( val pluginClassName: String, - val name: String + val name: String, + val version: String, + val authors: List, + val sourceUrl: String?, + val updateUrl: String?, ) \ No newline at end of file diff --git a/src/main/kotlin/com/lagradost/cloudstream3/gradle/tasks/Tasks.kt b/src/main/kotlin/com/lagradost/cloudstream3/gradle/tasks/Tasks.kt index f404d25..6b2b0fe 100644 --- a/src/main/kotlin/com/lagradost/cloudstream3/gradle/tasks/Tasks.kt +++ b/src/main/kotlin/com/lagradost/cloudstream3/gradle/tasks/Tasks.kt @@ -69,7 +69,11 @@ fun registerTasks(project: Project) { JsonBuilder( PluginManifest( pluginClassName = extension.pluginClassName!!, - name = project.name + name = project.name, + version = project.version.toString(), + authors = extension.authors.get(), + sourceUrl = extension.sourceUrl.get(), + updateUrl = extension.updateUrl.get() ) ).toPrettyString() )