Daniel Martí
2711f1c868
Also skip unmodified fields in the regex checks
...
Now it's close to 1s.
2015-12-03 17:02:24 +01:00
Daniel Martí
ea99add3da
Keep track of what attrs were modified in apps/builds
...
This allows us to run checks and fix types only on those that were
really modified. On our fdroiddata repo, with 2k apps with many unset
fields and flags, this reduces readmeta runtime from ~1.3s to ~1.1s.
2015-12-03 16:46:21 +01:00
Daniel Martí
8c2e1fedfc
Actually check that bools are valid
...
The metadata check was omitting booleans and lists, as it was only
taking strings. Fix this.
2015-12-03 16:35:46 +01:00
Daniel Martí
7b575e3fdd
Remove need for rstrip() of txt description
2015-12-03 16:19:33 +01:00
Daniel Martí
a9bb5f9713
metadata: write strings directly to txt file
2015-12-03 14:00:47 +01:00
Daniel Martí
28566f6e57
Rename metafieldtype to fieldtype
...
For consistency with flagtype. Also less redundant.
2015-12-03 13:53:49 +01:00
Daniel Martí
2c095df947
Use dicts for field/flag types
2015-12-03 13:52:53 +01:00
Daniel Martí
cd4e43c3c2
Some more readability/performance tweaks
...
* Use set() instead of dict()
* No 'if foo: True else: False'
* Don't check for invalid fields twice
2015-12-03 13:02:54 +01:00
Daniel Martí
b1a9180d12
Use constants for field/flag types
...
Avoids typos, such as one I just found which was 'strsng' isntead of
'string'. The static analyzer can catch those if they are constants.
Comparing ints is also faster than strings, which adds up in readmeta.
2015-12-03 12:55:19 +01:00
Daniel Martí
992406de0e
Avoid conflicting func/var names
2015-12-03 12:41:50 +01:00
Daniel Martí
1b43d8e33c
Make text formatting faster via StringIO
...
Avoid concatenating strings over and over. Also, the wiki formatting
wasn't necessary at all since it was just joining lines.
2015-12-03 12:02:47 +01:00
Daniel Martí
088929711c
Represent multiline fields as str, not list
...
Only keep lists in metadata files in the json format, since they don't
support multiline strings that are readable.
This makes the internal code easier, and a bit faster.
2015-12-03 11:36:15 +01:00
Daniel Martí
c8cc054c8b
Fix tests
2015-12-03 11:16:27 +01:00
Daniel Martí
97c991c4b6
Some more txt parsing tweaks after profiling
2015-12-03 11:06:27 +01:00
Daniel Martí
490da2da22
Remove duplicate build_flags check
...
It's already checked in set_flag
2015-12-03 10:59:48 +01:00
Daniel Martí
1987ee7f54
Remove gradle=main
...
It was only supported in txt metadata, and was unused in fdroiddata
anyway.
2015-12-03 10:56:59 +01:00
Daniel Martí
5e0bc7f2c3
Properly close all metadata files once read
2015-12-03 10:51:27 +01:00
Daniel Martí
96f1fc5355
Never use exit/log in metadata
2015-12-02 22:59:58 +01:00
Daniel Martí
b9ac6fb69a
Speed up metadata reading
...
Total time for `fdroid readmeta` went down from ~1.6s to ~1.4s on my
machine.
2015-12-02 22:38:40 +01:00
Daniel Martí
528e45d22b
Simplify post_metadata_parse usage
2015-12-02 22:29:31 +01:00
Daniel Martí
c975531d87
metadata: properly store nums as strs and bools as bools
2015-12-02 20:49:42 +01:00
Daniel Martí
71a5eac494
Pre-compile more regexes
2015-12-02 20:40:30 +01:00
Daniel Martí
7e28e0ed90
lint: warn about target= in gradle builds
2015-12-02 20:28:08 +01:00
Daniel Martí
a566ee4475
Fix default update= on ant builds
2015-12-02 20:16:25 +01:00
Daniel Martí
bf8518ee8f
Rework build into a class
...
This simplifies usage, goes from
build['flag']
to
build.flag
Also makes static analyzers able to detect invalid attributes as the set
is now limited in the class definition.
As a bonus, setting of the default field values is now done in the
constructor, not separately and manually.
While at it, unify "build", "thisbuild", "info", "thisinfo", etc into
just "build".
2015-12-02 20:03:11 +01:00
Daniel Martí
2c12485aeb
gradle script: properly iterate over known versions
2015-12-02 19:17:08 +01:00
Daniel Martí
6e87a8c45a
Add documentation to new App class
2015-11-28 17:19:59 +01:00
Daniel Martí
ab614ab442
Rework app into a class
...
This simplifies usage, goes from
app['Foo']
to
app.Foo
Also makes static analyzers able to detect invalid attributes as the set
is now limited in the class definition.
As a bonus, setting of the default field values is now done in the
constructor, not separately and manually.
2015-11-28 17:11:05 +01:00
Daniel Martí
de12cfdbe1
Handle duplicate apps in a much cleaner way
...
Don't log and exit in an inner metadata function. Handle it at a higher
level and do a proper exception. This also avoids unnecessary passing of
apps all around.
2015-11-28 14:04:21 +01:00
Daniel Martí
ce2f4a115c
lint: more versatile /HEAD warning
...
Now catches many more github/gitlab/bitbucket links
2015-11-28 11:58:56 +01:00
Daniel Martí
0f06044770
lint: catch links at the beginning too
2015-11-28 11:58:55 +01:00
Daniel Martí
41690b7508
lint: also catch gitlab master links
2015-11-28 09:52:55 +01:00
Daniel Martí
301302d76e
update: remove icons when removing disabled builds
...
They were just left there forever.
2015-11-27 00:23:59 +01:00
Daniel Martí
47812ccc24
update: move apk icons to and from archive too
...
They all were stuck in repo/ for this reason. This resulted in apps that
were only in the archive to seem like they didn't have icons, when in
fact they did but were in the wrong dir.
2015-11-27 00:23:57 +01:00
Daniel Martí
95ad265836
update: lower apps without apks logs to debug
...
If you run 'fdroid update', 6k+ warning messages are output. This is
definitely wrong. They can still be shown if one enables -v.
2015-11-26 23:47:22 +01:00
Daniel Martí
7e82b044fe
Don't use paramiko with DEBUG
...
It outputs way, way too much info. Thousands of lines only when copying
the files over, which is not useful at all.
2015-11-20 17:35:34 -08:00
Daniel Martí
326e299e15
Fix ndk always being reinstalled
2015-11-20 17:35:34 -08:00
Daniel Martí
73c680dfcf
Add gradle 2.9 to the BS
2015-11-20 14:08:54 -08:00
Daniel Martí
882cfe3912
Install build-tools from the cache too
2015-11-20 14:08:54 -08:00
Daniel Martí
7842b08f40
Download platforms via makebuildserver
2015-11-20 12:21:31 -08:00
Daniel Martí
953a1e4396
Add qt5 to the buildserver
2015-11-20 05:52:17 -08:00
Daniel Martí
cac9b8a009
fdroidbuild-general: split packages in lines
...
This improves readability, but more importantly makes changes in git a
lot easier to track.
2015-11-20 05:51:33 -08:00
Daniel Martí
5e1b07dce3
import: don't crash due to missing id
...
Fixes #129
2015-11-18 15:33:30 -08:00
Daniel Martí
3a616e2d9f
Don't crash if AM.xml has no application element
2015-11-16 07:21:19 -08:00
Daniel Martí
97a637b9b4
Don't crash if no auto name is found
2015-11-14 22:05:28 +01:00
Daniel Martí
ae146ff2a2
build: don't treat FDroidExceptions as unknown
2015-11-14 13:05:37 +01:00
Daniel Martí
c97b0e7ed9
common: error if any glob paths are unused
...
Like rm=foo and foo doesn't exist.
2015-11-14 13:05:16 +01:00
Daniel Martí
f604d845f5
checkupdates: find new subdirs for autonames too
...
The same method used for Tags and RepoManifest.
2015-11-14 10:24:43 +01:00
Daniel Martí
b84688af7a
scanner: don't warn about ignored files
2015-11-12 20:02:40 +01:00
Daniel Martí
23b7f544c1
Bump to 0.5.0
2015-11-12 19:09:50 +01:00