
phraseapp.UploadTask.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of phrase-gradle-plugin Show documentation
Show all versions of phrase-gradle-plugin Show documentation
A Gradle plugin to upload your mobile translations to Phrase and download all locales.
The newest version!
package phraseapp
import kotlinx.coroutines.runBlocking
import org.gradle.api.DefaultTask
import org.gradle.api.GradleException
import org.gradle.api.provider.MapProperty
import org.gradle.api.provider.Property
import org.gradle.api.tasks.Input
import org.gradle.api.tasks.TaskAction
import phraseapp.internal.platforms.Platform
import phraseapp.internal.printers.FileOperation
import phraseapp.internal.printers.FileOperationImpl
import phraseapp.network.PhraseAppNetworkDataSource
import phraseapp.repositories.operations.Uploader
abstract class UploadTask : DefaultTask() {
@get:Input
abstract val baseUrl: Property
@get:Input
abstract val authToken: Property
@get:Input
abstract val projectId: Property
@get:Input
abstract val resFolders: MapProperty>
@get:Input
abstract val platform: Property
@get:Input
abstract val output: Property
@get:Input
abstract val mainLocaleId: Property
@TaskAction
fun upload() = runBlocking {
try {
val network = PhraseAppNetworkDataSource.newInstance(
baseUrl.get(),
authToken.get(),
projectId.get(),
platform.get().format
)
val fileOperation: FileOperation = FileOperationImpl()
Uploader(platform.get(), output.get(), fileOperation, network)
.upload(mainLocaleId.get(), resFolders.get())
logger.info("All string have been uploaded!")
} catch (error: Throwable) {
throw GradleException("Something wrong happened during the uploading", error)
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy