Commit graph

720 commits

Author SHA1 Message Date
Chris Beams
cef131151c
Merge branch 'master' into tau3-refactoring/core-seed-nodes-repository 2018-03-10 10:59:42 +01:00
Chris Beams
19b9c6fe59
Set Maven version to -SNAPSHOT
Problem: d218094 set the version to 0.7.0-SNAPSHOT, but that change
failed to produce the intended effect detailed in the commit comment.
Setting the version to a value like 0.7.0-SNAPSHOT works fine when
publishing artifacts to a local ~/.m2 repository, but JitPack has no
awareness of version metadata within pom files, and can only retreive
artifacts based on Git metadata, namely tags, branch names and commit
hashes. This means it is impossible to resolve artifacts from JitPack
with a GAV like `io.bisq.exchange:core:0.7.0-SNAPSHOT` unless there is a
branch named `0.7.0`. This is why the pull request at
bisq-network/bisq-seednode#1 failed.

Solution: JitPack supports the semantics of Maven-style `-SNAPSHOT`
versioning, and as a special case, allows for versions to be named
literally `-SNAPSHOT` with no preceding version string [1,2]. This
commit sets all Maven versions to `-SNAPSHOT`, achieving the original
effect intended by d218094. Now downstream components (like
bisq-seednode) can resolve dependencies seamlessly from JitPack or a
local ~/.m2 repo with a GAV like `io.bisq.exchange:core:-SNAPSHOT`. This
is a slightly unconventional arrangement, but should actually result in
fewer updates to pom files over time as there may in fact be no reason
to ever change this version string so long as we continue using JitPack
and avoid publication to Maven Central / JCenter or similar.

[1]: https://jitpack.io/docs/#building-with-jitpack
[2]: https://github.com/jitpack/jitpack.io/issues/351

See #1440
2018-03-09 10:29:23 +01:00
Chris Beams
d218094269
Bump Maven artifact versions to 0.7.0-SNAPSHOT
Problem: When resolving Bisq libraries, e.g. `core` or `network` from
JitPack for use in other components like bisq-seednode or
bisq-pricenode, we have historically, resolved them by tag or by
branchname, e.g. with GAV coordinates like `io.bisq:core:v0.6.7` or
`io.bisq:core:master`. This works well enough, but now that we are
beginning to modularize more aggressively, we want to make sure that
it's possible at any time to publish the latest snapshots of these
libraries to one's own local ~/.m2 repository such that they can be
easily resolved from downstream components without the need to push
commits to the bisq-network/exchange remote, and to wait for JitPack to
do a just-in-time build.

Solution: By updating the version value of all modules here in the
exchange repository from 0.6.7 => 0.7.0-SNAPSHOT, one can run
`mvn install` to publish the latest "snapshot" of exchange libraries to
the local ~/.m2 repository and be sure to resolve them from whatever
downstream component that they are working on. The -SNAPSHOT qualifier
ensures that no caching occurs, and that the very latest such binary
will always be used.

This new arrangement creates a situation where one can transparently
resolve these dependencies remotely from JitPack and then subsequently
resolve them locally from one's ~/.m2 repository without having to
change a line of code.

It also opens up the ability to manage all Bisq components together in a
single IDE window as if they were all in one repository, avoiding the
need even to issue a `mvn install` command to publish locally--but
that's not the main focus of this change.

Note that the change to 0.7.0 here is based on the fact that we already
planned to have the next version shipped from `master` be 0.7.0, as
there are quite a few new UI changes that probably merit the bump in
minor version. The version change also aligns well with the fact that
we're modularizing a number of components right now, and all
newly-extracted components have been jumping to v0.7.0 to indicate their
new independent status. This has been the case with bisq-seednode and
pricenode so far.

Finally, it is important to note here that the ONLY versions updated by
this change are those specific to Maven metadata and therefore artifact
management / dependency resolution. The version that the Bisq desktop
client reports in its UI and to the network in its user agent has NOT
been changed, on account of the fact that users may run Bisq from
source, and we need to think through more fully the implications of
reporting a verison like 0.7.0-SNAPSHOT in those situations. Here is a
list of files containing the old version (0.6.7) that have NOT been
updated:

 - common/src/main/java/io/bisq/common/app/Version.java
 - package/linux/32bitBuild.sh
 - package/linux/Dockerfile
 - package/osx/create_app.sh
 - package/osx/finalize.sh
 - package/windows/32bitBuild.bat
 - package/windows/64bitBuild.bat
 - package/windows/Bisq.iss
 - package/linux/64bitBuild.sh

One thing we know for sure that wouldn't work here is that Bisq's
Version class currently does not support -SNAPSHOT qualifiers. It just
breaks the version string validation entirely. So we'd need to patch
that in any case if we do decide it's a good idea to let pre-release
builds report their version accurately.
2018-03-08 19:49:30 +01:00
Chris Beams
19d8c252ba
Change groupid from io.bisq => io.bisq.exchange
Problem: The current `io.bisq` groupid does not align with the way
JitPack supports custom groupids. In order to be able to both resolve
artifacts from JitPack *and* be able to resolve the same artifacts from
one's local ~/.m2 repository, Bisq artifacts need to have the same GAV
coordinates everywhere (groupid, artifactid, version).

Solution: This commit changes all groupids from io.bisq =>
io.bisq.exchange to match the GAV coordinates produced / expected by
JitPack.

So where Bisq's core module would previously have been resolvable with
GAV coordinates `io.bisq:core:v0.6.7` it will now be resolvable as
`io.bisq.exchange:core:v0.6.7`.

Note that this change is not just to satisfy JitPack idiosyncracies, but
is actually good naming practice anyway where a multi-module build is
involved, and is arguably the way it should have been all along.

[1]: https://jitpack.io/docs/#publishing-on-jitpack
2018-03-08 18:59:31 +01:00
Manfred Karrer
fc59873092
Cleanup, add isPresent checks for Optional, refactorings. 2018-03-06 21:25:20 -05:00
Manfred Karrer
1d0591084d
Merge branch '0.6.7'
# Conflicts:
#	common/pom.xml
#	common/src/main/java/io/bisq/common/app/Version.java
#	common/src/main/resources/i18n/displayStrings.properties
#	common/src/main/resources/i18n/displayStrings_hu.properties
#	common/src/main/resources/i18n/displayStrings_ro.properties
#	consensus/pom.xml
#	core/pom.xml
#	core/src/main/java/io/bisq/core/offer/OpenOfferManager.java
#	core/src/main/java/io/bisq/core/payment/PaymentAccountUtil.java
#	core/src/main/java/io/bisq/core/provider/fee/FeeService.java
#	gui/pom.xml
#	gui/src/main/java/io/bisq/gui/bisq.css
#	gui/src/main/java/io/bisq/gui/main/offer/createoffer/CreateOfferDataModel.java
#	gui/src/main/java/io/bisq/gui/main/offer/createoffer/CreateOfferView.java
#	gui/src/main/java/io/bisq/gui/main/offer/takeoffer/TakeOfferView.java
#	gui/src/main/java/io/bisq/gui/main/portfolio/openoffer/OpenOffersView.java
#	gui/src/main/java/io/bisq/gui/main/portfolio/openoffer/OpenOffersViewModel.java
#	gui/src/main/java/io/bisq/gui/util/GUIUtil.java
#	monitor/pom.xml
#	network/pom.xml
#	network/src/main/resources/PersistableNetworkPayloadMap_BTC_MAINNET
#	package/linux/32bitBuild.sh
#	package/linux/64bitBuild.sh
#	package/linux/Dockerfile
#	package/osx/create_app.sh
#	package/osx/finalize.sh
#	package/windows/32bitBuild.bat
#	package/windows/64bitBuild.bat
#	package/windows/Bisq.iss
#	pom.xml
#	seednode/pom.xml
#	statistics/pom.xml
2018-02-26 22:03:47 -05:00
Manfred Karrer
fd47cefc6c
Set v0.6.7 2018-02-26 20:23:07 -05:00
Manfred Karrer
3cff5ce73e
Update PersistableNetworkPayloadMap_BTC_MAINNET 2018-02-26 20:22:05 -05:00
Manfred Karrer
2c593559db
Merge 0.6.6 branch to master 2018-02-23 21:40:34 -05:00
Manfred Karrer
b22667e04c
Update PersistableNetworkPayloadMap_BTC_MAINNET 2018-02-23 17:42:18 -05:00
Manfred Karrer
0b6edbb883
Set version 0.6.6 2018-02-23 15:41:24 -05:00
Chris Beams
4ac45d7fe8
Rename SeedNodesRepository => SeedNodeRepository
The idiomatic approach to naming domain-driven design (DDD)-style
repositories is to use the singular form of the object being
encapsulated by the repository, e.g. BookRepository vs. BooksRepository.

Thus far, the repository interfaces and implementations created here in
Bisq have used the latter, plural form, but going forward we should
revert to the norm. To this end, this commit renames SeedNodesRepository
and its single implementation to SeedNodeRepository and
CoreSeedNodeRepository respectively.
2018-02-21 10:33:20 +01:00
Chris Beams
b5af59dee0
Remove NetworkStressTest to simplify CoreSeedNodesRepository
NetworkStressTest has been ignored for months because it had become
"outdated" and is therefore now dead code. It is the only place that the
CoreSeedNodesRepository#setTorSeedNodeAddresses
and #setLocalhostSeedNodeAddresses methods were called. Removing it
completely allows for removing these methods and marking the underlying
fields in CoreSeedNodesRepository as final.
2018-02-21 10:33:19 +01:00
Manfred Karrer
313090b825
Improve and fix logs. 2018-02-12 11:17:31 -05:00
Bernard Labno
c12fb0c29b Configurable hostname in localhost p2p mode. 2018-02-06 15:31:20 +01:00
Manfred Karrer
629c8b59df
Merge pull request #1318 from tau3/bugfix/1315/connection-lock-problem
bugfix/1315/connection-lock-problem
2018-02-02 19:56:43 -05:00
Sergey Rozhnov
f159de6bb4 Implemented result awaiting in SynchronizedProtoOutputStream 2018-02-02 16:29:21 +04:00
Sergey Rozhnov
3e27d69e03 Integrated Connection class with SynchronizedProtoOutputStream 2018-02-02 16:10:40 +04:00
Sergey Rozhnov
98eabf84fa Implemented SynchronizedProtoOutputStream 2018-02-02 15:55:20 +04:00
Sergey Rozhnov
5fc7364973 Added initial implementation of ProtoOutputStream class 2018-02-02 14:30:31 +04:00
Manfred Karrer
ee9b133f65
Merge branch 'Development'
# Conflicts:
#	gui/src/main/java/io/bisq/gui/main/funds/transactions/TransactionsView.java
#	gui/src/main/java/io/bisq/gui/main/overlays/windows/TorNetworkSettingsWindow.java
2018-02-01 14:10:42 -05:00
Manfred Karrer
74bd09917f
Update PersistableNetworkPayloadMap_BTC_MAINNET 2018-01-31 13:13:15 -05:00
Manfred Karrer
bf244856b1
v0.6.5 2018-01-31 13:04:24 -05:00
Manfred Karrer
50f9a790fd
Cleanup 2018-01-26 11:32:01 -05:00
Manfred Karrer
172c51a6c3
Change selection of randomized provider node 2018-01-26 08:45:36 -05:00
Manfred Karrer
d565c9fe0c
Refactoring: Rename onBootstrapComplete to onUpdatedDataReceived and onRequestingDataCompleted to onDataReceived. 2018-01-25 18:40:21 -05:00
Manfred Karrer
34dd0b71d0
Merge branch 'Development' into dao
# Conflicts:
#	gui/src/main/java/io/bisq/gui/bisq.css
#	gui/src/main/java/io/bisq/gui/main/dao/compensation/active/ActiveCompensationRequestView.java
#	gui/src/main/java/io/bisq/gui/main/dao/compensation/create/CreateCompensationRequestView.java
#	gui/src/main/java/io/bisq/gui/main/dao/voting/vote/VoteView.java
#	gui/src/main/java/io/bisq/gui/main/dao/wallet/tx/BsqTxView.java
#	gui/src/main/java/io/bisq/gui/main/funds/transactions/TransactionsView.java
2018-01-24 19:44:01 -05:00
Manfred Karrer
02f04d3129
Cleanup 2018-01-21 12:06:04 -05:00
Manfred Karrer
e84cf66f47
Update PersistableNetworkPayloadMap_BTC_MAINNET 2018-01-20 20:51:46 -05:00
Manfred Karrer
33eecd81aa
Release 0.6.4 2018-01-20 20:47:53 -05:00
Manfred Karrer
8360f3b0e3
Cleanup 2018-01-20 19:24:18 -05:00
Manfred Karrer
a216e8e992
Change log level 2018-01-19 21:10:44 -05:00
Manfred Karrer
9aef72a558
Fix merge error 2018-01-12 23:34:55 +01:00
Manfred Karrer
10a2b53e3a
Merge branch 'master' into dao
# Conflicts:
#	core/src/main/java/io/bisq/core/app/SetupUtils.java
#	core/src/main/java/io/bisq/core/btc/wallet/BsqWalletService.java
#	core/src/main/java/io/bisq/core/btc/wallet/WalletService.java
#	gui/src/main/java/io/bisq/gui/bisq.css
#	gui/src/main/java/io/bisq/gui/main/dao/compensation/create/CreateCompensationRequestView.java
#	gui/src/main/java/io/bisq/gui/main/offer/offerbook/OfferBookViewModel.java
#	gui/src/main/resources/logback.xml
#	network/src/main/java/io/bisq/network/p2p/peers/getdata/GetDataRequestHandler.java
#	network/src/main/java/io/bisq/network/p2p/peers/getdata/RequestDataHandler.java
#	network/src/main/java/io/bisq/network/p2p/storage/P2PDataStorage.java
2018-01-12 23:21:22 +01:00
Manfred Karrer
f71ce6b237
Update PersistableNetworkPayloadMap_BTC_MAINNET 2018-01-10 21:45:52 +01:00
Manfred Karrer
43cc5598ca
Fix wrong fee estimation for taker. Improve logs. 2018-01-10 13:57:07 +01:00
Manfred Karrer
391844e41e
Don't delete tor files at startup. Cleanup 2018-01-10 00:54:00 +01:00
Manfred Karrer
9988a7e4f6
Increase retry for monitor to 5. Adjust logs. Cleanup. 2018-01-09 23:55:15 +01:00
Manfred Karrer
aeec075c91
Prepare v0.6.3 2018-01-09 23:36:49 +01:00
Manfred Karrer
e8fbd7a3bc
Delete tor directory (excluding hidden service folder) at startup 2018-01-09 20:18:19 +01:00
Manfred Karrer
1635e414fa
Add logs for expired storage data 2018-01-09 19:07:41 +01:00
Manfred Karrer
f1df5af69e
Disconnect from seed nodes at maxConnections (revert earlier change with disconnect at 6 connections to avoid risk for partitioning of seed nodes) 2018-01-09 18:37:33 +01:00
Manfred Karrer
8bec17a823
Move persisted data to resource dir. Improve logging 2018-01-09 13:54:47 +01:00
Manfred Karrer
59c5ab6043
Use latest netlayer version with latest tor binaries 2018-01-04 20:14:55 +01:00
Manfred Karrer
307b936082
Fix Monitor issues with error reports. Improve logging. 2018-01-03 15:55:59 +01:00
Manfred Karrer
f0ab56cced
Deactiavete stream isolation. Improve logging 2017-12-27 23:50:33 +01:00
Manfred Karrer
0c120ce16a
Fix max limit for purge reported peers. Add more logs. Add comment. 2017-12-25 20:32:34 +01:00
Manfred Karrer
dbf757fe8b
Increase redundancy at initial data requests 2017-12-24 00:23:49 +01:00
Manfred Karrer
022f4c068e
Improve logging 2017-12-20 19:48:38 +01:00
Manfred Karrer
b70d5f69af
Connect to other peers directrly after HS is published. Connect in parallel to 8 peers. Change some timeouts. 2017-12-20 18:17:23 +01:00