office-gobmx/android/source/Makefile
Michael Weghorn 6b788f8baf android: Make the build fail on new lint warnings
In order to avoid introducing new lint errors,
also run the `lint<buildVariant>` gradle target when building
Android Viewer and set the `warningsAsErrors true`
lint option.
This makes the build fail on (new) lint errors.

See [1] for more details.

Downgrade missing translations and issues that can "suddenly"
appear without any code changes to the app itself to informational,
to prevent (CI) builds from suddenly starting to fail just because
a new Android Gradle Plugin version or external library becomes
available etc.

To be able to avoid introducing new issues without having to address
all existing ones right now, use a baseline file ("lint-baseline.xml")
as described at [2] which lists all existing issues, so they don't
result in a failing build.
Those should still be looked into at some point.

Updating the baseline file can be done by just removing the
existing one and running the build again. (Build will create the
new baseline file and fail on first run after deleting the file,
then find the new file and succeed in subsequent builds.)

[1] https://developer.android.com/studio/write/lint
[2] https://developer.android.com/studio/write/lint#customize-the-baseline

Change-Id: Iddbe432519ab3040c83c0e977a584b51d3ef1e5b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160199
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-12-13 10:50:26 +01:00

40 lines
1.6 KiB
Makefile

ifeq ($(BUILDDIR),)
gb_Side:=host
include ../../config_host.mk
endif
# The default target builds the APK and runs lint.
all: build-gradle
DISABLE_UI=TRUE
BUILD_VARIANT=$(if $(DISABLE_UI),StrippedUI,FullUI)$(if $(ENABLE_ANDROID_EDITING),Editing)$(if $(ENABLE_RELEASE_BUILD),Release,Debug)
BOOTSTRAPDIR=../Bootstrap
include $(BOOTSTRAPDIR)/Makefile.shared
native-code.cxx: $(SRCDIR)/solenv/bin/native-code.py
@echo "[build PY ] $@"
$< -j -g core -g writer -g calc -g draw -g edit > $@
install:
if test "$$ENABLE_ANDROID_LOK" != "TRUE" ; then ./gradlew $(if $(verbose),--info) $(if $(versionCode),-PcmdVersionCode=$(versionCode)) install$(if $(DISABLE_UI),StrippedUI,FullUI)$(if $(ENABLE_ANDROID_EDITING),Editing)Debug ; fi
@if test "$$ENABLE_ANDROID_LOK" != "TRUE" ; then echo ; echo 'Run it with "make run"' ; echo ; fi
uninstall:
$(ANDROID_SDK_DIR)/platform-tools/adb uninstall $(ANDROID_PACKAGE_NAME)
clean:
rm -rf assets assets_fullUI assets_strippedUI build jniLibs jniLibs_debug res_generated $(OBJLOCAL)
rm -f native-code.cxx
rm -f liboSettings.gradle
build-gradle: liboSettings.gradle local.properties link-so
ifeq ($(ENABLE_JAVA),TRUE)
if test "$$ENABLE_ANDROID_LOK" != "TRUE" ; then ./gradlew $(if $(verbose),--info) $(if $(versionCode),-PcmdVersionCode=$(versionCode)) assemble$(BUILD_VARIANT) lint$(BUILD_VARIANT) ; fi
endif
run:
if test "$$ENABLE_ANDROID_LOK" != "TRUE" ; then $(ANDROID_SDK_DIR)/platform-tools/adb shell am start -n $(ANDROID_PACKAGE_NAME)/org.libreoffice.ui.LibreOfficeUIActivity ; fi
debugrun:
@echo "please debug with lldb from within Android Studio, or setup ndk-gdb manually (see android/README for details)"