Skip to content

NatLibFi/ekirjasto-android-theme

Repository files navigation

ekirjasto-android-theme

E-kirjasto's Android theme.

theme

What Is This?

The contents of this repository define the neutral Material 3 theme used for the E-kirjasto Android components.

Building

The upstream (The Palace Project) version of this repository used to have a submodule for managing dependencies, and sharing the same dependencies with the android-core repository. However, this makes it more difficult to update those dependencies, since to change a dependency, it always requires at least 3 pull requests, one at a time.

For E-kirjasto, we chose to remove the submodule to make it easier to manage dependencies in the ekirjasto-android-core repository, since that is the only place where this module is really used.

In order to build this repository as a standalone test app, it's recommended to clone this repository as part of the ekirjasto-android-core repository. You can then open the ekirjasto-theme subdirectory as a standalone project, and it will find the dependencies from ekirjasto-android-core.

If you want to clone this repository as a completely standalone project, you will need to clone the ekirjasto-android-platform repository into one of the paths listed in settings.gradle.kts. For example, clone the repo under as a subdirectory of this repository.

Build!

Make sure you clone this repository with git clone --recursive. If you forgot to use --recursive, then execute:

$ git submodule init
$ git submodule update --remote --recursive

The short version: Install an Android SDK and run:

$ ./gradlew clean assembleDebug test

Please read the list of instructions below for specific details on configurations.

Android SDK

Install the Android SDK and Android Studio. We don't support the use of any other IDE at the moment.

JDK

Install a reasonably modern JDK: Java 17 is the current recommendation for Android Studio.

The JAVA_HOME environment variable must be set correctly. You can check what it is set to in most shells with echo $JAVA_HOME. If that command does not show anything, adding the following line to $HOME/.profile and then executing source $HOME/.profile or opening a new shell should suffice:

# Replace NNN with your particular version of 17.
export JAVA_HOME=/path/to/jdk17_NNN

You can verify that everything is set up correctly by inspecting the results of both java -version and javac -version:

$ java -version
openjdk version "17.0.8" 2023-07-18
OpenJDK Runtime Environment (build 17.0.8+7)
OpenJDK 64-Bit Server VM (build 17.0.8+7, mixed mode)

Versioning

The API complies with Semantic Versioning 2.0.0, and this is enforced using japicmp. The current version of the code is analyzed with respect to the previous version, and incompatible changes will require a major version increment. Please see the VERSIONING.txt file for the list of packages that are exempt from versioning rules due to being private implementation packages.