Source for BiglyBT, open source bittorrent client.
Bitcoin Cash (BCH)/Bitcoin Blockstream (BTC): 1BiGLYBT38ttJhvZkjGc5mCw5uKoRHcUmr
Getting the basics to compile from source is pretty straightforward:
- Clone the repo into your favorite IDE
- Mark
core/src
anduis/src
as project roots (source modules) - To the uis module, add
core/lib/*
,uis/lib/log4j.jar
and one of the swt.jars at/uis/lib/
:
swt-win64.jar
on Windows
swt-cocoa-64.jar
on OSX
swt-linux-64.jar
on Linux (GTK) - To the core module, add
core/lib/*
- Make
uis
module depend oncore
.Core
should not depend onuis
Intellij will do all these steps for you with its wizard.
Running is only few more steps:
-
Main class is
com.biglybt.ui.Main
in moduleuis
-
Working Directory should be a new folder, since the app will write things to it. Put the
aereg.dll
orlibOSXAccess.jnilib
in there.When a normal user is running the app, the working directory is where the jar, executable, and libraries (dll, so, jnilib) are.
-
If you want a separate config dir from the default one, use VM Option
-Dazureus.config.path=<some config path>
-
Run it
BiglyBT comes in several editions for different operating systems. Mac OSX, Linux and Windows uses the full BiglyBT-API based on Java 8.
Android edition is based on Java 8, but is limited to the minimum Android SDK version in use.
BiglyBT-API for Android is maintained on a dedicated branch android
.
This api is consumed by the BiglyBT-Android project.
For code portability and easy merging it is strongly advised to use JDK features only
covered by the minimum Android SDK level.
The currently minimum SDK level is 15
(Android 4.0.3 - Ice Cream Sandwich)
Generally, Android embraces the Java 7 API as well as a subset of Java 8 features.
Please consult the android API for details on API levels.
java.lang.Long#compare(long, long)
- android level 19 (restricted)try-with-resources
- android level 19 (restricted)java.nio.charset.StandardCharsets
- android level 19 (restricted)java.util.stream
,java.util.function
etc - android level 24+ (unsupported)
We build our installers using Install4j, multi-platform installer builder