Hi Team, We recently migrated our application from Fineract 1.4 to Fineract 1.9. After addressing all conflicts and successfully executing the migration scripts, the application is running smoothly without any functional issues.
However, we have encountered an intermittent issue during the build process. Specifically, when running the following build command: ./gradlew clean build -x rat -x test -x compileTestJava -x checkstyleTest -x checkstyleMain -x spotbugsTest -x spotbugsMain -x spotlessGroovyGradleCheck -x spotlessJavaCheck -x cucumber -x spotlessMiscCheck -x modernizer The build sometimes succeeds and sometimes fails, with the failures typically related to Fineract Avro dependencies. We've tried multiple troubleshooting steps, but the issue persists and appears to occur at random or in alternate attempts. I'm attaching the relevant error logs for reference. Please let us know if there are any known issues or additional steps we should consider. Best regards, Bhaskar Tiwari "Print this mail only if absolutely necessary. Save Paper. Save Trees." Disclaimer: "This electronic mail message sent from StrideOne (Stride Fintree Private Limited) may contain Confidential/Restricted/Internal information and should only be viewed by the intended recipients. Under no circumstances may any such information be disclosed, copied, used or distributed to any unauthorized persons or entities without the written consent of Strideone. If you are not the intended recipient, any review, retransmission, dissemination or reliance on the content of these materials is strictly prohibited and may be the subject of legal action. If you received this email in error, please notify the sender and delete the message immediately."
AzureAD+BhaskarTiwari@LAPTOP-2OC0SUL0 MINGW64 /c/Work/backend/fineract/incubator-fineract-scf (feature/TASK-3607) $ ./gradlew clean build -x rat -x test -x compileTestJava -x checkstyleTest -x checkstyleMain -x spotbugsTest -x spotbugsMain -x spotlessGroovyGradleCheck -x spotlessJavaCheck -x cucumber -x spotlessMiscCheck -x modernizer > Configure project : The 'sonarqube' task depends on compile tasks. This behavior is now deprecated and will be removed in version 5.x. To avoid implicit compilation, set property 'sonar.gradle.skipCompile' to 'true' and make sure your project is compiled, before analysis has started. The 'sonar' task depends on compile tasks. This behavior is now deprecated and will be removed in version 5.x. To avoid implicit compilation, set property 'sonar.gradle.skipCompile' to 'true' and make sure your project is compiled, before analysis has started. matching ref: COMMIT - a691f58c9131dfb7cf2a644db4f7b1bbce30b2ff ref configuration: COMMIT - pattern: null describeTagPattern: .*(\d+\.\d+\.\d+).* version: ${describe.tag.version.major}.${describe.tag.version.minor.next}.${describe.tag.version.patch}-SNAPSHOT project version: 1.10.0-SNAPSHOT project version: 1.10.0-SNAPSHOT project version: 1.10.0-SNAPSHOT project version: 1.10.0-SNAPSHOT project version: 1.10.0-SNAPSHOT project version: 1.10.0-SNAPSHOT project version: 1.10.0-SNAPSHOT project version: 1.10.0-SNAPSHOT project version: 1.10.0-SNAPSHOT project version: 1.10.0-SNAPSHOT project version: 1.10.0-SNAPSHOT project version: 1.10.0-SNAPSHOT project version: 1.10.0-SNAPSHOT project version: 1.10.0-SNAPSHOT project version: 1.10.0-SNAPSHOT project version: 1.10.0-SNAPSHOT project version: 1.10.0-SNAPSHOT project version: 1.10.0-SNAPSHOT project version: 1.10.0-SNAPSHOT project version: 1.10.0-SNAPSHOT project version: 1.10.0-SNAPSHOT project version: 1.10.0-SNAPSHOT project version: 1.10.0-SNAPSHOT project version: 1.10.0-SNAPSHOT project version: 1.10.0-SNAPSHOT > Task :fineract-core:compileJava Note: MapStruct: Using accessor naming strategy: org.mapstruct.ap.spi.DefaultAccessorNamingStrategy Note: MapStruct: Using builder provider: org.mapstruct.ap.spi.DefaultBuilderProvider Note: MapStruct: Using enum naming strategy: org.mapstruct.ap.spi.DefaultEnumMappingStrategy Note: MapStruct: processing: org.apache.fineract.infrastructure.businessdate.mapper.BusinessDateMapper. Note: MapStruct: applying mapper configuration: MapstructMapperConfig. Note: - MapStruct: creating bean mapping method implementation for org.apache.fineract.infrastructure.businessdate.data.BusinessDateData map(org.apache.fineract.infrastructure.businessdate.domain.BusinessDate source). Note: -- MapStruct: mapping property: sourceTypeDescription( source ) to: setDescription(java.lang.String). Note: -- MapStruct: selecting property mapping: sourceTypeDescription( source ). Note: -- MapStruct: mapping property: source.getType() to: setType(java.lang.String). Note: -- MapStruct: selecting property mapping: source.getType().name(). Note: -- MapStruct: mapping property: source.getDate() to: setDate(java.time.LocalDate). Note: -- MapStruct: selecting property mapping: source.getDate(). Note: - MapStruct: creating iterable mapping method implementation for java.util.List<org.apache.fineract.infrastructure.businessdate.data.BusinessDateData> map(java.util.List<org.apache.fineract.infrastructure.businessdate.domain.BusinessDate> sources). Note: -- MapStruct: selecting element mapping: org.apache.fineract.infrastructure.businessdate.data.BusinessDateData #map(businessDate). Note: MapStruct: processing: org.apache.fineract.infrastructure.event.external.service.serialization.mapper.generic.CommandProcessingResultMapper. Note: MapStruct: applying mapper configuration: AvroMapperConfig. Note: MapStruct: referred types not available (yet), deferring mapper: org.apache.fineract.infrastructure.event.external.service.serialization.mapper.generic.CommandProcessingResultMapper Note: MapStruct: processing: org.apache.fineract.accounting.journalentry.JournalEntryMapper. Note: MapStruct: applying mapper configuration: MapstructMapperConfig. Note: - MapStruct: creating bean mapping method implementation for org.apache.fineract.accounting.journalentry.data.JournalEntryData map(org.apache.fineract.accounting.journalentry.domain.JournalEntry journalEntry). Note: -- MapStruct: mapping property: journalEntry.getId() to: setId(java.lang.Long). Note: -- MapStruct: selecting property mapping: journalEntry.getId(). Note: -- MapStruct: mapping property: journalEntryOfficeId( journalEntry ) to: setOfficeId(java.lang.Long). Note: -- MapStruct: selecting property mapping: journalEntryOfficeId( journalEntry ). Note: -- MapStruct: mapping property: journalEntryOfficeName( journalEntry ) to: setOfficeName(java.lang.String). Note: -- MapStruct: selecting property mapping: journalEntryOfficeName( journalEntry ). Note: -- MapStruct: mapping property: journalEntryGlAccountId( journalEntry ) to: setGlAccountId(java.lang.Long). Note: -- MapStruct: selecting property mapping: journalEntryGlAccountId( journalEntry ). Note: -- MapStruct: mapping property: journalEntryGlAccountGlCode( journalEntry ) to: setGlAccountCode(java.lang.String). Note: -- MapStruct: selecting property mapping: journalEntryGlAccountGlCode( journalEntry ). Note: -- MapStruct: mapping property: journalEntryGlAccountName( journalEntry ) to: setGlAccountName(java.lang.String). Note: -- MapStruct: selecting property mapping: journalEntryGlAccountName( journalEntry ). Note: -- MapStruct: mapping property: journalEntryGlAccountType( journalEntry ) to: setGlAccountType(org.apache.fineract.infrastructure.core.data.EnumOptionData). Note: -- MapStruct: selecting property mapping: org.apache.fineract.infrastructure.core.data.EnumOptionData #mapGlAccountType(org.apache.fineract.accounting.glaccount.domain.GLAccountType #mapGlAccountType(journalEntryGlAccountType( journalEntry ))). Note: -- MapStruct: mapping property: journalEntry.getTransactionDate() to: setTransactionDate(java.time.LocalDate). Note: -- MapStruct: selecting property mapping: journalEntry.getTransactionDate(). Note: -- MapStruct: mapping property: journalEntry.getType() to: setEntryType(org.apache.fineract.infrastructure.core.data.EnumOptionData). Note: -- MapStruct: selecting property mapping: org.apache.fineract.infrastructure.core.data.EnumOptionData #mapJournalEntryType(org.apache.fineract.accounting.journalentry.domain.JournalEntryType #mapJournalEntryType(journalEntry.getType())). Note: -- MapStruct: mapping property: journalEntry.getAmount() to: setAmount(java.math.BigDecimal). Note: -- MapStruct: selecting property mapping: journalEntry.getAmount(). Note: -- MapStruct: mapping property: journalEntry.getEntityType() to: setEntityType(org.apache.fineract.infrastructure.core.data.EnumOptionData). Note: -- MapStruct: selecting property mapping: org.apache.fineract.infrastructure.core.data.EnumOptionData #mapEntityType(org.apache.fineract.accounting.producttoaccountmapping.domain.PortfolioProductType #mapEntityType(journalEntry.getEntityType())). Note: -- MapStruct: mapping property: journalEntry.getEntityId() to: setEntityId(java.lang.Long). Note: -- MapStruct: selecting property mapping: journalEntry.getEntityId(). Note: -- MapStruct: mapping property: journalEntry.getSubmittedOnDate() to: setSubmittedOnDate(java.time.LocalDate). Note: -- MapStruct: selecting property mapping: journalEntry.getSubmittedOnDate(). Note: -- MapStruct: mapping property: journalEntry.getTransactionId() to: setTransactionId(java.lang.String). Note: -- MapStruct: selecting property mapping: journalEntry.getTransactionId(). Note: -- MapStruct: mapping property: journalEntry.getCurrencyCode() to: setCurrency(org.apache.fineract.organisation.monetary.data.CurrencyData). Note: -- MapStruct: selecting property mapping: org.apache.fineract.organisation.monetary.data.CurrencyData #mapCurrency(journalEntry.getCurrencyCode()). Note: -- MapStruct: mapping property: journalEntry.isManualEntry() to: setManualEntry(java.lang.Boolean). Note: -- MapStruct: selecting property mapping: journalEntry.isManualEntry(). Note: -- MapStruct: mapping property: journalEntry.isReversed() to: setReversed(java.lang.Boolean). Note: -- MapStruct: selecting property mapping: journalEntry.isReversed(). Note: -- MapStruct: mapping property: journalEntry.getReferenceNumber() to: setReferenceNumber(java.lang.String). Note: -- MapStruct: selecting property mapping: journalEntry.getReferenceNumber(). Note: -- MapStruct: mapping property: journalEntryPaymentDetailPaymentTypeId( journalEntry ) to: setPaymentTypeId(java.lang.Long). Note: -- MapStruct: selecting property mapping: journalEntryPaymentDetailPaymentTypeId( journalEntry ). Note: -- MapStruct: mapping property: journalEntryPaymentDetailAccountNumber( journalEntry ) to: setAccountNumber(java.lang.String). Note: -- MapStruct: selecting property mapping: journalEntryPaymentDetailAccountNumber( journalEntry ). Note: -- MapStruct: mapping property: journalEntryPaymentDetailCheckNumber( journalEntry ) to: setCheckNumber(java.lang.String). Note: -- MapStruct: selecting property mapping: journalEntryPaymentDetailCheckNumber( journalEntry ). Note: -- MapStruct: mapping property: journalEntryPaymentDetailRoutingCode( journalEntry ) to: setRoutingCode(java.lang.String). Note: -- MapStruct: selecting property mapping: journalEntryPaymentDetailRoutingCode( journalEntry ). Note: -- MapStruct: mapping property: journalEntryPaymentDetailReceiptNumber( journalEntry ) to: setReceiptNumber(java.lang.String). Note: -- MapStruct: selecting property mapping: journalEntryPaymentDetailReceiptNumber( journalEntry ). Note: -- MapStruct: mapping property: journalEntryPaymentDetailBankNumber( journalEntry ) to: setBankNumber(java.lang.String). Note: -- MapStruct: selecting property mapping: journalEntryPaymentDetailBankNumber( journalEntry ). Note: -- MapStruct: mapping property: journalEntry.getCurrencyCode() to: setCurrencyCode(java.lang.String). Note: -- MapStruct: selecting property mapping: journalEntry.getCurrencyCode(). Note: MapStruct: processing: org.apache.fineract.organisation.office.mapper.OfficeDataMapper. Note: MapStruct: applying mapper configuration: MapstructMapperConfig. Note: MapStruct: processing: org.apache.fineract.infrastructure.event.external.service.ExternalEventsConfigurationMapper. Note: MapStruct: applying mapper configuration: MapstructMapperConfig. Note: - MapStruct: creating iterable mapping method implementation for java.util.List<org.apache.fineract.infrastructure.event.external.data.ExternalEventConfigurationItemData> map(java.util.List<org.apache.fineract.infrastructure.event.external.repository.domain.ExternalEventConfiguration> source). Note: -- MapStruct: mapping property: externalEventConfiguration.getType() to: setType(java.lang.String). Note: -- MapStruct: selecting property mapping: externalEventConfiguration.getType(). Note: -- MapStruct: mapping property: externalEventConfiguration.isEnabled() to: setEnabled(boolean). Note: -- MapStruct: selecting property mapping: externalEventConfiguration.isEnabled(). Note: -- MapStruct: creating element mapping: org.apache.fineract.infrastructure.event.external.data.ExternalEventConfigurationItemData #externalEventConfigurationToExternalEventConfigurationItemData(externalEventConfiguration). Note: -- MapStruct: selecting element mapping: org.apache.fineract.infrastructure.event.external.data.ExternalEventConfigurationItemData #externalEventConfigurationToExternalEventConfigurationItemData(externalEventConfiguration). Note: MapStruct: processing: org.apache.fineract.infrastructure.event.external.service.serialization.mapper.generic.CurrencyDataMapper. Note: MapStruct: applying mapper configuration: AvroMapperConfig. Note: MapStruct: referred types not available (yet), deferring mapper: org.apache.fineract.infrastructure.event.external.service.serialization.mapper.generic.CurrencyDataMapper warning: No processor claimed any of these annotations: /org.springframework.context.annotation.Primary,/io.swagger.v3.oas.annotations.Parameter,/org.ma pstruct.Mapper,/org.mapstruct.MapperConfig,/jakarta.validation.constraints.NotNull,/io.swagger.v3.oas.annotations.responses.ApiResponses,/jakarta.ws.rs. QueryParam,/jakarta.persistence.PersistenceContext,/org.springframework.boot.context.properties.ConfigurationProperties,/jakarta.ws.rs.GET,/jakarta.pers istence.Entity,/org.springframework.data.jpa.repository.Query,/jakarta.persistence.GeneratedValue,/org.mapstruct.Mappings,/io.swagger.v3.oas.annotations .tags.Tag,/org.springframework.context.annotation.Scope,/jakarta.ws.rs.DefaultValue,/org.springframework.stereotype.Component,/org.springframework.trans action.annotation.Transactional,/io.swagger.v3.oas.annotations.media.Schema,/jakarta.persistence.JoinTable,/org.springframework.context.annotation.Bean, /jakarta.persistence.Column,/jakarta.persistence.Basic,/jakarta.persistence.JoinColumn,/org.springframework.beans.factory.annotation.Qualifier,/org.spri ngframework.cache.annotation.EnableCaching,/jakarta.persistence.Enumerated,/jakarta.persistence.PostLoad,/jakarta.persistence.ManyToMany,/org.apache.fin eract.commands.annotation.CommandType,/org.springframework.stereotype.Service,/jakarta.persistence.Version,/org.mapstruct.Named,/jakarta.ws.rs.core.Cont ext,/jakarta.ws.rs.Consumes,/jakarta.ws.rs.PathParam,/jakarta.persistence.OneToOne,/edu.umd.cs.findbugs.annotations.SuppressFBWarnings,/org.springframew ork.context.annotation.Configuration,/org.jetbrains.annotations.NotNull,/jakarta.persistence.Transient,/jakarta.persistence.MappedSuperclass,/jakarta.an notation.PostConstruct,/com.google.errorprone.annotations.Immutable,/org.springframework.cache.annotation.Cacheable,/org.glassfish.jersey.media.multipar t.FormDataParam,/jakarta.persistence.Id,/jakarta.persistence.OrderBy,/jakarta.persistence.OneToMany,/org.springframework.data.repository.query.Param,/ja karta.persistence.Table,/org.springframework.context.annotation.Conditional,/jakarta.persistence.ManyToOne,/jakarta.persistence.Embeddable,/com.fasterxm l.jackson.annotation.JsonProperty,/jakarta.ws.rs.Path,/jakarta.ws.rs.Produces,/jakarta.ws.rs.PUT,/jakarta.ws.rs.ext.Provider,/org.springframework.data.j pa.repository.Modifying,/jakarta.persistence.PrePersist,/io.swagger.v3.oas.annotations.parameters.RequestBody,/org.springframework.lang.Nullable,/io.swa gger.v3.oas.annotations.Operation,/io.github.resilience4j.retry.annotation.Retry,/org.springframework.beans.factory.annotation.Autowired,/jakarta.ws.rs.POST,/jakarta.ws.rs.DELETE Note: MapStruct: processing: org.apache.fineract.infrastructure.event.external.service.serialization.mapper.generic.CurrencyDataMapper. Note: MapStruct: applying mapper configuration: AvroMapperConfig. Note: MapStruct: referred types not available (yet), deferring mapper: org.apache.fineract.infrastructure.event.external.service.serialization.mapper.generic.CurrencyDataMapper Note: MapStruct: processing: org.apache.fineract.infrastructure.event.external.service.serialization.mapper.generic.CommandProcessingResultMapper. Note: MapStruct: applying mapper configuration: AvroMapperConfig. Note: MapStruct: referred types not available (yet), deferring mapper: org.apache.fineract.infrastructure.event.external.service.serialization.mapper.generic.CommandProcessingResultMapper warning: No processor claimed any of these annotations: java.compiler/javax.annotation.processing.Generated,/org.springframework.stereotype.Component Note: MapStruct: processing: org.apache.fineract.infrastructure.event.external.service.serialization.mapper.generic.CurrencyDataMapper. Note: MapStruct: applying mapper configuration: AvroMapperConfig. Note: MapStruct: referred types not available (yet), deferring mapper: org.apache.fineract.infrastructure.event.external.service.serialization.mapper.generic.CurrencyDataMapper Note: MapStruct: processing: org.apache.fineract.infrastructure.event.external.service.serialization.mapper.generic.CommandProcessingResultMapper. Note: MapStruct: applying mapper configuration: AvroMapperConfig. Note: MapStruct: referred types not available (yet), deferring mapper: org.apache.fineract.infrastructure.event.external.service.serialization.mapper.generic.CommandProcessingResultMapper Note: MapStruct: processing: org.apache.fineract.infrastructure.event.external.service.serialization.mapper.generic.CurrencyDataMapper. Note: MapStruct: applying mapper configuration: AvroMapperConfig. Note: MapStruct: referred types not available (yet), deferring mapper: org.apache.fineract.infrastructure.event.external.service.serialization.mapper.generic.CurrencyDataMapper Note: MapStruct: processing: org.apache.fineract.infrastructure.event.external.service.serialization.mapper.generic.CommandProcessingResultMapper. Note: MapStruct: applying mapper configuration: AvroMapperConfig. Note: MapStruct: referred types not available (yet), deferring mapper: org.apache.fineract.infrastructure.event.external.service.serialization.mapper.generic.CommandProcessingResultMapper Note: MapStruct: processing: org.apache.fineract.infrastructure.event.external.service.serialization.mapper.generic.CurrencyDataMapper. Note: MapStruct: applying mapper configuration: AvroMapperConfig. Note: MapStruct: referred types not available (yet), deferring mapper: org.apache.fineract.infrastructure.event.external.service.serialization.mapper.generic.CurrencyDataMapper Note: MapStruct: processing: org.apache.fineract.infrastructure.event.external.service.serialization.mapper.generic.CommandProcessingResultMapper. Note: MapStruct: applying mapper configuration: AvroMapperConfig. Note: MapStruct: referred types not available (yet), deferring mapper: org.apache.fineract.infrastructure.event.external.service.serialization.mapper.generic.CommandProcessingResultMapper C:\Work\backend\fineract\incubator-fineract-scf\fineract-core\src\main\java\org\apache\fineract\infrastructure\event\external\service\ExternalEventService.java:29: error: package org.apache.fineract.avro does not exist import org.apache.fineract.avro.BulkMessageItemV1; ^ C:\Work\backend\fineract\incubator-fineract-scf\fineract-core\src\main\java\org\apache\fineract\infrastructure\event\external\service\ExternalEventService.java:30: error: package org.apache.fineract.avro does not exist import org.apache.fineract.avro.BulkMessagePayloadV1; ^ C:\Work\backend\fineract\incubator-fineract-scf\fineract-core\src\main\java\org\apache\fineract\infrastructure\event\external\service\ExternalEventService.java:31: error: package org.apache.fineract.avro.generator does not exist import org.apache.fineract.avro.generator.ByteBufferSerializable; ^ C:\Work\backend\fineract\incubator-fineract-scf\fineract-core\src\main\java\org\apache\fineract\infrastructure\event\external\service\message\BulkMessageItemFactory.java:24: error: package org.apache.fineract.avro does not exist import org.apache.fineract.avro.BulkMessageItemV1; ^ C:\Work\backend\fineract\incubator-fineract-scf\fineract-core\src\main\java\org\apache\fineract\infrastructure\event\external\service\message\BulkMessageItemFactory.java:25: error: package org.apache.fineract.avro.generator does not exist import org.apache.fineract.avro.generator.ByteBufferSerializable; ^ C:\Work\backend\fineract\incubator-fineract-scf\fineract-core\src\main\java\org\apache\fineract\infrastructure\event\external\service\message\BulkMessageItemFactory.java:41: error: cannot find symbol public BulkMessageItemV1 createBulkMessageItem(int id, BusinessEvent<?> event) throws IOException { ^ symbol: class BulkMessageItemV1 location: class BulkMessageItemFactory C:\Work\backend\fineract\incubator-fineract-scf\fineract-core\src\main\java\org\apache\fineract\infrastructure\event\external\service\serialization\serializer\BusinessEventSerializer.java:22: error: package org.apache.fineract.avro.generator does not exist import org.apache.fineract.avro.generator.ByteBufferSerializable; ^ C:\Work\backend\fineract\incubator-fineract-scf\fineract-core\src\main\java\org\apache\fineract\infrastructure\event\external\service\serialization\serializer\BusinessEventSerializer.java:31: error: cannot find symbol <T> ByteBufferSerializable toAvroDTO(BusinessEvent<T> rawEvent); ^ symbol: class ByteBufferSerializable location: interface BusinessEventSerializer C:\Work\backend\fineract\incubator-fineract-scf\fineract-core\src\main\java\org\apache\fineract\infrastructure\event\external\jobs\SendAsynchronousEventsTasklet.java:34: error: package org.apache.fineract.avro does not exist import org.apache.fineract.avro.MessageV1; ^ C:\Work\backend\fineract\incubator-fineract-scf\fineract-core\src\main\java\org\apache\fineract\infrastructure\event\external\service\message\MessageFactory.java:32: error: package org.apache.fineract.avro does not exist import org.apache.fineract.avro.MessageV1; ^ C:\Work\backend\fineract\incubator-fineract-scf\fineract-core\src\main\java\org\apache\fineract\infrastructure\event\external\service\message\MessageFactory.java:68: error: cannot find symbol public MessageV1 createMessage(MessageId id, MessageSource source, MessageType type, MessageCategory category, ^ symbol: class MessageV1 location: class MessageFactory C:\Work\backend\fineract\incubator-fineract-scf\fineract-core\src\main\java\org\apache\fineract\infrastructure\event\external\service\message\MessageFactory.java:85: error: cannot find symbol public MessageV1 createMessage(ExternalEventView event) { ^ symbol: class MessageV1 location: class MessageFactory C:\Work\backend\fineract\incubator-fineract-scf\fineract-core\src\main\java\org\apache\fineract\infrastructure\event\external\service\message\domain\BulkMessageData.java:23: error: package org.apache.fineract.avro does not exist import org.apache.fineract.avro.BulkMessagePayloadV1; ^ C:\Work\backend\fineract\incubator-fineract-scf\fineract-core\src\main\java\org\apache\fineract\infrastructure\event\external\service\message\domain\BulkMessageData.java:28: error: cannot find symbol private final BulkMessagePayloadV1 data; ^ symbol: class BulkMessagePayloadV1 location: class BulkMessageData C:\Work\backend\fineract\incubator-fineract-scf\fineract-core\src\main\java\org\apache\fineract\infrastructure\event\external\service\message\domain\BulkMessageData.java:30: error: cannot find symbol public BulkMessageData(BulkMessagePayloadV1 data) { ^ symbol: class BulkMessagePayloadV1 location: class BulkMessageData C:\Work\backend\fineract\incubator-fineract-scf\fineract-core\src\main\java\org\apache\fineract\infrastructure\event\external\service\message\domain\BulkMessageData.java:28: error: cannot find symbol private final BulkMessagePayloadV1 data; ^ symbol: class BulkMessagePayloadV1 location: class BulkMessageData C:\Work\backend\fineract\incubator-fineract-scf\fineract-core\src\main\java\org\apache\fineract\infrastructure\event\external\service\serialization\mapper\generic\CommandProcessingResultMapper.java:21: error: package org.apache.fineract.avro.generic.v1 does not exist import org.apache.fineract.avro.generic.v1.CommandProcessingResultV1; ^ C:\Work\backend\fineract\incubator-fineract-scf\fineract-core\src\main\java\org\apache\fineract\infrastructure\event\external\service\serialization\mapper\generic\CommandProcessingResultMapper.java:29: error: cannot find symbol CommandProcessingResultV1 map(CommandProcessingResult source); ^ symbol: class CommandProcessingResultV1 location: interface CommandProcessingResultMapper C:\Work\backend\fineract\incubator-fineract-scf\fineract-core\src\main\java\org\apache\fineract\infrastructure\event\external\service\serialization\mapper\generic\CurrencyDataMapper.java:21: error: package org.apache.fineract.avro.generic.v1 does not exist import org.apache.fineract.avro.generic.v1.CurrencyDataV1; ^ C:\Work\backend\fineract\incubator-fineract-scf\fineract-core\src\main\java\org\apache\fineract\infrastructure\event\external\service\serialization\mapper\generic\CurrencyDataMapper.java:29: error: cannot find symbol CurrencyDataV1 map(CurrencyData source); ^ symbol: class CurrencyDataV1 location: interface CurrencyDataMapper C:\Work\backend\fineract\incubator-fineract-scf\fineract-core\src\main\java\org\apache\fineract\infrastructure\event\external\service\serialization\mapp er\generic\CommandProcessingResultMapper.java:27: error: No implementation was created for CommandProcessingResultMapper due to having a problem in the erroneous element CommandProcessingResultV1. Hint: this often means that some other annotation processor was supposed to process the erroneous element. You can also enable MapStruct verbose mode by setting -Amapstruct.verbose=true as a compilation argument. public interface CommandProcessingResultMapper { ^ C:\Work\backend\fineract\incubator-fineract-scf\fineract-core\src\main\java\org\apache\fineract\infrastructure\event\external\service\serialization\mapp er\generic\CurrencyDataMapper.java:27: error: No implementation was created for CurrencyDataMapper due to having a problem in the erroneous element Curr encyDataV1. Hint: this often means that some other annotation processor was supposed to process the erroneous element. You can also enable MapStruct verbose mode by setting -Amapstruct.verbose=true as a compilation argument. public interface CurrencyDataMapper { ^ 22 errors 2 warnings > Task :fineract-core:compileJava FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':fineract-core:compileJava'. > Compilation failed; see the compiler error output for details. * Try: > Run with --info option to get more log output. Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. For more on this, please refer to https://docs.gradle.org/8.5/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. BUILD FAILED in 1m 86 actionable tasks: 48 executed, 4 from cache, 34 up-to-date