diff --git a/metadata/net.osmand.plus.yml b/metadata/net.osmand.plus.yml index b690cb05c1..56226075aa 100644 --- a/metadata/net.osmand.plus.yml +++ b/metadata/net.osmand.plus.yml @@ -4727,6 +4727,145 @@ Builds: - cp $$icu50-2-1-patched$$/icu4j/icu4j.jar ../OsmAnd-java/libs/ ndk: r23c + - versionName: 4.2.6 + versionCode: 4206 + commit: v4.2.6 + subdir: android/OsmAnd + submodules: true + sudo: + - apt-get update || apt-get update + - apt-get install --yes swig openjdk-11-jdk-headless + - update-alternatives --auto java + gradle: + - android + - full + - legacy + - fat + srclibs: + - icu50-2-1-patched@7c3cf2d32b30a342eb48f755080db832abb5ade9 + - skia@android/11-release + - osmand-mpandroidchart@7628c347edbf577bf7522afc1ba829a538a02d0c + rm: + - android/OsmAnd-java/libs/*.jar + - android/OsmAnd/libs/*.jar + - android/OsmAnd-telegram/ + - help/website/images/features.zip + - resources/icons/tools/SVGtoXML/vd-tool + prebuild: + - sed -i -e "/.*mplementation.*OsmAndCore.*/d" -e "/play-services-location/d" + -e '/MPAndroidChart/d' build-common.gradle + - sed -i -e "/.*mplementation.*OsmAndCore.*/d" build.gradle + - sed -i -e "/ivy {/,+6d" ../build.gradle + - rm build-library.gradle + - perl -i -0 -p -e "s|maven {\n\s*url 'https://developer.huawei.com/repo/'\n\s*}||g" + ../build.gradle + - sed -i -e "/huaweiImplementation/d" build.gradle + - sed -i -e "s/System.getenv(\"APK_VERSION\")/\"$$VERSION$$\"/g" build.gradle + - sed -i -e "s/System.getenv(\"APK_NUMBER_VERSION\")/\"$$VERCODE$$\"/g" build.gradle + - sed -i -e "s/System.getenv(\"TARGET_APP_NAME\")/\"OsmAnd~\"/g" build.gradle + - "sed -i -e \"s/implementation fileTree.*/implementation fileTree(include:\ + \ ['icu4j.jar'], dir: 'libs')\\n implementation group: 'net.sf.trove4j', name:\ + \ 'trove4j', version: '3.0.3'\\n/\" ../OsmAnd-java/build.gradle" + - "sed -i -e \"s/implementation fileTree.*/implementation fileTree(include:\ + \ ['classes.jar','icu4j.jar','MPChartLib-release.aar'], dir: 'libs')\\n implementation\ + \ group: 'net.sf.trove4j', name: 'trove4j', version: '3.0.3'\\n/\" build-common.gradle" + - sed -i -e "s/, ':OsmAnd-telegram'//" ../settings.gradle + - pushd ../../core-legacy/externals + - sed -i "s/# Extract/sha256sum \$SRCLOC\/upstream.tar.bz2 | grep 13bfc5ae543cf3aa180ac2485c0bc89495e3ae711fc6fab4f8ffe90dfb4bb677 + || { echo 'Failed checksum' 1>\&2; exit; }/" protobuf/configure.sh + - sed -i "/# Download/,+8d" skia/configure.sh + - sed -i "s/# Patch/cp -r $(echo $$skia$$ | sed 's/\//\\\//g') \$SRCLOC\/upstream.original/" + skia/configure.sh + - popd + - echo -e "\norg.gradle.jvmargs=-XX:MaxHeapSize=2048m" >> ../gradle.properties + - sed -i -e "/.*com.google.android.play.*/d" build-common.gradle + - "echo \" package net.osmand.plus.helpers; import net.osmand.plus.OsmandApplication;\ + \ import net.osmand.plus.activities.MapActivity; import androidx.annotation.Nullable;\ + \ import androidx.fragment.app.FragmentActivity;\npublic class RateUsHelper\ + \ { public RateUsHelper() { } public void storeRateResult(FragmentActivity\ + \ activity) { } public void updateState(@Nullable RateUsState state) { } public\ + \ static boolean shouldShowRateDialog(OsmandApplication app) { return false;\ + \ } public static void showRateDialog(MapActivity mapActivity) { } public\ + \ enum RateUsState { INITIAL_STATE, IGNORED, LIKED, DISLIKED_WITH_MESSAGE,\ + \ DISLIKED_WITHOUT_MESSAGE, DISLIKED_OR_IGNORED_AGAIN; } }\" > src/net/osmand/plus/helpers/RateUsHelper.java" + - sed -i -e "/.*com.amazon.in-app-purchasing.*/d" build.gradle + - sed -i -e "/.*com.android.billingclient.*/d" build-common.gradle + - echo " package net.osmand.plus.inapp; import android.app.Activity; import + android.content.Context; import androidx.annotation.NonNull; import androidx.annotation.Nullable; + import net.osmand.plus.OsmandApplication; import java.lang.ref.WeakReference; + public class InAppPurchaseHelperImpl extends InAppPurchaseHelper { public + InAppPurchaseHelperImpl(OsmandApplication ctx) { super(ctx); } public void + isInAppPurchaseSupported(@NonNull final Activity activity, @Nullable final + InAppPurchaseInitCallback callback) { } protected void execImpl(@NonNull final + InAppPurchaseTaskType taskType, @NonNull final InAppCommand runnable) { } + public void purchaseFullVersion(@NonNull final Activity activity) { } public + void purchaseDepthContours(@NonNull final Activity activity) { } public void + purchaseContourLines(@NonNull Activity activity) throws UnsupportedOperationException + { } public void manageSubscription(@NonNull Context ctx, @Nullable String + sku) { } protected InAppCommand getPurchaseSubscriptionCommand(final WeakReference + activity, final String sku, final String userInfo) { return null; } protected + InAppCommand getRequestInventoryCommand(boolean userRequested) { return null; + } protected boolean isBillingManagerExists() { return false; } protected void + destroyBillingManager() { } } " > src-google/net/osmand/plus/inapp/InAppPurchaseHelperImpl.java + - rm src-google/net/osmand/plus/inapp/util/BillingManager.java + - rm src-google/net/osmand/plus/inapp/InAppPurchasesImpl.java + - perl -i -0 -p -e 's|!!' AndroidManifest.xml + scanignore: + - help/website/fonts/*.woff + - help/website/fonts/*.eot + - help/website/fonts/*.ttf + - resources/voice/tr/voice/*.ogg + scandelete: + - resources/test-resources + build: + - pushd $$osmand-mpandroidchart$$ + - sed -i -e "s/android {/android { lintOptions { checkReleaseBuilds false }/" + MPChartLib/build.gradle + - rm -r MPChartExample + - gradle assembleRelease + - popd + - cp $$osmand-mpandroidchart$$/MPChartLib/build/outputs/aar/MPChartLib-release.aar + libs/ + - pushd ../../OsmAnd-core/wrappers/android/ + - sed -i -e "/Native/d" settings.gradle + - sed -i -e "/Native/d" build.gradle + - sed -i -e "/compileTask.*copyNdkSharedLibs/d" build.gradle + - sed -i -e "/compileTask.*copyQtSharedLibs/d" build.gradle + - sed -i -e "/compileTask.*copyQtJarLibs/d" build.gradle + - gradle assembleRelease + - cd build/outputs/aar + - unzip OsmAndCore_android-release.aar + - cp classes.jar ../../../../../../android/OsmAnd/libs/ + - popd + - pushd $$icu50-2-1-patched$$/icu4j + - ant jar + - zip -d icu4j.jar "com/ibm/icu/impl/data/icudt50b/brkitr/*" + - zip -d icu4j.jar "com/ibm/icu/impl/data/icudt50b/coll/*" + - zip -d icu4j.jar "com/ibm/icu/impl/data/icudt50b/curr/*" + - zip -d icu4j.jar "com/ibm/icu/impl/data/icudt50b/lang/*" + - zip -d icu4j.jar "com/ibm/icu/impl/data/icudt50b/rbnf/*" + - zip -d icu4j.jar "com/ibm/icu/impl/data/icudt50b/region/*" + - zip -d icu4j.jar "com/ibm/icu/impl/data/icudt50b/translit/*" + - zip -d icu4j.jar "com/ibm/icu/impl/data/icudt50b/zone/*" + - popd + - cp $$icu50-2-1-patched$$/icu4j/icu4j.jar libs/ + - cp $$icu50-2-1-patched$$/icu4j/icu4j.jar ../OsmAnd-java/libs/ + ndk: r23c + MaintainerNotes: |- Update CV only after sucessfully built and tested.