Compare commits

..

19 Commits

Author SHA1 Message Date
x7z4w
62fb50e95c try github actions
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-08-03 19:38:32 +00:00
x7z4w
664a156cc6 fix forgejo
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-08-03 19:34:01 +00:00
x7z4w
08b773dfa8 fix node
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-08-03 19:30:20 +00:00
x7z4w
c31d3b6926 node
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-08-03 19:29:11 +00:00
x7z4w
7469b0ecb4 Revert "docker2"
This reverts commit 5b3e327ff8.
2025-08-03 19:26:56 +00:00
x7z4w
2b78118310 Revert "docker3"
This reverts commit 70622bdca0.
2025-08-03 19:26:04 +00:00
x7z4w
70622bdca0 docker3
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-08-03 18:51:07 +00:00
x7z4w
5b3e327ff8 docker2
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-08-03 18:45:51 +00:00
x7z4w
8395e8d9a9 forgejo
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-08-03 18:37:36 +00:00
x7z4w
b7971b5cc0 docker
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-08-03 18:32:42 +00:00
x7z4w
8fb8be6a00 Revert "fix"
This reverts commit 273afe052a.
2025-08-03 18:15:57 +00:00
x7z4w
273afe052a fix
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-08-03 18:13:30 +00:00
x7z4w
9b5419b6d4 try
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-08-03 17:45:01 +00:00
x7z4w
835ee4ab8d update
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-08-03 17:31:35 +00:00
x7z4w
5bc8aae623 auto
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-08-03 17:05:15 +00:00
x7z4w
72439bd6d7 Revert "Enable automatic jobs"
This reverts commit ffcaf3640b.
2025-08-03 17:03:04 +00:00
x7z4w
a3db039232 fix
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-08-03 16:54:30 +00:00
x7z4w
ffcaf3640b Enable automatic jobs
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-08-03 16:45:09 +00:00
x7z4w
289f4c4343 [ci] Fix ci
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-08-03 16:24:08 +00:00
392 changed files with 855368 additions and 3838 deletions

View File

@@ -3,7 +3,7 @@ on:
workflow_dispatch: # Manual trigger
push:
branches:
- main
- fix-ci
paths-ignore:
- .gitignore
- .forgejo/**
@@ -36,18 +36,16 @@ jobs:
android-google-beta:
name: Android Google Beta
runs-on: ubuntu-latest
container:
image: runmymind/docker-android-sdk:latest
environment: beta
steps:
- name: Install build tools and dependencies
shell: bash
run: |
sudo apt-get update -y
sudo apt-get install -y ninja-build
apt-get update -y
apt-get install -y cmake ninja-build
- name: Checkout sources
uses: actions/checkout@v4
uses: https://github.com/actions/checkout@v4
with:
fetch-depth: 100 # enough to get all commits for the current day
@@ -71,6 +69,8 @@ jobs:
RELEASE_KEYSTORE: ${{ secrets.RELEASE_KEYSTORE }}
- name: Compile
container:
image: runmymind/docker-android-sdk:latest
shell: bash
working-directory: android
run: |

View File

@@ -11,10 +11,10 @@ on:
jobs:
android-check-metadata:
name: Check app metadata
runs-on: codeberg-tiny
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
uses: https://github.com/actions/checkout@v4
with:
fetch-depth: 1
sparse-checkout: |

View File

@@ -3,7 +3,7 @@ on:
workflow_dispatch: # Manual trigger
push:
branches:
- main
- fix-ci
pull_request:
paths-ignore:
- .gitignore
@@ -37,12 +37,18 @@ on:
jobs:
lint:
name: Android Lint
runs-on: codeberg-tiny
runs-on: ubuntu-latest
container:
image: runmymind/docker-android-sdk:latest
steps:
- name: Install Node.JS
shell: bash
run: |
apt-get update -y
apt-get install -y nodejs
- name: Checkout sources
uses: actions/checkout@v4
uses: https://github.com/actions/checkout@v4
with:
fetch-depth: 1
@@ -78,11 +84,11 @@ jobs:
- name: Install build tools and dependencies
shell: bash
run: |
sudo apt-get update -y
sudo apt-get install -y ninja-build
apt-get update -y
apt-get install -y cmake ninja-build nodejs
- name: Checkout sources
uses: actions/checkout@v4
uses: httpa://github.com/actions/checkout@v4
with:
fetch-depth: 200 # enough to get all commits for the current day
@@ -91,7 +97,7 @@ jobs:
run: git submodule update --depth 1 --init --recursive --jobs=$(($(nproc) * 20))
- name: Configure ccache
uses: hendrikmuhs/ccache-action@v1.2
uses: https://github.com/hendrikmuhs/ccache-action@v1.2
with:
key: ${{ github.workflow }}-${{ matrix.flavor }}
@@ -110,5 +116,5 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: android-${{ matrix.flavor }}
path: android/app/build/outputs/apk/**/OrganicMaps-*.apk
path: android/app/build/outputs/apk/**/CoMaps-*.apk
if-no-files-found: error

View File

@@ -6,11 +6,11 @@ on:
jobs:
precondition:
runs-on: codeberg-tiny
runs-on: ubuntu-latest
name: Check preconditions
steps:
- name: Checkout sources
uses: actions/checkout@v4
uses: https://github.com/actions/checkout@v4
with:
fetch-depth: 1000 # fetch month or so
@@ -40,14 +40,14 @@ jobs:
- name: Install build tools and dependencies
shell: bash
run: |
sudo apt-get update -y
sudo apt-get install -y ninja-build
apt-get update -y
apt-get install -y ninja-build
- name: Install Google SDK
uses: google-github-actions/setup-gcloud@v0
- name: Checkout sources
uses: actions/checkout@v4
uses: https://github.com/actions/checkout@v4
with:
fetch-depth: 100 # enough to get all commits for the current day
@@ -84,7 +84,7 @@ jobs:
run: |
gcloud auth activate-service-account --key-file android/app/firebase-test-lab.json
gcloud config set project omapsapp
gcloud firebase test android run --app ./android/app/build/outputs/apk/google/beta/OrganicMaps-*-google-beta.apk \
gcloud firebase test android run --app ./android/app/build/outputs/apk/google/beta/CoMaps-*-google-beta.apk \
--device model=husky,version=34 \
--device model=tangorpro,version=33,orientation=landscape \
--device model=bluejay,version=32 \

View File

@@ -5,14 +5,14 @@ on:
jobs:
android-release-metadata:
name: Upload Google Play metadata
runs-on: codeberg-tiny
runs-on: ubuntu-latest
container:
image: runmymind/docker-android-sdk:latest
environment: production
steps:
- name: Checkout sources
# TODO: use shallow (and sparse?) checkout
uses: actions/checkout@v4
uses: https://github.com/actions/checkout@v4
# - name: Parallel submodules checkout
# shell: bash

View File

@@ -10,12 +10,10 @@ jobs:
tag:
name: Tag
runs-on: ubuntu-latest
container:
image: runmymind/docker-android-sdk:latest
environment: production
steps:
- name: Checkout sources
uses: actions/checkout@v4
uses: https://github.com/actions/checkout@v4
with:
fetch-depth: 100 # Enough to get all commits for the last day.
ssh-key: ${{ secrets.RELEASE_SSH_KEY }}
@@ -73,11 +71,11 @@ jobs:
- name: Install build tools and dependencies
shell: bash
run: |
sudo apt-get update -y
sudo apt-get install -y ninja-build
apt-get update -y
apt-get install -y cmake ninja-build
- name: Checkout sources
uses: actions/checkout@v4
uses: https://github.com/actions/checkout@v4
with:
fetch-depth: 100 # enough to get all commits for the current day
ref: 'refs/tags/${{ needs.tag.outputs.tag }}'
@@ -94,7 +92,7 @@ jobs:
run: git submodule update --depth 1 --init --recursive --jobs=$(($(nproc) * 20))
- name: Checkout screenshots
uses: actions/checkout@v4
uses: https://github.com/actions/checkout@v4
with:
repository: ${{ secrets.SCREENSHOTS_REPO }}
ssh-key: ${{ secrets.SCREENSHOTS_SSH_KEY }}
@@ -123,6 +121,8 @@ jobs:
run: echo "sdk.dir=$ANDROID_SDK_ROOT" > android/local.properties
- name: Compile and upload to Google Play
container:
image: runmymind/docker-android-sdk:latest
shell: bash
working-directory: android
run: |
@@ -130,6 +130,8 @@ jobs:
if: ${{ matrix.flavor == 'google' }}
- name: Compile and upload to Huawei AppGallery
container:
image: runmymind/docker-android-sdk:latest
shell: bash
working-directory: android
run: |
@@ -138,6 +140,8 @@ jobs:
if: ${{ matrix.flavor == 'huawei' }}
- name: Compile universal APK
container:
image: runmymind/docker-android-sdk:latest
shell: bash
working-directory: android
run: |
@@ -148,16 +152,16 @@ jobs:
if: ${{ matrix.flavor == 'web' }}
shell: bash
run: |
(cd ./android/app/build/outputs/apk/web/release/ && sha256sum OrganicMaps-${{ needs.tag.outputs.code }}-web-release.apk > OrganicMaps-${{ needs.tag.outputs.code }}-web-release.apk.sha256sum)
(cd ./android/app/build/outputs/apk/web/release/ && sha256sum CoMaps-${{ needs.tag.outputs.code }}-web-release.apk > CoMaps-${{ needs.tag.outputs.code }}-web-release.apk.sha256sum)
{
cat ${{ env.RELEASE_NOTES }}
echo ""
echo "See [a detailed announce](https://organicmaps.app/news/) on our website when app updates are published in all stores."
echo "You can get automatic app updates from Codeberg [using Obtainium](https://codeberg.org/comaps/comaps/wiki/Installing-Organic-Maps-from-GitHub-using-Obtainium)."
echo "See [a detailed announce](https://comaps.app/news/) on our website when app updates are published in all stores."
echo "You can get automatic app updates from Codeberg [using Obtainium](https://apps.obtainium.imranr.dev/redirect?r=obtainium://add/https://codeberg.org/comaps/comaps)."
echo ""
echo "sha256sum:"
echo -e '\n```'
tr -d '\n' < ./android/app/build/outputs/apk/web/release/OrganicMaps-${{ needs.tag.outputs.code }}-web-release.apk.sha256sum
tr -d '\n' < ./android/app/build/outputs/apk/web/release/CoMaps-${{ needs.tag.outputs.code }}-web-release.apk.sha256sum
echo -e '\n```'
} > ${{ runner.temp }}/release-notes.txt
@@ -172,6 +176,6 @@ jobs:
discussion_category_name: 'Announcements'
prerelease: true
files: |
./android/app/build/outputs/apk/web/release/OrganicMaps-${{ needs.tag.outputs.code }}-web-release.apk
./android/app/build/outputs/apk/web/release/OrganicMaps-${{ needs.tag.outputs.code }}-web-release.apk.sha256sum
./android/app/build/outputs/apk/web/release/CoMaps-${{ needs.tag.outputs.code }}-web-release.apk
./android/app/build/outputs/apk/web/release/CoMaps-${{ needs.tag.outputs.code }}-web-release.apk.sha256sum
fail_on_unmatched_files: true

View File

@@ -3,34 +3,34 @@ on:
workflow_dispatch: # Manual trigger
pull_request:
paths:
- packaging/app.comaps.comaps.metainfo.xml
- .forgejo/workflows/appstream-check.yaml # Run check on self change
- packaging/app.comaps.desktop.metainfo.xml
- .forgejo/workflows/appstream-check.yaml # Run check on self change
jobs:
validate-appstream:
name: Validate appstream metadata xml
runs-on: codeberg-tiny
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
uses: https://github.com/actions/checkout@v4
with:
fetch-depth: 1
sparse-checkout: |
packaging/app.comaps.comaps.metainfo.xml
packaging/app.comaps.desktop.metainfo.xml
- name: Install appstream validator and flatpak Builder
shell: bash
run: |
sudo apt update -y
sudo apt install -y \
apt update -y
apt install -y \
flatpak
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
sudo flatpak install -y org.flatpak.Builder
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install -y org.flatpak.Builder
- name: Lint appstream data with flatpak Builder
shell: bash
run: flatpak run --command=flatpak-builder-lint org.flatpak.Builder appstream packaging/app.comaps.comaps.metainfo.xml
run: flatpak run --command=flatpak-builder-lint org.flatpak.Builder appstream packaging/app.comaps.desktop.metainfo.xml
- name: Run appstreamcli in pedantic mode
shell: bash
run: flatpak run --command=appstreamcli org.flatpak.Builder validate --pedantic packaging/app.comaps.comaps.metainfo.xml
run: flatpak run --command=appstreamcli org.flatpak.Builder validate --pedantic packaging/app.comaps.desktop.metainfo.xml

View File

@@ -33,7 +33,7 @@ concurrency:
jobs:
should-run-check:
name: Should run coverage
runs-on: codeberg-tiny
runs-on: ubuntu-latest
outputs:
run-from-pr: ${{ steps.run-from-pr.outputs.run-from-pr }}
manually-triggered: ${{ steps.manually-triggered.outputs.manually-triggered }}
@@ -63,7 +63,7 @@ jobs:
if: ${{ needs.should-run-check.outputs.run-from-pr == 'true' || needs.should-run-check.outputs.manually-triggered == 'true'}}
steps:
- name: Checkout sources
uses: actions/checkout@v4
uses: https://github.com/actions/checkout@v4
with:
fetch-depth: 100 # enough to get all commits for the current day
@@ -74,8 +74,8 @@ jobs:
- name: Install build tools and dependencies
shell: bash
run: |
sudo apt update -y
sudo apt install -y \
apt update -y
apt install -y \
ninja-build \
libgl1-mesa-dev \
libglvnd-dev \
@@ -90,7 +90,7 @@ jobs:
gcovr
- name: Configure ccache
uses: hendrikmuhs/ccache-action@v1.2
uses: https://github.com/hendrikmuhs/ccache-action@v1.2
with:
key: ${{ github.workflow }}-coverage
@@ -124,15 +124,15 @@ jobs:
# world_feed_integration_tests - https://github.com/organicmaps/organicmaps/issues/215
CTEST_EXCLUDE_REGEX: "generator_integration_tests|opening_hours_integration_tests|opening_hours_supported_features_tests|routing_benchmarks|routing_integration_tests|routing_quality_tests|search_quality_tests|storage_integration_tests|shaders_tests|world_feed_integration_tests"
run: |
sudo locale-gen en_US
sudo locale-gen en_US.UTF-8
sudo locale-gen es_ES
sudo locale-gen es_ES.UTF-8
sudo locale-gen fr_FR
sudo locale-gen fr_FR.UTF-8
sudo locale-gen ru_RU
sudo locale-gen ru_RU.UTF-8
sudo update-locale
locale-gen en_US
locale-gen en_US.UTF-8
locale-gen es_ES
locale-gen es_ES.UTF-8
locale-gen fr_FR
locale-gen fr_FR.UTF-8
locale-gen ru_RU
locale-gen ru_RU.UTF-8
update-locale
ctest -L "omim-test" -E "$CTEST_EXCLUDE_REGEX" --output-on-failure
- name: Run coverage report generation

View File

@@ -3,6 +3,6 @@ on: [pull_request]
jobs:
check:
runs-on: codeberg-tiny
runs-on: ubuntu-latest
steps:
- uses: https://github.com/KineticCafe/actions-dco@v1

View File

@@ -3,28 +3,28 @@ on:
workflow_dispatch: # Manual trigger
pull_request:
paths:
- qt/res/app.comaps.comaps.desktop
- .forgejo/workflows/desktop-file-check.yaml # Run check on self change
- qt/res/app.comaps.desktop.desktop
- .forgejo/workflows/desktop-file-check.yaml # Run check on self change
jobs:
validate-desktop-file:
name: Validate .desktop file
runs-on: codeberg-tiny
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
uses: https://github.com/actions/checkout@v4
with:
fetch-depth: 1
sparse-checkout: |
qt/res/app.comaps.comaps.desktop
qt/res/app.comaps.desktop.desktop
- name: Install desktop-file-validate tool
shell: bash
run: |
sudo apt update -y
sudo apt install -y \
apt update -y
apt install -y \
desktop-file-utils
- name: Validate desktop file
shell: bash
run: desktop-file-validate qt/res/app.comaps.comaps.desktop && echo "Successfully validated .desktop file"
run: desktop-file-validate qt/res/app.comaps.desktop.desktop && echo "Successfully validated .desktop file"

View File

@@ -3,7 +3,7 @@ on:
workflow_dispatch: # Manual trigger
push:
branches:
- main
- fix-ci
paths-ignore:
- .gitignore
- .forgejo/**
@@ -45,7 +45,7 @@ jobs:
shell: bash
steps:
- name: Checkout sources
uses: actions/checkout@v4
uses: https://github.com/actions/checkout@v4
with:
fetch-depth: 100 # enough to get all commits for the current day
@@ -66,10 +66,6 @@ jobs:
CERTIFICATES_DEV_P12: ${{ secrets.CERTIFICATES_DEV_P12 }}
CERTIFICATES_DISTR_P12: ${{ secrets.CERTIFICATES_DISTR_P12 }}
- name: Configure repository
shell: bash
run: ./configure.sh
- name: Compile and upload to TestFlight
run: |
echo "IOS_VERSION=$(../tools/unix/version.sh ios_version)-$(../tools/unix/version.sh ios_build)" >> "$GITHUB_ENV"

View File

@@ -10,10 +10,10 @@ on:
jobs:
ios-check-metadata:
name: Check app metadata
runs-on: codeberg-tiny
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
uses: https://github.com/actions/checkout@v4
with:
fetch-depth: 1
sparse-checkout: |

View File

@@ -3,7 +3,7 @@ on:
workflow_dispatch: # Manual trigger
push:
branches:
- main
- fix-ci
pull_request:
paths-ignore:
- .gitignore
@@ -53,16 +53,12 @@ jobs:
steps:
- name: Checkout sources
uses: actions/checkout@v4
uses: https://github.com/actions/checkout@v4
- name: Parallel submodules checkout
shell: bash
run: git submodule update --depth 1 --init --recursive --jobs=$(($(sysctl -n hw.logicalcpu) * 20))
- name: Configure repository
shell: bash
run: ./configure.sh
- name: Configure XCode cache
uses: irgaly/xcode-cache@v1
with:

View File

@@ -14,7 +14,7 @@ jobs:
environment: production
steps:
- name: Checkout
uses: actions/checkout@v4
uses: https://github.com/actions/checkout@v4
- name: Restore release keys
shell: bash
@@ -25,7 +25,7 @@ jobs:
APPSTORE_JSON: ${{ secrets.APPSTORE_JSON }}
- name: Checkout screenshots
uses: actions/checkout@v4
uses: https://github.com/actions/checkout@v4
with:
repository: ${{ secrets.SCREENSHOTS_REPO }}
ssh-key: ${{ secrets.SCREENSHOTS_SSH_KEY }}
@@ -33,7 +33,7 @@ jobs:
path: screenshots
- name: Checkout keywords
uses: actions/checkout@v4
uses: https://github.com/actions/checkout@v4
with:
repository: ${{ secrets.KEYWORDS_REPO }}
ssh-key: ${{ secrets.KEYWORDS_SSH_KEY }}

View File

@@ -3,7 +3,7 @@ on:
workflow_dispatch: # Manual trigger
push:
branches:
- main
- fix-ci
pull_request:
paths-ignore:
- .gitignore
@@ -39,7 +39,7 @@ jobs:
steps:
- name: Checkout sources
uses: actions/checkout@v4
uses: https://github.com/actions/checkout@v4
with:
fetch-depth: 100 # enough to get all commits for the current day
@@ -50,9 +50,10 @@ jobs:
- name: Install build tools and dependencies
shell: bash
run: |
sudo apt update -y
sudo apt install -y \
apt update -y
apt install -y \
ninja-build \
cmake \
libgl1-mesa-dev \
libglvnd-dev \
libharfbuzz-dev \
@@ -67,7 +68,7 @@ jobs:
libqt6positioning6
- name: Configure ccache
uses: hendrikmuhs/ccache-action@v1.2
uses: https://github.com/hendrikmuhs/ccache-action@v1.2
with:
key: ${{ github.workflow }}-no-unity
@@ -103,7 +104,7 @@ jobs:
steps:
- name: Checkout sources
uses: actions/checkout@v4
uses: https://github.com/actions/checkout@v4
- name: Parallel submodules checkout
shell: bash
@@ -112,8 +113,8 @@ jobs:
- name: Install build tools and dependencies
shell: bash
run: |
sudo apt update -y
sudo apt install -y \
apt update -y
apt install -y \
ninja-build \
libgl1-mesa-dev \
libglvnd-dev \
@@ -129,7 +130,7 @@ jobs:
libqt6positioning6
- name: Configure ccache
uses: hendrikmuhs/ccache-action@v1.2
uses: https://github.com/hendrikmuhs/ccache-action@v1.2
with:
key: ${{ github.workflow }}-unity-${{ matrix.compiler.CC }}-${{ matrix.CMAKE_BUILD_TYPE }}
@@ -164,13 +165,13 @@ jobs:
# world_feed_integration_tests - https://github.com/organicmaps/organicmaps/issues/215
CTEST_EXCLUDE_REGEX: "generator_integration_tests|opening_hours_integration_tests|opening_hours_supported_features_tests|routing_benchmarks|routing_integration_tests|routing_quality_tests|search_quality_tests|storage_integration_tests|shaders_tests|world_feed_integration_tests"
run: |
sudo locale-gen en_US
sudo locale-gen en_US.UTF-8
sudo locale-gen es_ES
sudo locale-gen es_ES.UTF-8
sudo locale-gen fr_FR
sudo locale-gen fr_FR.UTF-8
sudo locale-gen ru_RU
sudo locale-gen ru_RU.UTF-8
sudo update-locale
locale-gen en_US
locale-gen en_US.UTF-8
locale-gen es_ES
locale-gen es_ES.UTF-8
locale-gen fr_FR
locale-gen fr_FR.UTF-8
locale-gen ru_RU
locale-gen ru_RU.UTF-8
update-locale
ctest -L "omim-test" -E "$CTEST_EXCLUDE_REGEX" --output-on-failure

View File

@@ -3,7 +3,7 @@ on:
workflow_dispatch: # Manual trigger
push:
branches:
- main
- fix-ci
pull_request:
paths-ignore:
- .gitignore
@@ -46,7 +46,7 @@ jobs:
steps:
- name: Checkout sources
uses: actions/checkout@v4
uses: https://github.com/actions/checkout@v4
- name: Parallel submodules checkout
shell: bash

View File

@@ -37,10 +37,6 @@ jobs:
shell: bash
run: git submodule update --depth 1 --init --recursive --jobs=$(($(sysctl -n hw.logicalcpu) * 20))
- name: Configure repository
shell: bash
run: ./configure.sh
- name: Configure XCode cache
uses: irgaly/xcode-cache@v1
with:

17
.gitignore vendored
View File

@@ -14,10 +14,12 @@ stxxl.errlog
stxxl.log
screenlog.0
data/symbols/*/design/
data/styles/*/*/out/*
data/resources-*_design/*
# symbols png/sdf are now generated at build
data/symbols/**/symbols.png
data/symbols/**/symbols.sdf
data/resources-*_*/symbols.png
data/resources-*_*/symbols.sdf
data/drules_proto_default_design.bin
data/colors_design.txt
data/patterns_design.txt
data/bookmarks
@@ -26,12 +28,6 @@ data/World.mwm
data/WorldCoasts.mwm
data/world_mwm/*
data/*_hash
data/drules_proto*
data/classificator.txt
data/types.txt
data/visibility.txt
data/colors.txt
data/patterns.txt
# Compiled Python
*.pyc
@@ -52,7 +48,8 @@ omim.sdf
*.rc
!qt/res/windows.rc
*.pdb
out/
out/*
qt/mapswithme.log
# XCode
xcode/keys/*

View File

@@ -1 +1 @@
See [docs/INSTALL.md](docs/INSTALL.md)
See [docs/INSTALL.md](docs/INSTALL.md)

View File

@@ -125,8 +125,10 @@ You can help by donating, contributing code, translating, or by telling others a
- Build instructions: [docs/INSTALL.md](docs/INSTALL.md)
- Contribution guide: [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md)
> [!NOTE]
> Some docs might be outdated, contain broken links or old references to Organic Maps, etc. Its a work in progress and help is much appreciated!
There is a dedicated [Zulip](https://codeberg.org/comaps/Governance/src/branch/main/contribute.md#3-team-messaging) chat for active contributors.
There is a dedicated Zulip chat for active contributors: [Zulip](https://comaps.zulipchat.com)
---

View File

@@ -0,0 +1 @@
সহজ মানচিত্র নেভিগেশন - আপনার যাত্রা সম্পর্কে আরও জানুন - সম্প্রদায় কর্তৃক পরিচালিত

View File

@@ -0,0 +1 @@
কোম্যাপস - অফলাইনে হাইকিং, সাইকেলিং এবং ড্রাইভিং করুন গোপনীয়তা সহ

View File

@@ -1 +1 @@
Navigation cartographique facile - Vivez de grands voyages - Propulsé par la communauté
Navigation cartographique facile - Découvrez davantage de votre voyage - Propulsé par la communauté

View File

@@ -1 +0,0 @@
Könnyű térképes navigáció - Fedezz fel többet az útjaidról - A közösség erejével

View File

@@ -0,0 +1 @@
Navigation facile del mappa Discoperi tu viage Alimentate per le communitate

View File

@@ -1 +0,0 @@
Navegação fácil nos mapas - Descubra mais sobre o seu percurso - Feito por todos

View File

@@ -1 +0,0 @@
CoMaps - Mapas e Navegação - Offline e Privada

View File

@@ -0,0 +1 @@
../../listings/ar/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/az-AZ/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/be/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/bg/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/bn-BD/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/ca/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/cs-CZ/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/da-DK/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/el-GR/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/et/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/eu-ES/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/fa/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/fi-FI/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/gl-ES/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/gu/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/hi-IN/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/hr/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/hu-HU/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/id/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/it-IT/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/iw-IL/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/ja-JP/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/ka-GE/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/kk/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/km-KH/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/kn-IN/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/ko-KR/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/lo-LA/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/lt/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/lv/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/mk-MK/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/ml-IN/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/mr-IN/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/ms/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/ne-NP/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/nl-NL/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/no-NO/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/pl-PL/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/pt-BR/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/pt-PT/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/ro/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/si-LK/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/sk/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/sl/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/sr/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/sv-SE/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/th/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/tr-TR/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/uk/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/ur/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/vi/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/zh-CN/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/zh-HK/release-notes.txt

View File

@@ -0,0 +1 @@
../../listings/zh-TW/release-notes.txt

View File

@@ -0,0 +1 @@
সহজ মানচিত্র নেভিগেশন - আপনার যাত্রা সম্পর্কে আরও জানুন - সম্প্রদায় কর্তৃক পরিচালিত

View File

@@ -0,0 +1 @@
CoMaps - গোপনীয়তা সহ যাতায়াত

View File

@@ -1 +1 @@
Navigation cartographique facile - Propulsé par la communauté
Navigation cartographique facile - Découvrez davantage de votre voyage - Propulsé par la communauté

View File

@@ -1 +0,0 @@
Könnyű térképes navigáció - Fedezz fel többet az útjaidról - A közösség erejével

View File

@@ -1 +0,0 @@
CoMaps - Az adatvédő navigáció

View File

@@ -0,0 +1 @@
Navigation facile del mappa Discoperi tu viage Alimentate per le communitate

View File

@@ -0,0 +1 @@
CoMaps Naviga private

View File

@@ -1 +0,0 @@
കോമാപ്പ്സ് - സ്വകാര്യതയോടെ സഞ്ചരിക്കൂ

View File

@@ -1 +0,0 @@
CoMaps

View File

@@ -7,12 +7,12 @@ Topluluğa katılın ve en iyi harita uygulamasını oluşturmamıza yardım edi
<i>Geri bildirimleriniz ve 5 yıldızlı yorumlarınız bizim için en iyi destektir!</i>
‣ <b>Basit ve Temiz</b>: Sadece temel, kullanımı basit ve işe yarayan özellikler.
‣ <b>Çevrimdışı Odaklı</b>: Mobil veriye ihtiyaç duymadan yurt dışı seyahatinizi planlayın ve gezin, uzun bir yürüyüş sırasında rotanızdaki noktaları bulun ve daha fazlası. Tüm özellikler çevrimdışı çalışmak üzere tasarlanmıştır.
‣ <b>Basit ve Temiz</b>: Sadece temel, kullanımı basit, işe yarayan özellikler.
‣ <b>Çevrimdışı Odaklı</b>: Mobil veriye ihtiyaç duymadan yurt dışı seyahatinizi planlayın ve gezin, uzun bir yürüyüş sırasında rotanızdaki noktaları bulun ve daha fazlası . Tüm özellikler çevrimdışı çalışmak üzere tasarlanmıştır.
‣ <b>Gizliliğe Saygılı</b>: Uygulama gizliliğe saygılı olarak tasarlanmıştır. Kullanıcı profilinizi çıkarmaz, sizi takip etmez ve kişisel bilgi toplamaz. Üstelik tamamen reklamsızdır.
‣ <b>Pil ve Depolamanızdan Tasarruf Eder</b>: Diğer navigasyon uygulamaları gibi pilinizi sömürmez. Kompakt harita dosyaları, değerli depolama alanınızdan tasarruf eder.
‣ <b>Ücretsizdir ve Gücünü Topluluktan Alır</b>: Sizin gibi insanlar OpenStreetMap'e yer ekleyerek, yeni özellikleri test ederek, geri bildirimde bulunarak, program geliştirme becerileri ve bağışlarla katkıda bulunarak bu uygulamanın oluşturulmasına yardımcı oldular.
‣ <b>Açık ve Şeffaf Bir Şekilde Yürütülen Karar Alma ve Fonlama Süreçlerine Sahip, Kâr Amacı Gütmeyen ve Tamamen Açık Kaynaklı Bir Uygulama.</b>
‣ <b>Pil ve Depolamanızdan Tasarruf Eder</b>: Diğer navigasyon uygulamaları gibi pilinizi sömürmez. Compact maps değerli depolama alanınızdan tasarruf eder.
‣ <b>Ücretsizdir ve Gücünü Topluluktan Alır</b>: Sizin gibi insanlar OpenStreetMap'e yer ekleyerek, yeni özellikleri test ederek, geri bildirimde bulunarak, program geliştirme becerileri ve bağışlarla katkıda bulunarak uygulamanın oluşturulmasına yardımcı oldu.
‣ <b>Açık ve Şeffaf Şekilde Yürütülen Karar Alma ve Fonlama Süreçleri, Kâr Amacı Gütmez ve Tamamen Açık Kaynaklı.</b>
<b>Ana Özellikler</b>:
• Google Haritalar'da bulunmayan yerleri içeren, çevrimdışı detaylı haritalar

View File

@@ -9,6 +9,7 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.ExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import app.organicmaps.R;
@@ -18,7 +19,6 @@ import app.organicmaps.sdk.downloader.CountryItem;
import app.organicmaps.sdk.util.StringUtils;
import app.organicmaps.sdk.util.UiUtils;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.textview.MaterialTextView;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -93,9 +93,9 @@ abstract class BaseRoutingErrorDialogFragment extends BaseMwmDialogFragment
{
@SuppressLint("InflateParams")
final View countryView = View.inflate(requireActivity(), R.layout.dialog_missed_map, null);
((MaterialTextView) countryView.findViewById(R.id.tv__title)).setText(map.name);
((TextView) countryView.findViewById(R.id.tv__title)).setText(map.name);
final MaterialTextView szView = countryView.findViewById(R.id.tv__size);
final TextView szView = countryView.findViewById(R.id.tv__size);
szView.setText(StringUtils.getFileSizeString(requireContext(), map.totalSize));
ViewGroup.MarginLayoutParams lp = (ViewGroup.MarginLayoutParams) szView.getLayoutParams();
lp.rightMargin = 0;

View File

@@ -8,11 +8,11 @@ import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.appcompat.content.res.AppCompatResources;
import androidx.recyclerview.widget.RecyclerView;
import com.google.android.material.imageview.ShapeableImageView;
import com.google.android.material.textview.MaterialTextView;
import app.organicmaps.R;
import app.organicmaps.sdk.bookmarks.data.MapObject;
import app.organicmaps.sdk.routing.RouteMarkData;
@@ -232,16 +232,16 @@ public class ManageRouteAdapter extends RecyclerView.Adapter<ManageRouteAdapter.
public final View mItemView;
@NonNull
public final ShapeableImageView mImageViewIcon;
public final ImageView mImageViewIcon;
@NonNull
public final MaterialTextView mTextViewTitle;
public final TextView mTextViewTitle;
@NonNull
public final MaterialTextView mTextViewSubtitle;
public final TextView mTextViewSubtitle;
@NonNull
public final ShapeableImageView mImageViewDelete;
public final ImageView mImageViewDelete;
ManageRouteViewHolder(@NonNull View itemView)
{

View File

@@ -4,6 +4,7 @@ import android.location.Location;
import android.text.TextUtils;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
@@ -27,22 +28,20 @@ import app.organicmaps.widget.LanesView;
import app.organicmaps.widget.SpeedLimitView;
import app.organicmaps.widget.menu.NavMenu;
import com.google.android.material.bottomsheet.BottomSheetBehavior;
import com.google.android.material.imageview.ShapeableImageView;
import com.google.android.material.textview.MaterialTextView;
public class NavigationController implements TrafficManager.TrafficCallback, NavMenu.NavMenuListener
{
private final View mFrame;
private final ImageView mNextTurnImage;
private final MaterialTextView mNextTurnDistance;
private final MaterialTextView mCircleExit;
private final TextView mNextTurnDistance;
private final TextView mCircleExit;
private final View mNextNextTurnFrame;
private final ImageView mNextNextTurnImage;
private final View mStreetFrame;
private final MaterialTextView mNextStreet;
private final TextView mNextStreet;
@NonNull
private final LanesView mLanesView;

View File

@@ -60,7 +60,7 @@ final class RoutingBottomMenuController implements View.OnClickListener
@NonNull
private final View mTransitFrame;
@NonNull
private final MaterialTextView mError;
private final TextView mError;
@NonNull
private final Button mStart;
@NonNull
@@ -94,7 +94,7 @@ final class RoutingBottomMenuController implements View.OnClickListener
View altitudeChartFrame = getViewById(activity, frame, R.id.altitude_chart_panel);
View timeElevationLine = getViewById(activity, frame, R.id.time_elevation_line);
View transitFrame = getViewById(activity, frame, R.id.transit_panel);
MaterialTextView error = (MaterialTextView) getViewById(activity, frame, R.id.error);
TextView error = (TextView) getViewById(activity, frame, R.id.error);
Button start = (Button) getViewById(activity, frame, R.id.start);
ImageView altitudeChart = (ImageView) getViewById(activity, frame, R.id.altitude_chart);
MaterialTextView time = (MaterialTextView) getViewById(activity, frame, R.id.time);
@@ -117,7 +117,7 @@ final class RoutingBottomMenuController implements View.OnClickListener
private RoutingBottomMenuController(@NonNull Activity context, @NonNull View altitudeChartFrame,
@NonNull View timeElevationLine, @NonNull View transitFrame,
@NonNull MaterialTextView error, @NonNull Button start, @NonNull ImageView altitudeChart,
@NonNull TextView error, @NonNull Button start, @NonNull ImageView altitudeChart,
@NonNull MaterialTextView time, @NonNull MaterialTextView altitudeDifference,
@NonNull TextView timeVehicle, @Nullable MaterialTextView arrival,
@NonNull View actionFrame, @Nullable RoutingBottomMenuListener listener)
@@ -223,7 +223,7 @@ final class RoutingBottomMenuController implements View.OnClickListener
else
UiUtils.hide(rv); // Show only distance between start and finish
MaterialTextView totalTimeView = mTransitFrame.findViewById(R.id.total_time);
TextView totalTimeView = mTransitFrame.findViewById(R.id.total_time);
totalTimeView.setText(mContext.getString(R.string.placepage_distance) + ": " + totalLength.mDistanceStr + " "
+ totalLength.getUnitsStr(mContext));

View File

@@ -8,12 +8,12 @@ import android.text.TextUtils;
import android.util.Pair;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.FragmentFactory;
import androidx.fragment.app.FragmentManager;
import com.google.android.material.textview.MaterialTextView;
import app.organicmaps.R;
import app.organicmaps.sdk.downloader.CountryItem;
import app.organicmaps.sdk.downloader.MapManager;
@@ -38,7 +38,7 @@ public class RoutingErrorDialogFragment extends BaseRoutingErrorDialogFragment
if (!TextUtils.isEmpty(titleMessage.first))
{
MaterialTextView titleView = new MaterialTextView(requireContext());
TextView titleView = new TextView(requireContext());
titleView.setText(titleMessage.first);
titleView.setPadding(65, 32, 32, 16);
titleView.setTextSize(18);

View File

@@ -5,6 +5,7 @@ import android.util.Pair;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat;
@@ -18,7 +19,6 @@ import app.organicmaps.util.Graphics;
import app.organicmaps.util.ThemeUtils;
import com.google.android.material.bottomsheet.BottomSheetBehavior;
import com.google.android.material.progressindicator.LinearProgressIndicator;
import com.google.android.material.textview.MaterialTextView;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.util.concurrent.TimeUnit;
@@ -31,15 +31,15 @@ public class NavMenu
private final ImageView mTts;
private final View mSpeedViewContainer;
private final MaterialTextView mSpeedValue;
private final MaterialTextView mSpeedUnits;
private final MaterialTextView mTimeHourValue;
private final MaterialTextView mTimeHourUnits;
private final MaterialTextView mTimeMinuteValue;
private final MaterialTextView mTimeMinuteUnits;
private final MaterialTextView mTimeEstimate;
private final MaterialTextView mDistanceValue;
private final MaterialTextView mDistanceUnits;
private final TextView mSpeedValue;
private final TextView mSpeedUnits;
private final TextView mTimeHourValue;
private final TextView mTimeHourUnits;
private final TextView mTimeMinuteValue;
private final TextView mTimeMinuteUnits;
private final TextView mTimeEstimate;
private final TextView mDistanceValue;
private final TextView mDistanceUnits;
private final LinearProgressIndicator mRouteProgress;
private final AppCompatActivity mActivity;

View File

@@ -5,6 +5,7 @@ import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import app.organicmaps.MwmActivity;
@@ -20,17 +21,16 @@ import app.organicmaps.sdk.util.StringUtils;
import app.organicmaps.sdk.util.UiUtils;
import app.organicmaps.util.Utils;
import app.organicmaps.widget.ArrowView;
import com.google.android.material.textview.MaterialTextView;
public class DirectionFragment extends BaseMwmDialogFragment implements LocationListener, SensorListener
{
private static final String EXTRA_MAP_OBJECT = "MapObject";
private ArrowView mAvDirection;
private MaterialTextView mTvTitle;
private MaterialTextView mTvSubtitle;
private MaterialTextView mTvDistance;
private MaterialTextView mTvAzimuth;
private TextView mTvTitle;
private TextView mTvSubtitle;
private TextView mTvDistance;
private TextView mTvAzimuth;
private MapObject mMapObject;

View File

@@ -619,7 +619,7 @@ public class PlacePageView extends Fragment
private void addOrganisation()
{
((MwmActivity) requireActivity()).showPositionChooserForEditor(true, true);
((MwmActivity) requireActivity()).showPositionChooserForEditor(true, false);
}
private void addPlace()

Some files were not shown because too many files have changed in this diff Show More