From fe0e7166bc00fc88913af2de5009ed9f9787bb23 Mon Sep 17 00:00:00 2001 From: Denis Averin Date: Sat, 21 Mar 2026 17:07:37 +0700 Subject: [PATCH 01/13] Fixing flaky tests --- Makefile | 1 + pom.xml | 47 +++ .../read/set-image-kind/RecognizeBody.java | 2 +- snippets/read/set-quality/RecognizeBody.java | 2 +- .../read/set-target-types/RecognizeBody.java | 2 +- .../cloud/api/GenerateApiUnitTest.java | 339 ++++++++++++++++++ .../cloud/api/RecognizeApiUnitTest.java | 322 +++++++++++++++++ .../barcode/cloud/api/ScanApiUnitTest.java | 227 ++++++++++++ .../barcode/cloud/test/RecognizeApiTest.java | 7 +- test_data/ManyTypes copy.png | Bin 80761 -> 0 bytes test_data/ManyTypes.png | Bin 80761 -> 67995 bytes 11 files changed, 944 insertions(+), 5 deletions(-) create mode 100644 src/test/java/com/aspose/barcode/cloud/api/GenerateApiUnitTest.java create mode 100644 src/test/java/com/aspose/barcode/cloud/api/RecognizeApiUnitTest.java create mode 100644 src/test/java/com/aspose/barcode/cloud/api/ScanApiUnitTest.java delete mode 100644 test_data/ManyTypes copy.png diff --git a/Makefile b/Makefile index 97e73f2..31f9dcc 100644 --- a/Makefile +++ b/Makefile @@ -24,6 +24,7 @@ build: .PHONY: test test: mvn test + mvn dependency:copy-dependencies -DoutputDirectory=target/lib/ ./scripts/run_snippets.sh .PHONY: display-updates diff --git a/pom.xml b/pom.xml index 3ac4fc1..d296c3b 100644 --- a/pom.xml +++ b/pom.xml @@ -141,6 +141,52 @@ + + org.jacoco + jacoco-maven-plugin + ${jacoco.version} + + + prepare-agent + + prepare-agent + + + + report + test + + report + + + + check + test + + check + + + + + CLASS + + com.aspose.barcode.cloud.api.GenerateApi + com.aspose.barcode.cloud.api.RecognizeApi + com.aspose.barcode.cloud.api.ScanApi + + + + METHOD + COVEREDRATIO + 0.81 + + + + + + + + org.codehaus.mojo versions-maven-plugin @@ -202,6 +248,7 @@ 5.3.2 1.0.0 4.13.2 + 0.8.12 2.21.0 UTF-8 diff --git a/snippets/read/set-image-kind/RecognizeBody.java b/snippets/read/set-image-kind/RecognizeBody.java index 60a6fb2..0607d11 100644 --- a/snippets/read/set-image-kind/RecognizeBody.java +++ b/snippets/read/set-image-kind/RecognizeBody.java @@ -43,7 +43,7 @@ public static void main(String[] args) { Arrays.asList(DecodeBarcodeType.QR, DecodeBarcodeType.PDF417), encodedString); - request.setRecognitionMode(RecognitionMode.NORMAL); + request.setRecognitionMode(RecognitionMode.FAST); BarcodeResponseList response = recognizeApi.recognizeBase64(new RecognizeBase64RequestWrapper(request)); diff --git a/snippets/read/set-quality/RecognizeBody.java b/snippets/read/set-quality/RecognizeBody.java index 60a6fb2..0607d11 100644 --- a/snippets/read/set-quality/RecognizeBody.java +++ b/snippets/read/set-quality/RecognizeBody.java @@ -43,7 +43,7 @@ public static void main(String[] args) { Arrays.asList(DecodeBarcodeType.QR, DecodeBarcodeType.PDF417), encodedString); - request.setRecognitionMode(RecognitionMode.NORMAL); + request.setRecognitionMode(RecognitionMode.FAST); BarcodeResponseList response = recognizeApi.recognizeBase64(new RecognizeBase64RequestWrapper(request)); diff --git a/snippets/read/set-target-types/RecognizeBody.java b/snippets/read/set-target-types/RecognizeBody.java index 4874fd6..342296f 100644 --- a/snippets/read/set-target-types/RecognizeBody.java +++ b/snippets/read/set-target-types/RecognizeBody.java @@ -42,7 +42,7 @@ public static void main(String[] args) { new RecognizeBase64Request( Arrays.asList(DecodeBarcodeType.QR, DecodeBarcodeType.CODE128), encodedString); - request.setRecognitionMode(RecognitionMode.NORMAL); + request.setRecognitionMode(RecognitionMode.FAST); BarcodeResponseList response = recognizeApi.recognizeBase64(new RecognizeBase64RequestWrapper(request)); diff --git a/src/test/java/com/aspose/barcode/cloud/api/GenerateApiUnitTest.java b/src/test/java/com/aspose/barcode/cloud/api/GenerateApiUnitTest.java new file mode 100644 index 0000000..321baf0 --- /dev/null +++ b/src/test/java/com/aspose/barcode/cloud/api/GenerateApiUnitTest.java @@ -0,0 +1,339 @@ +package com.aspose.barcode.cloud.api; + +import static org.junit.Assert.*; + +import com.aspose.barcode.cloud.ApiCallback; +import com.aspose.barcode.cloud.ApiClient; +import com.aspose.barcode.cloud.ApiException; +import com.aspose.barcode.cloud.model.*; +import com.aspose.barcode.cloud.requests.GenerateBodyRequestWrapper; +import com.aspose.barcode.cloud.requests.GenerateMultipartRequestWrapper; +import com.aspose.barcode.cloud.requests.GenerateRequestWrapper; + +import okhttp3.Request; + +import org.junit.BeforeClass; +import org.junit.Test; + +import java.io.File; +import java.util.List; +import java.util.Map; + +public class GenerateApiUnitTest { + + private static final String FAKE_TOKEN = "fake-test-token"; + private static GenerateApi api; + + @BeforeClass + public static void setUp() { + ApiClient apiClient = new ApiClient(FAKE_TOKEN); + api = new GenerateApi(apiClient); + } + + // --- Group A: Validation tests --- + + @Test(expected = ApiException.class) + public void testGenerate_NullBarcodeType_ThrowsApiException() throws ApiException { + api.generate(new GenerateRequestWrapper(null, "data")); + } + + @Test(expected = ApiException.class) + public void testGenerate_NullData_ThrowsApiException() throws ApiException { + api.generate(new GenerateRequestWrapper(EncodeBarcodeType.QR, null)); + } + + @Test + public void testGenerate_NullBarcodeType_ErrorMessage() { + try { + api.generate(new GenerateRequestWrapper(null, "data")); + fail("Expected ApiException"); + } catch (ApiException e) { + assertTrue(e.getMessage().contains("request.barcodeType")); + } + } + + @Test + public void testGenerate_NullData_ErrorMessage() { + try { + api.generate(new GenerateRequestWrapper(EncodeBarcodeType.QR, null)); + fail("Expected ApiException"); + } catch (ApiException e) { + assertTrue(e.getMessage().contains("request.data")); + } + } + + @Test(expected = ApiException.class) + public void testGenerateBody_NullParams_ThrowsApiException() throws ApiException { + api.generateBody(new GenerateBodyRequestWrapper(null)); + } + + @Test(expected = ApiException.class) + public void testGenerateMultipart_NullBarcodeType_ThrowsApiException() throws ApiException { + api.generateMultipart(new GenerateMultipartRequestWrapper(null, "data")); + } + + @Test(expected = ApiException.class) + public void testGenerateMultipart_NullData_ThrowsApiException() throws ApiException { + api.generateMultipart(new GenerateMultipartRequestWrapper(EncodeBarcodeType.QR, null)); + } + + // --- Group B: Path construction tests --- + + @Test + public void testGenerateCall_QR_Path() throws ApiException { + GenerateRequestWrapper request = new GenerateRequestWrapper(EncodeBarcodeType.QR, "test"); + Request httpRequest = api.generateCall(request, null, null).request(); + assertTrue(httpRequest.url().toString().contains("/barcode/generate/QR")); + } + + @Test + public void testGenerateCall_Code128_Path() throws ApiException { + GenerateRequestWrapper request = + new GenerateRequestWrapper(EncodeBarcodeType.CODE128, "test"); + Request httpRequest = api.generateCall(request, null, null).request(); + assertTrue(httpRequest.url().toString().contains("/barcode/generate/Code128")); + } + + @Test + public void testGenerateCall_GS1Code128_Path() throws ApiException { + GenerateRequestWrapper request = + new GenerateRequestWrapper(EncodeBarcodeType.GS1_CODE128, "test"); + Request httpRequest = api.generateCall(request, null, null).request(); + assertTrue(httpRequest.url().toString().contains("/barcode/generate/GS1Code128")); + } + + @Test + public void testGenerateCall_AllEnumTypes_Path() throws ApiException { + for (EncodeBarcodeType type : EncodeBarcodeType.values()) { + GenerateRequestWrapper request = new GenerateRequestWrapper(type, "test"); + Request httpRequest = api.generateCall(request, null, null).request(); + String url = httpRequest.url().toString(); + assertTrue( + "URL should contain '" + type.toString() + "' for enum " + type.name(), + url.contains("/barcode/generate/" + type.toString())); + } + } + + @Test + public void testGenerateCall_HttpMethodIsGet() throws ApiException { + GenerateRequestWrapper request = new GenerateRequestWrapper(EncodeBarcodeType.QR, "test"); + Request httpRequest = api.generateCall(request, null, null).request(); + assertEquals("GET", httpRequest.method()); + } + + @Test + public void testGenerateBodyCall_PathAndMethod() throws ApiException { + EncodeData encodeData = new EncodeData("test"); + GenerateParams params = new GenerateParams(EncodeBarcodeType.QR, encodeData); + GenerateBodyRequestWrapper request = new GenerateBodyRequestWrapper(params); + Request httpRequest = api.generateBodyCall(request, null, null).request(); + assertTrue(httpRequest.url().toString().contains("/barcode/generate-body")); + assertEquals("POST", httpRequest.method()); + } + + @Test + public void testGenerateMultipartCall_PathAndMethod() throws ApiException { + GenerateMultipartRequestWrapper request = + new GenerateMultipartRequestWrapper(EncodeBarcodeType.QR, "test"); + Request httpRequest = api.generateMultipartCall(request, null, null).request(); + assertTrue(httpRequest.url().toString().contains("/barcode/generate-multipart")); + assertEquals("POST", httpRequest.method()); + } + + // --- Group C: Query parameter tests --- + + @Test + public void testGenerateCall_RequiredParamsOnly_DefaultsPresent() throws ApiException { + GenerateRequestWrapper request = new GenerateRequestWrapper(EncodeBarcodeType.QR, "hello"); + String url = api.generateCall(request, null, null).request().url().toString(); + + assertTrue(url.contains("data=")); + assertTrue(url.contains("foregroundColor=")); + assertTrue(url.contains("backgroundColor=")); + assertFalse(url.contains("imageFormat=")); + assertFalse(url.contains("textLocation=")); + assertFalse(url.contains("units=")); + assertFalse(url.contains("resolution=")); + assertFalse(url.contains("imageHeight=")); + assertFalse(url.contains("imageWidth=")); + assertFalse(url.contains("rotationAngle=")); + } + + @Test + public void testGenerateCall_WithImageFormat() throws ApiException { + GenerateRequestWrapper request = new GenerateRequestWrapper(EncodeBarcodeType.QR, "test"); + request.imageFormat = BarcodeImageFormat.PNG; + String url = api.generateCall(request, null, null).request().url().toString(); + assertTrue(url.contains("imageFormat=Png")); + } + + @Test + public void testGenerateCall_WithResolution() throws ApiException { + GenerateRequestWrapper request = new GenerateRequestWrapper(EncodeBarcodeType.QR, "test"); + request.resolution = 300.0f; + String url = api.generateCall(request, null, null).request().url().toString(); + assertTrue(url.contains("resolution=300")); + } + + @Test + public void testGenerateCall_WithDataType() throws ApiException { + GenerateRequestWrapper request = new GenerateRequestWrapper(EncodeBarcodeType.QR, "test"); + request.dataType = EncodeDataType.BASE64_BYTES; + String url = api.generateCall(request, null, null).request().url().toString(); + assertTrue(url.contains("dataType=Base64Bytes")); + } + + @Test + public void testGenerateCall_WithAllOptionalParams() throws ApiException { + GenerateRequestWrapper request = new GenerateRequestWrapper(EncodeBarcodeType.QR, "test"); + request.dataType = EncodeDataType.STRING_DATA; + request.imageFormat = BarcodeImageFormat.JPEG; + request.textLocation = CodeLocation.BELOW; + request.foregroundColor = "Red"; + request.backgroundColor = "Blue"; + request.units = GraphicsUnit.PIXEL; + request.resolution = 150.0f; + request.imageHeight = 200.0f; + request.imageWidth = 400.0f; + request.rotationAngle = 90; + + String url = api.generateCall(request, null, null).request().url().toString(); + assertTrue(url.contains("dataType=")); + assertTrue(url.contains("imageFormat=")); + assertTrue(url.contains("textLocation=")); + assertTrue(url.contains("foregroundColor=")); + assertTrue(url.contains("backgroundColor=")); + assertTrue(url.contains("units=")); + assertTrue(url.contains("resolution=")); + assertTrue(url.contains("imageHeight=")); + assertTrue(url.contains("imageWidth=")); + assertTrue(url.contains("rotationAngle=")); + } + + // --- Group D: Content-Type and body tests --- + + @Test + public void testGenerateBodyCall_ContentTypeJson() throws ApiException { + EncodeData encodeData = new EncodeData("test"); + GenerateParams params = new GenerateParams(EncodeBarcodeType.QR, encodeData); + GenerateBodyRequestWrapper request = new GenerateBodyRequestWrapper(params); + Request httpRequest = api.generateBodyCall(request, null, null).request(); + String contentType = httpRequest.header("Content-Type"); + assertTrue(contentType.contains("application/json")); + } + + @Test + public void testGenerateBodyCall_HasBody() throws ApiException { + EncodeData encodeData = new EncodeData("test"); + GenerateParams params = new GenerateParams(EncodeBarcodeType.QR, encodeData); + GenerateBodyRequestWrapper request = new GenerateBodyRequestWrapper(params); + Request httpRequest = api.generateBodyCall(request, null, null).request(); + assertNotNull(httpRequest.body()); + } + + @Test + public void testGenerateMultipartCall_ContentTypeMultipart() throws ApiException { + GenerateMultipartRequestWrapper request = + new GenerateMultipartRequestWrapper(EncodeBarcodeType.QR, "test"); + Request httpRequest = api.generateMultipartCall(request, null, null).request(); + String contentType = httpRequest.header("Content-Type"); + assertTrue(contentType.contains("multipart/form-data")); + } + + @Test + public void testGenerateCall_AuthorizationHeader() throws ApiException { + GenerateRequestWrapper request = new GenerateRequestWrapper(EncodeBarcodeType.QR, "test"); + Request httpRequest = api.generateCall(request, null, null).request(); + assertEquals("Bearer " + FAKE_TOKEN, httpRequest.header("Authorization")); + } + + // --- Group E: Edge cases --- + + @Test + public void testGenerateCall_SpecialCharactersInData() throws ApiException { + GenerateRequestWrapper request = + new GenerateRequestWrapper(EncodeBarcodeType.QR, "Hello World!@#$%"); + Request httpRequest = api.generateCall(request, null, null).request(); + assertNotNull(httpRequest.url()); + } + + @Test + public void testGenerateCall_EmptyStringData() throws ApiException { + GenerateRequestWrapper request = new GenerateRequestWrapper(EncodeBarcodeType.QR, ""); + Request httpRequest = api.generateCall(request, null, null).request(); + assertNotNull(httpRequest.url()); + } + + // --- Group F: Public method coverage --- + + private static final ApiCallback NO_OP_CALLBACK = + new ApiCallback() { + @Override + public void onFailure( + ApiException e, int statusCode, Map> headers) {} + + @Override + public void onSuccess( + File result, int statusCode, Map> headers) {} + + @Override + public void onUploadProgress(long bytesWritten, long contentLength, boolean done) {} + + @Override + public void onDownloadProgress(long bytesRead, long contentLength, boolean done) {} + }; + + @Test(expected = ApiException.class) + public void testGenerate_CallsExecute() throws ApiException { + api.generate(new GenerateRequestWrapper(EncodeBarcodeType.QR, "test")); + } + + @Test(expected = ApiException.class) + public void testGenerateWithHttpInfo_CallsExecute() throws ApiException { + api.generateWithHttpInfo(new GenerateRequestWrapper(EncodeBarcodeType.QR, "test")); + } + + @Test(expected = UnsupportedOperationException.class) + public void testGenerateAsync_CallsEnqueue() throws ApiException { + api.generateAsync(new GenerateRequestWrapper(EncodeBarcodeType.QR, "test"), NO_OP_CALLBACK); + } + + @Test(expected = ApiException.class) + public void testGenerateBody_CallsExecute() throws ApiException { + EncodeData encodeData = new EncodeData("test"); + GenerateParams params = new GenerateParams(EncodeBarcodeType.QR, encodeData); + api.generateBody(new GenerateBodyRequestWrapper(params)); + } + + @Test(expected = ApiException.class) + public void testGenerateBodyWithHttpInfo_CallsExecute() throws ApiException { + EncodeData encodeData = new EncodeData("test"); + GenerateParams params = new GenerateParams(EncodeBarcodeType.QR, encodeData); + api.generateBodyWithHttpInfo(new GenerateBodyRequestWrapper(params)); + } + + @Test(expected = UnsupportedOperationException.class) + public void testGenerateBodyAsync_CallsEnqueue() throws ApiException { + EncodeData encodeData = new EncodeData("test"); + GenerateParams params = new GenerateParams(EncodeBarcodeType.QR, encodeData); + api.generateBodyAsync(new GenerateBodyRequestWrapper(params), NO_OP_CALLBACK); + } + + @Test(expected = ApiException.class) + public void testGenerateMultipart_CallsExecute() throws ApiException { + api.generateMultipart( + new GenerateMultipartRequestWrapper(EncodeBarcodeType.QR, "test")); + } + + @Test(expected = ApiException.class) + public void testGenerateMultipartWithHttpInfo_CallsExecute() throws ApiException { + api.generateMultipartWithHttpInfo( + new GenerateMultipartRequestWrapper(EncodeBarcodeType.QR, "test")); + } + + @Test(expected = UnsupportedOperationException.class) + public void testGenerateMultipartAsync_CallsEnqueue() throws ApiException { + api.generateMultipartAsync( + new GenerateMultipartRequestWrapper(EncodeBarcodeType.QR, "test"), NO_OP_CALLBACK); + } +} diff --git a/src/test/java/com/aspose/barcode/cloud/api/RecognizeApiUnitTest.java b/src/test/java/com/aspose/barcode/cloud/api/RecognizeApiUnitTest.java new file mode 100644 index 0000000..0bc5fec --- /dev/null +++ b/src/test/java/com/aspose/barcode/cloud/api/RecognizeApiUnitTest.java @@ -0,0 +1,322 @@ +package com.aspose.barcode.cloud.api; + +import static org.junit.Assert.*; + +import com.aspose.barcode.cloud.ApiCallback; +import com.aspose.barcode.cloud.ApiClient; +import com.aspose.barcode.cloud.ApiException; +import com.aspose.barcode.cloud.model.BarcodeResponseList; +import com.aspose.barcode.cloud.model.DecodeBarcodeType; +import com.aspose.barcode.cloud.model.RecognizeBase64Request; +import com.aspose.barcode.cloud.model.RecognitionImageKind; +import com.aspose.barcode.cloud.model.RecognitionMode; +import com.aspose.barcode.cloud.requests.RecognizeBase64RequestWrapper; +import com.aspose.barcode.cloud.requests.RecognizeMultipartRequestWrapper; +import com.aspose.barcode.cloud.requests.RecognizeRequestWrapper; + +import okhttp3.Request; + +import org.junit.BeforeClass; +import org.junit.Test; + +import java.io.File; +import java.net.URI; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +public class RecognizeApiUnitTest { + + private static final String FAKE_TOKEN = "fake-test-token"; + private static RecognizeApi api; + + @BeforeClass + public static void setUp() { + ApiClient apiClient = new ApiClient(FAKE_TOKEN); + api = new RecognizeApi(apiClient); + } + + // --- Validation tests --- + + @Test(expected = ApiException.class) + public void testRecognize_NullBarcodeType_ThrowsApiException() throws Exception { + api.recognize(new RecognizeRequestWrapper(null, new URI("https://example.com/img.png"))); + } + + @Test(expected = ApiException.class) + public void testRecognize_NullFileUrl_ThrowsApiException() throws Exception { + api.recognize(new RecognizeRequestWrapper(DecodeBarcodeType.QR, null)); + } + + @Test + public void testRecognize_NullBarcodeType_ErrorMessage() throws Exception { + try { + api.recognize(new RecognizeRequestWrapper(null, new URI("https://example.com/img.png"))); + fail("Expected ApiException"); + } catch (ApiException e) { + assertTrue(e.getMessage().contains("request.barcodeType")); + } + } + + @Test + public void testRecognize_NullFileUrl_ErrorMessage() throws Exception { + try { + api.recognize(new RecognizeRequestWrapper(DecodeBarcodeType.QR, null)); + fail("Expected ApiException"); + } catch (ApiException e) { + assertTrue(e.getMessage().contains("request.fileUrl")); + } + } + + @Test(expected = ApiException.class) + public void testRecognizeBase64_NullRequest_ThrowsApiException() throws ApiException { + api.recognizeBase64(new RecognizeBase64RequestWrapper(null)); + } + + @Test + public void testRecognizeBase64_NullRequest_ErrorMessage() { + try { + api.recognizeBase64(new RecognizeBase64RequestWrapper(null)); + fail("Expected ApiException"); + } catch (ApiException e) { + assertTrue(e.getMessage().contains("request.recognizeBase64Request")); + } + } + + @Test(expected = ApiException.class) + public void testRecognizeMultipart_NullBarcodeType_ThrowsApiException() throws ApiException { + api.recognizeMultipart( + new RecognizeMultipartRequestWrapper(null, new File("dummy.png"))); + } + + @Test(expected = ApiException.class) + public void testRecognizeMultipart_NullFile_ThrowsApiException() throws ApiException { + api.recognizeMultipart( + new RecognizeMultipartRequestWrapper(DecodeBarcodeType.QR, null)); + } + + @Test + public void testRecognizeMultipart_NullBarcodeType_ErrorMessage() { + try { + api.recognizeMultipart( + new RecognizeMultipartRequestWrapper(null, new File("dummy.png"))); + fail("Expected ApiException"); + } catch (ApiException e) { + assertTrue(e.getMessage().contains("request.barcodeType")); + } + } + + @Test + public void testRecognizeMultipart_NullFile_ErrorMessage() { + try { + api.recognizeMultipart( + new RecognizeMultipartRequestWrapper(DecodeBarcodeType.QR, null)); + fail("Expected ApiException"); + } catch (ApiException e) { + assertTrue(e.getMessage().contains("request.file")); + } + } + + // --- Path construction tests --- + + @Test + public void testRecognizeCall_Path() throws Exception { + RecognizeRequestWrapper request = + new RecognizeRequestWrapper( + DecodeBarcodeType.QR, new URI("https://example.com/img.png")); + Request httpRequest = api.recognizeCall(request, null, null).request(); + assertTrue(httpRequest.url().toString().contains("/barcode/recognize")); + } + + @Test + public void testRecognizeCall_HttpMethodIsGet() throws Exception { + RecognizeRequestWrapper request = + new RecognizeRequestWrapper( + DecodeBarcodeType.QR, new URI("https://example.com/img.png")); + Request httpRequest = api.recognizeCall(request, null, null).request(); + assertEquals("GET", httpRequest.method()); + } + + @Test + public void testRecognizeBase64Call_PathAndMethod() throws ApiException { + RecognizeBase64Request body = + new RecognizeBase64Request(Arrays.asList(DecodeBarcodeType.QR), "dGVzdA=="); + RecognizeBase64RequestWrapper request = new RecognizeBase64RequestWrapper(body); + Request httpRequest = api.recognizeBase64Call(request, null, null).request(); + assertTrue(httpRequest.url().toString().contains("/barcode/recognize-body")); + assertEquals("POST", httpRequest.method()); + } + + @Test + public void testRecognizeMultipartCall_PathAndMethod() throws ApiException { + RecognizeMultipartRequestWrapper request = + new RecognizeMultipartRequestWrapper(DecodeBarcodeType.QR, new File("dummy.png")); + Request httpRequest = api.recognizeMultipartCall(request, null, null).request(); + assertTrue(httpRequest.url().toString().contains("/barcode/recognize-multipart")); + assertEquals("POST", httpRequest.method()); + } + + // --- Query parameter tests --- + + @Test + public void testRecognizeCall_QueryContainsBarcodeType() throws Exception { + RecognizeRequestWrapper request = + new RecognizeRequestWrapper( + DecodeBarcodeType.QR, new URI("https://example.com/img.png")); + String url = api.recognizeCall(request, null, null).request().url().toString(); + assertTrue(url.contains("barcodeType=")); + } + + @Test + public void testRecognizeCall_QueryContainsFileUrl() throws Exception { + RecognizeRequestWrapper request = + new RecognizeRequestWrapper( + DecodeBarcodeType.QR, new URI("https://example.com/img.png")); + String url = api.recognizeCall(request, null, null).request().url().toString(); + assertTrue(url.contains("fileUrl=")); + } + + @Test + public void testRecognizeCall_WithOptionalParams() throws Exception { + RecognizeRequestWrapper request = + new RecognizeRequestWrapper( + DecodeBarcodeType.QR, new URI("https://example.com/img.png")); + request.recognitionMode = RecognitionMode.FAST; + request.recognitionImageKind = RecognitionImageKind.CLEAR_IMAGE; + String url = api.recognizeCall(request, null, null).request().url().toString(); + assertTrue(url.contains("recognitionMode=")); + assertTrue(url.contains("recognitionImageKind=")); + } + + @Test + public void testRecognizeCall_WithoutOptionalParams() throws Exception { + RecognizeRequestWrapper request = + new RecognizeRequestWrapper( + DecodeBarcodeType.QR, new URI("https://example.com/img.png")); + String url = api.recognizeCall(request, null, null).request().url().toString(); + assertFalse(url.contains("recognitionMode=")); + assertFalse(url.contains("recognitionImageKind=")); + } + + // --- Content-Type tests --- + + @Test + public void testRecognizeBase64Call_ContentTypeJson() throws ApiException { + RecognizeBase64Request body = + new RecognizeBase64Request(Arrays.asList(DecodeBarcodeType.QR), "dGVzdA=="); + RecognizeBase64RequestWrapper request = new RecognizeBase64RequestWrapper(body); + Request httpRequest = api.recognizeBase64Call(request, null, null).request(); + String contentType = httpRequest.header("Content-Type"); + assertTrue(contentType.contains("application/json")); + } + + @Test + public void testRecognizeBase64Call_HasBody() throws ApiException { + RecognizeBase64Request body = + new RecognizeBase64Request(Arrays.asList(DecodeBarcodeType.QR), "dGVzdA=="); + RecognizeBase64RequestWrapper request = new RecognizeBase64RequestWrapper(body); + Request httpRequest = api.recognizeBase64Call(request, null, null).request(); + assertNotNull(httpRequest.body()); + } + + @Test + public void testRecognizeMultipartCall_ContentTypeMultipart() throws ApiException { + RecognizeMultipartRequestWrapper request = + new RecognizeMultipartRequestWrapper(DecodeBarcodeType.QR, new File("dummy.png")); + Request httpRequest = api.recognizeMultipartCall(request, null, null).request(); + String contentType = httpRequest.header("Content-Type"); + assertTrue(contentType.contains("multipart/form-data")); + } + + @Test + public void testRecognizeCall_AuthorizationHeader() throws Exception { + RecognizeRequestWrapper request = + new RecognizeRequestWrapper( + DecodeBarcodeType.QR, new URI("https://example.com/img.png")); + Request httpRequest = api.recognizeCall(request, null, null).request(); + assertEquals("Bearer " + FAKE_TOKEN, httpRequest.header("Authorization")); + } + + // --- Public method coverage --- + + private static final ApiCallback NO_OP_CALLBACK = + new ApiCallback() { + @Override + public void onFailure( + ApiException e, int statusCode, Map> headers) {} + + @Override + public void onSuccess( + BarcodeResponseList result, + int statusCode, + Map> headers) {} + + @Override + public void onUploadProgress(long bytesWritten, long contentLength, boolean done) {} + + @Override + public void onDownloadProgress(long bytesRead, long contentLength, boolean done) {} + }; + + @Test(expected = ApiException.class) + public void testRecognize_CallsExecute() throws Exception { + api.recognize( + new RecognizeRequestWrapper( + DecodeBarcodeType.QR, new URI("https://example.com/img.png"))); + } + + @Test(expected = ApiException.class) + public void testRecognizeWithHttpInfo_CallsExecute() throws Exception { + api.recognizeWithHttpInfo( + new RecognizeRequestWrapper( + DecodeBarcodeType.QR, new URI("https://example.com/img.png"))); + } + + @Test(expected = UnsupportedOperationException.class) + public void testRecognizeAsync_CallsEnqueue() throws Exception { + api.recognizeAsync( + new RecognizeRequestWrapper( + DecodeBarcodeType.QR, new URI("https://example.com/img.png")), + NO_OP_CALLBACK); + } + + @Test(expected = ApiException.class) + public void testRecognizeBase64_CallsExecute() throws ApiException { + RecognizeBase64Request body = + new RecognizeBase64Request(Arrays.asList(DecodeBarcodeType.QR), "dGVzdA=="); + api.recognizeBase64(new RecognizeBase64RequestWrapper(body)); + } + + @Test(expected = ApiException.class) + public void testRecognizeBase64WithHttpInfo_CallsExecute() throws ApiException { + RecognizeBase64Request body = + new RecognizeBase64Request(Arrays.asList(DecodeBarcodeType.QR), "dGVzdA=="); + api.recognizeBase64WithHttpInfo(new RecognizeBase64RequestWrapper(body)); + } + + @Test(expected = UnsupportedOperationException.class) + public void testRecognizeBase64Async_CallsEnqueue() throws ApiException { + RecognizeBase64Request body = + new RecognizeBase64Request(Arrays.asList(DecodeBarcodeType.QR), "dGVzdA=="); + api.recognizeBase64Async(new RecognizeBase64RequestWrapper(body), NO_OP_CALLBACK); + } + + @Test(expected = ApiException.class) + public void testRecognizeMultipart_CallsExecute() throws ApiException { + api.recognizeMultipart( + new RecognizeMultipartRequestWrapper(DecodeBarcodeType.QR, new File("dummy.png"))); + } + + @Test(expected = ApiException.class) + public void testRecognizeMultipartWithHttpInfo_CallsExecute() throws ApiException { + api.recognizeMultipartWithHttpInfo( + new RecognizeMultipartRequestWrapper(DecodeBarcodeType.QR, new File("dummy.png"))); + } + + @Test(expected = UnsupportedOperationException.class) + public void testRecognizeMultipartAsync_CallsEnqueue() throws ApiException { + api.recognizeMultipartAsync( + new RecognizeMultipartRequestWrapper(DecodeBarcodeType.QR, new File("dummy.png")), + NO_OP_CALLBACK); + } +} diff --git a/src/test/java/com/aspose/barcode/cloud/api/ScanApiUnitTest.java b/src/test/java/com/aspose/barcode/cloud/api/ScanApiUnitTest.java new file mode 100644 index 0000000..61cfacd --- /dev/null +++ b/src/test/java/com/aspose/barcode/cloud/api/ScanApiUnitTest.java @@ -0,0 +1,227 @@ +package com.aspose.barcode.cloud.api; + +import static org.junit.Assert.*; + +import com.aspose.barcode.cloud.ApiCallback; +import com.aspose.barcode.cloud.ApiClient; +import com.aspose.barcode.cloud.ApiException; +import com.aspose.barcode.cloud.model.ScanBase64Request; +import com.aspose.barcode.cloud.requests.ScanBase64RequestWrapper; +import com.aspose.barcode.cloud.requests.ScanMultipartRequestWrapper; +import com.aspose.barcode.cloud.requests.ScanRequestWrapper; + +import okhttp3.Request; + +import org.junit.BeforeClass; +import org.junit.Test; + +import com.aspose.barcode.cloud.model.BarcodeResponseList; + +import java.io.File; +import java.net.URI; +import java.util.List; +import java.util.Map; + +public class ScanApiUnitTest { + + private static final String FAKE_TOKEN = "fake-test-token"; + private static ScanApi api; + + @BeforeClass + public static void setUp() { + ApiClient apiClient = new ApiClient(FAKE_TOKEN); + api = new ScanApi(apiClient); + } + + // --- Validation tests --- + + @Test(expected = ApiException.class) + public void testScan_NullFileUrl_ThrowsApiException() throws Exception { + api.scan(new ScanRequestWrapper(null)); + } + + @Test + public void testScan_NullFileUrl_ErrorMessage() throws Exception { + try { + api.scan(new ScanRequestWrapper(null)); + fail("Expected ApiException"); + } catch (ApiException e) { + assertTrue(e.getMessage().contains("request.fileUrl")); + } + } + + @Test(expected = ApiException.class) + public void testScanBase64_NullRequest_ThrowsApiException() throws ApiException { + api.scanBase64(new ScanBase64RequestWrapper(null)); + } + + @Test + public void testScanBase64_NullRequest_ErrorMessage() { + try { + api.scanBase64(new ScanBase64RequestWrapper(null)); + fail("Expected ApiException"); + } catch (ApiException e) { + assertTrue(e.getMessage().contains("request.scanBase64Request")); + } + } + + @Test(expected = ApiException.class) + public void testScanMultipart_NullFile_ThrowsApiException() throws ApiException { + api.scanMultipart(new ScanMultipartRequestWrapper(null)); + } + + @Test + public void testScanMultipart_NullFile_ErrorMessage() { + try { + api.scanMultipart(new ScanMultipartRequestWrapper(null)); + fail("Expected ApiException"); + } catch (ApiException e) { + assertTrue(e.getMessage().contains("request.file")); + } + } + + // --- Path construction tests --- + + @Test + public void testScanCall_Path() throws Exception { + ScanRequestWrapper request = new ScanRequestWrapper(new URI("https://example.com/img.png")); + Request httpRequest = api.scanCall(request, null, null).request(); + assertTrue(httpRequest.url().toString().contains("/barcode/scan")); + } + + @Test + public void testScanCall_HttpMethodIsGet() throws Exception { + ScanRequestWrapper request = new ScanRequestWrapper(new URI("https://example.com/img.png")); + Request httpRequest = api.scanCall(request, null, null).request(); + assertEquals("GET", httpRequest.method()); + } + + @Test + public void testScanBase64Call_PathAndMethod() throws ApiException { + ScanBase64Request body = new ScanBase64Request("dGVzdA=="); + ScanBase64RequestWrapper request = new ScanBase64RequestWrapper(body); + Request httpRequest = api.scanBase64Call(request, null, null).request(); + assertTrue(httpRequest.url().toString().contains("/barcode/scan-body")); + assertEquals("POST", httpRequest.method()); + } + + @Test + public void testScanMultipartCall_PathAndMethod() throws ApiException { + ScanMultipartRequestWrapper request = new ScanMultipartRequestWrapper(new File("dummy.png")); + Request httpRequest = api.scanMultipartCall(request, null, null).request(); + assertTrue(httpRequest.url().toString().contains("/barcode/scan-multipart")); + assertEquals("POST", httpRequest.method()); + } + + // --- Query parameter tests --- + + @Test + public void testScanCall_QueryContainsFileUrl() throws Exception { + ScanRequestWrapper request = new ScanRequestWrapper(new URI("https://example.com/img.png")); + String url = api.scanCall(request, null, null).request().url().toString(); + assertTrue(url.contains("fileUrl=")); + } + + // --- Content-Type tests --- + + @Test + public void testScanBase64Call_ContentTypeJson() throws ApiException { + ScanBase64Request body = new ScanBase64Request("dGVzdA=="); + ScanBase64RequestWrapper request = new ScanBase64RequestWrapper(body); + Request httpRequest = api.scanBase64Call(request, null, null).request(); + String contentType = httpRequest.header("Content-Type"); + assertTrue(contentType.contains("application/json")); + } + + @Test + public void testScanBase64Call_HasBody() throws ApiException { + ScanBase64Request body = new ScanBase64Request("dGVzdA=="); + ScanBase64RequestWrapper request = new ScanBase64RequestWrapper(body); + Request httpRequest = api.scanBase64Call(request, null, null).request(); + assertNotNull(httpRequest.body()); + } + + @Test + public void testScanMultipartCall_ContentTypeMultipart() throws ApiException { + ScanMultipartRequestWrapper request = new ScanMultipartRequestWrapper(new File("dummy.png")); + Request httpRequest = api.scanMultipartCall(request, null, null).request(); + String contentType = httpRequest.header("Content-Type"); + assertTrue(contentType.contains("multipart/form-data")); + } + + @Test + public void testScanCall_AuthorizationHeader() throws Exception { + ScanRequestWrapper request = new ScanRequestWrapper(new URI("https://example.com/img.png")); + Request httpRequest = api.scanCall(request, null, null).request(); + assertEquals("Bearer " + FAKE_TOKEN, httpRequest.header("Authorization")); + } + + // --- Public method coverage --- + + private static final ApiCallback NO_OP_CALLBACK = + new ApiCallback() { + @Override + public void onFailure( + ApiException e, int statusCode, Map> headers) {} + + @Override + public void onSuccess( + BarcodeResponseList result, + int statusCode, + Map> headers) {} + + @Override + public void onUploadProgress(long bytesWritten, long contentLength, boolean done) {} + + @Override + public void onDownloadProgress(long bytesRead, long contentLength, boolean done) {} + }; + + @Test(expected = ApiException.class) + public void testScan_CallsExecute() throws Exception { + api.scan(new ScanRequestWrapper(new URI("https://example.com/img.png"))); + } + + @Test(expected = ApiException.class) + public void testScanWithHttpInfo_CallsExecute() throws Exception { + api.scanWithHttpInfo(new ScanRequestWrapper(new URI("https://example.com/img.png"))); + } + + @Test(expected = UnsupportedOperationException.class) + public void testScanAsync_CallsEnqueue() throws Exception { + api.scanAsync( + new ScanRequestWrapper(new URI("https://example.com/img.png")), NO_OP_CALLBACK); + } + + @Test(expected = ApiException.class) + public void testScanBase64_CallsExecute() throws ApiException { + api.scanBase64(new ScanBase64RequestWrapper(new ScanBase64Request("dGVzdA=="))); + } + + @Test(expected = ApiException.class) + public void testScanBase64WithHttpInfo_CallsExecute() throws ApiException { + api.scanBase64WithHttpInfo(new ScanBase64RequestWrapper(new ScanBase64Request("dGVzdA=="))); + } + + @Test(expected = UnsupportedOperationException.class) + public void testScanBase64Async_CallsEnqueue() throws ApiException { + api.scanBase64Async( + new ScanBase64RequestWrapper(new ScanBase64Request("dGVzdA==")), NO_OP_CALLBACK); + } + + @Test(expected = ApiException.class) + public void testScanMultipart_CallsExecute() throws ApiException { + api.scanMultipart(new ScanMultipartRequestWrapper(new File("dummy.png"))); + } + + @Test(expected = ApiException.class) + public void testScanMultipartWithHttpInfo_CallsExecute() throws ApiException { + api.scanMultipartWithHttpInfo(new ScanMultipartRequestWrapper(new File("dummy.png"))); + } + + @Test(expected = UnsupportedOperationException.class) + public void testScanMultipartAsync_CallsEnqueue() throws ApiException { + api.scanMultipartAsync( + new ScanMultipartRequestWrapper(new File("dummy.png")), NO_OP_CALLBACK); + } +} diff --git a/src/test/java/com/aspose/barcode/cloud/test/RecognizeApiTest.java b/src/test/java/com/aspose/barcode/cloud/test/RecognizeApiTest.java index aa97df5..5851faf 100644 --- a/src/test/java/com/aspose/barcode/cloud/test/RecognizeApiTest.java +++ b/src/test/java/com/aspose/barcode/cloud/test/RecognizeApiTest.java @@ -84,14 +84,17 @@ public void testBarcodeRecognizeMultipartPost() throws Exception { RecognizeMultipartRequestWrapper request = new RecognizeMultipartRequestWrapper(DecodeBarcodeType.MOST_COMMONLY_USED, file); request.recognitionImageKind = RecognitionImageKind.CLEAR_IMAGE; - request.recognitionMode = RecognitionMode.NORMAL; + request.recognitionMode = RecognitionMode.FAST; BarcodeResponseList response; try { response = api.recognizeMultipart(request); } catch (ApiException e) { throw new AssertionError( - "recognizeMultipart failed: httpCode=" + e.getHttpCode() + ", details=" + e.getDetails(), + "recognizeMultipart failed: httpCode=" + + e.getHttpCode() + + ", details=" + + e.getDetails(), e); } diff --git a/test_data/ManyTypes copy.png b/test_data/ManyTypes copy.png deleted file mode 100644 index c305181df819c14d8b90293f53406eb24b7d802f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80761 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 GkpBaxRLFe* diff --git a/test_data/ManyTypes.png b/test_data/ManyTypes.png index c305181df819c14d8b90293f53406eb24b7d802f..c60e586750953ffa77d5d675754b9ea311a7559e 100644 GIT binary patch literal 67995 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 GkpBaxRLFe* From 01c254d288b9806506a7adf5ab4c2df952a5c98f Mon Sep 17 00:00:00 2001 From: Denis Averin Date: Sat, 21 Mar 2026 20:59:37 +0700 Subject: [PATCH 02/13] Add android-test/ module with Gradle-based Android library that tests --- .github/workflows/android-test.yml | 26 +++ .github/workflows/maven.yml | 7 +- .gitignore | 3 + android-test/build.gradle | 24 +++ .../gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59203 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 + android-test/gradlew | 185 ++++++++++++++++++ android-test/gradlew.bat | 89 +++++++++ android-test/settings.gradle | 15 ++ android-test/src/main/AndroidManifest.xml | 2 + 10 files changed, 355 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/android-test.yml create mode 100644 android-test/build.gradle create mode 100644 android-test/gradle/wrapper/gradle-wrapper.jar create mode 100644 android-test/gradle/wrapper/gradle-wrapper.properties create mode 100644 android-test/gradlew create mode 100644 android-test/gradlew.bat create mode 100644 android-test/settings.gradle create mode 100644 android-test/src/main/AndroidManifest.xml diff --git a/.github/workflows/android-test.yml b/.github/workflows/android-test.yml new file mode 100644 index 0000000..484784e --- /dev/null +++ b/.github/workflows/android-test.yml @@ -0,0 +1,26 @@ +name: Android Compatibility + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + build-android: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Set up Java 17 for AGP + uses: actions/setup-java@v4 + with: + distribution: 'temurin' + java-version: 17 + cache: 'gradle' + + - name: Build Java library JAR + run: mvn package -Dmaven.test.skip=true + + - name: Build Android module + run: cd android-test && ./gradlew build diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 3eb934b..68b7171 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -13,15 +13,18 @@ jobs: test: runs-on: ubuntu-latest + strategy: + matrix: + java-version: [11, 21] steps: - uses: actions/checkout@v4 - - name: Set up JDK 11 + - name: Set up JDK ${{ matrix.java-version }} uses: actions/setup-java@v4 with: # Use same in Dockerfile distribution: 'corretto' - java-version: 11 + java-version: ${{ matrix.java-version }} cache: 'maven' - name: Maven Compile diff --git a/.gitignore b/.gitignore index 236b512..f8b29b9 100644 --- a/.gitignore +++ b/.gitignore @@ -10,7 +10,10 @@ build aspose-barcode-cloud.iml !tools/* +!**/gradle-wrapper.jar .idea +.gradle +local.properties **/configuration*.json snippets_test/ diff --git a/android-test/build.gradle b/android-test/build.gradle new file mode 100644 index 0000000..22b1805 --- /dev/null +++ b/android-test/build.gradle @@ -0,0 +1,24 @@ +plugins { + id 'com.android.library' version '9.1.0' +} + +android { + namespace 'com.aspose.barcode.cloud.androidtest' + compileSdk 35 + + defaultConfig { + minSdk 23 + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } +} + +dependencies { + implementation files('../target/aspose-barcode-cloud-26.3.0.jar') + testImplementation 'junit:junit:4.13.2' + androidTestImplementation 'androidx.test.ext:junit:1.1.5' +} diff --git a/android-test/gradle/wrapper/gradle-wrapper.jar b/android-test/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..e708b1c023ec8b20f512888fe07c5bd3ff77bb8f GIT binary patch literal 59203 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

K7UpUK$>l@ zw`1S}(D?mUXu_C{wupRS-jiX~w=Uqqhf|Vb3Cm9L=T+w91Cu^ z*&Ty%sN?x*h~mJc4g~k{xD4ZmF%FXZNC;oVDwLZ_WvrnzY|{v8hc1nmx4^}Z;yriXsAf+Lp+OFLbR!&Ox?xABwl zu8w&|5pCxmu#$?Cv2_-Vghl2LZ6m7}VLEfR5o2Ou$x02uA-%QB2$c(c1rH3R9hesc zfpn#oqpbKuVsdfV#cv@5pV4^f_!WS+F>SV6N0JQ9E!T90EX((_{bSSFv9ld%I0&}9 zH&Jd4MEX1e0iqDtq~h?DBrxQX1iI0lIs<|kB$Yrh&cpeK0-^K%=FBsCBT46@h#yi!AyDq1V(#V}^;{{V*@T4WJ&U-NTq43w=|K>z8%pr_nC>%C(Wa_l78Ufib$r8Od)IIN=u>417 z`Hl{9A$mI5A(;+-Q&$F&h-@;NR>Z<2U;Y21>>Z;s@0V@SbkMQQj%_;~+qTuQ?c|AV zcWm3XZQHhP&R%QWarS%mJ!9R^&!_)*s(v+VR@I#QrAT}`17Y+l<`b-nvmDNW`De%y zrwTZ9EJrj1AFA>B`1jYDow}~*dfPs}IZMO3=a{Fy#IOILc8F0;JS4x(k-NSpbN@qM z`@aE_e}5{!$v3+qVs7u?sOV(y@1Os*Fgu`fCW9=G@F_#VQ%xf$hj0~wnnP0$hFI+@ zkQj~v#V>xn)u??YutKsX>pxKCl^p!C-o?+9;!Nug^ z{rP!|+KsP5%uF;ZCa5F;O^9TGac=M|=V z_H(PfkV1rz4jl?gJ(ArXMyWT4y(86d3`$iI4^l9`vLdZkzpznSd5Ikfrs8qcSy&>z zTIZgWZGXw0n9ibQxYWE@gI0(3#KA-dAdPcsL_|hg2@~C!VZDM}5;v_Nykfq!*@*Zf zE_wVgx82GMDryKO{U{D>vSzSc%B~|cjDQrt5BN=Ugpsf8H8f1lR4SGo#hCuXPL;QQ z#~b?C4MoepT3X`qdW2dNn& zo8)K}%Lpu>0tQei+{>*VGErz|qjbK#9 zvtd8rcHplw%YyQCKR{kyo6fgg!)6tHUYT(L>B7er5)41iG`j$qe*kSh$fY!PehLcD zWeKZHn<492B34*JUQh=CY1R~jT9Jt=k=jCU2=SL&&y5QI2uAG2?L8qd2U(^AW#{(x zThSy=C#>k+QMo^7caQcpU?Qn}j-`s?1vXuzG#j8(A+RUAY})F@=r&F(8nI&HspAy4 z4>(M>hI9c7?DCW8rw6|23?qQMSq?*Vx?v30U%luBo)B-k2mkL)Ljk5xUha3pK>EEj z@(;tH|M@xkuN?gsz;*bygizwYR!6=(Xgcg^>WlGtRYCozY<rFX2E>kaZo)O<^J7a`MX8Pf`gBd4vrtD|qKn&B)C&wp0O-x*@-|m*0egT=-t@%dD zgP2D+#WPptnc;_ugD6%zN}Z+X4=c61XNLb7L1gWd8;NHrBXwJ7s0ce#lWnnFUMTR& z1_R9Fin4!d17d4jpKcfh?MKRxxQk$@)*hradH2$3)nyXep5Z;B z?yX+-Bd=TqO2!11?MDtG0n(*T^!CIiF@ZQymqq1wPM_X$Iu9-P=^}v7npvvPBu!d$ z7K?@CsA8H38+zjA@{;{kG)#AHME>Ix<711_iQ@WWMObXyVO)a&^qE1GqpP47Q|_AG zP`(AD&r!V^MXQ^e+*n5~Lp9!B+#y3#f8J^5!iC@3Y@P`;FoUH{G*pj*q7MVV)29+j z>BC`a|1@U_v%%o9VH_HsSnM`jZ-&CDvbiqDg)tQEnV>b%Ptm)T|1?TrpIl)Y$LnG_ zzKi5j2Fx^K^PG1=*?GhK;$(UCF-tM~^=Z*+Wp{FSuy7iHt9#4n(sUuHK??@v+6*|10Csdnyg9hAsC5_OrSL;jVkLlf zHXIPukLqbhs~-*oa^gqgvtpgTk_7GypwH><53riYYL*M=Q@F-yEPLqQ&1Sc zZB%w}T~RO|#jFjMWcKMZccxm-SL)s_ig?OC?y_~gLFj{n8D$J_Kw%{r0oB8?@dWzn zB528d-wUBQzrrSSLq?fR!K%59Zv9J4yCQhhDGwhptpA5O5U?Hjqt>8nOD zi{)0CI|&Gu%zunGI*XFZh(ix)q${jT8wnnzbBMPYVJc4HX*9d^mz|21$=R$J$(y7V zo0dxdbX3N#=F$zjstTf*t8vL)2*{XH!+<2IJ1VVFa67|{?LP&P41h$2i2;?N~RA30LV`BsUcj zfO9#Pg1$t}7zpv#&)8`mis3~o+P(DxOMgz-V*(?wWaxi?R=NhtW}<#^Z?(BhSwyar zG|A#Q7wh4OfK<|DAcl9THc-W4*>J4nTevsD%dkj`U~wSUCh15?_N@uMdF^Kw+{agk zJ`im^wDqj`Ev)W3k3stasP`88-M0ZBs7;B6{-tSm3>I@_e-QfT?7|n0D~0RRqDb^G zyHb=is;IwuQ&ITzL4KsP@Z`b$d%B0Wuhioo1CWttW8yhsER1ZUZzA{F*K=wmi-sb#Ju+j z-l@In^IKnb{bQG}Ps>+Vu_W#grNKNGto+yjA)?>0?~X`4I3T@5G1)RqGUZuP^NJCq&^HykuYtMDD8qq+l8RcZNJsvN(10{ zQ1$XcGt}QH-U^WU!-wRR1d--{B$%vY{JLWIV%P4-KQuxxDeJaF#{eu&&r!3Qu{w}0f--8^H|KwE>)ORrcR+2Qf zb})DRcH>k0zWK8@{RX}NYvTF;E~phK{+F;MkIP$)T$93Ba2R2TvKc>`D??#mv9wg$ zd~|-`Qx5LwwsZ2hb*Rt4S9dsF%Cny5<1fscy~)d;0m2r$f=83<->c~!GNyb!U)PA; zq^!`@@)UaG)Ew(9V?5ZBq#c%dCWZrplmuM`o~TyHjAIMh0*#1{B>K4po-dx$Tk-Cq z=WZDkP5x2W&Os`N8KiYHRH#UY*n|nvd(U>yO=MFI-2BEp?x@=N<~CbLJBf6P)}vLS?xJXYJ2^<3KJUdrwKnJnTp{ zjIi|R=L7rn9b*D#Xxr4*R<3T5AuOS+#U8hNlfo&^9JO{VbH!v9^JbK=TCGR-5EWR@ zN8T-_I|&@A}(hKeL4_*eb!1G8p~&_Im8|wc>Cdir+gg90n1dw?QaXcx6Op_W1r=axRw>4;rM*UOpT#Eb9xU1IiWo@h?|5uP zka>-XW0Ikp@dIe;MN8B01a7+5V@h3WN{J=HJ*pe0uwQ3S&MyWFni47X32Q7SyCTNQ z+sR!_9IZa5!>f&V$`q!%H8ci!a|RMx5}5MA_kr+bhtQy{-^)(hCVa@I!^TV4RBi zAFa!Nsi3y37I5EK;0cqu|9MRj<^r&h1lF}u0KpKQD^5Y+LvFEwM zLU@@v4_Na#Axy6tn3P%sD^5P#<7F;sd$f4a7LBMk zGU^RZHBcxSA%kCx*eH&wgA?Qwazm8>9SCSz_!;MqY-QX<1@p$*T8lc?@`ikEqJ>#w zcG``^CoFMAhdEXT9qt47g0IZkaU)4R7wkGs^Ax}usqJ5HfDYAV$!=6?>J6+Ha1I<5 z|6=9soU4>E))tW$<#>F ziZ$6>KJf0bPfbx_)7-}tMINlc=}|H+$uX)mhC6-Hz+XZxsKd^b?RFB6et}O#+>Wmw9Ec9) z{q}XFWp{3@qmyK*Jvzpyqv57LIR;hPXKsrh{G?&dRjF%Zt5&m20Ll?OyfUYC3WRn{cgQ?^V~UAv+5 z&_m#&nIwffgX1*Z2#5^Kl4DbE#NrD&Hi4|7SPqZ}(>_+JMz=s|k77aEL}<=0Zfb)a z%F(*L3zCA<=xO)2U3B|pcTqDbBoFp>QyAEU(jMu8(jLA61-H!ucI804+B!$E^cQQa z)_ERrW3g!B9iLb3nn3dlkvD7KsY?sRvls3QC0qPi>o<)GHx%4Xb$5a3GBTJ(k@`e@ z$RUa^%S15^1oLEmA=sayrP5;9qtf!Z1*?e$ORVPsXpL{jL<6E)0sj&swP3}NPmR%FM?O>SQgN5XfHE< zo(4#Cv11(%Nnw_{_Ro}r6=gKd{k?NebJ~<~Kv0r(r0qe4n3LFx$5%x(BKvrz$m?LG zjLIc;hbj0FMdb9aH9Lpsof#yG$(0sG2%RL;d(n>;#jb!R_+dad+K;Ccw!|RY?uS(a zj~?=&M!4C(5LnlH6k%aYvz@7?xRa^2gml%vn&eKl$R_lJ+e|xsNfXzr#xuh(>`}9g zLHSyiFwK^-p!;p$yt7$F|3*IfO3Mlu9e>Dpx8O`37?fA`cj`C0B-m9uRhJjs^mRp# zWB;Aj6|G^1V6`jg7#7V9UFvnB4((nIwG?k%c7h`?0tS8J3Bn0t#pb#SA}N-|45$-j z$R>%7cc2ebAClXc(&0UtHX<>pd)akR3Kx_cK+n<}FhzmTx!8e9^u2e4%x{>T6pQ`6 zO182bh$-W5A3^wos0SV_TgPmF4WUP-+D25KjbC{y_6W_9I2_vNKwU(^qSdn&>^=*t z&uvp*@c8#2*paD!ZMCi3;K{Na;I4Q35zw$YrW5U@Kk~)&rw;G?d7Q&c9|x<Hg|CNMsxovmfth*|E*GHezPTWa^Hd^F4!B3sF;)? z(NaPyAhocu1jUe(!5Cy|dh|W2=!@fNmuNOzxi^tE_jAtzNJ0JR-avc_H|ve#KO}#S z#a(8secu|^Tx553d4r@3#6^MHbH)vmiBpn0X^29xEv!Vuh1n(Sr5I0V&`jA2;WS|Y zbf0e}X|)wA-Pf5gBZ>r4YX3Mav1kKY(ulAJ0Q*jB)YhviHK)w!TJsi3^dMa$L@^{` z_De`fF4;M87vM3Ph9SzCoCi$#Fsd38u!^0#*sPful^p5oI(xGU?yeYjn;Hq1!wzFk zG&2w}W3`AX4bxoVm03y>ts{KaDf!}b&7$(P4KAMP=vK5?1In^-YYNtx1f#}+2QK@h zeSeAI@E6Z8a?)>sZ`fbq9_snl6LCu6g>o)rO;ijp3|$vig+4t} zylEo7$SEW<_U+qgVcaVhk+4k+C9THI5V10qV*dOV6pPtAI$)QN{!JRBKh-D zk2^{j@bZ}yqW?<#VVuI_27*cI-V~sJiqQv&m07+10XF+#ZnIJdr8t`9s_EE;T2V;B z4UnQUH9EdX%zwh-5&wflY#ve!IWt0UE-My3?L#^Bh%kcgP1q{&26eXLn zTkjJ*w+(|_>Pq0v8{%nX$QZbf)tbJaLY$03;MO=Ic-uqYUmUCuXD>J>o6BCRF=xa% z3R4SK9#t1!K4I_d>tZgE>&+kZ?Q}1qo4&h%U$GfY058s%*=!kac{0Z+4Hwm!)pFLR zJ+5*OpgWUrm0FPI2ib4NPJ+Sk07j(`diti^i#kh&f}i>P4~|d?RFb#!JN)~D@)beox}bw?4VCf^y*`2{4`-@%SFTry2h z>9VBc9#JxEs1+0i2^LR@B1J`B9Ac=#FW=(?2;5;#U$0E0UNag_!jY$&2diQk_n)bT zl5Me_SUvqUjwCqmVcyb`igygB_4YUB*m$h5oeKv3uIF0sk}~es!{D>4r%PC*F~FN3owq5e0|YeUTSG#Vq%&Gk7uwW z0lDo#_wvflqHeRm*}l?}o;EILszBt|EW*zNPmq#?4A+&i0xx^?9obLyY4xx=Y9&^G;xYXYPxG)DOpPg!i_Ccl#3L}6xAAZzNhPK1XaC_~ z!A|mlo?Be*8Nn=a+FhgpOj@G7yYs(Qk(8&|h@_>w8Y^r&5nCqe0V60rRz?b5%J;GYeBqSAjo|K692GxD4` zRZyM2FdI+-jK2}WAZTZ()w_)V{n5tEb@>+JYluDozCb$fA4H)$bzg(Ux{*hXurjO^ zwAxc+UXu=&JV*E59}h3kzQPG4M)X8E*}#_&}w*KEgtX)cU{vm9b$atHa;s>| z+L6&cn8xUL*OSjx4YGjf6{Eq+Q3{!ZyhrL&^6Vz@jGbI%cAM9GkmFlamTbcQGvOlL zmJ?(FI)c86=JEs|*;?h~o)88>12nXlpMR4@yh%qdwFNpct;vMlc=;{FSo*apJ;p}! zAX~t;3tb~VuP|ZW;z$=IHf->F@Ml)&-&Bnb{iQyE#;GZ@C$PzEf6~q}4D>9jic@mTO5x76ulDz@+XAcm35!VSu zT*Gs>;f0b2TNpjU_BjHZ&S6Sqk6V1370+!eppV2H+FY!q*n=GHQ!9Rn6MjY!Jc77A zG7Y!lFp8?TIHN!LXO?gCnsYM-gQxsm=Ek**VmZu7vnuufD7K~GIxfxbsQ@qv2T zPa`tvHB$fFCyZl>3oYg?_wW)C>^_iDOc^B7klnTOoytQH18WkOk)L2BSD0r%xgRSW zQS9elF^?O=_@|58zKLK;(f77l-Zzu}4{fXed2saq!5k#UZAoDBqYQS{sn@j@Vtp|$ zG%gnZ$U|9@u#w1@11Sjl8ze^Co=)7yS(}=;68a3~g;NDe_X^}yJj;~s8xq9ahQ5_r zxAlTMnep*)w1e(TG%tWsjo3RR;yVGPEO4V{Zp?=a_0R#=V^ioQu4YL=BO4r0$$XTX zZfnw#_$V}sDAIDrezGQ+h?q24St0QNug_?{s-pI(^jg`#JRxM1YBV;a@@JQvH8*>> zIJvku74E0NlXkYe_624>znU0J@L<-c=G#F3k4A_)*;ky!C(^uZfj%WB3-*{*B$?9+ zDm$WFp=0(xnt6`vDQV3Jl5f&R(Mp};;q8d3I%Kn>Kx=^;uSVCw0L=gw53%Bp==8Sw zxtx=cs!^-_+i{2OK`Q;913+AXc_&Z5$@z3<)So0CU3;JAv=H?@Zpi~riQ{z-zLtVL z!oF<}@IgJp)Iyz1zVJ42!SPHSkjYNS4%ulVVIXdRuiZ@5Mx8LJS}J#qD^Zi_xQ@>DKDr-_e#>5h3dtje*NcwH_h;i{Sx7}dkdpuW z(yUCjckQsagv*QGMSi9u1`Z|V^}Wjf7B@q%j2DQXyd0nOyqg%m{CK_lAoKlJ7#8M} z%IvR?Vh$6aDWK2W!=i?*<77q&B8O&3?zP(Cs@kapc)&p7En?J;t-TX9abGT#H?TW? ztO5(lPKRuC7fs}zwcUKbRh=7E8wzTsa#Z{a`WR}?UZ%!HohN}d&xJ=JQhpO1PI#>X zHkb>pW04pU%Bj_mf~U}1F1=wxdBZu1790>3Dm44bQ#F=T4V3&HlOLsGH)+AK$cHk6 zia$=$kog?)07HCL*PI6}DRhpM^*%I*kHM<#1Se+AQ!!xyhcy6j7`iDX7Z-2i73_n# zas*?7LkxS-XSqv;YBa zW_n*32D(HTYQ0$feV_Fru1ZxW0g&iwqixPX3=9t4o)o|kOo79V$?$uh?#8Q8e>4e)V6;_(x&ViUVxma+i25qea;d-oK7ouuDsB^ab{ zu1qjQ%`n56VtxBE#0qAzb7lph`Eb-}TYpXB!H-}3Ykqyp`otprp7{VEuW*^IR2n$Fb99*nAtqT&oOFIf z@w*6>YvOGw@Ja?Pp1=whZqydzx@9X4n^2!n83C5{C?G@|E?&$?p*g68)kNvUTJ)I6 z1Q|(#UuP6pj78GUxq11m-GSszc+)X{C2eo-?8ud9sB=3(D47v?`JAa{V(IF zPZQ_0AY*9M97>Jf<o%#O_%Wq}8>YM=q0|tGY+hlXcpE=Z4Od z`NT7Hu2hnvRoqOw@g1f=bv`+nba{GwA$Ak0INlqI1k<9!x_!sL()h?hEWoWrdU3w` zZ%%)VR+Bc@_v!C#koM1p-3v_^L6)_Ktj4HE>aUh%2XZE@JFMOn)J~c`_7VWNb9c-N z2b|SZMR4Z@E7j&q&9(6H3yjEu6HV7{2!1t0lgizD;mZ9$r(r7W5G$ky@w(T_dFnOD z*p#+z$@pKE+>o@%eT(2-p_C}wbQ5s(%Sn_{$HDN@MB+Ev?t@3dPy`%TZ!z}AThZSu zN<1i$siJhXFdjV zP*y|V<`V8t=h#XTRUR~5`c`Z9^-`*BZf?WAehGdg)E2Je)hqFa!k{V(u+(hTf^Yq& zoruUh2(^3pe)2{bvt4&4Y9CY3js)PUHtd4rVG57}uFJL)D(JfSIo^{P=7liFXG zq5yqgof0V8paQcP!gy+;^pp-DA5pj=gbMN0eW=-eY+N8~y+G>t+x}oa!5r>tW$xhI zPQSv=pi;~653Gvf6~*JcQ%t1xOrH2l3Zy@8AoJ+wz@daW@m7?%LXkr!bw9GY@ns3e zSfuWF_gkWnesv?s3I`@}NgE2xwgs&rj?kH-FEy82=O8`+szN ziHch`vvS`zNfap14!&#i9H@wF7}yIPm=UB%(o(}F{wsZ(wA0nJ2aD^@B41>>o-_U6 zUqD~vdo48S8~FTb^+%#zcbQiiYoDKYcj&$#^;Smmb+Ljp(L=1Kt_J!;0s%1|JK}Wi z;={~oL!foo5n8=}rs6MmUW~R&;SIJO3TL4Ky?kh+b2rT9B1Jl4>#Uh-Bec z`Hsp<==#UEW6pGPhNk8H!!DUQR~#F9jEMI6T*OWfN^Ze&X(4nV$wa8QUJ>oTkruH# zm~O<`J7Wxseo@FqaZMl#Y(mrFW9AHM9Kb|XBMqaZ2a)DvJgYipkDD_VUF_PKd~dT7 z#02}bBfPn9a!X!O#83=lbJSK#E}K&yx-HI#T6ua)6o0{|={*HFusCkHzs|Fn&|C3H zBck1cmfcWVUN&i>X$YU^Sn6k2H;r3zuXbJFz)r5~3$d$tUj(l1?o={MM){kjgqXRO zc5R*#{;V7AQh|G|)jLM@wGAK&rm2~@{Pewv#06pHbKn#wL0P6F1!^qw9g&cW3Z=9} zj)POhOlwsh@eF=>z?#sIs*C-Nl(yU!#DaiaxhEs#iJqQ8w%(?+6lU02MYSeDkr!B- zPjMv+on6OLXgGnAtl(ao>|X2Y8*Hb}GRW5}-IzXnoo-d0!m4Vy$GS!XOLy>3_+UGs z2D|YcQx@M#M|}TDOetGi{9lGo9m-=0-^+nKE^*?$^uHkxZh}I{#UTQd;X!L+W@jm( zDg@N4+lUqI92o_rNk{3P>1gxAL=&O;x)ZT=q1mk0kLlE$WeWuY_$0`0jY-Kkt zP*|m3AF}Ubd=`<>(Xg0har*_@x2YH}bn0Wk*OZz3*e5;Zc;2uBdnl8?&XjupbkOeNZsNh6pvsq_ydmJI+*z**{I{0K)-;p1~k8cpJXL$^t!-`E}=*4G^-E8>H!LjTPxSx zcF+cS`ommfKMhNSbas^@YbTpH1*RFrBuATUR zt{oFWSk^$xU&kbFQ;MCX22RAN5F6eq9UfR$ut`Jw--p2YX)A*J69m^!oYfj2y7NYcH6&r+0~_sH^c^nzeN1AU4Ga7=FlR{S|Mm~MpzY0$Z+p2W(a={b-pR9EO1Rs zB%KY|@wLcAA@)KXi!d2_BxrkhDn`DT1=Dec}V!okd{$+wK z4E{n8R*xKyci1(CnNdhf$Dp2(Jpof0-0%-38X=Dd9PQgT+w%Lshx9+loPS~MOm%ZT zt%2B2iL_KU_ita%N>xjB!#71_3=3c}o zgeW~^U_ZTJQ2!PqXulQd=3b=XOQhwATK$y(9$#1jOQ4}4?~l#&nek)H(04f(Sr=s| zWv7Lu1=%WGk4FSw^;;!8&YPM)pQDCY9DhU`hMty1@sq1=Tj7bFsOOBZOFlpR`W>-J$-(kezWJj;`?x-v>ev{*8V z8p|KXJPV$HyQr1A(9LVrM47u-XpcrIyO`yWvx1pVYc&?154aneRpLqgx)EMvRaa#|9?Wwqs2+W8n5~79G z(}iCiLk;?enn}ew`HzhG+tu+Ru@T+K5juvZN)wY;x6HjvqD!&!)$$;1VAh~7fg0K| zEha#aN=Yv|3^~YFH}cc38ovVb%L|g@9W6fo(JtT6$fa?zf@Ct88e}m?i)b*Jgc{fl zExfdvw-BYDmH6>(4QMt#p0;FUIQqkhD}aH?a7)_%JtA~soqj{ppP_82yi9kaxuK>~ ze_)Zt>1?q=ZH*kF{1iq9sr*tVuy=u>Zev}!gEZx@O6-fjyu9X00gpIl-fS_pzjpqJ z1yqBmf9NF!jaF<+YxgH6oXBdK)sH(>VZ)1siyA$P<#KDt;8NT*l_0{xit~5j1P)FN zI8hhYKhQ)i z37^aP13B~u65?sg+_@2Kr^iWHN=U;EDSZ@2W2!5ALhGNWXnFBY%7W?1 z=HI9JzQ-pLKZDYTv<0-lt|6c-RwhxZ)mU2Os{bsX_i^@*fKUj8*aDO5pks=qn3Dv6 zwggpKLuyRCTVPwmw1r}B#AS}?X7b837UlXwp~E2|PJw2SGVueL7){Y&z!jL!XN=0i zU^Eig`S2`{+gU$68aRdWx?BZ{sU_f=8sn~>s~M?GU~`fH5kCc; z8ICp+INM3(3{#k32RZdv6b9MQYdZXNuk7ed8;G?S2nT+NZBG=Tar^KFl2SvhW$bGW#kdWL-I)s_IqVnCDDM9fm8g;P;8 z7t4yZn3^*NQfx7SwmkzP$=fwdC}bafQSEF@pd&P8@H#`swGy_rz;Z?Ty5mkS%>m#% zp_!m9e<()sfKiY(nF<1zBz&&`ZlJf6QLvLhl`_``%RW&{+O>Xhp;lwSsyRqGf=RWd zpftiR`={2(siiPAS|p}@q=NhVc0ELprt%=fMXO3B)4ryC2LT(o=sLM7hJC!}T1@)E zA3^J$3&1*M6Xq>03FX`R&w*NkrZE?FwU+Muut;>qNhj@bX17ZJxnOlPSZ=Zeiz~T_ zOu#yc3t6ONHB;?|r4w+pI)~KGN;HOGC)txxiUN8#mexj+W(cz%9a4sx|IRG=}ia zuEBuba3AHsV2feqw-3MvuL`I+2|`Ud4~7ZkN=JZ;L20|Oxna5vx1qbIh#k2O4$RQF zo`tL()zxaqibg^GbB+BS5#U{@K;WWQj~GcB1zb}zJkPwH|5hZ9iH2308!>_;%msji zJHSL~s)YHBR=Koa1mLEOHos*`gp=s8KA-C zu0aE+W!#iJ*0xqKm3A`fUGy#O+X+5W36myS>Uh2!R*s$aCU^`K&KKLCCDkejX2p=5 z%o7-fl03x`gaSNyr?3_JLv?2RLS3F*8ub>Jd@^Cc17)v8vYEK4aqo?OS@W9mt%ITJ z9=S2%R8M){CugT@k~~0x`}Vl!svYqX=E)c_oU6o}#Hb^%G1l3BudxA{F*tbjG;W_>=xV73pKY53v%>I)@D36I_@&p$h|Aw zonQS`07z_F#@T-%@-Tb|)7;;anoD_WH>9ewFy(ZcEOM$#Y)8>qi7rCnsH9GO-_7zF zu*C87{Df1P4TEOsnzZ@H%&lvV(3V@;Q!%+OYRp`g05PjY^gL$^$-t0Y>H*CDDs?FZly*oZ&dxvsxaUWF!{em4{A>n@vpXg$dwvt@_rgmHF z-MER`ABa8R-t_H*kv>}CzOpz;!>p^^9ztHMsHL|SRnS<-y5Z*r(_}c4=fXF`l^-i}>e7v!qs_jv zqvWhX^F=2sDNWA9c@P0?lUlr6ecrTKM%pNQ^?*Lq?p-0~?_j50xV%^(+H>sMul#Tw zeciF*1=?a7cI(}352%>LO96pD+?9!fNyl^9v3^v&Y4L)mNGK0FN43&Xf8jUlxW1Bw zyiu2;qW-aGNhs=zbuoxnxiwZ3{PFZM#Kw)9H@(hgX23h(`Wm~m4&TvoZoYp{plb^> z_#?vXcxd>r7K+1HKJvhed>gtK`TAbJUazUWQY6T~t2af%#<+Veyr%7-#*A#@&*;@g58{i|E%6yC_InGXCOd{L0;$)z#?n7M`re zh!kO{6=>7I?*}czyF7_frt#)s1CFJ_XE&VrDA?Dp3XbvF{qsEJgb&OLSNz_5g?HpK z9)8rsr4JN!Af3G9!#Qn(6zaUDqLN(g2g8*M)Djap?WMK9NKlkC)E2|-g|#-rp%!Gz zAHd%`iq|81efi93m3yTBw3g0j#;Yb2X{mhRAI?&KDmbGqou(2xiRNb^sV}%%Wu0?< z?($L>(#BO*)^)rSgyNRni$i`R4v;GhlCZ8$@e^ROX(p=2_v6Y!%^As zu022)fHdv_-~Yu_H6WVPLpHQx!W%^6j)cBhS`O3QBW#x(eX54d&I22op(N59b*&$v zFiSRY6rOc^(dgSV1>a7-5C;(5S5MvKcM2Jm-LD9TGqDpP097%52V+0>Xqq!! zq4e3vj53SE6i8J`XcQB|MZPP8j;PAOnpGnllH6#Ku~vS42xP*Nz@~y%db7Xi8s09P z1)e%8ys6&M8D=Dt6&t`iKG_4X=!kgRQoh%Z`dc&mlOUqXk-k`jKv9@(a^2-Upw>?< zt5*^DV~6Zedbec4NVl($2T{&b)zA@b#dUyd>`2JC0=xa_fIm8{5um zr-!ApXZhC8@=vC2WyxO|!@0Km)h8ep*`^he92$@YwP>VcdoS5OC^s38e#7RPsg4j+ zbVGG}WRSET&ZfrcR(x~k8n1rTP%CnfUNKUonD$P?FtNFF#cn!wEIab-;jU=B1dHK@ z(;(yAQJ`O$sMn>h;pf^8{JISW%d+@v6@CnXh9n5TXGC}?FI9i-D0OMaIg&mAg=0Kn zNJ7oz5*ReJukD55fUsMuaP+H4tDN&V9zfqF@ zr=#ecUk9wu{0;!+gl;3Bw=Vn^)z$ahVhhw)io!na&9}LmWurLb0zubxK=UEnU*{5P z+SP}&*(iBKSO4{alBHaY^)5Q=mZ+2OwIooJ7*Q5XJ+2|q`9#f?6myq!&oz?klihLq z4C)$XP!BNS0G_Z1&TM>?Jk{S~{F3n83ioli=IO6f%wkvCl(RFFw~j0tb{GvXTx>*sB0McY0s&SNvj4+^h`9nJ_wM>F!Uc>X}9PifQekn0sKI2SAJP!a4h z5cyGTuCj3ZBM^&{dRelIlT^9zcfaAuL5Y~bl!ppSf`wZbK$z#6U~rdclk``e+!qhe z6Qspo*%<)eu6?C;Bp<^VuW6JI|Ncvyn+LlSl;Mp22Bl7ARQ0Xc24%29(ZrdsIPw&-=yHQ7_Vle|5h>AST0 zUGX2Zk34vp?U~IHT|;$U86T+UUHl_NE4m|}>E~6q``7hccCaT^#y+?wD##Q%HwPd8 zV3x4L4|qqu`B$4(LXqDJngNy-{&@aFBvVsywt@X^}iH7P%>bR?ciC$I^U-4Foa`YKI^qDyGK7k%E%c_P=yzAi`YnxGA%DeNd++j3*h^ z=rn>oBd0|~lZ<6YvmkKY*ZJlJ;Im0tqgWu&E92eqt;+NYdxx`eS(4Hw_Jb5|yVvBg z*tbdY^!AN;luEyN4VRhS@-_DC{({ziH{&Z}iGElSV~qvT>L-8G%+yEL zX#MFOhj{InyKG=mvW-<1B@c-}x$vA(nU?>S>0*eN#!SLzQ)Ex7fvQ)S4D<8|I#N$3 zT5Ei`Z?cxBODHX8(Xp73v`IsAYC@9b;t}z0wxVuQSY1J^GRwDPN@qbM-ZF48T$GZ< z8WU+;Pqo?{ghI-KZ-i*ydXu`Ep0Xw^McH_KE9J0S7G;x8Fe`DVG?j3Pv=0YzJ}yZR z%2=oqHiUjvuk0~Ca>Kol4CFi0_xQT~;_F?=u+!kIDl-9g`#ZNZ9HCy17Ga1v^Jv9# z{T4Kb1-AzUxq*MutfOWWZgD*HnFfyYg0&e9f(5tZ>krPF6{VikNeHoc{linPPt#Si z&*g>(c54V8rT_AX!J&bNm-!umPvOR}vDai#`CX___J#=zeB*{4<&2WpaDncZsOkp* zsg<%@@rbrMkR_ux9?LsQxzoBa1s%$BBn6vk#{&&zUwcfzeCBJUwFYSF$08qDsB;gWQN*g!p8pxjofWbqNSZOEKOaTx@+* zwdt5*Q47@EOZ~EZL9s?1o?A%9TJT=Ob_13yyugvPg*e&ZU(r6^k4=2+D-@n=Hv5vu zSXG|hM(>h9^zn=eQ=$6`JO&70&2|%V5Lsx>)(%#;pcOfu>*nk_3HB_BNaH$`jM<^S zcSftDU1?nL;jy)+sfonQN}(}gUW?d_ikr*3=^{G)=tjBtEPe>TO|0ddVB zTklrSHiW+!#26frPXQQ(YN8DG$PZo?(po(QUCCf_OJC`pw*uey00%gmH!`WJkrKXj2!#6?`T25mTu9OJp2L8z3! z=arrL$ZqxuE{%yV)14Kd>k}j7pxZ6#$Dz8$@WV5p8kTqN<-7W)Q7Gt2{KoOPK_tZ| zf2WG~O5@{qPI+W<4f_;reuFVdO^5`ADC1!JQE|N`s3cq@(0WB!n0uh@*c{=LAd;~} zyGK@hbF-Oo+!nN)@i*O(`@FA#u?o=~e{`4O#5}z&=UkU*50fOrzi11D^&FOqe>wii z?*k+2|EcUs;Gx{!@KBT~>PAwLrIDT7Th=Utu?~?np@t^gFs?zgX=D${RwOY^WGh-+ z+#4$066ISh8eYW#FXWp~S`<*%O^ZuItL1Tyqt8#tZ zY120E;^VG`!lZn&3sPd$RkdHpU#|w+bYV)pJC|SH9g%|5IkxVTQcBA4CL0}$&}ef@ zW^Vtj%M;;_1xxP9x#ex17&4N*{ksO*_4O}xYu(p*JkL#yr}@7b)t5X?%CY<+s5_MJ zuiqt+N_;A(_)%lumoyRFixWa-M7qK_9s6<1X?JDa9fP!+_6u~~M$5L=ipB=7(j#f< zZ34J%=bs549%~_mA(|={uZNs_0?o7;-LBP(ZRnkd{-^|2|=4vUTmtByHL8 zEph`(LSEzQj68a+`d$V<45J7cyv^#|^|%fD#si1Nx!4NW*`l*{->HEWNh6-|g>-=r zXmQ|-i}Ku$ndUeHQ^&ieT!Lf}vf6GaqW9$DJ2NWrqwPY%%4nip$@vK$nRp*_C-v<| zuKz~ZyN&<%!NS26&x?jhy+@awJipMQ-8(X4#Ae5??U<1QMt1l9R=w9fAnEF}NYu$2 z>6}Vkc zIb*A?G*z8^IvibmBKn_u^5&T_1oey0gZS2~obf(#xk=erZGTEdQnt3DMGM+0oPwss zj5zXD;(oWhB_T@~Ig#9@v)AKtXu3>Inmgf@A|-lD-1U>cNyl3h?ADD9)GG4}zUGPk zZzaXe!~Kf?<~@$G?Uql3t8jy9{2!doq4=J}j9ktTxss{p6!9UdjyDERlA*xZ!=Q)KDs5O)phz>Vq3BNGoM(H|=1*Q4$^2fTZw z(%nq1P|5Rt81}SYJpEEzMPl5VJsV5&4e)ZWKDyoZ>1EwpkHx-AQVQc8%JMz;{H~p{=FXV>jIxvm4X*qv52e?Y-f%DJ zxEA165GikEASQ^fH6K#d!Tpu2HP{sFs%E=e$gYd$aj$+xue6N+Wc(rAz~wUsk2`(b z8Kvmyz%bKQxpP}~baG-rwYcYCvkHOi zlkR<=>ZBTU*8RF_d#Bl@zZsRIhx<%~Z@Z=ik z>adw3!DK(8R|q$vy{FTxw%#xliD~6qXmY^7_9kthVPTF~Xy1CfBqbU~?1QmxmU=+k z(ggxvEuA;0e&+ci-zQR{-f7aO{O(Pz_OsEjLh_K>MbvoZ4nxtk5u{g@nPv)cgW_R} z9}EA4K4@z0?7ue}Z(o~R(X&FjejUI2g~08PH1E4w>9o{)S(?1>Z0XMvTb|;&EuyOE zGvWNpYX)Nv<8|a^;1>bh#&znEcl-r!T#pn= z4$?Yudha6F%4b>*8@=BdtXXY4N+`U4Dmx$}>HeVJk-QdTG@t!tVT#0(LeV0gvqyyw z2sEp^9eY0N`u10Tm4n8No&A=)IeEC|gnmEXoNSzu!1<4R<%-9kY_8~5Ej?zRegMn78wuMs#;i&eUA0Zk_RXQ3b&TT} z;SCI=7-FUB@*&;8|n>(_g^HGf3@QODE3LpmX~ELnymQm{Sx9xrKS zK29p~?v@R$0=v6Dr5aW>-!{+h@?Q58|Kz8{{W`%J+lDAdb&M5VHrX_mDY;1-JLnf)ezmPau$)1;=`-FU=-r-83tX=C`S#}GZufju zQ>sXNT0Ny=k@nc%cFnvA_i4SC)?_ORXHq8B4D%el1uPX`c~uG#S1M7C+*MMqLw78E zhY2dI8@+N^qrMI1+;TUda(vGqGSRyU{Fnm`aqrr7bz42c5xsOO-~oZpkzorD1g}Y<6rk&3>PsSGy}W?MtqFky@A(X# zIuNZK0cK?^=;PUAu>j0#HtjbHCV*6?jzA&OoE$*Jlga*}LF`SF?WLhv1O|zqC<>*> zYB;#lsYKx0&kH@BFpW8n*yDcc6?;_zaJs<-jPSkCsSX-!aV=P5kUgF@Nu<{a%#K*F z134Q{9|YX7X(v$62_cY3^G%t~rD>Q0z@)1|zs)vjJ6Jq9;7#Ki`w+eS**En?7;n&7 zu==V3T&eFboN3ZiMx3D8qYc;VjFUk_H-WWCau(VFXSQf~viH0L$gwD$UfFHqNcgN`x}M+YQ6RnN<+@t>JUp#)9YOkqst-Ga?{FsDpEeX0(5v{0J~SEbWiL zXC2}M4?UH@u&|;%0y`eb33ldo4~z-x8zY!oVmV=c+f$m?RfDC35mdQ2E>Pze7KWP- z>!Bh<&57I+O_^s}9Tg^k)h7{xx@0a0IA~GAOt2yy!X%Q$1rt~LbTB6@Du!_0%HV>N zlf)QI1&gvERKwso23mJ!Ou6ZS#zCS5W`gxE5T>C#E|{i<1D35C222I33?Njaz`On7 zi<+VWFP6D{e-{yiN#M|Jgk<44u1TiMI78S5W`Sdb5f+{zu34s{CfWN7a3Cf^@L%!& zN$?|!!9j2c)j$~+R6n#891w-z8(!oBpL2K=+%a$r2|~8-(vQj5_XT`<0Ksf;oP+tz z9CObS!0m)Tgg`K#xBM8B(|Z)Wb&DYL{WTYv`;A=q6~Nnx2+!lTIXtj8J7dZE!P_{z z#f8w6F}^!?^KE#+ZDv+xd5O&3EmomZzsv?>E-~ygGum45fk!SBN&|eo1rKw^?aZJ4 E2O(~oYXATM literal 0 HcmV?d00001 diff --git a/android-test/gradle/wrapper/gradle-wrapper.properties b/android-test/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..8eb3695 --- /dev/null +++ b/android-test/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Fri Jan 27 19:13:42 YEKT 2023 +distributionBase=GRADLE_USER_HOME +distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-bin.zip +distributionPath=wrapper/dists +zipStorePath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME diff --git a/android-test/gradlew b/android-test/gradlew new file mode 100644 index 0000000..4f906e0 --- /dev/null +++ b/android-test/gradlew @@ -0,0 +1,185 @@ +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=`expr $i + 1` + done + case $i in + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=`save "$@"` + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +exec "$JAVACMD" "$@" diff --git a/android-test/gradlew.bat b/android-test/gradlew.bat new file mode 100644 index 0000000..107acd3 --- /dev/null +++ b/android-test/gradlew.bat @@ -0,0 +1,89 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/android-test/settings.gradle b/android-test/settings.gradle new file mode 100644 index 0000000..2f9bfa6 --- /dev/null +++ b/android-test/settings.gradle @@ -0,0 +1,15 @@ +pluginManagement { + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} +dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) + repositories { + google() + mavenCentral() + } +} +rootProject.name = 'android-test' diff --git a/android-test/src/main/AndroidManifest.xml b/android-test/src/main/AndroidManifest.xml new file mode 100644 index 0000000..8072ee0 --- /dev/null +++ b/android-test/src/main/AndroidManifest.xml @@ -0,0 +1,2 @@ + + From 10783a5386f7b327be6d48a0491b9f15797d44c6 Mon Sep 17 00:00:00 2001 From: Denis Averin <59285247+Denis-Averin@users.noreply.github.com> Date: Sun, 22 Mar 2026 00:44:18 +0700 Subject: [PATCH 03/13] Set executable bit for gradlew --- android-test/gradlew | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 android-test/gradlew diff --git a/android-test/gradlew b/android-test/gradlew old mode 100644 new mode 100755 From a3d56b5375b93a9465e2c274a79bc7f7bc1393b9 Mon Sep 17 00:00:00 2001 From: Denis Averin Date: Sun, 22 Mar 2026 02:07:09 +0700 Subject: [PATCH 04/13] Use Gradle Managed Devices to run unit tests on Android runtime Switch android-test module from JVM tests to androidTest with Gradle Managed Devices (ATD API 30). Reuses existing unit tests from src/test/java/api/ via sourceSets. CI workflow boots headless emulator via pixel2api30DebugAndroidTest to catch ICU regex incompatibilities. --- .github/workflows/android-test.yml | 19 ++++++++++++++----- android-test/build.gradle | 25 ++++++++++++++++++++++++- 2 files changed, 38 insertions(+), 6 deletions(-) diff --git a/.github/workflows/android-test.yml b/.github/workflows/android-test.yml index 484784e..aa42fbf 100644 --- a/.github/workflows/android-test.yml +++ b/.github/workflows/android-test.yml @@ -7,13 +7,13 @@ on: branches: [ main ] jobs: - build-android: + android-test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Set up Java 17 for AGP - uses: actions/setup-java@v4 + + - uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: 17 @@ -22,5 +22,14 @@ jobs: - name: Build Java library JAR run: mvn package -Dmaven.test.skip=true - - name: Build Android module - run: cd android-test && ./gradlew build + - name: Enable KVM + run: | + echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules + sudo udevadm control --reload-rules + sudo udevadm trigger --name-match=kvm + + - name: Run Android Tests + working-directory: android-test + run: > + ./gradlew pixel2api30DebugAndroidTest + -Pandroid.testoptions.manageddevices.emulator.gpu=swiftshader_indirect diff --git a/android-test/build.gradle b/android-test/build.gradle index 22b1805..d655463 100644 --- a/android-test/build.gradle +++ b/android-test/build.gradle @@ -15,10 +15,33 @@ android { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } + + sourceSets { + androidTest { + java { + srcDirs = ['../src/test/java'] + include 'com/aspose/barcode/cloud/api/**' + } + } + } + + testOptions { + managedDevices { + localDevices { + pixel2api30 { + device = "Pixel 2" + apiLevel = 30 + systemImageSource = "aosp-atd" + } + } + } + } } dependencies { implementation files('../target/aspose-barcode-cloud-26.3.0.jar') - testImplementation 'junit:junit:4.13.2' + androidTestImplementation 'junit:junit:4.13.2' + androidTestImplementation 'androidx.test:runner:1.5.2' androidTestImplementation 'androidx.test.ext:junit:1.1.5' + androidTestImplementation 'com.squareup.okhttp3:okhttp:5.3.2' } From 50e2d9ccd610a0e94f6479304acc86e567414a1b Mon Sep 17 00:00:00 2001 From: Denis Averin Date: Sun, 22 Mar 2026 02:11:51 +0700 Subject: [PATCH 05/13] Added Accept Android SDK Licenses step before KVM setup. --- .github/workflows/android-test.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/android-test.yml b/.github/workflows/android-test.yml index aa42fbf..aada252 100644 --- a/.github/workflows/android-test.yml +++ b/.github/workflows/android-test.yml @@ -22,6 +22,9 @@ jobs: - name: Build Java library JAR run: mvn package -Dmaven.test.skip=true + - name: Accept Android SDK Licenses + run: yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --licenses + - name: Enable KVM run: | echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules From 3be2d8237689bfbb5fb3d5adf7933c65585c59ba Mon Sep 17 00:00:00 2001 From: Denis Averin Date: Sun, 22 Mar 2026 02:22:14 +0700 Subject: [PATCH 06/13] Fix Android test: add library deps and exclude integration tests Add gson, gson-fire, okhttp, swagger-annotations as implementation deps so they're packaged into the test APK. Use exclude instead of include to filter out integration test packages that need API tokens. --- .github/workflows/android-test.yml | 8 ++--- .github/workflows/check-badges.yml | 10 +++---- .github/workflows/check-style.yml | 18 +++++------ .github/workflows/maven.yml | 48 ++++++++++++++---------------- android-test/build.gradle | 8 +++-- 5 files changed, 46 insertions(+), 46 deletions(-) diff --git a/.github/workflows/android-test.yml b/.github/workflows/android-test.yml index aada252..1bec24a 100644 --- a/.github/workflows/android-test.yml +++ b/.github/workflows/android-test.yml @@ -2,9 +2,9 @@ name: Android Compatibility on: push: - branches: [ main ] + branches: [main] pull_request: - branches: [ main ] + branches: [main] jobs: android-test: @@ -15,9 +15,9 @@ jobs: - uses: actions/setup-java@v4 with: - distribution: 'temurin' + distribution: "temurin" java-version: 17 - cache: 'gradle' + cache: "gradle" - name: Build Java library JAR run: mvn package -Dmaven.test.skip=true diff --git a/.github/workflows/check-badges.yml b/.github/workflows/check-badges.yml index d673011..0232d29 100644 --- a/.github/workflows/check-badges.yml +++ b/.github/workflows/check-badges.yml @@ -2,16 +2,16 @@ name: Check badges in README.md on: push: - branches: [ main ] + branches: [main] pull_request: - branches: [ main ] + branches: [main] jobs: build-and-test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v4 - - name: Check badges in README.md - run: ./scripts/check-badges.bash "README.md" + - name: Check badges in README.md + run: ./scripts/check-badges.bash "README.md" diff --git a/.github/workflows/check-style.yml b/.github/workflows/check-style.yml index bdd456d..7735e13 100644 --- a/.github/workflows/check-style.yml +++ b/.github/workflows/check-style.yml @@ -2,20 +2,20 @@ name: Java check style on: push: - branches: [ main ] + branches: [main] pull_request: - branches: [ main ] + branches: [main] jobs: lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-java@v3 - with: - distribution: 'corretto' - java-version: 11 + - uses: actions/checkout@v4 + - uses: actions/setup-java@v3 + with: + distribution: "corretto" + java-version: 11 - - name: Lint with CheckStyle - run: ./scripts/checkstyle.bash + - name: Lint with CheckStyle + run: ./scripts/checkstyle.bash diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 68b7171..5fee565 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -5,39 +5,35 @@ name: Java CI with Maven on: push: - branches: [ main ] + branches: [main] pull_request: - branches: [ main ] + branches: [main] jobs: test: - + name: test (Java version ${{ matrix.java-version }}) runs-on: ubuntu-latest strategy: matrix: java-version: [11, 21] steps: - - uses: actions/checkout@v4 - - name: Set up JDK ${{ matrix.java-version }} - uses: actions/setup-java@v4 - with: - # Use same in Dockerfile - distribution: 'corretto' - java-version: ${{ matrix.java-version }} - cache: 'maven' - - - name: Maven Compile - run: mvn compile - - - name: Test with Maven - env: - TEST_CONFIGURATION_ACCESS_TOKEN: ${{ secrets.TEST_CONFIGURATION_ACCESS_TOKEN }} - run: | - chmod +x scripts/* - make build - make test - - # TODO: Move to pack.yml - # - name: Build the Docker image - # run: docker build . --file Dockerfile + - uses: actions/checkout@v4 + - name: Set up JDK ${{ matrix.java-version }} + uses: actions/setup-java@v4 + with: + # Use same in Dockerfile + distribution: "corretto" + java-version: ${{ matrix.java-version }} + cache: "maven" + + - name: Maven Compile + run: mvn compile + + - name: Test with Maven + env: + TEST_CONFIGURATION_ACCESS_TOKEN: ${{ secrets.TEST_CONFIGURATION_ACCESS_TOKEN }} + run: | + chmod +x scripts/* + make build + make test diff --git a/android-test/build.gradle b/android-test/build.gradle index d655463..b76d664 100644 --- a/android-test/build.gradle +++ b/android-test/build.gradle @@ -20,7 +20,8 @@ android { androidTest { java { srcDirs = ['../src/test/java'] - include 'com/aspose/barcode/cloud/api/**' + exclude 'com/aspose/barcode/cloud/test/**' + exclude 'com/aspose/barcode/cloud/examples/**' } } } @@ -40,8 +41,11 @@ android { dependencies { implementation files('../target/aspose-barcode-cloud-26.3.0.jar') + implementation 'com.google.code.gson:gson:2.13.2' + implementation 'io.gsonfire:gson-fire:1.9.0' + implementation 'com.squareup.okhttp3:okhttp:5.3.2' + implementation 'io.swagger:swagger-annotations:1.6.16' androidTestImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test:runner:1.5.2' androidTestImplementation 'androidx.test.ext:junit:1.1.5' - androidTestImplementation 'com.squareup.okhttp3:okhttp:5.3.2' } From 17dba4088321ece3a35abace787bdb51e1ed2c7f Mon Sep 17 00:00:00 2001 From: Denis Averin Date: Sun, 22 Mar 2026 02:48:30 +0700 Subject: [PATCH 07/13] =?UTF-8?q?Renamed=20.github/workflows/maven.yml=20?= =?UTF-8?q?=E2=86=92=20.github/workflows/ci.yml.=20The=20workflow=20name:?= =?UTF-8?q?=20field=20already=20says=20"Java=20CI=20with=20Maven"=20which?= =?UTF-8?q?=20still=20fits=20since=20it=20includes=20both=20Maven=20and=20?= =?UTF-8?q?Android=20test=20jobs.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/android-test.yml | 38 ------------------------- .github/workflows/{maven.yml => ci.yml} | 31 ++++++++++++++++++++ 2 files changed, 31 insertions(+), 38 deletions(-) delete mode 100644 .github/workflows/android-test.yml rename .github/workflows/{maven.yml => ci.yml} (51%) diff --git a/.github/workflows/android-test.yml b/.github/workflows/android-test.yml deleted file mode 100644 index 1bec24a..0000000 --- a/.github/workflows/android-test.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: Android Compatibility - -on: - push: - branches: [main] - pull_request: - branches: [main] - -jobs: - android-test: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - - uses: actions/setup-java@v4 - with: - distribution: "temurin" - java-version: 17 - cache: "gradle" - - - name: Build Java library JAR - run: mvn package -Dmaven.test.skip=true - - - name: Accept Android SDK Licenses - run: yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --licenses - - - name: Enable KVM - run: | - echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules - sudo udevadm control --reload-rules - sudo udevadm trigger --name-match=kvm - - - name: Run Android Tests - working-directory: android-test - run: > - ./gradlew pixel2api30DebugAndroidTest - -Pandroid.testoptions.manageddevices.emulator.gpu=swiftshader_indirect diff --git a/.github/workflows/maven.yml b/.github/workflows/ci.yml similarity index 51% rename from .github/workflows/maven.yml rename to .github/workflows/ci.yml index 5fee565..f8a5442 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/ci.yml @@ -37,3 +37,34 @@ jobs: chmod +x scripts/* make build make test + + android-test: + needs: test + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-java@v4 + with: + distribution: "temurin" + java-version: 17 + cache: "gradle" + + - name: Build Java library JAR + run: mvn package -Dmaven.test.skip=true + + - name: Accept Android SDK Licenses + run: yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --licenses + + - name: Enable KVM + run: | + echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules + sudo udevadm control --reload-rules + sudo udevadm trigger --name-match=kvm + + - name: Run Android Tests + working-directory: android-test + run: > + ./gradlew pixel2api30DebugAndroidTest + -Pandroid.testoptions.manageddevices.emulator.gpu=swiftshader_indirect From c0fe5cec700b36232c113d9262fe5d2b72d4ea73 Mon Sep 17 00:00:00 2001 From: Denis Averin Date: Sun, 22 Mar 2026 02:51:32 +0700 Subject: [PATCH 08/13] Fix badges --- .github/workflows/ci.yml | 2 +- README.md | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f8a5442..1f5d642 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,7 +11,7 @@ on: jobs: test: - name: test (Java version ${{ matrix.java-version }}) + name: test with Java version ${{ matrix.java-version }} runs-on: ubuntu-latest strategy: matrix: diff --git a/README.md b/README.md index b9fcf9d..b063a8e 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Aspose.BarCode Cloud SDK for Java [![License](https://img.shields.io/github/license/aspose-barcode-cloud/aspose-barcode-cloud-java)](LICENSE) -[![Java CI with Maven](https://github.com/aspose-barcode-cloud/aspose-barcode-cloud-java/actions/workflows/maven.yml/badge.svg?branch=main)](https://github.com/aspose-barcode-cloud/aspose-barcode-cloud-java/actions/workflows/maven.yml) +[![Java CI with Maven](https://github.com/aspose-barcode-cloud/aspose-barcode-cloud-java/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/aspose-barcode-cloud/aspose-barcode-cloud-java/actions/workflows/ci.yml) [![Maven metadata URL](https://img.shields.io/maven-metadata/v?metadataUrl=https%3A%2F%2Freleases.aspose.cloud%2Fjava%2Frepo%2Fcom%2Faspose%2Faspose-barcode-cloud%2Fmaven-metadata.xml)](https://releases.aspose.cloud/java/repo/com/aspose/aspose-barcode-cloud/) - API version: 4.0 @@ -217,4 +217,3 @@ Authentication schemes defined for the API: ## Recommendation It's recommended to create an instance of `ApiClient` per thread in a multithreaded environment to avoid any potential issues. - From 24ef7cd1d8536c28dd6785510bbcf0432c572aa4 Mon Sep 17 00:00:00 2001 From: Denis Averin Date: Sun, 22 Mar 2026 03:00:48 +0700 Subject: [PATCH 09/13] =?UTF-8?q?1.=20gradle/actions/setup-gradle@v4=20?= =?UTF-8?q?=E2=80=94=20caches=20Gradle=20deps,=20build=20cache,=20and=20wr?= =?UTF-8?q?apper=20(replaces=20cache:=20'gradle'=20on=20setup-java)=202.?= =?UTF-8?q?=20actions/cache@v4=20for=20AVD=20=E2=80=94=20caches=20~/.andro?= =?UTF-8?q?id/avd/*=20between=20runs=20so=20the=20ATD=20system=20image=20i?= =?UTF-8?q?sn't=20re-downloaded?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit First run populates caches. Subsequent runs skip the ~800MB system image download and AVD creation. --- .github/workflows/ci.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1f5d642..1304742 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -49,7 +49,9 @@ jobs: with: distribution: "temurin" java-version: 17 - cache: "gradle" + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 - name: Build Java library JAR run: mvn package -Dmaven.test.skip=true @@ -63,6 +65,14 @@ jobs: sudo udevadm control --reload-rules sudo udevadm trigger --name-match=kvm + - name: Cache AVD + uses: actions/cache@v4 + with: + path: | + ~/.android/avd/* + ~/.android/adb* + key: avd-pixel2-api30-atd + - name: Run Android Tests working-directory: android-test run: > From 2ca75125aefc5e6c4c77e7b28b6115b983f8d908 Mon Sep 17 00:00:00 2001 From: Denis Averin Date: Sun, 22 Mar 2026 03:23:39 +0700 Subject: [PATCH 10/13] Rename workflow --- .github/workflows/ci.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1304742..0d41381 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,7 +1,4 @@ -# This workflow will build a Java project with Maven -# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven - -name: Java CI with Maven +name: Java CI on: push: From d8215460d73149cce9acf15d53f18eea2c84e80f Mon Sep 17 00:00:00 2001 From: Denis Averin Date: Sun, 22 Mar 2026 03:24:15 +0700 Subject: [PATCH 11/13] Fixing code --- src/main/java/com/aspose/barcode/cloud/api/GenerateApi.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/aspose/barcode/cloud/api/GenerateApi.java b/src/main/java/com/aspose/barcode/cloud/api/GenerateApi.java index 74672f6..0643bc6 100644 --- a/src/main/java/com/aspose/barcode/cloud/api/GenerateApi.java +++ b/src/main/java/com/aspose/barcode/cloud/api/GenerateApi.java @@ -71,7 +71,7 @@ protected okhttp3.Call generateCall( // create path and map variables String path = "/barcode/generate/{barcodeType}" - .replaceAll("\\{" + "barcodeType" + "}", request.barcodeType.toString()); + .replace("{" + "barcodeType" + "}", request.barcodeType.toString()); List queryParams = new ArrayList<>(); List collectionQueryParams = new ArrayList<>(); From 6d99481fb6f991783c5f0521ddcc4ad55b394d9e Mon Sep 17 00:00:00 2001 From: Denis Averin Date: Sun, 22 Mar 2026 03:42:49 +0700 Subject: [PATCH 12/13] Regenerated with new templates --- README.md | 1 + .../aspose/barcode/cloud/api/GenerateApiUnitTest.java | 3 +-- .../barcode/cloud/api/RecognizeApiUnitTest.java | 11 +++++------ .../com/aspose/barcode/cloud/api/ScanApiUnitTest.java | 9 +++++---- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index b063a8e..51318f8 100644 --- a/README.md +++ b/README.md @@ -217,3 +217,4 @@ Authentication schemes defined for the API: ## Recommendation It's recommended to create an instance of `ApiClient` per thread in a multithreaded environment to avoid any potential issues. + diff --git a/src/test/java/com/aspose/barcode/cloud/api/GenerateApiUnitTest.java b/src/test/java/com/aspose/barcode/cloud/api/GenerateApiUnitTest.java index 321baf0..3525d74 100644 --- a/src/test/java/com/aspose/barcode/cloud/api/GenerateApiUnitTest.java +++ b/src/test/java/com/aspose/barcode/cloud/api/GenerateApiUnitTest.java @@ -321,8 +321,7 @@ public void testGenerateBodyAsync_CallsEnqueue() throws ApiException { @Test(expected = ApiException.class) public void testGenerateMultipart_CallsExecute() throws ApiException { - api.generateMultipart( - new GenerateMultipartRequestWrapper(EncodeBarcodeType.QR, "test")); + api.generateMultipart(new GenerateMultipartRequestWrapper(EncodeBarcodeType.QR, "test")); } @Test(expected = ApiException.class) diff --git a/src/test/java/com/aspose/barcode/cloud/api/RecognizeApiUnitTest.java b/src/test/java/com/aspose/barcode/cloud/api/RecognizeApiUnitTest.java index 0bc5fec..af203f5 100644 --- a/src/test/java/com/aspose/barcode/cloud/api/RecognizeApiUnitTest.java +++ b/src/test/java/com/aspose/barcode/cloud/api/RecognizeApiUnitTest.java @@ -7,9 +7,9 @@ import com.aspose.barcode.cloud.ApiException; import com.aspose.barcode.cloud.model.BarcodeResponseList; import com.aspose.barcode.cloud.model.DecodeBarcodeType; -import com.aspose.barcode.cloud.model.RecognizeBase64Request; import com.aspose.barcode.cloud.model.RecognitionImageKind; import com.aspose.barcode.cloud.model.RecognitionMode; +import com.aspose.barcode.cloud.model.RecognizeBase64Request; import com.aspose.barcode.cloud.requests.RecognizeBase64RequestWrapper; import com.aspose.barcode.cloud.requests.RecognizeMultipartRequestWrapper; import com.aspose.barcode.cloud.requests.RecognizeRequestWrapper; @@ -51,7 +51,8 @@ public void testRecognize_NullFileUrl_ThrowsApiException() throws Exception { @Test public void testRecognize_NullBarcodeType_ErrorMessage() throws Exception { try { - api.recognize(new RecognizeRequestWrapper(null, new URI("https://example.com/img.png"))); + api.recognize( + new RecognizeRequestWrapper(null, new URI("https://example.com/img.png"))); fail("Expected ApiException"); } catch (ApiException e) { assertTrue(e.getMessage().contains("request.barcodeType")); @@ -85,14 +86,12 @@ public void testRecognizeBase64_NullRequest_ErrorMessage() { @Test(expected = ApiException.class) public void testRecognizeMultipart_NullBarcodeType_ThrowsApiException() throws ApiException { - api.recognizeMultipart( - new RecognizeMultipartRequestWrapper(null, new File("dummy.png"))); + api.recognizeMultipart(new RecognizeMultipartRequestWrapper(null, new File("dummy.png"))); } @Test(expected = ApiException.class) public void testRecognizeMultipart_NullFile_ThrowsApiException() throws ApiException { - api.recognizeMultipart( - new RecognizeMultipartRequestWrapper(DecodeBarcodeType.QR, null)); + api.recognizeMultipart(new RecognizeMultipartRequestWrapper(DecodeBarcodeType.QR, null)); } @Test diff --git a/src/test/java/com/aspose/barcode/cloud/api/ScanApiUnitTest.java b/src/test/java/com/aspose/barcode/cloud/api/ScanApiUnitTest.java index 61cfacd..e67a6ba 100644 --- a/src/test/java/com/aspose/barcode/cloud/api/ScanApiUnitTest.java +++ b/src/test/java/com/aspose/barcode/cloud/api/ScanApiUnitTest.java @@ -5,6 +5,7 @@ import com.aspose.barcode.cloud.ApiCallback; import com.aspose.barcode.cloud.ApiClient; import com.aspose.barcode.cloud.ApiException; +import com.aspose.barcode.cloud.model.BarcodeResponseList; import com.aspose.barcode.cloud.model.ScanBase64Request; import com.aspose.barcode.cloud.requests.ScanBase64RequestWrapper; import com.aspose.barcode.cloud.requests.ScanMultipartRequestWrapper; @@ -15,8 +16,6 @@ import org.junit.BeforeClass; import org.junit.Test; -import com.aspose.barcode.cloud.model.BarcodeResponseList; - import java.io.File; import java.net.URI; import java.util.List; @@ -107,7 +106,8 @@ public void testScanBase64Call_PathAndMethod() throws ApiException { @Test public void testScanMultipartCall_PathAndMethod() throws ApiException { - ScanMultipartRequestWrapper request = new ScanMultipartRequestWrapper(new File("dummy.png")); + ScanMultipartRequestWrapper request = + new ScanMultipartRequestWrapper(new File("dummy.png")); Request httpRequest = api.scanMultipartCall(request, null, null).request(); assertTrue(httpRequest.url().toString().contains("/barcode/scan-multipart")); assertEquals("POST", httpRequest.method()); @@ -143,7 +143,8 @@ public void testScanBase64Call_HasBody() throws ApiException { @Test public void testScanMultipartCall_ContentTypeMultipart() throws ApiException { - ScanMultipartRequestWrapper request = new ScanMultipartRequestWrapper(new File("dummy.png")); + ScanMultipartRequestWrapper request = + new ScanMultipartRequestWrapper(new File("dummy.png")); Request httpRequest = api.scanMultipartCall(request, null, null).request(); String contentType = httpRequest.header("Content-Type"); assertTrue(contentType.contains("multipart/form-data")); From 1d10adfbddd5120eca98aaac6b85f471f23890b3 Mon Sep 17 00:00:00 2001 From: Denis Averin Date: Mon, 23 Mar 2026 17:49:45 +0700 Subject: [PATCH 13/13] Use version-agnostic SDK jar dependency in android tests --- android-test/build.gradle | 9 ++++++++- android-test/src/main/AndroidManifest.xml | 4 +++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/android-test/build.gradle b/android-test/build.gradle index b76d664..240288b 100644 --- a/android-test/build.gradle +++ b/android-test/build.gradle @@ -40,7 +40,14 @@ android { } dependencies { - implementation files('../target/aspose-barcode-cloud-26.3.0.jar') + implementation fileTree( + dir: '../target', + include: ['aspose-barcode-cloud-*.jar'], + exclude: [ + 'aspose-barcode-cloud-*-sources.jar', + 'aspose-barcode-cloud-*-javadoc.jar' + ] + ) implementation 'com.google.code.gson:gson:2.13.2' implementation 'io.gsonfire:gson-fire:1.9.0' implementation 'com.squareup.okhttp3:okhttp:5.3.2' diff --git a/android-test/src/main/AndroidManifest.xml b/android-test/src/main/AndroidManifest.xml index 8072ee0..19d2638 100644 --- a/android-test/src/main/AndroidManifest.xml +++ b/android-test/src/main/AndroidManifest.xml @@ -1,2 +1,4 @@ - + + +