Commit Graph

35 Commits

Author SHA1 Message Date
Torsten Grote f6075848e7 Move libraries into their own folder
and remove sharedTest symlink hack. The shared tests are now a proper gradle module to avoid issues with using the same source files in different modules.
2022-09-12 09:46:15 +00:00
Torsten Grote ca6da651ec [db] First prototype 2022-09-12 09:46:15 +00:00
Torsten Grote 802deb43eb
[index] First prototype 2022-07-17 15:57:11 -03:00
Torsten Grote 3d479b29e5
Initial work on separate download library 2022-02-16 09:43:17 -03:00
Hans-Christoph Steiner 9f839bcca7 purge obsolete block in settings.gradle
missed this in dd16906982
fdroid/fdroidclient!676
2018-04-23 12:31:28 +02:00
Dominik Schürmann 0fd1d5ae4c Move Privileged Extension to separate repo 2016-08-01 23:02:57 +02:00
Hans-Christoph Steiner 3fcdfe85bb move main project files into standard gradle/Android Studio layout
This makes it a lot easier to setup all the testing stuff.  Mostly,
I'm tired of fighting Android Studio's fragility, so I want to remove
as much non-standardness as possible in the hopes of improving that
situation.

closes #534 https://gitlab.com/fdroid/fdroidclient/issues/534
2016-03-28 12:12:37 +02:00
Daniel Martí 4e81aba841 Remove spongycastle, use maven repos in zipsigner 2015-11-14 17:14:28 +01:00
Daniel Martí abf4528d02 Get rid of many tabs for consistency 2015-10-19 09:23:35 +02:00
Daniel Martí 2d62c94b5f Rename extension into Privileged-Extension
The previous name, F-Droid-Privileged, made it look like it was a replacement
for F-Droid. The full name, F-Droid-Privileged-Extension, is too long.
2015-10-08 19:10:30 +02:00
Daniel Martí d1bdd7789b Remove now unused vendored jmdns 2015-10-06 14:11:30 +02:00
Daniel Martí ed5de47197 Merge branch 'enhanced-priv-install' of https://gitlab.com/dschuermann/fdroidclient 2015-09-09 21:21:06 -07:00
Daniel Martí 3d749120a7 Remove support for building entirely from source
* Hard to keep both regular and source builds working and bug-free
* Keep -PsourceDeps to package jars for libs which are not yet in jcenter
* Use the libs packaged in jcenter the same way in both builds
* Remove cleanBinaryDeps, can be done via the shell easily
2015-09-08 15:40:44 -07:00
Dominik Schürmann 85c8e7035d Move shared AIDL files into lib, restructure, start of install/delete code 2015-09-07 01:38:48 +02:00
Daniel Martí 2ce62aac65 Adapt our gradle setup to the new v4-preferencefragment location 2015-04-01 11:28:36 +02:00
Daniel Martí 871f1f2d90 spongycastle/pg is not used 2015-03-31 20:47:19 +02:00
Daniel Martí 246d1c5f32 Remove MemorizingTrustManager, not used right now 2015-03-31 20:47:19 +02:00
Peter Serwylo aa38418c91 Bump support libraries to v20. Gradle doesn't build them by source for now.
The support libraries expect to be using the gradle plugin version 0.10.0.
We are currently on version 1.0.0. They use APIs in their build script which
have moved or been removed, and so the build just breaks when we run it with
the 1.0.0 plugin. I tried some magic to make it work in various ways, but
kept failing. As such, I've reverted the `gradle -PsourceDeps` build to not
build the support libraries from source. In the future, we should be able to
change this if they change the plugin version to a more recent one.

Note that the ant build script still hasn't been modified, and so will be
using the binary support-v4 library, but should build appcompat-v7 from source.

Was going to bump to Support v21, however there is some behaviour change which
causes a crash. They have removed the progress view from the toolbar/actionbar.
This breaks the AppDetails activity. As such, I'll leave that for the future.

For now, there will be a slight difference between building with
ant (which uses support v-almost-21) and gradle (which uses v20).
This will stay the case until we get around to completely porting
the app to v21, and fixing any bugs or UI sadness that arises.
2015-03-03 00:46:43 +11:00
Peter Serwylo eec57945c0 Default to binary dependencies, with option for source builds.
NOTE: This commit does not touch the ant build system at all,
only gradle.

There are currently 23 gradle projects which require configuration,
let alone building, in order to build F-Droid. This takes a non-trivial
amount of time/memory/cpu. Additionally, it also provides difficulties
when importing the project into Android Studio - which is the IDE that
many potential contributors will be using. Finally, I have over 100mb
of data in the extern/ folder, and the support libraries require almost
every single Android SDK to be installed, which is several GB. This is
not a friendly environment to encourage people to submit merge requests.

However, I'm very mindful of the need for an open source project such
as F-Droid to be able to be built from source. So to make sure we have
the best of both worlds, I've ensured that building all dependencies
from source is still possible.

The F-Droid/libs/README.md file explains in greater detail how to
do this (i.e. "gradle -PsourceDeps build").

As much as possible, I've tried to make the binary dependencies fetched
from jcenter. However there are still libraries which either haven't
integrated required changes for F-Droid back upstream, or don't have
mavenCentral/jcenter binaries available.

Android preference fragment has been changed to the original
upstream repository. The one we had before was because upstream
hadn't merged a MR for gradfle support yet. However, that has
now been merged. This version still doesn't exist in jcenter though.

In order for libsuperuser to build from upstream, using
`gradle -PsourceDeps`, we need to include a few gradle plugins
from jcenter which are never actually used (used by upstream to
release to jcenter).

Even though support-v4 is included through jcenter, it is kept in
the libs directory, so that ./ant-prepare.sh can use it.

Update support preference fragment to newer version. There has been
bugfixes commited, so lets include them in the version we are using.
2015-03-01 10:21:51 +11:00
Dominik Schürmann e52c17f586 Remove colon after :F-Droid include 2015-01-20 03:39:14 +01:00
Peter Serwylo 405a31a415 Added support annotation library dependency.
The specific reason for this is that it provides @Null and @NotNull
annotations which should increase the safety of our code. Many of the
bugs which get filed are due to NullPointerExceptions, which could be
avoided by tooling using these annotations. The goal is to statically
catch this specific class of errors in as many situations as possible,
rather than waiting for them to occur at runtime.
2014-12-27 11:10:43 +11:00
Daniel Martí 06dd4c8dcb Move F-Droid project into subdir, keeping a root gradle project
Also improved .gitignore a tad
2014-12-09 15:36:07 +01:00
Daniel Martí 67b608e4e5 Set the gradle project name to F-Droid like ant 2014-06-05 10:20:06 +02:00
Peter Serwylo 59b9fd6a8c add PreferenceFragment lib since appcompat lacks such a thing
Although Google is encouraging people to make old devices run apps
with the action bar (via appcompat-v7), they haven't provided a way
for people to create preference/setting screens with an action bar.

There are plenty of issues in the Android issue tracker relating
to this, but it doesn't yet seem to be on the radar of the Android
devs.

Until there is a native implementation of PreferenceFragment in
the appcompat-v7 support library, this submodule provides is a 3rd
party solution. It is actually a fork of the first repo in github,
though that was a bit of an upload and dump, without accepting MR's.
This fork includes gradle support.
2014-06-04 23:16:26 -04:00
Daniel Martí 414c4e0c67 Use zxing-core from source in both ant and gradle
Also, temporarily remove zipsigner from ant until spongycastle is added to it
so that ant builds work
2014-05-25 13:39:56 +02:00
Daniel Martí 8c75c3694b Forgot to re-add jmdns as a dep 2014-05-21 08:48:13 +02:00
Daniel Martí 29048a0c60 Include spongycastle 2014-05-20 19:12:29 +02:00
Daniel Martí 319e1faf3b Add zipsigner as a submodule 2014-05-20 18:22:24 +02:00
Daniel Martí 4d44f3fce8 Build support-v4 from source with gradle
v7-appcompat can be enabled/used in gradle by changing :support-v4 with
:support-appcompat-v7 in build.gradle and bumping minSdk from 5 to 7
2014-05-19 11:56:45 +02:00
Daniel Martí b3107eb6b2 Fix gradle support while keeping ant support
Most of this was done by pserwylo on his branch feature/gradle. The only thing
left is merging the fixes into nanohttpd.
2014-05-18 12:55:30 +02:00
Dominik Schürmann 732fb87944 Add libsuperuser as external git submodule and project dependency 2014-04-26 02:40:08 +02:00
Daniel Martí 1e9c6ccf2e Finally give up on UIL and set up the gradle project ourselves 2014-02-14 12:17:07 +01:00
Daniel Martí fffae79c24 Add MemorizingTrustManager as gradle library too 2014-02-14 10:51:30 +01:00
Daniel Martí 967174b549 Finally get UIL working as a gradle library
The problem were the dashes in the path 'extern/Universal-Image-Loader'
2014-02-14 10:34:36 +01:00
Daniel Martí 3ae9fd7b88 Try to support AndroidPinning via gradle (won't work as-is) 2014-01-10 22:37:26 +01:00