Proto DataStore не может генерировать файлы из-за конфликта AndroidSourceSet в GradleAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Proto DataStore не может генерировать файлы из-за конфликта AndroidSourceSet в Gradle

Сообщение Anonymous »

Я пытаюсь реализовать Proto DataStore в своем проекте Android, но библиотеке не удается создать файлы из файла .proto и выдает следующее исключение:

Код: Выделить всё

A problem occurred configuring project ':core:datastoreproto'.> org.gradle.api.InvalidUserDataException: Cannot add an AndroidSourceSet with name 'debug' as an AndroidSourceSet with that name already exists.
Ниже вы можете увидеть, как я это реализовал
версии

Код: Выделить всё

dataStore = "1.1.1"
protobuf = "4.26.1"
protobufPlugin = "0.9.4"
Ниже приведен мой файл build.gradle.kts для модуля :core:datastoreproto:

Код: Выделить всё

plugins {
alias(libs.plugins.medicineai.android.library)
alias(libs.plugins.jetbrains.kotlin.android)
alias(libs.plugins.protobuf)
}

android {
namespace = "com.medicineai.core.datastoreproto"
}

// Setup protobuf configuration, generating lite Java and Kotlin classes
protobuf {
protoc {
artifact = libs.protobuf.protoc.get().toString()
}
generateProtoTasks {
all().forEach { task ->
task.builtins {
register("java") {
option("lite")
}
register("kotlin") {
option("lite")
}
}
}
}
}

androidComponents.beforeVariants {
android.sourceSets.register(it.name) {
val buildDir = layout.buildDirectory.get().asFile
java.srcDir(buildDir.resolve("generated/source/proto/${it.name}/java"))
kotlin.srcDir(buildDir.resolve("generated/source/proto/${it.name}/kotlin"))
}
}

dependencies {
api(libs.protobuf.kotlin.lite)
}
Вот мой файл .proto (auth_info.proto):

Код: Выделить всё

syntax = "proto3";

option java_package = "com.medicineai.core.datastoreproto";

message AuthInfo {
string accessToken = 1;
string refreshToken = 2;
string userId = 3;
}
Я не уверен, что вызывает конфликт AndroidSourceSet. Кто-нибудь еще сталкивался с этой проблемой или нашел решение?
Это также может помочь
[img]https: //i.sstatic.net/pPos5Nfg.png[/img]


Подробнее здесь: https://stackoverflow.com/questions/791 ... ct-in-grad
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»