<p>This change moves gRPC boilerplate classes from the <code>:core.grpc</code> pkg into a new <code>:daemon.grpc</code> pkg.</p>
<ul>
<li>
<p>The <code>:core.grpc </code>pkg was renamed <code>:core.api</code>, and no longer has any dependencies on <code>gRPC</code> libraries.</p>
</li>
<li>
<p>All core service classes in the <code>:core.api</code> pkg were made package protected, excepting <code>CoreApi</code>, making <code>CoreApi</code> the only possible entry point for all <code>Grpc*Service</code> -> -<code>Core*Service</code> calls.</p>
</li>
<li>
<p>All <code>Grpc*Service</code> classes in the <code>:daemon.grpc</code> pkg were made package protected, excepting <code>GrpcServer</code>;  the only class depending on the Grpc*Service classes is GrpcServer.</p>
</li>
<li>
<p>gRPC dependencies were moved from the <code>gradle.build</code> file's <code>:core</code> sub-project to <code>:daemon</code>.</p>
</li>
</ul>
<p>No changes were made to <code>apitest</code>, but this PR's branch is based on the <a href="https://github.com/bisq-network/bisq/pull/4366" data-hovercard-type="pull_request" data-hovercard-url="/bisq-network/bisq/pull/4366/hovercard">PR 4366</a> branch, so <a href="https://github.com/bisq-network/bisq/pull/4366" data-hovercard-type="pull_request" data-hovercard-url="/bisq-network/bisq/pull/4366/hovercard">PR 4366</a> ought to be merged before this one.</p>

<hr>

<h4>You can view, comment on, or merge this pull request online at:</h4>
<p>  <a href='https://github.com/bisq-network/bisq/pull/4417'>https://github.com/bisq-network/bisq/pull/4417</a></p>

<h4>Commit Summary</h4>
<ul>
  <li>Add configuration support</li>
  <li>Add main resource files</li>
  <li>Add script to get Bisq app pid</li>
  <li>Support starting bitcoin & bisq apps on Linux</li>
  <li>Add :apitest main driver, setup task & dummy tests</li>
  <li>Add build tasks for installing dao-setup files</li>
  <li>Add subproject :apitest to gradle build file</li>
  <li>Fix codacy problems</li>
  <li>Fix codacy problems</li>
  <li>Fix codacy problem</li>
  <li>Fix error msg spacing</li>
  <li>Fix error msgs</li>
  <li>Remove MaxRAM from DEFAULT_JVM_OPTS</li>
  <li>Assume bitcoin-core is statically linked to berkeley-db</li>
  <li>Fix hanging background process problem</li>
  <li>Add line break in front of port config</li>
  <li>Move test setup scaffolding into new Scaffold class</li>
  <li>Expose grpc service stubs</li>
  <li>Fix codacy problems</li>
  <li>Fix codacy problem</li>
  <li>Support @Skip on test classes and methods</li>
  <li>Add first method test cases</li>
  <li>Add MethodTestSuite</li>
  <li>Update bats version test</li>
  <li>Make init() method public</li>
  <li>Add license note, format tearDown(), fix comment</li>
  <li>Run MethodTestSuite</li>
  <li>Add license note</li>
  <li>Fix codacy problem</li>
  <li>Delete commented statement</li>
  <li>Do not run dummy test from driver</li>
  <li>Fix varible names</li>
  <li>Remove test scaffolding logic from ApiTestConfig</li>
  <li>Refresh dao-setup files in Scaffold setup</li>
  <li>Remove hacked method tests</li>
  <li>Support @Order-ing of JUnit tests</li>
  <li>Add first JUnit 'method' tests</li>
  <li>Add driver for running method tests</li>
  <li>Get rid of references to removed @Skip annotation</li>
  <li>Remove @Skip annotaion</li>
  <li>Fix codacy problem in bash script</li>
  <li>Replace config 'numSetupTasks' with 'supportingApps'</li>
  <li>Allow more time for background app shutdown</li>
  <li>Refactor ApiTestCase class hierarchy</li>
  <li>Add wallet protect method tests</li>
  <li>Add tests for resetting a wallet password</li>
  <li>Add --bisqAppInitTime=<Long> config option</li>
  <li>Fix hardcoded bitcoin.conf property values</li>
  <li>Fix comment and code styling</li>
  <li>Fix 'bitcoind not found' error message</li>
  <li>Delete throws clause from method signature</li>
  <li>Fix bitcoind startup error handling</li>
  <li>Bump bisqAppInitTime default back up to 5s</li>
  <li>Remove all sudo related logic from the linux pkg</li>
  <li>Do not "killall bitcoind" processes</li>
  <li>Create convenient way to call bitcoin-cli from tests</li>
  <li>Add FundWalletScenarioTest</li>
  <li>Add JUnitHelper to run tests from JUnitCore</li>
  <li>Do not subtract fee from 'bitcoin-cli sendtoaddress'</li>
  <li>Remove final modifier</li>
  <li>Do not use bitcoin.conf files</li>
  <li>Delete unused bitcoin.conf from resources dir</li>
  <li>Delete all JUnit related class from main sources</li>
  <li>Moving GrpcStubs to test sources</li>
  <li>Move test cases into subproject test sources</li>
  <li>Change :apitest:test task system property name</li>
  <li>Add comment about Bisq DAO dev environment</li>
  <li>Fix @BeforeClass error handling and use jupiter api</li>
  <li>Remove unnecessary curly braces</li>
  <li>Change 'missing bitcoind path' error msg</li>
  <li>Do not leave orphaned processes after failed teardown</li>
  <li>Remove extra whiteline</li>
  <li>Clarify scaffold tear down error handling</li>
  <li>Add fallbackfee param to bitcoind start cmd</li>
  <li>Fix BitcoinCli wrapper error handling</li>
  <li>Fix test fail() msg</li>
  <li>Use non-default regtest bitcoind -rpcport</li>
  <li>Add regtest-port-conflicts.md doc</li>
  <li>Fix port number typo</li>
  <li>Add build / run / test categories docs</li>
  <li>Explain how to run test cases from Intellij</li>
  <li>Fix typo</li>
  <li>Update README</li>
  <li>Remove white lines</li>
  <li>Add punctuation & re-phrase sentence in README</li>
  <li>Change access modifer</li>
  <li>Put 'empty' comments inside ignored catch blocks</li>
  <li>Move gRPC boilerplate from :core to :daemon</li>
</ul>

<h4>File Changes</h4>
<ul>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-acab379a780f70d439d393ae0147bb58">apitest/dao-setup.gradle</a>
    (83)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-66ce5a787934c97d0d53253c87234771">apitest/docs/README.md</a>
    (5)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-3e778c9f1c88991bd8e1d370ecb1abfd">apitest/docs/build-run.md</a>
    (68)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-a252317cbe45043b78d6bda34940dd4e">apitest/docs/regtest-port-conflicts.md</a>
    (12)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-f7483a51c721b32e6c2a0f9bc958bea6">apitest/docs/test-categories.md</a>
    (35)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-0639367defaaab92075e0a1dee96b047">apitest/scripts/get-bisq-pid.sh</a>
    (15)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-cfb2beb68469f91ad7e79e88755bbd4d">apitest/src/main/java/bisq/apitest/ApiTestMain.java</a>
    (80)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-37f4744bd942b58d3fb57a379e71ef67">apitest/src/main/java/bisq/apitest/Scaffold.java</a>
    (417)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-cc68b62637c1baa1103f2611b3ef87c2">apitest/src/main/java/bisq/apitest/SetupTask.java</a>
    (85)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-522c4e837e591aed3f02ecc9c87cabae">apitest/src/main/java/bisq/apitest/SmokeTestBashCommand.java</a>
    (51)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-22a2d68e98f0b021fe0c18e245e3ec60">apitest/src/main/java/bisq/apitest/SmokeTestBitcoind.java</a>
    (72)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-258dfd0a8fbc6ff5fc1c68369d4b76a0">apitest/src/main/java/bisq/apitest/config/ApiTestConfig.java</a>
    (370)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-3d00c8a308ee19de9fe6bf66ac9a6812">apitest/src/main/java/bisq/apitest/config/BisqAppConfig.java</a>
    (123)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-c59ea89901a5a9f350e34d9317f993ce">apitest/src/main/java/bisq/apitest/config/CompositeOptionSet.java</a>
    (61)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-d935dc850e58f071ca6287b9461ca13b">apitest/src/main/java/bisq/apitest/linux/AbstractLinuxProcess.java</a>
    (131)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-7a454899708096411a9eab4bce181c2c">apitest/src/main/java/bisq/apitest/linux/BashCommand.java</a>
    (156)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-fc6ba16b892341b73714491f514ff95c">apitest/src/main/java/bisq/apitest/linux/BisqApp.java</a>
    (263)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-e9d80666d0bd5818b431dba0bf0cdb6e">apitest/src/main/java/bisq/apitest/linux/BitcoinCli.java</a>
    (182)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-abdf0563a887d041ac53df896bc994aa">apitest/src/main/java/bisq/apitest/linux/BitcoinDaemon.java</a>
    (117)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-a845b0c391c48892800e3f27543e4c6b">apitest/src/main/java/bisq/apitest/linux/LinuxProcess.java</a>
    (42)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-dbf176d5fdbcb393744ba5dbd1238d2e">apitest/src/main/java/bisq/apitest/linux/SystemCommandExecutor.java</a>
    (121)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-c66394cde62307904c4dfacf2f711f3b">apitest/src/main/java/bisq/apitest/linux/ThreadedStreamHandler.java</a>
    (91)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-4fb2e295cbefde70ce4665126ad39540">apitest/src/main/resources/apitest.properties</a>
    (0)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-542637af529dbcad44a2437e5c0c67ee">apitest/src/main/resources/blocknotify</a>
    (20)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-95f2b413344d04eddfdd094a00998185">apitest/src/main/resources/logback.xml</a>
    (21)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-2b486b2248b88650958a2fabbcc673ba">apitest/src/test/java/bisq/apitest/ApiTestCase.java</a>
    (94)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-d28e94a1632ea686f9f8ca8b7a00f95a">apitest/src/test/java/bisq/apitest/GrpcStubs.java</a>
    (109)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-d71a55934f30289012f8e372d9124b77">apitest/src/test/java/bisq/apitest/JUnitHelper.java</a>
    (58)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-4c8d45ad583c33862106e3be544d3dc6">apitest/src/test/java/bisq/apitest/method/BitcoinCliHelper.java</a>
    (92)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-8161e17c1c3efbd630fe4ea7de25ebce">apitest/src/test/java/bisq/apitest/method/GetBalanceTest.java</a>
    (68)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-4fcb8c85d38b1f26750d67d2de6e2672">apitest/src/test/java/bisq/apitest/method/GetVersionTest.java</a>
    (61)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-6d158dc3de2c806c8ad7b561c9eba091">apitest/src/test/java/bisq/apitest/method/MethodTest.java</a>
    (88)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-1f2ea91158e3388c118064844fcf7ad7">apitest/src/test/java/bisq/apitest/method/WalletProtectionTest.java</a>
    (135)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-9b1a7aa266738afe56ea454256118898">apitest/src/test/java/bisq/apitest/scenario/FundWalletScenarioTest.java</a>
    (68)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-e4158bd3ee884b7d7ef3e7b3b65390fb">apitest/src/test/java/bisq/apitest/scenario/ScenarioTest.java</a>
    (28)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-c197962302397baf3a4cc36463dce5ea">build.gradle</a>
    (105)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-363f459105956a5f70b16fa31a07a4b5">cli/src/main/java/bisq/cli/CurrencyFormat.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-9368479f5696839c056de9f5b7d62e7b">cli/test.sh</a>
    (4)
  </li>
  <li>
    <strong>R</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-defe707a4d38994a1dd5a818fc078522">core/src/main/java/bisq/core/api/CoreApi.java</a>
    (4)
  </li>
  <li>
    <strong>R</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-d7353096fea115841d9ac980fe68b3af">core/src/main/java/bisq/core/api/CoreOffersService.java</a>
    (4)
  </li>
  <li>
    <strong>R</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-d4059c1d76936ff1d5186eb5730cb9a4">core/src/main/java/bisq/core/api/CorePaymentAccountsService.java</a>
    (4)
  </li>
  <li>
    <strong>R</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-fa258cf72caec92788e960e71c63d66f">core/src/main/java/bisq/core/api/CoreWalletsService.java</a>
    (4)
  </li>
  <li>
    <strong>R</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-909bdd5f08ad125deaaec2bf62391619">core/src/main/java/bisq/core/api/model/AddressBalanceInfo.java</a>
    (2)
  </li>
  <li>
    <strong>R</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-afa3f3e1583fbdfee1fbfc136fd2a334">core/src/main/java/bisq/core/api/model/OfferInfo.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-01a7cf00fcce84b3e03a47b3b1c81bbd">daemon/src/main/java/bisq/daemon/app/BisqDaemonMain.java</a>
    (7)
  </li>
  <li>
    <strong>R</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-073db9176bdbf520d57c0bb69bcde77e">daemon/src/main/java/bisq/daemon/grpc/GrpcOffersService.java</a>
    (5)
  </li>
  <li>
    <strong>R</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-eca81dac77bbe2b6a1ba4b39bfe38897">daemon/src/main/java/bisq/daemon/grpc/GrpcPaymentAccountsService.java</a>
    (5)
  </li>
  <li>
    <strong>R</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-cf9363e58d0ea299011282758a4aa8e3">daemon/src/main/java/bisq/daemon/grpc/GrpcServer.java</a>
    (3)
  </li>
  <li>
    <strong>R</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-164f12ba196f3ba9788a17f81d798bfa">daemon/src/main/java/bisq/daemon/grpc/GrpcWalletsService.java</a>
    (5)
  </li>
  <li>
    <strong>R</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-bca3dcf8f4b682cd9e5961434ca7c59e">daemon/src/main/java/bisq/daemon/grpc/PasswordAuthInterceptor.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4417/files#diff-88b7c47e47b8ee65263b6784b86fa0a7">settings.gradle</a>
    (1)
  </li>
</ul>

<h4>Patch Links:</h4>
<ul>
  <li><a href='https://github.com/bisq-network/bisq/pull/4417.patch'>https://github.com/bisq-network/bisq/pull/4417.patch</a></li>
  <li><a href='https://github.com/bisq-network/bisq/pull/4417.diff'>https://github.com/bisq-network/bisq/pull/4417.diff</a></li>
</ul>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/bisq-network/bisq/pull/4417">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AJFFTNS3ISFND7RTQIBNM23SBQNRXANCNFSM4QFH6KFA">unsubscribe</a>.<img src="https://github.com/notifications/beacon/AJFFTNVRTSN2RZOOALWUTZDSBQNRXA5CNFSM4QFH6KFKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4KFHRN7A.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/bisq-network/bisq/pull/4417",
"url": "https://github.com/bisq-network/bisq/pull/4417",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>