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
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.
- Reword headings for consistency
- Polish Markdown syntax
- Link to correct docs in Prerequisites section
There are no significant substantive changes in the instructions here,
just reworking of the existing content.
Prior to this change, DAO setup instructions and information were
interspersed within dev-setup.md, making it confusing to the uninitiated
reader what they need to do in order to get up and running with a basic
local dev environment. All the DAO setup stuff is essentially optional,
so separating it out into its own doc makes sense.
Now, dev-setup.md is dedicated to the task of getting set up with a
self-contained local development environment, and readers can follow the
DAO setup instructions separately if and when they need to.
Both docs need to be further revised and cleaned up, but that will come
in subsequent commits.
The CONTRIBUTING.md file must be located in the root directory of a
project (or within a .github directory) in order to be recognized by
GitHub and presented to users during the process of filing an issue
or pull request. It doesn't do any good within the docs/ directory.
This doc was originally transcribed from #511, then moved to the wiki,
then moved here. Removing it now as (a) it's not clear this is of value to
anyone other than the original author and (b) this approach is not
necessarily something we want to advertise or promote.