Я пытаюсь завершить конвейер действий на 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
Поле BuildConfig не разрешено в CI/CD ⇐ Android
Форум для тех, кто программирует под Android
1730364993
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")
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79142086/buildconfig-field-unresolved-in-ci-cd[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия