Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
a33d3fa
Bump git from 1.12.0 to 1.13.0
dependabot[bot] Jan 9, 2023
5da9c99
Merge pull request #631 from mikepenz/dependabot/bundler/git-1.13.0
mikepenz Jan 10, 2023
8a0b31a
- add compose compiler to core and typeface module
mikepenz Jul 14, 2023
d0de02c
- update to gradle 8.2.1
mikepenz Jul 14, 2023
a0c2abf
- update dependencies to more recent state
mikepenz Jul 14, 2023
c1fcbcd
- apply java 11 to all modules
mikepenz Jul 14, 2023
20b7003
- specify apiVersion and languageVersion for Kotlin
mikepenz Jul 14, 2023
844b661
- change to `archiveClassifier`
mikepenz Jul 14, 2023
bab4f56
- update CI to a more recent state
mikepenz Jul 14, 2023
ddc6b28
- add distribution
mikepenz Jul 14, 2023
4b8cbca
- min 21
mikepenz Jul 14, 2023
4a3a393
- 5.5.0-compose01
mikepenz Jul 14, 2023
1ad871f
Bump rexml from 3.2.5 to 3.2.8
dependabot[bot] May 16, 2024
a41fadb
- add note on calling `init`
mikepenz May 30, 2024
89a7382
Merge pull request #643 from mikepenz/other/642
mikepenz May 30, 2024
e35dc36
Merge pull request #636 from mikepenz/feature/stability_impr_compose
mikepenz May 30, 2024
02a2b38
- initial upgrade of Kotlin and Compose to more recent releases
mikepenz May 30, 2024
1134de3
- adjust our publication setup (this is legacy and should be fully re…
mikepenz May 30, 2024
3e9b608
Merge pull request #640 from mikepenz/dependabot/bundler/rexml-3.2.8
mikepenz May 30, 2024
d9ba197
- adjust gradle properties
mikepenz May 30, 2024
ac5ea29
- more CI updates
mikepenz May 30, 2024
53d1341
Merge pull request #644 from mikepenz/feature/kotlin2
mikepenz May 30, 2024
6c3fdc6
- [release] v5.5.0-b01
mikepenz May 30, 2024
fb6eeb0
- add note on `@aar` spec when using version catalog
mikepenz May 30, 2024
9109ca1
Merge pull request #645 from mikepenz/fix/639
mikepenz May 30, 2024
4f0b25c
[Minor] Fix "Available fonts" table in readme
Philipp91 Nov 9, 2025
7932e68
Merge pull request #652 from Philipp91/patch-1
mikepenz Nov 12, 2025
2947b50
Add Google Material Symbols typeface library
Philipp91 Nov 10, 2025
ce387b1
Update copyright year to 2025 and adjust versioning in project files
mikepenz Nov 14, 2025
561ce40
Merge branch 'Philipp91-materialsymbols' into develop
mikepenz Nov 14, 2025
a2a2d04
Upgrade build infrastructure: update Gradle and plugin versions
mikepenz Nov 14, 2025
dc97630
Upgrade build infrastructure: update Gradle and wrapper versions
mikepenz Nov 14, 2025
db8ed1d
Merge pull request #655 from mikepenz/feature/upgrade_build_infra
mikepenz Nov 14, 2025
ec23d2b
Upgrade build infrastructure: update Gradle and plugin versions, add …
mikepenz Nov 15, 2025
3918c52
Update build configuration: adjust version codes and names, apply gra…
mikepenz Nov 15, 2025
67f843b
Update CI configuration: streamline Sonatype release process and adju…
mikepenz Nov 15, 2025
3a71df7
Update gradle wrapper validation
mikepenz Nov 15, 2025
0fc93df
Update build configuration: replace hardcoded version codes and names…
mikepenz Nov 15, 2025
e9524da
Merge pull request #656 from mikepenz/feature/refresh_setup
mikepenz Nov 15, 2025
f35e0ea
- [release] v5.5.0
mikepenz Nov 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 1 addition & 6 deletions .github/ci-gradle.properties
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.workers.max=2
org.gradle.jvmargs=-Xmx6G
org.gradle.caching=true
org.gradle.configureondemand=true
# parallel kapt
kapt.use.worker.api=true
org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=2048m
58 changes: 22 additions & 36 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,32 +13,24 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
fetch-depth: 100

- uses: actions/setup-java@v1
- uses: actions/setup-java@v4
with:
java-version: '11'
java-package: jdk

- name: Validate gradle wrapper
uses: gradle/wrapper-validation-action@v1
distribution: 'zulu'
java-version: |
17

- name: Copy CI gradle.properties
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties

- name: Checkout Gradle Build Cache
if: ${{ steps.self_hosted.outputs.FLAG != 'self-hosted' }}
uses: actions/cache@v2
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
!~/.gradle/wrapper/dists/**/gradle*.zip
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
restore-keys: |
gradle-${{ runner.os }}-
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3

- name: Validate gradle wrapper
uses: gradle/actions/wrapper-validation@v5

- name: Build Debug
run: ./gradlew clean app:assembleDebug
Expand Down Expand Up @@ -79,26 +71,20 @@ jobs:
if: startsWith(github.ref, 'refs/tags/')
run: ./gradlew app:assembleRelease app:bundleRelease

- name: Prepare Sonatype Gradle properties
if: startsWith(github.ref, 'refs/tags/')
run: |
echo "${{ secrets.SONATYPE_GPG_FILE }}" > opensource.gpg.asc
gpg -d --passphrase "${{ secrets.KEYSTORE_PASSPHRASE }}" --batch "opensource.gpg.asc" > "$HOME/.gradle/opensource.gpg"
echo "sonatype.gpg.key=${{ secrets.SONATYPE_GPG_KEY }}" >> ~/.gradle/gradle.properties
echo "sonatype.gpg.password=${{ secrets.SONATYPE_GPG_PASS }}" >> ~/.gradle/gradle.properties
echo "sonatype.gpg.secretKeyRingFile=$HOME/.gradle/opensource.gpg" >> ~/.gradle/gradle.properties

- name: Relase Sonatype
if: startsWith(github.ref, 'refs/tags/')
run: |
./gradlew build -x test -x lint
./gradlew publishReleasePublicationToSonatypeRepository -x test -x lint -Plibrarytypefaceonly --no-configure-on-demand --no-parallel
./gradlew publishReleasePublicationToSonatypeRepository -x test -x lint -Plibrarycoreonly --no-configure-on-demand --no-parallel
./gradlew publishReleasePublicationToSonatypeRepository -x test -x lint -Plibraryviewsonly --no-configure-on-demand --no-parallel
./gradlew publishReleasePublicationToSonatypeRepository -x test -x lint -Plibrarycomposeonly --no-configure-on-demand --no-parallel
./gradlew :iconics-core:publishToMavenCentral -x test -x lint --no-configure-on-demand --no-parallel
./gradlew :iconics-typeface-api:publishToMavenCentral -x test -x lint --no-configure-on-demand --no-parallel
./gradlew :iconics-views:publishToMavenCentral -x test -x lint --no-configure-on-demand --no-parallel
./gradlew :iconics-compose:publishToMavenCentral -x test -x lint --no-configure-on-demand --no-parallel
env:
NEXUS_USERNAME: ${{ secrets.NEXUS_USERNAME }}
NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }}
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.NEXUS_USERNAME }}
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.NEXUS_PASSWORD }}
ORG_GRADLE_PROJECT_signingInMemoryKeyId: ${{ secrets.SIGNING_KEY_ID }}
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_PRIVATE_KEY }}
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_PASSWORD }}

- name: Collect artifacts
run: |
Expand All @@ -108,14 +94,14 @@ jobs:
find . -name "*.aab" -type f -exec cp {} "artifacts" \;

- name: Archive Artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: "App-Artifacts"
path: artifacts/*

- name: Build Changelog
id: github_release
uses: mikepenz/release-changelog-builder-action@v1
uses: mikepenz/release-changelog-builder-action@v4
if: startsWith(github.ref, 'refs/tags/')
with:
configuration: ".github/config/configuration.json"
Expand All @@ -124,7 +110,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Release
uses: softprops/action-gh-release@91409e712cf565ce9eff10c87a8d1b11b81757ae
uses: softprops/action-gh-release@69320dbe05506a9a39fc8ae11030b214ec2d1f87
if: startsWith(github.ref, 'refs/tags/')
with:
body: ${{steps.github_release.outputs.changelog}}
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,5 @@ proguard/
*.log
functiongraphic.psd

vendor/*
vendor/*
.kotlin
8 changes: 5 additions & 3 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ GEM
faraday-patron (1.0.0)
faraday-rack (1.0.0)
faraday-retry (1.0.3)
git (1.12.0)
git (1.13.0)
addressable (~> 2.8)
rchardet (~> 1.8)
kramdown (2.4.0)
Expand All @@ -75,16 +75,18 @@ GEM
ast
ruby-ll (~> 2.1)
open4 (1.3.4)
public_suffix (5.0.0)
public_suffix (5.0.1)
rchardet (1.8.0)
rexml (3.2.5)
rexml (3.2.8)
strscan (>= 3.0.9)
ruby-ll (2.1.2)
ansi
ast
ruby2_keywords (0.0.5)
sawyer (0.9.2)
addressable (>= 2.3.5)
faraday (>= 0.17.3, < 3)
strscan (3.1.0)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
unicode-display_width (2.3.0)
Expand Down
69 changes: 39 additions & 30 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@

**Already available fonts**
- [Google Material Design Icons](https://github.com/google/material-design-icons)
- [Google Material Symbols](https://github.com/google/material-design-icons)
- [Material Design Iconic Font](http://zavoloklom.github.io/material-design-iconic-font)
- [Fontawesome](https://fontawesome.com/)
- [Meteocons](http://www.alessioatzeni.com/meteocons/)
Expand All @@ -53,10 +54,7 @@

## Latest releases 🛠

- Kotlin Next Gen | [v5.4.0](https://github.com/mikepenz/Android-Iconics/tree/v5.4.0)
- Kotlin | [v4.0.2](https://github.com/mikepenz/Android-Iconics/tree/v4.0.2)
- Java AndroidX | [v3.2.5](https://github.com/mikepenz/Android-Iconics/tree/v3.2.5)
- Java Appcompat | [v3.0.4](https://github.com/mikepenz/Android-Iconics/tree/v3.0.4)
- Kotlin | [v5.5.0](https://github.com/mikepenz/Android-Iconics/tree/v5.5.0)

## 1. Provide the gradle dependency
```gradle
Expand All @@ -75,35 +73,48 @@ implementation "com.mikepenz:iconics-views:${latestAndroidIconicsRelease}"

## 2. Choose your desired fonts

> Note: Fonts ending with `-kotlin` require at least v4.x of Android-Iconics
> Note: v5.1.x or newer requires the latest font versions
> [!NOTE]
> Fonts ending with `-kotlin` require at least v4.x of Android-Iconics
> v5.1.x or newer requires the latest font versions

```gradle
implementation 'com.mikepenz:google-material-typeface:4.0.0.2-kotlin@aar'
implementation 'com.mikepenz:google-material-typeface-{outlined|rounded|sharp}:4.0.0.1-kotlin@aar'
implementation 'com.mikepenz:material-design-iconic-typeface:2.2.0.8-kotlin@aar'
implementation 'com.mikepenz:fontawesome-typeface:5.9.0.2-kotlin@aar'
implementation 'com.mikepenz:octicons-typeface:11.1.0.0-kotlin@aar'
implementation 'com.mikepenz:meteocons-typeface:1.1.0.7-kotlin@aar'
implementation 'com.mikepenz:community-material-typeface:7.0.96.0-kotlin@aar' // note 5.3.45.1 and newer alphabetically sorts, and merges in 3 sections
implementation 'com.mikepenz:weather-icons-typeface:2.0.10.7-kotlin@aar'
implementation 'com.mikepenz:typeicons-typeface:2.0.7.7-kotlin@aar'
implementation 'com.mikepenz:entypo-typeface:1.0.0.7-kotlin@aar'
implementation 'com.mikepenz:devicon-typeface:2.0.0.7-kotlin@aar'
implementation 'com.mikepenz:foundation-icons-typeface:3.0.0.7-kotlin@aar'
implementation 'com.mikepenz:ionicons-typeface:2.0.1.7-kotlin@aar'
implementation 'com.mikepenz:pixeden-7-stroke-typeface:1.2.0.5-kotlin@aar'
implementation 'com.mikepenz:material-design-icons-dx-typeface:5.0.1.2-kotlin@aar'
implementation 'com.mikepenz:phosphor-typeface:1.0.0.0-kotlin@aar'
implementation 'com.mikepenz:simple-icons-typeface:17.0.0.2@aar'
implementation 'com.mikepenz:google-material-typeface:4.0.0.3-kotlin@aar'
implementation 'com.mikepenz:google-material-typeface-{outlined|rounded|sharp}:4.0.0.2-kotlin@aar'
implementation 'com.mikepenz:material-design-iconic-typeface:2.2.0.9-kotlin@aar'
implementation 'com.mikepenz:fontawesome-typeface:5.9.0.3-kotlin@aar'
implementation 'com.mikepenz:octicons-typeface:11.1.0.1-kotlin@aar'
implementation 'com.mikepenz:meteocons-typeface:1.1.0.8-kotlin@aar'
implementation 'com.mikepenz:community-material-typeface:7.0.96.1-kotlin@aar' // note 5.3.45.1 and newer alphabetically sorts, and merges in 3 sections
implementation 'com.mikepenz:weather-icons-typeface:2.0.10.8-kotlin@aar'
implementation 'com.mikepenz:typeicons-typeface:2.0.7.8-kotlin@aar'
implementation 'com.mikepenz:entypo-typeface:1.0.0.8-kotlin@aar'
implementation 'com.mikepenz:devicon-typeface:2.0.0.8-kotlin@aar'
implementation 'com.mikepenz:foundation-icons-typeface:3.0.0.8-kotlin@aar'
implementation 'com.mikepenz:ionicons-typeface:2.0.1.8-kotlin@aar'
implementation 'com.mikepenz:pixeden-7-stroke-typeface:1.2.0.6-kotlin@aar'
implementation 'com.mikepenz:material-design-icons-dx-typeface:5.0.1.3-kotlin@aar'
implementation 'com.mikepenz:phosphor-typeface:1.0.0.1-kotlin@aar'
implementation 'com.mikepenz:simple-icons-typeface:17.0.0.3@aar'
```

## Note
> [!NOTE]
> For users of the version catalog, it is not possible to add the type, however you can do so via
> the implementation definition.
> `implementation(libs.material.typeface) { artifact { type = "aar" } }`

> [!WARNING]
> The fonts use the `jetpack startup` library to automatically register themselves.
> If `jetpack startup` is disabled,
> it is required to manually register the fonts. Please find additional details in
> the [Register fonts](#register-fonts).

⚠️ The fonts use the `jetpack startup` library to automatically register themselves. If `jetpack startup` is disabled,
it is required to manually register the fonts. Please find additional details in the [Register fonts](#register-fonts).

# Usage

> [!NOTE]
> It might be required to call `Iconics.init(applicationContext)` if no context based APIs are used
> from the library otherwise.

## Use as drawable

```kotlin
Expand Down Expand Up @@ -208,10 +219,8 @@ Image(

| Link | Prefix | Dependency |
|-------------------------------------------------------------------------------------------------------------------|-----------------|---------------------------------------------------------------------------------------|
| [Google Material Design Icons](https://github.com/google/material-design-icons) **ORIGINAL by
Google** | gmd,gmo,gmr,gms | implementation 'com.mikepenz:google-material-typeface{-outlined,rounded,sharp}:+@aar' |
| [Material Design Iconic Font](http://zavoloklom.github.io/material-design-iconic-font) **Google Material
Iconic** | gmi | implementation 'com.mikepenz:material-design-iconic-typeface:+@aar' |
| [Google Material Design Icons](https://github.com/google/material-design-icons) **ORIGINAL by Google** | gmd,gmo,gmr,gms | implementation 'com.mikepenz:google-material-typeface{-outlined,rounded,sharp}:+@aar' |
| [Material Design Iconic Font](http://zavoloklom.github.io/material-design-iconic-font) **Google Material Iconic** | gmi | implementation 'com.mikepenz:material-design-iconic-typeface:+@aar' |
| [Fontawesome](https://fontawesome.com/) | faw | implementation 'com.mikepenz:fontawesome-typeface:+@aar' |
| [FontawesomeBrand](https://fontawesome.com/) | fab | implementation 'com.mikepenz:fontawesome-typeface:+@aar' |
| [FontawesomeRegular](https://fontawesome.com/) | far | implementation 'com.mikepenz:fontawesome-typeface:+@aar' |
Expand Down
12 changes: 6 additions & 6 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: 'com.mikepenz.aboutlibraries.plugin'
apply plugin: 'com.mikepenz.aboutlibraries.plugin.android'
apply from: "$rootDir/gradle/compile.groovy"

/*
* Copyright (c) 2020 Mike Penz
Expand All @@ -24,15 +26,11 @@ if (getSigningFile() != null) {
}

android {

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}

compileSdkVersion setup.compileSdk
buildToolsVersion setup.buildTools

namespace = "com.mikepenz.iconics.sample"

defaultConfig {
minSdkVersion setup.composeMinSdk
targetSdkVersion setup.targetSdk
Expand Down Expand Up @@ -100,6 +98,7 @@ dependencies {
// https://github.com/zTrap/Android-Iconics-String-Generator
testImplementation 'ru.ztrap.iconics:string-generator:1.0.4'


// used to generate the drawer on the left
// https://github.com/mikepenz/MaterialDrawer
implementation("com.mikepenz:materialdrawer:${versions.materialDrawer}") {
Expand Down Expand Up @@ -127,6 +126,7 @@ dependencies {
implementation project(':google-material-typeface-outlined-library')
implementation project(':google-material-typeface-rounded-library')
implementation project(':google-material-typeface-sharp-library')
implementation project(':material-symbols-typeface-outlined-library')
implementation project(':ionicons-typeface-library')
implementation project(':material-design-dx-typeface-library')
implementation project(':material-design-iconic-typeface-library')
Expand Down
3 changes: 1 addition & 2 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@

<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.mikepenz.iconics.sample">
xmlns:tools="http://schemas.android.com/tools">

<application
android:name=".CustomApplication"
Expand Down
Loading
Loading