Поле BuildConfig не разрешено в CI/CDAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Поле BuildConfig не разрешено в CI/CD

Сообщение Anonymous »

Я пытаюсь завершить конвейер действий на Github. На этапе сборки и анализа, на котором выполняется задача облака сонара, я постоянно получаю одну и ту же ошибку.
2024-10-30T15:16:50.9205990Z e: file:///home/runner/work/mo-android/mo-android/app/src/main/java/menu/quor/wrappers/BuildConfigWrapper.kt:13:39 Unresolved reference: VERSION_NAME
2024-10-30T15:16:50.9209299Z e: file:///home/runner/work/mo-android/mo-android/app/src/main/java/menu/quor/wrappers/BuildConfigWrapper.kt:25:40 Unresolved reference: VERSION_CODE

Для справки, вот моя оболочка buildconfig:
fun getLanguage() = Locale.getDefault().language

fun getOperatingSystemVersion() = ""+Build.VERSION.RELEASE

fun getAppVersion() = BuildConfig.VERSION_NAME

fun getTimeZone() = Calendar.getInstance().timeZone.getDisplayName(false, TimeZone.SHORT)

fun getIsDebugBuild() = BuildConfig.DEBUG

fun getAppID() = BuildConfig.APPLICATION_ID

fun getProductName() = BuildConfig.PRODUCT_NAME

fun getBuildType() = BuildConfig.BUILD_TYPE

fun getBuildNumber() = BuildConfig.VERSION_CODE
}

Вот мой файл yml для этого действия Github:
#1
name: JFrog - Test

## Actions to be executed when creating PR
on:
workflow_dispatch:

jobs:
unit_tests:
name: Run Unit Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/setup-java@v4.5.0
with:
distribution: "temurin"
java-version: 17

- name: Change wrapper permissions
run: chmod +x ./gradlew

- name: Run All Module Tests
run: ./gradlew JacocoBbsandboxDebugCodeCoverage

build:
name: Build and analyze
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.2.2
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis

- name: Authenticate JFrog
uses: jfrog/setup-jfrog-cli@v4.4.1
env:
JF_URL: ${{ secrets.J_FROG_URL }}
JF_USER: ${{ secrets.J_FROG_USERNAME }}
JF_PASSWORD: ${{ secrets.J_FROG_PASSWORD }}

- name: Set up JDK 17
uses: actions/setup-java@v4.5.0
with:
distribution: "temurin"
java-version: 17

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4

- name: Build Sandbox
run: ./gradlew build[required variant]

- name: Cache SonarCloud packages
uses: actions/cache@v4.1.2
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- name: Cache Gradle packages
uses: actions/cache@v4
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
restore-keys: ${{ runner.os }}-gradle

- name: Change wrapper permissions
run: chmod +x ./gradlew

- name: Build and Analyze
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }}
run: ./gradlew build sonarqube --info

Если кто-нибудь скажет мне, как это преодолеть, я буду очень признателен
РЕДАКТИРОВАТЬ
Добавление ароматов из gradle.
defaultConfig {
multiDexEnabled = true
val apiSaltHash: String by project
buildConfigField("String", "HASH_SALT", apiSaltHash)

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"

packaging {
resources {
excludes += "META-INF/DEPENDENCIES"
excludes += "META-INF/NOTICE"
excludes += "META-INF/LICENSE"
excludes += "META-INF/LICENSE.txt"
excludes += "META-INF/ASL2.0"
excludes += "META-INF/NOTICE.txt"
}
}

vectorDrawables {
useSupportLibrary = true
}

kapt {
arguments {
arg("room.schemaLocation", "$projectDir/schemas")
}
}
}

buildFeatures {
viewBinding = true
buildConfig = true
}

testOptions {
unitTests.isReturnDefaultValues = true
}

buildTypes {
release {
isMinifyEnabled = true
isShrinkResources = true

proguardFiles(
getDefaultProguardFile("proguard-android.txt"),
"proguard-rules.pro"
)
}

debug {
isMinifyEnabled = false
isShrinkResources = false
enableUnitTestCoverage = true
isDebuggable = true
}
}

compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}

kotlinOptions {
jvmTarget = "17"
}

lint {
checkReleaseBuilds = false
abortOnError = false
ignoreWarnings = true
}

sourceSets.getByName("main") {
resources.srcDirs(
"src/main/res/layouts/main",
"src/main/res/layouts/home",
"src/main/res/layouts/rewards",
"src/main/res/layouts/registration",
"src/main/res/layouts/order",
"src/main/res/layouts/more",
"src/main/res/layouts/profile",
"src/main/res/layouts",
"src/main/res",
"src/main/res/layouts/main/sandbox",
"src/main/res/layouts/main/sandbox/debug",
"src/main/res/layouts/main/sandbox/release"
)
}

flavorDimensions.add("minApi")

productFlavors {
create("flavour 1") {
applicationId = "com.flavour.one"
targetSdk = 30
minSdk = 26
versionCode = 10
versionName = "1.0.0"
dimension = "minApi"

resValue("string", "app_name", "Sandbox")
resValue("color", "splashbackgroundcolor", "#ff0d0d0d")
}

create("flavour 2") {
applicationId = "com.flavour.two"
targetSdk = 33
minSdk = 26
versionCode = 36
versionName = "4.0.0"
dimension = "minApi"
resValue("string", "app_name", "Sandbox")
resValue("color", "splashbackgroundcolor", "#ff0d0d0d")
}

create("flavour 3") {
applicationId = "com.flavour.three"
targetSdk = 34
minSdk = 24
dimension = "minApi"
versionCode = 90
versionName = "2024.5"
resValue ("color", "splashbackgroundcolor", "#ff0d0d0d")
}
}


Подробнее здесь: https://stackoverflow.com/questions/791 ... d-in-ci-cd
Ответить

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

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

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

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

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