Commit Graph

336 Commits

Author SHA1 Message Date
Florian Reimair
b38f31239a Use same private_key in NewTor and RunningTor mode 2018-12-21 13:46:32 +01:00
Florian Reimair
d46813c866 TorHiddenServiceStartupTime Metric available 2018-12-21 11:35:26 +01:00
Florian Reimair
295cb6c2b8 Graceful shutdown, Netlayer 0.6.2 2018-12-21 11:34:29 +01:00
Florian Reimair
414623ba9f Introduce general purpose Tor instance 2018-12-18 11:46:03 +01:00
Christoph Atteneder
517429e8df
Set SNAPSHOT again 2018-12-13 14:32:05 +01:00
Christoph Atteneder
bab3376c41
Set back version number because of test failures on Travis 2018-12-13 14:28:12 +01:00
Christoph Atteneder
71e2a92ade
Set SNAPSHOT again 2018-12-13 14:01:02 +01:00
Christoph Atteneder
50d4c6c1fc
Bump version number 2018-12-13 13:59:08 +01:00
Florian Reimair
6481543600 Configure gradle properly 2018-12-11 12:20:31 +01:00
Manfred Karrer
cad0156617
Update btcd-cli4j to 0.5.8.4 (commit hash 065d3786)
- Log btcd-cli4j version
- Update witness
- Update findbugs to 3.0.2
2018-12-09 13:38:08 +01:00
Manfred Karrer
9389a8e1fa
Update checkpoint files
We used checkpoint files from BitcoinJ 0.14.4 and those caused a very
slow initial download. I tested with the WalletAppKit and different
release version sof BitcoinJ and could reproduce the behaviour there.
WIth v0.14.5 it was much better. But also that caused slow startup in
Bisq. After creating a current checkpoint file and using that the
download is now very fast.

Also added logging for versions of BitcoinJ and libDohJ so that we have
better control which version is used.
2018-12-06 02:22:58 +01:00
Christoph Atteneder
1e5cddd71c
Set back version to SNAPSHOT release 2018-12-03 22:41:49 +01:00
Christoph Atteneder
091430ede8
Bump version number 2018-12-03 21:51:32 +01:00
Manfred Karrer
de54518839
Set version 0.9.0 2018-12-03 00:38:44 +01:00
Manfred Karrer
0c8b00e4bd
Merge branch 'master' into release-candidate-0.9.0 2018-11-29 18:07:52 +01:00
Chris Beams
2026da0b59
Fix applicationName variable interpolation error
Prior to this fix, the build failed with the following error:

    FAILURE: Build failed with an exception.

    * Where:
    Build file '/Users/cbeams/Work/bisq-network/bisq/build.gradle' line: 109

    * What went wrong:
    Execution failed for task ':desktop:installDist'.
    > No such property: bat for class: java.lang.String
2018-11-27 10:31:44 +01:00
Florian Reimair
00f01748dd Fix broken executables in /bin dirs 2018-11-27 02:52:39 +01:00
Manfred Karrer
670345507d
Merge branch 'master' into release-candidate-0.9.0 2018-11-26 15:24:35 +01:00
Manfred Karrer
926744c962
Remove script files conflicting in copy task
@cbeams
The copy task below fails because the copied files are conflicting
with the project folder name.
I temporarily delete those files as I think they are duplicated
anyway (bisq-* are probably the one to use). Would be good if those
files don't get created in the first place.
The related *.bat files are also deleted.

I push that change directly as currently both master and release
branch fail to build.
2018-11-26 15:24:06 +01:00
Manfred Karrer
0e64a7193d
Merge branch 'master' into release-candidate-0.9.0 2018-11-25 23:52:51 +01:00
Devin Bileck
8cede5c25d
Remove *nix scripts on Windows
Related to https://github.com/bisq-network/bisq/pull/1959 which
removed .bat files on a non-Windows OS to prevent a cluttered root
directory, this change will delete *nix scripts on a Windows OS.
2018-11-25 00:35:04 -08:00
Chris Beams
46ee12dd62
Remove .bat scripts unless user OS is Windows
Previously, start scripts were generated for both *nix and Windows
platforms, resulting in an unnecessarily cluttered root directory.

With this change, both types of script are still generated, but Windows
.bat scripts are deleted immediately afterward if the user is running a
non-Windows OS (unfortunately, there was no clean way to suppress the
generation of these scripts in the Gradle StartScripts API).

See #1956
2018-11-24 10:12:23 +01:00
Chris Beams
fc0491d8da
Generate scripts for Bisq executables in root dir
This change configures the Gradle build to generate "start scripts" for
each Bisq executable (e.g. Bisq Desktop, Bisq Seednode, etc) in the root
project directory, such that after invoking `./gradle build`, the
following executable scripts become available:

    ~/Work/bisq-network/bisq
    $ ls -1 | egrep '(bisq*|lib)'
    bisq-desktop
    bisq-desktop.bat
    bisq-monitor
    bisq-monitor.bat
    bisq-relay
    bisq-relay.bat
    bisq-seednode
    bisq-seednode.bat
    bisq-statsnode
    bisq-statsnode.bat
    lib

This makes it possible for users (developers) to easily discover and use
these scripts in an idiomatic and platform-agnostic way as opposed to
the previous situation where we would advise users to run e.g.

    java -jar desktop/build/libs/desktop-0.8.0-SNAPSHOT-all.jar

This approach works, but is cumbersome and focuses unnecessarily on the
Java-based nature of the project. Now, with the changes in this commit,
the user would simply run:

    ./bisq-desktop

The 'lib' directory shown above contains all the jar files necessary to
construct classpaths for these various scripts. The 'cleanInstallDist'
task deletes the 'bisq-*' files and the 'lib' directory, and the default
'clean' task has been configured to depend on the 'cleanInstallDist'
task to ensure this cleanup happens automatically when most users would
expect it.

In the future, these same scripts can be used when installing Bisq
executables properly on users' systems via package managers like Brew
and Apt. The goal is to have the user experience around running
`bisq-desktop` (and more importantly, the forthcoming `bisqd`) be
similar in every way to installing and using `bitcoind`, `lnd` and other
idiomatic *nix-style utilities, be they Bitcoin-related or not.

See the changes in docs/build.md and docs/dev-setup.md for a further
sense of the how this change impacts the developer experience.
2018-11-23 15:00:47 +01:00
Manfred Karrer
aa05651ff4
Merge branch 'master' into release-candidate-0.9.0 2018-11-17 15:22:58 -05:00
Florian Reimair
f493b5f619 Added hashes and Netlayer release 0.6 2018-11-17 18:14:18 +01:00
Florian Reimair
68d813fc0c Refactored TorNetworkNode 2018-11-17 18:02:49 +01:00
Manfred Karrer
834ac2c04f
Merge branch 'master' into release-candidate-0.9.0 2018-11-16 21:08:03 -05:00
Manfred Karrer
f3851145f0
Merge branch 'master' into release-candidate-0.9.0 2018-11-16 20:29:56 -05:00
Florian Reimair
21a56cc127 worked around jitpack issue 2018-11-16 13:31:37 +01:00
Florian Reimair
3e25ee2cdd Use tor binaries from TorBrowser 8.0.3 2018-11-16 12:28:34 +01:00
Chris Beams
a762a6cc7c
Merge pull request #1922 from devinbileck/update-shadow-plugin
Update to latest shadow plugin version 4.0.2
2018-11-14 08:34:23 +01:00
Devin Bileck
0b794b4e92
Update to latest shadow plugin version 4.0.2
Updating to the latest shadow plugin version will resolve the following
deprecation warning:

> Task :desktop:shadowJar UP-TO-DATE
Registering invalid inputs and outputs via TaskInputs and TaskOutputs
methods has been deprecated. This is scheduled to be removed in Gradle
5.0. A problem was found with the configuration of task
':desktop:shadowJar'.

See: https://github.com/johnrengelman/shadow/issues/336
2018-11-13 22:55:21 -08:00
Manfred Karrer
12e875240d
Merge branch 'master' into release-candidate-0.9.0
# Conflicts:
#	core/src/main/java/bisq/core/payment/AccountAgeWitnessService.java
2018-11-13 14:00:54 -05:00
Florian Reimair
9e88e6eed1 Fixed netlayer and tor binary dependency issues 2018-11-13 19:51:11 +01:00
Manfred Karrer
6861e76d61
Merge branch 'master' into release-candidate-0.9.0
# Conflicts:
#	desktop/src/main/java/bisq/desktop/util/GUIUtil.java
#	desktop/src/test/java/bisq/desktop/util/GUIUtilTest.java
#	gradle/witness/gradle-witness.gradle
2018-11-08 16:55:03 -05:00
Manfred Karrer
e8ead2dfbd
Merge pull request #1893 from freimair/torrc
Torrc
2018-11-08 11:44:07 -05:00
Manfred Karrer
95ba95d822
Merge branch 'master' into release-candidate-0.9.0 2018-11-07 12:36:23 -05:00
Chris Beams
36b884e3d8
Resolve project dependencies from Maven Central vs JCenter
This change avoids the as-yet unexplained resolution errors we've been
seeing out of JCenter today, which look like the following:

    Could not resolve all files for configuration ':monitor:compileClass
    > Could not resolve net.gpedro.integrations.slack:slack-webhook:1.1.
      Required by:
          project :monitor
       > Could not resolve net.gpedro.integrations.slack:slack-webhook:1
          > Could not get resource 'http://jcenter.bintray.com/net/gpedr
             > Could not HEAD 'http://jcenter.bintray.com/net/gpedro/int
                > sun.security.validator.ValidatorException: PKIX path b

For full context, see the Travis CI build failure at
https://travis-ci.org/bisq-network/bisq/builds/451786384#L678-L679.

It is assumed this is an issue on the JCenter side, e.g. something to do
with the interaction of JCenter servers and their SSL implementation
when accessed under OpenJDK 10 and its TrustStore implementation. This
specific failure does not occur under Oracle JDK 11, but other
dependencies do fail in a similar but non-deterministic fashion. In any
case, resolving project dependencies from Maven Central solves the
problem in the meantime.

See also https://github.com/gradle/gradle/issues/6630.
2018-11-07 18:12:42 +01:00
Florian Reimair
73fc35413b bumped netlayer to 0.4.7 2018-11-07 17:13:51 +01:00
Devin Bileck
0625b1c037
Trim whitespace from version variable 2018-11-06 23:43:03 -08:00
Manfred Karrer
bb83cecd18
Add dependency for jfoenix (JavaFX UI components)
- Used for material design support
- com.jfoenix:jfoenix:9.0.6
2018-11-06 12:39:32 -05:00
Chris Beams
978fd2d4ab
Use $springVersion variable consistently
Per review feedback at
https://github.com/bisq-network/bisq/pull/1862#discussion_r230651226.
2018-11-05 11:08:21 +01:00
Chris Beams
f8ec6beedf
Remove unused $junitVersion
Per review comments at
https://github.com/bisq-network/bisq/pull/1862#discussion_r230646331.
2018-11-05 11:02:16 +01:00
Chris Beams
3913988f66
Remove unnecessary application of 'java-base' plugin
This was needed at the root level for a while when first porting the
build back to the monorepo, but is no longer necessary now.
2018-11-04 19:01:55 +01:00
Chris Beams
743a7692b7
Remove unnecessary seednode resources config
This looks to have been a copy and paste error when originally setting
up the seednode build.
2018-11-04 19:00:44 +01:00
Chris Beams
adb3e9e3c6
Remove unnecessary :desktop:test javaagent config 2018-11-04 19:00:04 +01:00
Chris Beams
22b92f7057
Use two blank lines between configure blocks
To increase readability
2018-11-04 18:43:20 +01:00
Chris Beams
5cdacbe336
Extract variables for duplicate dependency versions 2018-11-04 18:41:56 +01:00
Chris Beams
cb4f6edd9a
Minimize common subproject javafx dependencies 2018-11-04 18:16:07 +01:00
Chris Beams
3cd467cc9f
Pull up remaining statsnode config to root 2018-11-04 18:00:56 +01:00
Chris Beams
b0886dd02d
Pull up remaining seednode config to root 2018-11-04 18:00:10 +01:00
Chris Beams
9c82b3076a
Pull up remaining relay config to root 2018-11-04 17:58:37 +01:00
Chris Beams
15b81df32f
Pull up remaining pricenode config to root 2018-11-04 17:57:28 +01:00
Chris Beams
2f7c5f1150
Pull up remaining p2p config to root 2018-11-04 17:46:03 +01:00
Chris Beams
e97625cfc3
Pull up remaining monitor config to root 2018-11-04 17:41:37 +01:00
Chris Beams
3c54be2d4f
Pull up remaining desktop config to root
And also relocate gradle-witness jar and config (back) to root-level
gradle/witness dir.
2018-11-04 17:37:32 +01:00
Chris Beams
0f5e9b794c
Pull up remaining core config to root 2018-11-04 17:18:46 +01:00
Chris Beams
d4edb81d87
Pull up remaining common config to root 2018-11-04 16:55:33 +01:00
Chris Beams
c8956567e4
Pull up remaining assets config to root 2018-11-04 16:45:00 +01:00
Chris Beams
bd1e7e273f
Pull up application plugin config to root 2018-11-04 16:27:52 +01:00
Chris Beams
1cdb39ab60
Pull up JesusMcCloud repo to root
Not all subprojects need it, but most do.
2018-11-04 14:28:14 +01:00
Chris Beams
f6a68f8aef
Pull up common JavaCompile config to root 2018-11-04 14:20:55 +01:00
Chris Beams
4e1fa914a2
Pull up common repositories to root build.gradle 2018-11-04 14:20:55 +01:00
Chris Beams
95c8b8ddfa
Pull up application and configuration of java plugin 2018-11-04 14:20:55 +01:00
Chi Nul
14efcbce98
Merge "Update root gradle scripts":9c628bb873cbfd7fd9c56fbbd022470a205561f9 from @chirhonul 2018-09-05 11:15:30 +02:00
Christoph Atteneder
c1c38a3ceb
Move desktop to subdirectory 2018-09-05 09:50:29 +02:00
Christoph Atteneder
eebcde814c
Use correct version number 2018-08-23 13:08:19 +02:00
Christoph Atteneder
ed3e90c2d4
Revert version to -SNAPSHOT 2018-08-22 13:22:29 +02:00
Christoph Atteneder
c866f9d903
Update version number for release 2018-08-22 13:06:28 +02:00
Manfred Karrer
05c3db3f58
Add dependencyVerification items
- There are still issues with libdohj and btcj. If the gradle task is
run it fails because it cannot resolve core....
2018-08-21 23:26:44 +02:00
Manfred Karrer
9a9d574521
Update libdohj to 5047c80004, remove temp dependencyVerification items
- remove temp dependencyVerification items to not break other builds
as dependencies have changed but they are still not correctly
resolved ;-(
2018-08-21 20:33:30 +02:00
Manfred Karrer
7cdda97155
Merge branch 'master' into merged-voting 2018-08-15 16:27:09 +02:00
Manfred Karrer
814ade4f1c
Merged 2018-08-15 16:24:41 +02:00
Manfred Karrer
6499772580
Fix version number 2018-08-15 15:30:05 +02:00
Manfred Karrer
76cc2c8b05
Merge branch 'master' into voting
# Conflicts:
#	src/main/resources/i18n/displayStrings.properties

Merge branch 'master' into voting

# Conflicts:
#	build.gradle
2018-08-15 00:14:22 +02:00
Manfred Karrer
24991d739a
Change version from -SNAPSHOT to 0.9.0 2018-08-09 14:15:00 +02:00
Manfred Karrer
7bd22d1886
Remove grpc from build 2018-08-06 12:22:52 +02:00
Manfred Karrer
4a0c8b6dc1
Prepare for custom binary:
- Set version 0.8.0
- Use Bisq_notifications as app name
- Improve Relay
- Fix build issues
2018-08-06 02:11:58 +02:00
Manfred Karrer
dbad3950ae
Merge branch 'master' into notifications 2018-08-06 00:56:46 +02:00
Manfred Karrer
d2eae6b99e
Change order of dependencies
Just to retrigger a travis build as for some strange reasons core does not get resolved.
2018-07-26 18:14:31 +02:00
Manfred Karrer
4ec69f082e
Merge branch 'master' into voting
# Conflicts:
#	build.gradle
#	src/main/java/bisq/core/CoreModule.java
#	src/main/java/bisq/core/dao/DaoModule.java
#	src/main/java/bisq/core/dao/DaoSetup.java
#	src/main/java/bisq/core/dao/vote/blindvote/BlindVoteService.java
#	src/main/java/bisq/core/dao/vote/proposal/ProposalService.java
#	src/main/java/bisq/core/dao/vote/votereveal/VoteRevealService.java
#	src/main/java/bisq/core/proto/persistable/CorePersistenceProtoResolver.java
#	src/main/java/bisq/core/trade/statistics/TradeStatistics2Store.java
#	src/main/java/bisq/core/trade/statistics/TradeStatisticsManager.java
#	src/main/resources/i18n/displayStrings_de.properties
#	src/main/resources/i18n/displayStrings_el.properties
#	src/main/resources/i18n/displayStrings_es.properties
#	src/main/resources/i18n/displayStrings_hu.properties
#	src/main/resources/i18n/displayStrings_pt.properties
#	src/main/resources/i18n/displayStrings_ro.properties
#	src/main/resources/i18n/displayStrings_ru.properties
#	src/main/resources/i18n/displayStrings_sr.properties
#	src/main/resources/i18n/displayStrings_zh.properties

Merge branch 'master' into voting

# Conflicts:
#	src/main/java/bisq/common/UserThread.java
#	src/main/proto/pb.proto

Merge branch 'master' into voting

# Conflicts:
#	src/main/java/bisq/desktop/app/BisqAppMain.java
#	src/main/java/bisq/desktop/main/dao/wallet/send/BsqSendView.java
2018-07-11 02:43:32 +02:00
Manfred Karrer
a0b05c0741
Add mobile notification view 2018-07-11 00:08:42 +02:00
Christoph Atteneder
2b85d84bde
Revert version to -SNAPSHOT 2018-07-04 13:46:35 +02:00
Christoph Atteneder
e465428b4b
Use version 0.7.1 instead of -SNAPSHOT and bump version number where required 2018-07-04 13:44:44 +02:00
Manfred Karrer
15ad8f8f40
Update gradle files
- Move mavenLocal on top to resolve local jars first
- Comment out annotationProcessor and testAnnotationProcessor entries as
 they conflict with grpc build (don't know why). Complete project build
 works also without the annotationProcessor entries.
- Comment out btcd-cli4j entries in dependencyVerification as they cause
build failure. TODO investigate why...
2018-06-29 11:59:40 +02:00
Manfred Karrer
3eb187acff
Remove http-api 2018-06-28 19:59:57 +02:00
Manfred Karrer
a21fed6b52
Merge branch 'api-integration' into voting
# Conflicts:
#	src/main/java/bisq/core/arbitration/DisputeManager.java

Merge branch 'api-integration' into voting

# Conflicts:
#	build.gradle
#	src/main/java/bisq/desktop/main/dao/BaseProposalView.java
#	src/main/java/bisq/desktop/main/dao/proposal/ProposalListItem.java
#	src/main/java/bisq/desktop/main/dao/proposal/active/ActiveProposalsView.java
#	src/main/java/bisq/desktop/main/dao/proposal/closed/ClosedProposalsView.java
#	src/main/java/bisq/desktop/main/dao/proposal/make/MakeProposalView.java
#	src/main/java/bisq/desktop/main/dao/proposal/myvotes/MyVotesView.java
#	src/main/java/bisq/desktop/util/GUIUtil.java
2018-06-16 14:48:20 +02:00
Manfred Karrer
ba011d4629
Merge branch 'api-integration' into voting
# Conflicts:
#	src/main/java/bisq/core/arbitration/DisputeManager.java

Merge branch 'api-integration' into voting

# Conflicts:
#	build.gradle
#	src/main/java/bisq/desktop/main/dao/BaseProposalView.java
#	src/main/java/bisq/desktop/main/dao/proposal/ProposalListItem.java
#	src/main/java/bisq/desktop/main/dao/proposal/active/ActiveProposalsView.java
#	src/main/java/bisq/desktop/main/dao/proposal/closed/ClosedProposalsView.java
#	src/main/java/bisq/desktop/main/dao/proposal/make/MakeProposalView.java
#	src/main/java/bisq/desktop/main/dao/proposal/myvotes/MyVotesView.java
#	src/main/java/bisq/desktop/util/GUIUtil.java
2018-06-16 14:22:51 +02:00
Manfred Karrer
9c3865a331
Use verbosity in getBlock rpc call to get all txs
Update to btcd-cli4j cb5c474b
2018-06-16 13:39:27 +02:00
Manfred Karrer
ac17955dbe
Add mavenLocal to repositories 2018-06-16 13:15:58 +02:00
Manfred Karrer
15baead905
Add mavenLocal, updatte hashes 2018-06-08 13:42:58 +02:00
Manfred Karrer
bf46320cbc
Merge branch 'refactoring-mainviewmodel' into api-integration
# Conflicts:
#	build.gradle
#	src/main/java/bisq/desktop/main/portfolio/pendingtrades/PendingTradesViewModel.java
2018-06-06 15:10:54 +02:00
Chris Beams
6467b557da
Update instructions for regenerating dependency verification hashes 2018-06-05 16:50:05 +02:00
Chris Beams
ba1419a515
Update libdohj and bitcoinj dependency verification hashes
This does the work that was intended to be done in commit
175e11d81c, but was done by first removing
the dependencyVerification block entirely, and then replacing it with
the output of the `calculateChecksums` task.

The entire process went like this:

 1. Remove existing dependencyVerification block from build.gradle
 2. Run `./gradlew -q calculateChecksums | grep -v network.bisq:bisq- >> build.gradle`
 3. Run `git diff` to see that only the checksums we expect to have
    changed have in fact changed (libdohj and bitcoinj in this case).
 4. Commit the changes (in this commit)

I'll update the instructions for the dependencyVerification block in a
subsequent commit to make this clearer in the future.
2018-06-05 16:40:31 +02:00
Chris Beams
536d13fbff
Revert "Update build.gradle to fix failing checksum tests"
This reverts commit 175e11d81c.
2018-06-05 16:39:02 +02:00
Manfred Karrer
175e11d81c
Update build.gradle to fix failing checksum tests
The calculated checksum from the calculateChecksums task did not
reflect updates of libdohj and bitcoinj.
libdohj is a dependency in common but seems the calculateChecksums task
in desktop did not resolve that correctly. It did not change the
checksum after the libdohj version has changed and led to build errors.
Adding the libdohj dependency in Desktop as well solves the issue.
@bceams: If there is a better solution to solve that feel free to
revert and apply....
2018-06-05 11:52:41 +02:00
Manfred Karrer
3602d4eb0f
Add dependencies of http-api 2018-05-31 02:28:53 +02:00
Manfred Karrer
8ddcd937c2
Add support for BisqHttpApi to DesktopMain
- Add option keys desktopWithHttpApi and desktopWithGrpcApi
- Add BisqDaemon to BisqApp
- Fix wrong package of BisqGrpcClient and BisqGrpcServer
- Add BisqHttpApi stub
- Add http-api and bisq-grpc to Desktop
2018-05-31 01:13:05 +02:00
Manfred Karrer
30ab8c86cf
Merge pull request #1556 from ManfredKarrer/mk_master
Fix reuse of change addresses
2018-05-28 13:14:58 +02:00
Manfred Karrer
e7bdfecca1
Update hashes of libdohj, bitcoinj-core and commons-codec 2018-05-27 13:36:27 +02:00
Manfred Karrer
aa7c9564f2
Update build file
- Remove BC inclusion (not working that way)
- Add support for reproducible builds
2018-05-25 15:16:22 +02:00
Manfred Karrer
323d058025
Revert version to -SNAPSHOT 2018-05-11 20:23:53 +02:00
Manfred Karrer
bd690d3878
Add BC jars 2018-05-11 18:16:05 +02:00
Manfred Karrer
7941e55c91
Change version from -SNAPSHOT to 0.7.0 2018-05-11 10:54:44 +02:00
Manfred Karrer
a66a663f48
Revert version to -SNAPSHOT 2018-05-11 10:16:03 +02:00
Manfred Karrer
6e8d4dfd3f
Add mavenLocal to repositories in gradle file 2018-05-10 23:13:40 +02:00
Manfred Karrer
190aca584a
Use version 0.7.0 instead of -SNAPSHOT 2018-05-10 12:27:41 +02:00
Chris Beams
4a7801023d
Re-introduce fat executable jar for release packaging
Prior to this fix, running `./package/osx/create_app.sh` produced a
"Main application jar is missing." error. Now the script works as
expected.
2018-05-06 15:40:00 +02:00
Chris Beams
5613629bbe
Remove distZip.enabled statement from build.gradle
Setting this value to `false` was a minor optimization to improve build
speed, as we don't need both tar and zip dists to be built (and zip
actually takes a few seconds).

PR #1500 set it to `true`, because it ended up causing build failures
down the road. This commit removes the statement altogether, as `true`
is the default value anyway.
2018-04-13 10:20:29 +02:00
Bernard Labno
d2ba3b8c95 Enable distZip flag in "build.gradle". 2018-04-06 11:20:50 +02:00
Chris Beams
86947c976c
Revert to 4-space indentation in build.gradle
Recent changes to dependencyVerification got committed with 8-space
indentation, causing a diff for the whole block. This reverts it to
4-space, which is what is generated by `gradle -q calculateChecksums`.
2018-03-29 19:44:35 +02:00
Manfred Karrer
11446d27f4
Add checksum for org.bouncycastle:bcpg-jdk15on 2018-03-29 12:36:08 -05:00
Manfred Karrer
a05ab5ae17
Update checksum hashes of dependencies 2018-03-29 12:34:39 -05:00
Christoph Atteneder
626cf5fb1b
Remove unused library 2018-03-26 14:08:38 +02:00
Christoph Atteneder
1ad4a679be
Add new version of icon library to enable step-by-step migration 2018-03-26 12:02:31 +02:00
Chris Beams
9d4e015108
Use app scripts instead of fat excutable jars
It doesn't actually work to build fat executable jars because we always
have bouncycastle jars that need to exist outside of the fat jar. This
change drops building fat jars altogether in favor of using Gradle's
built-in `application` plugin to write simple scripts that invoke java
with the correct classpath against a directory of all dependencies
(including bouncycastle) without the need to have a fat jar in the mix.

Essentially, you should now run:

    ./gradlew build
    ./build/app/bin/bisq-desktop [options]

Instead of `java -jar build/libs/bisq-desktop.jar`.

See updated doc/build.md for details.
2018-03-22 02:41:25 +01:00
Chris Beams
50dbe1d646
Remove unnecessary bouncycastle dependency declarations 2018-03-22 02:41:03 +01:00
Chris Beams
2731e044fb
Use 'master' tor-binary Maven repository
For reasons detailed in bisq-network/bisq-p2p@b1528bf3.

This change also regenerates the `dependencyVerification` block, which
is necessary in any case after the upgrade of tor binaries, but note
especially that for unknown reasons, commenting out certain dependencies
items is now no longer necessary as it was in commit
53a9009b06.
2018-03-22 00:34:30 +01:00
Chris Beams
53a9009b06
Comment out problematic dependency verifications
Problem: The dependency commented out in this commit, when left
uncommented cause any Gradle composite build that includes this
(`bisq-desktop`) build to fail with, for example, the following error:

    No dependency for integrity assertion found:
    com.github.bisq-network.libdohj:libdohj-core

Solution: Comment them out until someone can dig into the gradle-witness
plugin, figure out why these specific entries cause these failures, and
fix it. Note that the commented entries work as expected when this
Gradle build is used outside the context of a composite build.
2018-03-21 12:37:55 +01:00
Chris Beams
86a5a711c0
Update macOS packaging script
This commit is *not* a complete re-working of the scripts under package,
but is rather just enough of a re-working of the
package/osx/create_app.sh script to verify that the new Gradle build
creates a suitable fat executable jar for use in this script.

These changes have been tested with the following commands:

    cd package/osx
    ./create_app.sh
    open ../../deploy/Bisq-0.6.7.dmg

Then double-clicking the Bisq icon from the mounted DMG. Bisq starts up
as expected, without errors.

Further work will be required to update the package/osx/finalize.sh
script as well as the package/linux/ and package/windows/ scripts prior
to the next (0.7.0) release. For now, however, enough work has been done
to verify that the Gradle build creates the fat jar these scripts need.
2018-03-21 06:15:00 +01:00
Chris Beams
27cc933c4e
Verify dependency checksums with gradle-witness plugin
This performs the same function that the maven-enforcer-plugin did in
the pom removed by the previous commit, and also includes a more
comprehensive / up-to-date set of dependencies.

Note that the gradle-witness jar checked in here is one built from the
pull request in signalapp/gradle-witness#26.
2018-03-21 06:15:00 +01:00
Chris Beams
6e87bee784
Add Gradle build 2018-03-21 06:14:48 +01:00
Manfred Karrer
6b4f528f47 UpdateFX with maven build (tested only on mac) 2015-02-27 23:47:23 +01:00
Manfred Karrer
75b2e4462f Merged with master 2015-02-16 12:16:40 +01:00
Manfred Karrer
981ae03ac6 Update to Tomp2p beta3 and back to BitcoinJ 0.12.2 2015-02-15 18:01:22 +01:00
Manfred Karrer
61b0bfbe9c Update to latest BitcoinJ master 2015-02-14 22:23:48 +01:00
Joe Schmid
089007a498 Updated project to use 5.0-Beta2 of tomp2p
Note that this has not been thoroughly tested and, in particular, my router does not support UPnP so I've only been able to test with --node.useManualPortForwarding=true  The project does compile and run successfully though. With manual port forwarding I'm able to connect to the p2p network and view open offers successfully.
2015-02-06 22:54:16 -05:00
Sean Gilligan
fd6b78f069 Use https URL for artifactoryonline.com 2014-12-22 00:11:16 -08:00
Manfred Karrer
a7069ee467 Add updateFX 2014-12-17 17:57:55 +01:00
Chris Beams
80990fab50
Increment development version to 0.1.1-SNAPSHOT 2014-12-15 10:58:41 +01:00
Chris Beams
dc99a8cb15
Release Bitsquare v0.1.0 2014-12-11 18:50:13 +01:00
Chris Beams
7dbe3e33b1
Upgrade to the newly-released RxJava 1.0.0
See https://github.com/ReactiveX/RxJava/releases/tag/v1.0.0
2014-11-27 11:09:37 +01:00
Chris Beams
4ebc0c0e41
Complete implementation and testing of @FxmlView support 2014-11-25 22:12:33 +01:00
Chris Beams
30c0ade5f9
Merge branch 'cbeams'
Significant changes in the way that controllers and models interact with
backend services. Most important is the introduction of RxJava's
Observable. See individual commit comments for details.

Conflicts were minor, mainly dealing with the fact that MainPM had been
modified in master, but removed completely on the 'cbeams' branch. All
changes have been preserved by carrying them over to MainModel.

* cbeams:
  Improve service initialization coordination using rx.Observable
  Redesign controller/model types and apply to gui.main.Main*

Conflicts:
	build.gradle
	src/main/java/io/bitsquare/btc/WalletService.java
	src/main/java/io/bitsquare/gui/main/MainPM.java
	src/main/java/io/bitsquare/msg/tomp2p/TomP2PNode.java
2014-11-21 10:37:05 +01:00
Chris Beams
67295aea55
Improve service initialization coordination using rx.Observable
This change introduces the use of RxJava's Observable [1] to redesign
how we work with non-deterministic and/or event-based information, such
as: connecting to peer-to-peer infrastructure, synchronizing the bitcoin
blockchain, and so on.

Prior to this commit, these activities were initiated in methods like
WalletService#initialize and TomP2PMessageService#init. These methods
accepted 'listener' interfaces, and these listeners' callback methods
would be invoked whenever work progressed, completed, or failed.

This approach required significant coordination logic, which, prior to
this commit, was found primarily in MainModel#initBackend. A primary
goal of the logic found here was to determine when the backend was
"ready". This state was represented in MainModel's `backendReady` field,
which would be set to true once the following three conditions were
satisfied:

 1. the message service had finished initialization
 2. the wallet service had finished initialization, and
 3. the blockchain synchronization had reached 100%

Monitoring these three states was complex, and required hard-to-follow
conditional logic spread across a number of locations in the code. In
any case, however, once these three conditions were satisfied and
backendReady's value was set to true, a listener on the backendReady
field (in MainViewCB#doInitialize) would then populate combo boxes and
pending trade counts in the main view and cause the splash screen to
fade out, rendering the application ready for user interaction.

The introduction of rx.Observable is designed to achieve the same
show-the-splash-screen-until-everything-is-ready functionality described
above, without the complex monitoring, conditional logic and nested
callbacks. This is achieved by modeling each process as an Observable
stream of events. Observables in RxJava can emit any number of events,
and can complete either normally or with an error.

These observables may be 'subscribed' to by any number of subscribers,
and events emitted can be acted upon by instructing the subscriber what
to do `onNext`, `onCompleted`, and `onError`. So for example
WalletService now exposes an Observable<Double> called bootstrapState.
This Observable is subscribed to in MainModel#initBackend in such a way
that every time it emits a new double value (i.e. a new percentage), the
various bootstrap state text labels and progress indicators are updated
accordingly.

Where it gets really interesting, however, is when Observables are
combined. The primary complexity described above is coordinating the
fading out of the splash screen with the completed initialization of all
backend services. As can now be seen in MainModel#initBackend, the
wallet service and message service Observables are simply "merged" into
a single observable and returned. From the MainViewCB side, this "single
backend observable" is subscribed to and, when it completes (i.e. when
all the underlying Observables complete), then combo boxes and pending
trade counts are populated and the splash screen is faded out.

Understanding RxJava, Observables, and the principles of "Functional
Reactive Programming" takes time. It is a paradigm shift in dealing with
concurrency and non-determinism, but one that ultimately rewards those
who take the time. In the end, I believe it's use will result in a
significantly more concise and robust internal architecture for
Bitsquare, and using RxJava's lightweight, well-adopted and
infrastructure-agnostic API leaves us open to using Akka or other more
sophisticated infrastructure later without tying ourselves to those
specific APIs (because virtually anything can be modeled as an
Observable). Achieve these benifits means that core committers will need
to understand how RxJava works, how to think about it, and how to design
using it. I have spent the better part of the last week getting to know
it, and I am certainly still learning. I can recommend many resources to
aid in this process, but having gone through it myself, I recommend that
everyone read at least [1] and [2] first.

[1]: https://github.com/ReactiveX/RxJava/wiki/Observable
[2]: [The introduction to Reactive Programming you've been
missing](https://gist.github.com/staltz/868e7e9bc2a7b8c1f754)
2014-11-21 10:34:35 +01:00
Chris Beams
356b76a21a
Configure shadowJar classifier in time for packageNative config
This change avoids the "Main application jar is missing" error described
in the comments on issue #243.
2014-11-20 18:52:46 +01:00
Manfred Karrer
46a56e4e4f Update to BitcoinJ 0.12.2 2014-11-17 18:57:58 +01:00
Manfred Karrer
f6d6f80a64 Update to lastest TomP2P master 2014-11-17 17:40:22 +01:00
Manfred Karrer
9a010a1a4d Update to latest master 2014-11-14 01:34:44 +01:00
Chris Beams
75b7482bf1
Polish formatting 2014-11-12 11:15:28 +01:00
Chris Beams
6c36b2fa46
Add 'appJar' and 'bootstapNodeJar' tasks to build
The build now exposes two explicit ShadowJar tasks: one for the main
JavaFX client (`appJar`) and one for the headless bootstrap node
(`bootstrapNodeJar`).

Run as follows:

    ./gradlew appJar
    -- or --
    ./gradlew bootstrapNodeJar

The resulting executable jar for each will be found in the `build/libs`
directory.

Thanks to @johnrengleman for his help at johnrengelman/shadow#108

Resolves #265
Resolves #252
2014-11-11 23:53:32 +01:00
Chris Beams
9adc41e23f
Introduce 'app.version' property and remove hardcoded version 2014-11-11 22:55:33 +01:00
Chris Beams
0136ea2884
Polish and test BitsquareEnvironment
- Introduce a test-time dependency on spring-test module for access to
   MockPropertySource and friends.

 - Add BitsquareEnvironmentTests and test that property source precedence
   works as expected, i.e. that properties supplied on the command line
   have highest precedence, overriding those picked up via environment
   variables, system properties, the bitsquare.properties file or any of
   the other available property sources.
2014-11-11 19:29:26 +01:00
Chris Beams
2b3c22d382
Merge branch 'wip-cbeams'
* wip-cbeams:
  Overhaul property management and main class infrastructure

Conflicts:
	build.gradle
2014-11-11 04:28:14 +01:00
Chris Beams
acf44128b2
Overhaul property management and main class infrastructure
Use of the Spring Environment
-----------------------------

This change replaces the use of the argparse4j library and basic
Properties objects with the Spring Framework's Environment abstraction.
The Environment allows for managing any number of 'property sources' in
a hierarchical fashion, such that a call to
`environment.getProperty("someKey")` iterates through an ordered set of
property sources, returning the first value associated with the given
key.

BitsquareEnvironment, introduced in this commit, eliminates the
functionality previously present in ConfigLoader, modeling the
bitsquare.conf and bitsquare.properties files as Spring Resource
objects, and in turn creating ResourcePropertySources out of them. These
custom property sources are combined with standard property sources
based on system environment variables and Java system properties as well
as a property source based on the command-line arguments passed to a
Bitsquare application to form a unified, one-stop configuration
hierarchy.

For example, let's say a Bitsquare user wishes to customize the port
that his Bitsquare application listens on. The simplest approach
(assuming the user is comfortable with the command line), would be the
following:

    java -jar bitsquare.jar --port=1234

where '1234' is the custom port of choice. This is convenient enough for
one-off experimentation, but if the user wishes to make this a permanent
arrangement, he may want to add a `port=1234` entry to his
{bitsquare_app_dir}/bitsquare.conf file.

Alternatively, the user may wish to specify the port value as an
environment variable, e.g.:

    PORT=1234 java -jar bitsquare.jar

or with a JVM system property, e.g.:

    java -jar -DPORT=1234 bitsquare.jar

With BitsquareEnvironment, and its customized set of PropertySources in
place, the value of the port property may be specified in any of the
ways described above, and it is all handled in a unified way.

Restructuring of *Main classes
------------------------------

This commit also introduces significant changes to the structure of
executable Bitsquare applications. For example, prior to this change,
the io.bitsquare.app.gui.Main class was responsible for being both a
JavaFX Application and a standard Java main class.

Now, however, these concerns have been renamed and separated.
BitsquareApp is the JavaFX Application, and BitsquareAppMain is the Java
main class. Likewise, BootstrapNode has been broken out into
BootstrapNode and BootstrapNodeMain.

A common base class for the *Main classes has been extracted, named
BitsquareExecutable, which creates a template for option parsing,
environment creation, and ultimately application execution that applies
both to the BootstrapNode and BitsquareApp cases.

Improved help text
------------------

With the removal of argparse4j and the introduction of JOpt for argument
parsing, the application's help text has been improved. Use --help to
display this text, where you'll see information about default values,
etc. To do this easily from the Gradle build, run any of the following
commands:

    # Display help text
    ./gradlew run -Pargs="--help"

    # Qualify the application name as "Bitsquare-Alice"
    ./gradlew run -Pargs="--appName=Alice"

    # Customize the port
    ./gradlew run -Pargs="--port=7377"

Renaming of FatalException
--------------------------

Finally, the exception formerly known as io.bitsquare.gui.FatalException
has been moved up a package and generalized to
io.bitsquare.BitsquareException, as it is now used more widely.
2014-11-11 04:20:48 +01:00
Manfred Karrer
78a09d874d Update TomP2P aa0c736 2014-11-11 00:01:53 +01:00
Chris Beams
20db54e87b
Remove Akka-based seed node infrastructure (for now)
In favor of using the simplified app.cli.SeedNode class while we
continue to debug basic UPnP functionality.
2014-11-10 00:44:17 +01:00
Chris Beams
dfbe6973e7
Split Gradle arguments on comma vs. spaces
Prior to this commit, Gradle was configured to take a -Pargs property
and split the value on whitespace, passing the result to the Gradle
application plugin's 'args' property, for example:

    gradle run -Pargs="--id=foo --ip=1.1.1.1 --port=10001"

While this approach works fine when passing a single argument (i.e. when
no space delimiters are required), when multiple arguments are passed,
such as in the example above, it would result in the following error
from Gradle's own command line parser:

    Unknown command-line option '--ip'

This commit simply splits the value of -Pargs on commas rather than
spaces, meaning that now multiple -Pargs values should be supplied as
follows:

    gradle run -Pargs="--id=foo,--ip=1.1.1.1,--port=10001"

Resolves #264
2014-11-09 23:09:15 +01:00
Manfred Karrer
5d5fd49a45 Update to latest TomP2P master 2014-11-09 13:48:24 +01:00
Manfred Karrer
232a208a03 Revert to 0.12 as 0.12.1 has changes in the Coin class 2014-11-07 17:28:59 +01:00
Manfred Karrer
182218612e Update to bitcoinJ 12.1 2014-11-07 16:04:56 +01:00
Manfred Karrer
7faff2d244 Use latest TomP2P verison 2014-11-06 16:41:22 +01:00
Chris Beams
a969b415b4
Rename io.bitsquare.{BitsquareUI=>app.gui.Main} 2014-11-05 01:13:26 +01:00
Chris Beams
f6368754b9
Begin separation of JavaFX GUI and seed node CLI 2014-11-05 01:13:25 +01:00
Manfred Karrer
8731194921 Merge remote-tracking branch 'origin/master' 2014-11-05 00:28:17 +01:00
Manfred Karrer
74baf63763 Update to latest master 2014-11-05 00:28:05 +01:00
Chris Beams
43cf337fe4
Support code coverage using JaCoCo and Coveralls
The Gradle build now supports generating code coverage reports using
JaCoCo. The reports can be run with:

    ./gradle jacocoTestReport

and then view the HTML output at:

    build/reports/jacoco/test/html/index.html

The bitsquare repository has now also been registered with a (free)
account at http://coveralls.io. Our Travis CI configuration has been
updated to publish JaCoCo XML test report data to coveralls.io, which
results in the reports found at:

 - https://coveralls.io/r/bitsquare/bitsquare

For more information on the JaCoCo and Coveralls Gradle plugins, see:

 - http://www.gradle.org/docs/current/userguide/jacoco_plugin.html
 - https://github.com/kt3k/coveralls-gradle-plugin
2014-11-03 13:56:14 +01:00
Manfred Karrer
5ef1df11b2 Update to verison 91276e8 2014-11-01 14:27:21 +01:00
Manfred Karrer
137cf1ca82 Use new TomP2P build 3784b7a 2014-10-31 18:13:33 +01:00
Chris Beams
311e15c0e5
Remove Mockito dependency for now
Mockito was causing conflicts with JUnit's use of the Hamcrest library
and its Matchers. Sort this out when Mockito is actually needed.
2014-10-30 16:50:51 +01:00
Chris Beams
cbdd60631c
Introduce dependency on eu.hansolo.enzo:Enzo:0.1.5
Remove manually-copied classes and resources in favor of depending on the
latest released Enzo distribution.
2014-10-30 15:52:20 +01:00
Chris Beams
88951d71b8
Capitalize 'Bitsquare' consistently 2014-10-30 15:52:19 +01:00
Chris Beams
1323e77608
Support generation of native installer binaries
Use `./gradlew run` to build and run Bitsquare directly.

Use `./gradlew shadowJar` to generate a portable, executable jar.

Use `./gradlew packageNative` to generate an installer binary specific
to the platform you are running on.

In the case of Windows, it is necessary to copy the two .dll files in
the `package/` directory to the directory where Bitsquare.exe is
ultimately installed.

Resolves #243
2014-10-28 15:44:21 +01:00
Manfred Karrer
9c8b76d2b6 Update to latest TomP2P master 2014-10-27 15:09:52 +01:00
Manfred Karrer
ec2301c6ab Update to lasted TomP2P head 2014-10-24 21:50:51 +02:00
Steve Myers
3d77cc7296 added application plugin and ability to pass gradle run command line args 2014-10-19 18:30:41 -07:00
Manfred Karrer
e42bae9148 Update to latest TomP2P master 2014-10-19 15:17:17 +02:00
Chris Beams
b254ad234a
Upgrade to new TomP2P snapshot 2014-10-14 22:32:10 +02:00
Chris Beams
f135873f58
Enable Gradle Eclipse project metadata generation
This commit applies the 'eclipse' Gradle plugin, such that .classpath,
.project and .settings files can be generated using:

    ./gradlew eclipse

Once the above is complete, import the project into Eclipse with the
following command:

    File->Import->Existing projects into workspace

The .gitignore file has been updated accordingly.

Resolves #222
2014-10-13 12:02:43 +02:00
Chris Beams
5f53fea190
Remove use of Gradle JavaFX plugin
As documented at [1], version 8.1.1 of the Gradle JavaFX plugin has
disappeared from bintray. This causes Travis CI build failures. Version
8.1.0 is still in place [2], but downgrading to it causes further build
errors.

This commit removes use of the plugin entirely in order to fix the CI
problem immediately. In the meantime, the Bitsquare UI must be launched
directly from within IDEA.

Resolves #221
See #66

[1]: https://bitbucket.org/shemnon/javafx-gradle/issue/46/received-status-code-401-from-server
[2]: http://dl.bintray.com/content/shemnon/javafx-gradle/org/bitbucket/shemnon/javafxplugin/gradle-javafx-plugin/
2014-10-13 11:13:43 +02:00
Steve Myers
f8b9408514 Merged seedpeer branch with master branch
Conflicts:
	src/main/java/io/bitsquare/BitSquare.java
	src/main/java/io/bitsquare/gui/main/MainModel.java
2014-10-12 13:07:28 -07:00
Chris Beams
db663db007
Remove obsolete 'apply plugin' Gradle directives
- The 'java' plugin is added implicitly by the gradle/javafx.gradle
   script, so there is no longer a need to explicitly apply it.

 - The 'application' plugin is no longer necessary now that we are
   building native installers with the javafx plugin.
2014-10-09 07:35:38 +02:00
Steve Myers
b4cd7467b2 moved UI Application to BitSquareUI class so BitSquare class can startup as seed peer on headless server. 2014-10-07 09:24:44 -07:00
Steve Myers
47232eebc2 Added command line arguments parser and flag to start app in seed mode. Also added default properties loader, but not using it yet. 2014-10-05 23:53:49 -07:00
Steve Myers
5e9f97953f Added built in dht seed node 2014-10-04 19:19:18 -07:00
Chris Beams
d16c2740b6
Generate native installers with Gradle JavaFX plugin
The plugin's jfx* tasks tie into the normal Gradle build lifecycle, such
that `gradle build` will now generate executables and installers
according to the OS on which the build is being run. These files are
output to the `build/distributions` directory.

Installers work as expected OS X and Linux at this point.

Windows installers do build, but a very particular configuration is
necessary on the Windows machine doing the building (this configuration
is to be documented in #109). However, even when the configuration is in
place and the MSI installer is successfully built, there is still a
fatal error at installer execution time relating to a missing
msvp100.dll file. See details at
https://bitbucket.org/shemnon/javafx-gradle/issue/43. An issue has been
created to track this from the Bitsquare side as well--see #108.

The changes made in this commit are based on on the samples at
http://bitbucket.org/shemnon/javafx-gradle and the article at
http://jaxenter.com/tutorial-a-guide-to-the-gradle-javafx-plugin-46270.html

The gradle/javafx.gradle file is copied directly from the sources in the
bitbucket repository above, as is apparently the convention (not sure
why this isn't part of the plugin itself, but that's a question to be
addressed later).

Resolves #66, #100
See #108, #109
2014-10-03 18:32:03 +02:00
Chris Beams
1031a72e52
Upgrade to BitcoinJ 0.12 GA
Resolves #98
2014-10-03 18:13:14 +02:00
Chris Beams
9727ea21a8
Upgrade to BitcoinJ 0.12-SNAPSHOT
- Update imports to reflect BitcoinJ's repackaging, including:

   git grep -l 'import com.google.bitcoin' | \
   xargs perl -p -i -e 's/import com.google.bitcoin/import org.bitcoinj/'

   git grep -l 'com.google.bitcoin' | \
   xargs perl -p -i -e 's/com.google.bitcoin/org.bitcoinj/'

 - Replace use of BitcoinJ's CoinFormat, which has now been renamed to
   MonetaryFormat, using:

   git grep -l 'CoinFormat' | \
   xargs perl -p -i -e 's/CoinFormat/MonetaryFormat/g'

 - Fix calls to BitcoinJ's Script#correctlySpends, whose signature has
   changed from 0.11 => 0.12.

See #98
2014-10-03 18:13:14 +02:00
Manfred Karrer
a334beb1a7 Update controlsfx to be compatible with latest jdk 2014-09-30 23:36:00 +02:00
Chris Beams
4d4787d84a
Upgrade Gradle wrapper version from 2.0 => 2.1 2014-09-29 09:56:30 +02:00
Chris Beams
d536258871
Use published snapshots for BitcoinJ and TomP2P
Bitsquare depends on specific versions of BitcoinJ and TomP2P that have
not previously been published to any maven repository--until now. Based
on the 'published' branch of the bitcoinj [1] and tomp2p [2] forks under
the bitsquare organization, snapshots have been published to a temporary
repository [3] that has been made available to us by JFrog.

To be as explicit as possible, these custom-published snapshots have
had their version numbers qualified with the short hash of the commit
they were built from. So for bitcoinj, the dependency is no longer
0.12-SNAPSHOT, but 0.12.308de4e-SNAPSHOT. For TomP2P, the version has
gone from 5.0-Alpha24-SNAPSHOT to 5.0-Alpha24.805623c-SNAPSHOT.
Accordingly, these qualified versions are now reflected in the
dependency declarations in build.gradle.

This means that it is no longer necessary to build bitcoinj and tomp2p
locally in order to get up and running with Bitsquare development, and
the README has been updated accordingly. And it also means we can now
set up a Travis CI build with ease (which shall be done with #86).

Resolves #97

[1]: https://github.com/bitsquare/bitcoinj/tree/published
[2]: https://github.com/bitsquare/tomp2p/tree/published
[3]: http://partnerdemo.artifactoryonline.com/partnerdemo/libs-snapshots-local/
2014-09-29 08:49:23 +02:00
Manfred Karrer
1efc1da6a6 Update to controlsFX 8.0.6 2014-09-03 23:33:00 +02:00
Chris Beams
bf7e46d1d5
Add Gradle OneJar plugin
For creation of a self-contained executable jar.

Run:
 - `./gradle executableJar`
 - `java -jar ./build/libs/bitsquare.jar

Note that actually executing the jar fails with an exception from
io.bitsquare.util.AppDirectoryUtil.createDirIfNotExists. This will be
fixed later. The purpose of this commit is only to establish the
executable jar infrastructure.
2014-08-28 13:56:06 +02:00
Chris Beams
0501965b99
Configure Gradle application plugin
- `./gradlew run` to launch Bitsquare
 - `./gradlew installApp` to create scripts in build/install/bitsquare

See http://www.gradle.org/docs/current/userguide/userguide_single.html#application_plugin
2014-08-28 13:56:05 +02:00
Chris Beams
62cb43dce5
Configure Gradle build
- Set version at 0.1.0-SNAPSHOT, per http://semver.org practices
 - Configure dependencies per existing Maven pom
 - Resolve dependencies from jcenter by default, mavenLocal for custom
   BitcoinJ and TomP2P binaries (which still must be built separately)
 - Copy non-java files (fxml, etc) from src/main/java when processing
   resources

`./gradle build` is now completes successfully.
2014-08-28 13:56:05 +02:00
Chris Beams
49adf9cc97
Add Gradle build file with wrapper configuration 2014-08-28 13:56:04 +02:00