From commits-return-12694-archive-asf-public=cust-asf.ponee.io@fineract.apache.org Wed Oct 14 10:58:13 2020 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mailroute1-lw-us.apache.org (mailroute1-lw-us.apache.org [207.244.88.153]) by mx-eu-01.ponee.io (Postfix) with ESMTPS id 029EA18063F for ; Wed, 14 Oct 2020 12:58:13 +0200 (CEST) Received: from mail.apache.org (localhost [127.0.0.1]) by mailroute1-lw-us.apache.org (ASF Mail Server at mailroute1-lw-us.apache.org) with SMTP id 37D0C123A9D for ; Wed, 14 Oct 2020 10:58:12 +0000 (UTC) Received: (qmail 88092 invoked by uid 500); 14 Oct 2020 10:58:12 -0000 Mailing-List: contact commits-help@fineract.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@fineract.apache.org Delivered-To: mailing list commits@fineract.apache.org Received: (qmail 88083 invoked by uid 99); 14 Oct 2020 10:58:11 -0000 Received: from ec2-52-202-80-70.compute-1.amazonaws.com (HELO gitbox.apache.org) (52.202.80.70) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 14 Oct 2020 10:58:11 +0000 From: =?utf-8?q?GitBox?= To: commits@fineract.apache.org Subject: =?utf-8?q?=5BGitHub=5D_=5Bfineract=5D_vidakovic_opened_a_new_pull_request_?= =?utf-8?q?=231402=3A_FINERACT-1189=3A_fineract_client_as_a_separate_module?= Message-ID: Date: Wed, 14 Oct 2020 10:58:11 -0000 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit vidakovic opened a new pull request #1402: URL: https://github.com/apache/fineract/pull/1402 ## Description Some pointers for your reviews: 1. fineract-client uses the official OpenAPI Gradle plugin to generate sources; I've removed the plugin that was previously used from fineract-provider; the CLI based code generation is also removed (including spawning a separate Gradle build); just to say fineract-client is a true module now 2. the "allprojects" section contains now more plugin configurations that can be applied to all modules; I've moved Spring dependency management, Rat and License check there, because like this we only have to configure them once 3. there is a new section (after "allprojects") that contain every plugin configuration common to Java modules. Source sets, compiler arguments, JDK compatibility as well as Spotless Java related configurations are done in one place here. We can move more stuff here, e. g. Errorprone, Jacoco, Git properties, Checkstyle, Modernizer, Spotbugs, project report; these plugins are not fineract-provider specific, but can be applied to any Java module (fineract-client included); I just wanted to limit this first set of changes (already 25+ files changed) 4. please look at line 26 of the build.gradle file in the root folder to see how the selection of Java projects works; this allows us to use one common configuration for Java projects (see line 333) 5. fineract-client/src/main/templates contains OpenAPI/Swagger code generator template files that fix a couple of style errors or just add licenses; just to have the bare minimum there; these sources are still excluded from Spotless and other checks, because... well, generated code. 6. in the current upstream develop branch the Swagger generated code is built on Travis with "mvn test"; I would be surprised if we have any tests there... I remember there's a flag to generate test stubs, but how useful are these skeleton tests then? Have to check this again 7. I still have to decide how to handle the Swagger file ("fineract.yaml"). In my first prototype I've copied it from fineract-provider to fineract-client, because I couldn't convince Gradle to build the modules in a certain order (fineract-provider -> fineract-client); it's not really a good practice to do this anyway in Gradle, but still there are a few mechanics that should help (like declaring a project dependency or something along those lines). If I manage to get this working then we don't need to Git manage fineract.yaml under fineract-client (we can just pick it up in fineract-provider/build). Just FYI ## Checklist Please make sure these boxes are checked before submitting your pull request - thanks! - [x] Write the commit message as per https://github.com/apache/fineract/#pull-requests - [x] Acknowledge that we will not review PRs that are not passing the build _("green")_ - it is your responsibility to get a proposed PR to pass the build, not primarily the project's maintainers. - [x] Create/update unit or integration tests for verifying the changes made. - [x] Follow coding conventions at https://cwiki.apache.org/confluence/display/FINERACT/Coding+Conventions. - [x] Add required Swagger annotation and update API documentation at fineract-provider/src/main/resources/static/api-docs/apiLive.htm with details of any API changes - [x] Submission is not a "code dump". (Large changes can be made "in repository" via a branch. Ask on the developer mailing list for guidance, if required.) ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: users@infra.apache.org