E-kirjasto's Android theme.
The contents of this repository define the neutral Material 3 theme used for the E-kirjasto Android components.
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.
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.
Install the Android SDK and Android Studio. We don't support the use of any other IDE at the moment.
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)
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.