FINERACT-1932: Fineract modularization - fineract-document
This commit is contained in:
committed by
Adam Saghy
parent
ce2f05ee78
commit
2b9e114c05
+3
-1
@@ -31,6 +31,7 @@ buildscript {
|
|||||||
'fineract-accounting',
|
'fineract-accounting',
|
||||||
'fineract-provider',
|
'fineract-provider',
|
||||||
'fineract-branch',
|
'fineract-branch',
|
||||||
|
'fineract-document',
|
||||||
'fineract-investor',
|
'fineract-investor',
|
||||||
'fineract-loan',
|
'fineract-loan',
|
||||||
'fineract-savings',
|
'fineract-savings',
|
||||||
@@ -54,7 +55,8 @@ buildscript {
|
|||||||
'fineract-investor',
|
'fineract-investor',
|
||||||
'fineract-loan',
|
'fineract-loan',
|
||||||
'fineract-savings',
|
'fineract-savings',
|
||||||
'fineract-branch'
|
'fineract-branch',
|
||||||
|
'fineract-document'
|
||||||
].contains(it.name)
|
].contains(it.name)
|
||||||
}
|
}
|
||||||
npmRepository = 'https://npm.pkg.github.com'
|
npmRepository = 'https://npm.pkg.github.com'
|
||||||
|
|||||||
@@ -0,0 +1,90 @@
|
|||||||
|
/**
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
|
* to you 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
|
||||||
|
*
|
||||||
|
* http://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.
|
||||||
|
*/
|
||||||
|
description = 'Fineract Document'
|
||||||
|
|
||||||
|
apply plugin: 'java'
|
||||||
|
apply plugin: 'eclipse'
|
||||||
|
|
||||||
|
compileJava.doLast {
|
||||||
|
def mainSS = sourceSets.main
|
||||||
|
def source = mainSS.java.classesDirectory.get()
|
||||||
|
copy {
|
||||||
|
from file("src/main/resources/jpa/document/persistence.xml")
|
||||||
|
into "${source}/META-INF/"
|
||||||
|
}
|
||||||
|
javaexec {
|
||||||
|
description = 'Performs EclipseLink static weaving of entity classes'
|
||||||
|
def target = source
|
||||||
|
main 'org.eclipse.persistence.tools.weaving.jpa.StaticWeave'
|
||||||
|
args '-persistenceinfo', source, '-classpath', sourceSets.main.runtimeClasspath, source, target
|
||||||
|
classpath sourceSets.main.runtimeClasspath
|
||||||
|
}
|
||||||
|
delete {
|
||||||
|
delete "${source}/META-INF/persistence.xml"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
configurations {
|
||||||
|
providedRuntime // needed for Spring Boot executable WAR
|
||||||
|
providedCompile
|
||||||
|
compile() {
|
||||||
|
exclude module: 'hibernate-entitymanager'
|
||||||
|
exclude module: 'hibernate-validator'
|
||||||
|
exclude module: 'activation'
|
||||||
|
exclude module: 'bcmail-jdk14'
|
||||||
|
exclude module: 'bcprov-jdk14'
|
||||||
|
exclude module: 'bctsp-jdk14'
|
||||||
|
exclude module: 'c3p0'
|
||||||
|
exclude module: 'stax-api'
|
||||||
|
exclude module: 'jaxb-api'
|
||||||
|
exclude module: 'jaxb-impl'
|
||||||
|
exclude module: 'jboss-logging'
|
||||||
|
exclude module: 'itext-rtf'
|
||||||
|
exclude module: 'classworlds'
|
||||||
|
}
|
||||||
|
runtime
|
||||||
|
}
|
||||||
|
|
||||||
|
apply from: 'dependencies.gradle'
|
||||||
|
|
||||||
|
// Configuration for the modernizer plugin
|
||||||
|
// https://github.com/andygoossens/gradle-modernizer-plugin
|
||||||
|
modernizer {
|
||||||
|
ignoreClassNamePatterns = [
|
||||||
|
'.*AbstractPersistableCustom',
|
||||||
|
'.*EntityTables',
|
||||||
|
'.*domain.*'
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
// If we are running Gradle within Eclipse to enhance classes with OpenJPA,
|
||||||
|
// set the classes directory to point to Eclipse's default build directory
|
||||||
|
if (project.hasProperty('env') && project.getProperty('env') == 'eclipse') {
|
||||||
|
sourceSets.main.java.outputDir = new File(rootProject.projectDir, "fineract-core/bin/main")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(project.hasProperty('env') && project.getProperty('env') == 'dev')) {
|
||||||
|
sourceSets {
|
||||||
|
test {
|
||||||
|
java {
|
||||||
|
exclude '**/core/boot/tests/**'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,83 @@
|
|||||||
|
/**
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
|
* to you 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
|
||||||
|
*
|
||||||
|
* http://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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
// Never use "compile" scope, but make all dependencies either 'implementation', 'runtimeOnly' or 'testCompile'.
|
||||||
|
// Note that we never use 'api', because Fineract at least currently is a simple monolithic application ("WAR"), not a library.
|
||||||
|
// We also (normally should have) no need to ever use 'compileOnly'.
|
||||||
|
|
||||||
|
// implementation dependencies are directly used (compiled against) in src/main (and src/test)
|
||||||
|
//
|
||||||
|
implementation(project(path: ':fineract-core'))
|
||||||
|
|
||||||
|
implementation(
|
||||||
|
'org.springframework.boot:spring-boot-starter-web',
|
||||||
|
'org.springframework.boot:spring-boot-starter-security',
|
||||||
|
'jakarta.ws.rs:jakarta.ws.rs-api',
|
||||||
|
'org.glassfish.jersey.media:jersey-media-multipart',
|
||||||
|
|
||||||
|
'com.google.guava:guava',
|
||||||
|
'com.google.code.gson:gson',
|
||||||
|
|
||||||
|
'org.apache.commons:commons-lang3',
|
||||||
|
|
||||||
|
'com.jayway.jsonpath:json-path',
|
||||||
|
|
||||||
|
'com.github.spotbugs:spotbugs-annotations',
|
||||||
|
'io.swagger.core.v3:swagger-annotations-jakarta',
|
||||||
|
|
||||||
|
'com.squareup.retrofit2:converter-gson',
|
||||||
|
|
||||||
|
'org.springdoc:springdoc-openapi-starter-webmvc-ui',
|
||||||
|
'org.mapstruct:mapstruct',
|
||||||
|
|
||||||
|
'io.github.resilience4j:resilience4j-spring-boot3',
|
||||||
|
'org.apache.httpcomponents:httpcore',
|
||||||
|
|
||||||
|
'org.apache.tika:tika-core',
|
||||||
|
'org.apache.tika:tika-parser-microsoft-module',
|
||||||
|
'org.apache.tika:tika-parser-miscoffice-module',
|
||||||
|
)
|
||||||
|
compileOnly 'org.projectlombok:lombok'
|
||||||
|
annotationProcessor 'org.projectlombok:lombok'
|
||||||
|
annotationProcessor 'org.mapstruct:mapstruct-processor'
|
||||||
|
implementation('org.apache.commons:commons-csv'){}
|
||||||
|
implementation ('software.amazon.awssdk:s3') {
|
||||||
|
}
|
||||||
|
implementation ('software.amazon.awssdk:auth') {
|
||||||
|
}
|
||||||
|
implementation ('org.springframework.boot:spring-boot-starter-data-jpa') {
|
||||||
|
exclude group: 'org.hibernate'
|
||||||
|
}
|
||||||
|
implementation('org.eclipse.persistence:org.eclipse.persistence.jpa') {
|
||||||
|
exclude group: 'org.eclipse.persistence', module: 'jakarta.persistence'
|
||||||
|
}
|
||||||
|
// testCompile dependencies are ONLY used in src/test, not src/main.
|
||||||
|
// Do NOT repeat dependencies which are ALREADY in implementation or runtimeOnly!
|
||||||
|
//
|
||||||
|
testImplementation( 'io.github.classgraph:classgraph' )
|
||||||
|
testImplementation ('org.springframework.boot:spring-boot-starter-test') {
|
||||||
|
exclude group: 'com.jayway.jsonpath', module: 'json-path'
|
||||||
|
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
|
||||||
|
exclude group: 'jakarta.activation'
|
||||||
|
exclude group: 'javax.activation'
|
||||||
|
exclude group: 'org.skyscreamer'
|
||||||
|
}
|
||||||
|
testImplementation ('org.mockito:mockito-inline')
|
||||||
|
}
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
or more contributor license agreements. See the NOTICE file
|
||||||
|
distributed with this work for additional information
|
||||||
|
regarding copyright ownership. The ASF licenses this file
|
||||||
|
to you 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
|
||||||
|
|
||||||
|
http://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.
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
<persistence version="2.0"
|
||||||
|
xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
|
||||||
|
|
||||||
|
<!-- This file is only used for static weaving, nothing more. -->
|
||||||
|
<!-- You can find the runtime configuration in the JPAConfig class -->
|
||||||
|
<persistence-unit name="jpa-pu" transaction-type="RESOURCE_LOCAL">
|
||||||
|
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
|
||||||
|
<!-- Fineract core module -->
|
||||||
|
<class>org.apache.fineract.accounting.glaccount.domain.GLAccount</class>
|
||||||
|
<class>org.apache.fineract.accounting.journalentry.domain.JournalEntry</class>
|
||||||
|
<class>org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom</class>
|
||||||
|
<class>org.apache.fineract.infrastructure.core.domain.AbstractAuditableWithUTCDateTimeCustom</class>
|
||||||
|
<class>org.apache.fineract.infrastructure.codes.domain.Code</class>
|
||||||
|
<class>org.apache.fineract.infrastructure.codes.domain.CodeValue</class>
|
||||||
|
<class>org.apache.fineract.infrastructure.documentmanagement.domain.Image</class>
|
||||||
|
<class>org.apache.fineract.organisation.staff.domain.Staff</class>
|
||||||
|
<class>org.apache.fineract.organisation.office.domain.Office</class>
|
||||||
|
<class>org.apache.fineract.organisation.office.domain.OrganisationCurrency</class>
|
||||||
|
<class>org.apache.fineract.organisation.monetary.domain.ApplicationCurrency</class>
|
||||||
|
<class>org.apache.fineract.organisation.holiday.domain.Holiday</class>
|
||||||
|
<class>org.apache.fineract.organisation.workingdays.domain.WorkingDays</class>
|
||||||
|
<class>org.apache.fineract.portfolio.group.domain.Group</class>
|
||||||
|
<class>org.apache.fineract.portfolio.group.domain.GroupLevel</class>
|
||||||
|
<class>org.apache.fineract.portfolio.group.domain.StaffAssignmentHistory</class>
|
||||||
|
<class>org.apache.fineract.portfolio.group.domain.GroupRole</class>
|
||||||
|
<class>org.apache.fineract.portfolio.client.domain.Client</class>
|
||||||
|
<class>org.apache.fineract.portfolio.fund.domain.Fund</class>
|
||||||
|
<class>org.apache.fineract.portfolio.charge.domain.Charge</class>
|
||||||
|
<class>org.apache.fineract.portfolio.paymenttype.domain.PaymentType</class>
|
||||||
|
<class>org.apache.fineract.portfolio.paymentdetail.domain.PaymentDetail</class>
|
||||||
|
<class>org.apache.fineract.portfolio.tax.domain.TaxGroup</class>
|
||||||
|
<class>org.apache.fineract.portfolio.tax.domain.TaxGroupMappings</class>
|
||||||
|
<class>org.apache.fineract.portfolio.tax.domain.TaxComponent</class>
|
||||||
|
<class>org.apache.fineract.portfolio.tax.domain.TaxComponentHistory</class>
|
||||||
|
<class>org.apache.fineract.portfolio.calendar.domain.Calendar</class>
|
||||||
|
<class>org.apache.fineract.portfolio.calendar.domain.CalendarHistory</class>
|
||||||
|
<class>org.apache.fineract.portfolio.calendar.domain.CalendarInstance</class>
|
||||||
|
<class>org.apache.fineract.useradministration.domain.AppUser</class>
|
||||||
|
<class>org.apache.fineract.useradministration.domain.Role</class>
|
||||||
|
<class>org.apache.fineract.useradministration.domain.Permission</class>
|
||||||
|
<class>org.apache.fineract.useradministration.domain.AppUserClientMapping</class>
|
||||||
|
<exclude-unlisted-classes>false</exclude-unlisted-classes>
|
||||||
|
<properties>
|
||||||
|
<property name="eclipselink.weaving" value="static" />
|
||||||
|
</properties>
|
||||||
|
</persistence-unit>
|
||||||
|
</persistence>
|
||||||
@@ -30,6 +30,7 @@ dependencies {
|
|||||||
implementation(project(path: ':fineract-loan'))
|
implementation(project(path: ':fineract-loan'))
|
||||||
implementation(project(path: ':fineract-savings'))
|
implementation(project(path: ':fineract-savings'))
|
||||||
implementation(project(path: ':fineract-branch'))
|
implementation(project(path: ':fineract-branch'))
|
||||||
|
implementation(project(path: ':fineract-document'))
|
||||||
providedRuntime("org.springframework.boot:spring-boot-starter-tomcat")
|
providedRuntime("org.springframework.boot:spring-boot-starter-tomcat")
|
||||||
|
|
||||||
// Never use "compile" scope, but make all dependencies either 'implementation', 'runtimeOnly' or 'testCompile'.
|
// Never use "compile" scope, but make all dependencies either 'implementation', 'runtimeOnly' or 'testCompile'.
|
||||||
|
|||||||
@@ -140,6 +140,8 @@
|
|||||||
<!-- Fineract Accounting module -->
|
<!-- Fineract Accounting module -->
|
||||||
<class>org.apache.fineract.accounting.rule.domain.AccountingRule</class>
|
<class>org.apache.fineract.accounting.rule.domain.AccountingRule</class>
|
||||||
<class>org.apache.fineract.accounting.rule.domain.AccountingTagRule</class>
|
<class>org.apache.fineract.accounting.rule.domain.AccountingTagRule</class>
|
||||||
|
<!-- Fineract Document module -->
|
||||||
|
<class>org.apache.fineract.infrastructure.documentmanagement.domain.Document</class>
|
||||||
<exclude-unlisted-classes>false</exclude-unlisted-classes>
|
<exclude-unlisted-classes>false</exclude-unlisted-classes>
|
||||||
<properties>
|
<properties>
|
||||||
<property name="eclipselink.weaving" value="static" />
|
<property name="eclipselink.weaving" value="static" />
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ include ':fineract-core'
|
|||||||
include ':fineract-accounting'
|
include ':fineract-accounting'
|
||||||
include ':fineract-provider'
|
include ':fineract-provider'
|
||||||
include ':fineract-branch'
|
include ':fineract-branch'
|
||||||
|
include ':fineract-document'
|
||||||
include ':fineract-investor'
|
include ':fineract-investor'
|
||||||
include ':fineract-loan'
|
include ':fineract-loan'
|
||||||
include ':fineract-savings'
|
include ':fineract-savings'
|
||||||
|
|||||||
Reference in New Issue
Block a user