From f6563445999ef5e550a505f3c0fc0e5bf61cfa0a Mon Sep 17 00:00:00 2001 From: Norbel AMBANUMBEN Date: Fri, 3 Nov 2023 07:42:55 +0100 Subject: [PATCH 1/3] Chore: Update from `ru.noties:markwon:2.0.1` to `io.noties.markwon:core:4.6.2` (#628) ## Proposed Changes - Update from `ru.noties:markwon:2.0.1` to `io.noties.markwon:core:4.6.2` - Update required API usage. Note: This update will allow us to use the `markwon` [plugin system](https://noties.io/Markwon/docs/v4/core/plugins.html) to implement additional functionality like the [Read more](https://github.com/noties/Markwon/blob/v4.6.2/app-sample/src/main/java/io/noties/markwon/app/samples/ReadMorePluginSample.java#L48C7-L208) which is added as part of the new designs. --- app/build.gradle | 2 +- .../ooniprobe/activity/MeasurementDetailActivity.java | 6 ++++-- .../ooniprobe/activity/OverviewActivity.java | 7 ++++--- .../openobservatory/ooniprobe/activity/ProxyActivity.java | 6 ++++-- .../ooniprobe/fragment/measurement/PsiphonFragment.java | 7 +++++-- .../ooniprobe/fragment/measurement/RiseupVPNFragment.java | 7 +++++-- .../ooniprobe/fragment/measurement/TorFragment.java | 7 +++++-- .../fragment/measurement/WebConnectivityFragment.java | 8 +++++--- .../fragment/onboarding/Onboarding3Fragment.java | 6 ++++-- gradle/libs.versions.toml | 4 ++-- 10 files changed, 39 insertions(+), 21 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 4d7f57bcf..60987f4f8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -122,7 +122,7 @@ dependencies { implementation libs.xanscale.localhost.toolkit implementation libs.lottie - implementation libs.markwon + implementation libs.markwon.core implementation libs.commons.io //arcview to fragment_dashboard implementation libs.shapeofview diff --git a/app/src/main/java/org/openobservatory/ooniprobe/activity/MeasurementDetailActivity.java b/app/src/main/java/org/openobservatory/ooniprobe/activity/MeasurementDetailActivity.java index 91bdc4dfd..9eada3e2d 100644 --- a/app/src/main/java/org/openobservatory/ooniprobe/activity/MeasurementDetailActivity.java +++ b/app/src/main/java/org/openobservatory/ooniprobe/activity/MeasurementDetailActivity.java @@ -27,7 +27,7 @@ import org.openobservatory.ooniprobe.model.database.Network; import org.openobservatory.ooniprobe.test.suite.PerformanceSuite; import org.openobservatory.ooniprobe.test.test.*; -import ru.noties.markwon.Markwon; +import io.noties.markwon.Markwon; import javax.inject.Inject; import java.io.Serializable; @@ -212,7 +212,9 @@ public void onError(String msg) { binding.log.setVisibility(View.GONE); if (!measurementsManager.hasReportId(measurement)) binding.explorer.setVisibility(View.GONE); - Markwon.setMarkdown(binding.methodology, getString(R.string.TestResults_Details_Methodology_Paragraph, getString(measurement.getTest().getUrlResId()))); + Markwon.builder(this) + .build() + .setMarkdown(binding.methodology, getString(R.string.TestResults_Details_Methodology_Paragraph, getString(measurement.getTest().getUrlResId()))); load(); binding.log.setOnClickListener(v -> logClick()); binding.data.setOnClickListener(v -> dataClick()); diff --git a/app/src/main/java/org/openobservatory/ooniprobe/activity/OverviewActivity.java b/app/src/main/java/org/openobservatory/ooniprobe/activity/OverviewActivity.java index 60d418a96..9d1b79018 100644 --- a/app/src/main/java/org/openobservatory/ooniprobe/activity/OverviewActivity.java +++ b/app/src/main/java/org/openobservatory/ooniprobe/activity/OverviewActivity.java @@ -23,7 +23,7 @@ import javax.inject.Inject; -import ru.noties.markwon.Markwon; +import io.noties.markwon.Markwon; public class OverviewActivity extends AbstractActivity { private static final String TEST = "test"; @@ -54,6 +54,7 @@ public static Intent newIntent(Context context, AbstractSuite testSuite) { binding.run.setAlpha(0.5F); binding.run.setEnabled(false); } + Markwon markwon = Markwon.builder(this).build(); if (testSuite.getName().equals(ExperimentalSuite.NAME)) { String experimentalLinks = "\n\n* [STUN Reachability](https://github.com/ooni/spec/blob/master/nettests/ts-025-stun-reachability.md)" + @@ -61,12 +62,12 @@ public static Intent newIntent(Context context, AbstractSuite testSuite) { "\n\n* [ECH Check](https://github.com/ooni/spec/blob/master/nettests/ts-039-echcheck.md)" + "\n\n* [Tor Snowflake](https://ooni.org/nettest/tor-snowflake/) "+ String.format(" ( %s )",getString(R.string.Settings_TestOptions_LongRunningTest))+ "\n\n* [Vanilla Tor](https://github.com/ooni/spec/blob/master/nettests/ts-016-vanilla-tor.md) " + String.format(" ( %s )",getString(R.string.Settings_TestOptions_LongRunningTest)); - Markwon.setMarkdown(binding.desc, getString(testSuite.getDesc1(), experimentalLinks)); + markwon.setMarkdown(binding.desc, getString(testSuite.getDesc1(), experimentalLinks)); if (TextUtilsCompat.getLayoutDirectionFromLocale(Locale.getDefault()) == ViewCompat.LAYOUT_DIRECTION_RTL) binding.desc.setTextDirection(View.TEXT_DIRECTION_RTL); } else - Markwon.setMarkdown(binding.desc, getString(testSuite.getDesc1())); + markwon.setMarkdown(binding.desc, getString(testSuite.getDesc1())); Result lastResult = Result.getLastResult(testSuite.getName()); if (lastResult == null) binding.lastTime.setText(R.string.Dashboard_Overview_LastRun_Never); diff --git a/app/src/main/java/org/openobservatory/ooniprobe/activity/ProxyActivity.java b/app/src/main/java/org/openobservatory/ooniprobe/activity/ProxyActivity.java index 902fec4c8..fdc5bb245 100644 --- a/app/src/main/java/org/openobservatory/ooniprobe/activity/ProxyActivity.java +++ b/app/src/main/java/org/openobservatory/ooniprobe/activity/ProxyActivity.java @@ -14,7 +14,7 @@ import org.openobservatory.ooniprobe.common.ProxyProtocol; import org.openobservatory.ooniprobe.common.ProxySettings; import org.openobservatory.ooniprobe.databinding.ActivityProxyBinding; -import ru.noties.markwon.Markwon; +import io.noties.markwon.Markwon; import javax.inject.Inject; import java.net.URISyntaxException; @@ -119,7 +119,9 @@ public void onCreate(Bundle savedInstanceState) { setContentView(binding.getRoot()); // We fill the footer that helps users to understand this settings screen. - Markwon.setMarkdown(binding.proxyFooter, getString(R.string.Settings_Proxy_Footer)); + Markwon.builder(this) + .build() + .setMarkdown(binding.proxyFooter, getString(R.string.Settings_Proxy_Footer)); // We read settings and configure the initial view. loadSettingsAndConfigureInitialView(); diff --git a/app/src/main/java/org/openobservatory/ooniprobe/fragment/measurement/PsiphonFragment.java b/app/src/main/java/org/openobservatory/ooniprobe/fragment/measurement/PsiphonFragment.java index ae697cff3..f1e51559a 100644 --- a/app/src/main/java/org/openobservatory/ooniprobe/fragment/measurement/PsiphonFragment.java +++ b/app/src/main/java/org/openobservatory/ooniprobe/fragment/measurement/PsiphonFragment.java @@ -10,7 +10,8 @@ import org.openobservatory.ooniprobe.R; import org.openobservatory.ooniprobe.databinding.FragmentMeasurementPsiphonBinding; import org.openobservatory.ooniprobe.model.database.Measurement; -import ru.noties.markwon.Markwon; + +import io.noties.markwon.Markwon; public class PsiphonFragment extends Fragment { private static final String MEASUREMENT = "measurement"; @@ -28,7 +29,9 @@ public static PsiphonFragment newInstance(Measurement measurement) { Measurement measurement = (Measurement) getArguments().getSerializable(MEASUREMENT); assert measurement != null; FragmentMeasurementPsiphonBinding binding = FragmentMeasurementPsiphonBinding.inflate(inflater,container,false); - Markwon.setMarkdown(binding.desc, + Markwon.builder(getContext()) + .build() + .setMarkdown(binding.desc, measurement.is_anomaly ? getString(R.string.TestResults_Details_Circumvention_Psiphon_Blocked_Content_Paragraph) : getString(R.string.TestResults_Details_Circumvention_Psiphon_Reachable_Content_Paragraph) diff --git a/app/src/main/java/org/openobservatory/ooniprobe/fragment/measurement/RiseupVPNFragment.java b/app/src/main/java/org/openobservatory/ooniprobe/fragment/measurement/RiseupVPNFragment.java index 83670bd5e..32401d0da 100644 --- a/app/src/main/java/org/openobservatory/ooniprobe/fragment/measurement/RiseupVPNFragment.java +++ b/app/src/main/java/org/openobservatory/ooniprobe/fragment/measurement/RiseupVPNFragment.java @@ -10,7 +10,8 @@ import org.openobservatory.ooniprobe.R; import org.openobservatory.ooniprobe.databinding.FragmentMeasurementRiseupvpnBinding; import org.openobservatory.ooniprobe.model.database.Measurement; -import ru.noties.markwon.Markwon; + +import io.noties.markwon.Markwon; public class RiseupVPNFragment extends Fragment { private static final String MEASUREMENT = "measurement"; @@ -28,7 +29,9 @@ public static RiseupVPNFragment newInstance(Measurement measurement) { Measurement measurement = (Measurement) getArguments().getSerializable(MEASUREMENT); assert measurement != null; FragmentMeasurementRiseupvpnBinding binding = FragmentMeasurementRiseupvpnBinding.inflate(inflater,container,false); - Markwon.setMarkdown(binding.desc, + Markwon.builder(getContext()) + .build() + .setMarkdown(binding.desc, measurement.is_anomaly ? getString(R.string.TestResults_Details_Circumvention_RiseupVPN_Blocked_Content_Paragraph) : getString(R.string.TestResults_Details_Circumvention_RiseupVPN_Reachable_Content_Paragraph) diff --git a/app/src/main/java/org/openobservatory/ooniprobe/fragment/measurement/TorFragment.java b/app/src/main/java/org/openobservatory/ooniprobe/fragment/measurement/TorFragment.java index 3b47b9dcd..d859d2eca 100644 --- a/app/src/main/java/org/openobservatory/ooniprobe/fragment/measurement/TorFragment.java +++ b/app/src/main/java/org/openobservatory/ooniprobe/fragment/measurement/TorFragment.java @@ -10,7 +10,8 @@ import org.openobservatory.ooniprobe.R; import org.openobservatory.ooniprobe.databinding.FragmentMeasurementTorBinding; import org.openobservatory.ooniprobe.model.database.Measurement; -import ru.noties.markwon.Markwon; + +import io.noties.markwon.Markwon; public class TorFragment extends Fragment { private static final String MEASUREMENT = "measurement"; @@ -30,7 +31,9 @@ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup c Measurement measurement = (Measurement) getArguments().getSerializable(MEASUREMENT); assert measurement != null; FragmentMeasurementTorBinding binding = FragmentMeasurementTorBinding.inflate(inflater,container,false); - Markwon.setMarkdown(binding.desc, + Markwon.builder(getContext()) + .build() + .setMarkdown(binding.desc, measurement.is_anomaly ? getString(R.string.TestResults_Details_Circumvention_Tor_Blocked_Content_Paragraph) : getString(R.string.TestResults_Details_Circumvention_Tor_Reachable_Content_Paragraph) diff --git a/app/src/main/java/org/openobservatory/ooniprobe/fragment/measurement/WebConnectivityFragment.java b/app/src/main/java/org/openobservatory/ooniprobe/fragment/measurement/WebConnectivityFragment.java index e39131b45..6951ada06 100644 --- a/app/src/main/java/org/openobservatory/ooniprobe/fragment/measurement/WebConnectivityFragment.java +++ b/app/src/main/java/org/openobservatory/ooniprobe/fragment/measurement/WebConnectivityFragment.java @@ -10,7 +10,8 @@ import org.openobservatory.ooniprobe.R; import org.openobservatory.ooniprobe.databinding.FragmentMeasurementWebconnectivityBinding; import org.openobservatory.ooniprobe.model.database.Measurement; -import ru.noties.markwon.Markwon; + +import io.noties.markwon.Markwon; public class WebConnectivityFragment extends Fragment { private static final String MEASUREMENT = "measurement"; @@ -30,10 +31,11 @@ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup c Measurement measurement = (Measurement) getArguments().getSerializable(MEASUREMENT); assert measurement != null; FragmentMeasurementWebconnectivityBinding binding = FragmentMeasurementWebconnectivityBinding.inflate(inflater,container,false); + Markwon markwon = Markwon.builder(getContext()).build(); if (measurement.is_anomaly) - Markwon.setMarkdown(binding.desc, getString(R.string.TestResults_Details_Websites_LikelyBlocked_Content_Paragraph, measurement.url.url, getString(measurement.getTestKeys().getWebsiteBlocking()))); + markwon.setMarkdown(binding.desc, getString(R.string.TestResults_Details_Websites_LikelyBlocked_Content_Paragraph, measurement.url.url, getString(measurement.getTestKeys().getWebsiteBlocking()))); else - Markwon.setMarkdown(binding.desc, getString(R.string.TestResults_Details_Websites_Reachable_Content_Paragraph, measurement.url.url)); + markwon.setMarkdown(binding.desc, getString(R.string.TestResults_Details_Websites_Reachable_Content_Paragraph, measurement.url.url)); return binding.getRoot(); } } diff --git a/app/src/main/java/org/openobservatory/ooniprobe/fragment/onboarding/Onboarding3Fragment.java b/app/src/main/java/org/openobservatory/ooniprobe/fragment/onboarding/Onboarding3Fragment.java index 005204e37..3fe085d54 100644 --- a/app/src/main/java/org/openobservatory/ooniprobe/fragment/onboarding/Onboarding3Fragment.java +++ b/app/src/main/java/org/openobservatory/ooniprobe/fragment/onboarding/Onboarding3Fragment.java @@ -14,7 +14,7 @@ import org.openobservatory.ooniprobe.common.ThirdPartyServices; import org.openobservatory.ooniprobe.common.service.ServiceUtil; import org.openobservatory.ooniprobe.databinding.FragmentOnboarding3Binding; -import ru.noties.markwon.Markwon; +import io.noties.markwon.Markwon; import javax.inject.Inject; @@ -31,7 +31,9 @@ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup c binding.bullet1.setText(getString(R.string.bullet, getString(R.string.Onboarding_DefaultSettings_Bullet_1))); binding.bullet2.setText(getString(R.string.bullet, getString(R.string.Onboarding_DefaultSettings_Bullet_2))); binding.bullet3.setText(getString(R.string.bullet, getString(R.string.Onboarding_DefaultSettings_Bullet_3))); - Markwon.setMarkdown(binding.paragraph, getString(R.string.Onboarding_DefaultSettings_Paragraph)); + Markwon.builder(getContext()) + .build() + .setMarkdown(binding.paragraph, getString(R.string.Onboarding_DefaultSettings_Paragraph)); binding.master.setOnClickListener(v -> masterClick()); binding.slave.setOnClickListener(v -> slaveClick()); diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index e1737e670..a58947f9d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -36,7 +36,7 @@ googlePlaycore = "1.10.3" # OONI compileSdk = "34" lottie = "3.0.7" -markwon = "2.0.1" +markwon = "4.6.2" shapeofview = "1.3.2" targetSdk = "33" minSdk = "21" @@ -69,7 +69,7 @@ mockito-core = { module = "org.mockito:mockito-core", version.ref = "mockitoCore mockito-inline = { module = "org.mockito:mockito-inline", version.ref = "mockitoInline" } lottie = { module = "com.airbnb.android:lottie", version.ref = "lottie" } -markwon = { module = "ru.noties:markwon", version.ref = "markwon" } +markwon-core = { module = "io.noties.markwon:core", version.ref = "markwon" } retrofit-converter-gson = { module = "com.squareup.retrofit2:converter-gson", version.ref = "retrofitCore" } retrofit-logging-interceptor = { module = "com.squareup.okhttp3:logging-interceptor", version.ref = "retrofitLoggingInterceptor" } retrofit-lib = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofitCore" } From 7deb8bfed9d5a383eff3b78535372180865bb2b2 Mon Sep 17 00:00:00 2001 From: Norbel AMBANUMBEN Date: Fri, 3 Nov 2023 08:33:11 +0100 Subject: [PATCH 2/3] Upgrade gradle to `8.1.2` and add support for kotlin and `kapt` (#627) ## Proposed Changes - Upgrade `gradle` to `8.1.2` - Add support for `kotlin` and `kapt` to serve as base for writing kotlin code moving forward --- .github/workflows/archive.yml | 2 +- .github/workflows/build.yml | 2 +- .github/workflows/emulator.yml | 2 +- .github/workflows/test.yml | 2 +- app/build.gradle | 18 +++++++++++------- app/jacoco.gradle | 20 +++++++++++++------- gradle.properties | 3 +++ gradle/libs.versions.toml | 8 ++++---- gradle/wrapper/gradle-wrapper.properties | 2 +- shared-test/build.gradle | 21 +++++++++++++-------- 10 files changed, 49 insertions(+), 31 deletions(-) diff --git a/.github/workflows/archive.yml b/.github/workflows/archive.yml index d41537923..40344f610 100644 --- a/.github/workflows/archive.yml +++ b/.github/workflows/archive.yml @@ -7,7 +7,7 @@ jobs: steps: - uses: actions/setup-java@v2 with: - java-version: '11' + java-version: '17' distribution: 'temurin' - name: checkout uses: actions/checkout@v2 diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6ed6c7a7e..46f49645d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,7 +12,7 @@ jobs: steps: - uses: actions/setup-java@v2 with: - java-version: '11' + java-version: '17' distribution: 'temurin' - name: checkout uses: actions/checkout@v2 diff --git a/.github/workflows/emulator.yml b/.github/workflows/emulator.yml index 0a599c15a..de92c9393 100644 --- a/.github/workflows/emulator.yml +++ b/.github/workflows/emulator.yml @@ -17,7 +17,7 @@ jobs: steps: - uses: actions/setup-java@v2 with: - java-version: '11' + java-version: '17' distribution: 'temurin' - name: checkout uses: actions/checkout@v2 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e678fedd6..f743fca58 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -7,7 +7,7 @@ jobs: steps: - uses: actions/setup-java@v2 with: - java-version: '11' + java-version: '17' distribution: 'temurin' - name: checkout uses: actions/checkout@v2 diff --git a/app/build.gradle b/app/build.gradle index 60987f4f8..e61731ad2 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,6 +1,7 @@ plugins { id 'com.android.application' - id 'org.jetbrains.kotlin.android' + id 'kotlin-android' + id 'kotlin-kapt' } apply from: 'jacoco.gradle' @@ -85,8 +86,11 @@ android { } } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + kotlinOptions { + jvmTarget = JavaVersion.VERSION_17 } buildFeatures { viewBinding = true @@ -111,7 +115,7 @@ dependencies { implementation libs.google.gson // Third-party - annotationProcessor libs.dbflow.processor + kapt libs.dbflow.processor implementation libs.dbflow.core implementation libs.dbflow.lib @@ -136,7 +140,7 @@ dependencies { // Dependency Injection implementation libs.google.dagger - annotationProcessor libs.google.dagger.compiler + kapt libs.google.dagger.compiler // Logger implementation project(':applogger') @@ -153,7 +157,7 @@ dependencies { testImplementation libs.robolectric testImplementation libs.faker testImplementation libs.ooni.oonimkall - testAnnotationProcessor libs.google.dagger.compiler + kaptTest libs.google.dagger.compiler // Instrumentation Testing androidTestImplementation project(':shared-test') @@ -166,7 +170,7 @@ dependencies { androidTestImplementation libs.androidx.espresso.contrib androidTestImplementation libs.androidx.espresso.core androidTestImplementation libs.barista - androidTestAnnotationProcessor libs.google.dagger.compiler + kaptAndroidTest libs.google.dagger.compiler } static def versionCodeDate() { diff --git a/app/jacoco.gradle b/app/jacoco.gradle index f75812752..15b2b36c1 100644 --- a/app/jacoco.gradle +++ b/app/jacoco.gradle @@ -48,13 +48,19 @@ task jacocoAndroidTestReport(type: JacocoReport) { executionData.from += fileTree(dir: codeCoverageDataLocation, includes: ['**/*.ec']) } - reports { - html.enabled true - html.destination file("${buildDir}/reports/coverage") - xml.enabled true - xml.destination file("${buildDir}/reports/coverage.xml") - csv.enabled false - } + reports { + html { + enabled true + destination file("${buildDir}/reports/coverage") + } + xml { + enabled true + destination file("${buildDir}/reports/coverage.xml") + } + csv { + enabled false + } + } doLast { println "Wrote HTML coverage report to ${reports.html.destination}/index.html" diff --git a/gradle.properties b/gradle.properties index 8de505811..a8c570082 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,10 @@ # http://www.gradle.org/docs/current/userguide/build_environment.html # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. +android.defaults.buildfeatures.buildconfig=true android.enableJetifier=true +android.nonFinalResIds=false +android.nonTransitiveRClass=false android.useAndroidX=true org.gradle.jvmargs=-Xmx1536m # When configured, Gradle will run in incubating parallel mode. diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index a58947f9d..2421c03c3 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,16 +1,16 @@ [versions] -androidGradlePlugin = "7.4.1" +androidGradlePlugin = "8.1.2" barista = "3.9.0" countlySdk = "23.6.0" faker = "1.2.8" mockitoCore = "5.3.1" mockitoInline = "4.6.1" -robolectric = "4.6.1" +robolectric = "4.10.3" fastlaneScreengrab = "2.0.0" sentryAndroid = "6.3.0" xanscaleLocalhostToolkit = "19.05.01" commonsIo = "2.6" -jacoco = "0.8.5" +jacoco = "0.8.7" kotlin = "1.8.0" # Android X @@ -29,7 +29,7 @@ androidxEspressoCore = "3.5.1" googleGson = "2.8.9" googleGuava = "30.1.1-android" googleMaterial = "1.6.1" -googleDagger = "2.36" +googleDagger = "2.45" googleFirebaseBon = "26.3.0" googlePlaycore = "1.10.3" diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 2ec77e51a..3a0290794 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/shared-test/build.gradle b/shared-test/build.gradle index 607a28dff..34d70a978 100644 --- a/shared-test/build.gradle +++ b/shared-test/build.gradle @@ -1,18 +1,22 @@ plugins { id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' } android { namespace 'org.openobservatory.ooniprobe.shared.test' - compileSdk 33 + compileSdk libs.versions.compileSdk.get().toInteger() defaultConfig { - minSdk 21 + minSdk libs.versions.minSdk.get().toInteger() } - - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + kotlinOptions { + jvmTarget = JavaVersion.VERSION_17 } flavorDimensions = ['testing', 'license'] productFlavors { @@ -41,12 +45,12 @@ dependencies { // Dependency Injection (https://dagger.dev/) implementation libs.google.dagger - annotationProcessor libs.google.dagger.compiler + kapt libs.google.dagger.compiler // Database Library (https://github.com/agrosner/DBFlow) implementation libs.dbflow.core implementation libs.dbflow.lib - annotationProcessor libs.dbflow.processor + kapt libs.dbflow.processor // Gson Serialization Library (https://github.com/google/gson) implementation libs.google.gson @@ -60,6 +64,7 @@ dependencies { implementation libs.retrofit.logging.interceptor implementation libs.androidx.appcompat + implementation libs.xanscale.localhost.toolkit testImplementation libs.junit4 androidTestImplementation libs.androidx.junit From 3caea0f0a2a6fc794f5eb905bae9527f276554be Mon Sep 17 00:00:00 2001 From: Norbel AMBANUMBEN Date: Fri, 24 Nov 2023 15:10:19 +0100 Subject: [PATCH 3/3] chore: use ooni/probe-cli@v3.19.1 (#635) See https://github.com/ooni/probe-cli/releases/tag/v3.19.1 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 2421c03c3..13d7c2839 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -40,7 +40,7 @@ markwon = "4.6.2" shapeofview = "1.3.2" targetSdk = "33" minSdk = "21" -oonimkall = "2023.10.20-093834" +oonimkall = "2023.11.21-145557" junit = "4.13.2" dbflow = "4.2.4"