[bisq-network/bisq] Refactor Gradle build (#1862)

Chris Beams notifications at github.com
Sun Nov 4 18:19:30 UTC 2018


This PR supersedes @devinbileck's similar work at #1808. It makes a number of similar changes, does a few things differently, and then goes a good deal further toward simplifying the build arrangement. This is work that I've been meaning to do since reconsolidating into a single repository, but am just now getting to (thanks Devin for spurring that on).

There is now just a single `build.gradle` file in the root directory that uses `configure` blocks to configure each project in turn. It's important to understand that these blocks are additive. That is, it's possible to configure several projects at once in a single `configure` block, and then further configure each individual project in a dedicated `configure` block. You can see this being done in the way that all subprojects with a `main` method are configured with the `application` plugin in a single `configure` block, and then how each of those projects are further configured individually with their specific dependencies, etc, in subsequent blocks.

The bottom line is that we now have one-stop shopping for all our build needs, while still keeping concerns separated. Much cruft and duplication has been removed, and we're not doing anything really fancy with the build anywhere. It should be possible, with a minimum of ramp-up time for contributors not too familiar with Gradle to understand what's going on and to be able to make what changes they need. If you are one of those contributors, and find this new arrangement otherwise, please let me know.
You can view, comment on, or merge this pull request online at:

  https://github.com/bisq-network/bisq/pull/1862

-- Commit Summary --

  * Remove obsolete desktop/settings.gradle
  * Refactor gradle-witness plugin location and config
  * Remove obsolete gradle/wrapper dir
  * Remove osdetector plugin from desktop build
  * Remove duplicate openjfx dependencies
  * Upgrade to Gradle 4.10.2
  * Eliminate unnecessary dependency from assets->common
  * Use single quotes for Gradle strings
  * Remove use of maven plugin
  * Remove use of lombok annotations in relay
  * Fix broken mainClassName in relay
  * Remove unnecessary JesusMcCloud repo from relay
  * Pull up application and configuration of java plugin
  * Pull up common repositories to root build.gradle
  * Pull up common JavaCompile config to root
  * Pull up JesusMcCloud repo to root
  * Pull up application plugin config to root
  * Remove assets Javadoc jar
  * Inline $jmockitVersion core/desktop build.gradle
  * Fix incorrect name in pricenode jar and manifest
  * Pull up remaining assets config to root
  * Pull up remaining common config to root
  * Pull up remaining core config to root
  * Pull up remaining desktop config to root
  * Pull up remaining monitor config to root
  * Pull up remaining p2p config to root
  * Pull up remaining pricenode config to root
  * Pull up remaining relay config to root
  * Pull up remaining seednode config to root
  * Pull up remaining statsnode config to root
  * Minimize common subproject javafx dependencies
  * Extract variables for duplicate dependency versions
  * Use two blank lines between configure blocks
  * Remove unnecessary :desktop:test javaagent config
  * Remove unnecessary seednode resources config
  * Remove unnecessary application of 'java-base' plugin

-- File Changes --

    D assets/build.gradle (38)
    M assets/src/main/java/bisq/asset/PrintTool.java (18)
    M build.gradle (321)
    D common/build.gradle (87)
    D core/build.gradle (74)
    D desktop/gradle/witness/README.md (1)
    D desktop/gradle/wrapper/gradle-wrapper.jar (0)
    D desktop/gradle/wrapper/gradle-wrapper.properties (6)
    D desktop/settings.gradle (2)
    R gradle/witness/gradle-witness.gradle (90)
    R gradle/witness/gradle-witness.jar (0)
    M gradle/wrapper/gradle-wrapper.properties (2)
    D monitor/build.gradle (29)
    D p2p/build.gradle (33)
    D pricenode/build.gradle (35)
    D relay/build.gradle (32)
    M relay/src/main/java/bisq/relay/RelayService.java (6)
    D seednode/build.gradle (39)
    D statsnode/build.gradle (27)

-- Patch Links --

https://github.com/bisq-network/bisq/pull/1862.patch
https://github.com/bisq-network/bisq/pull/1862.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/bisq-network/bisq/pull/1862
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bisq.network/pipermail/bisq-github/attachments/20181104/bf7a01dd/attachment.html>


More information about the bisq-github mailing list