Commit graph

1689 commits

Author SHA1 Message Date
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í
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í
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í
0d758daa22 install: filter out log messages better 2015-11-11 13:09:29 +01:00
Daniel Martí
af7178f2fe scanner: Ignore certain binary executable files
These were warnings, so the behaviour doesn't really change.
2015-11-10 21:59:54 +01:00
Daniel Martí
c94b0342ad scanner: ignore .DS_Store files
They are binary and sometimes executable, so they trigger false
positives.
2015-11-10 21:49:46 +01:00
Daniel Martí
66e82cb077 Bump build-tools to 23.0.2 2015-11-05 11:56:13 +01:00
Daniel Martí
a4d1fa22f7 Install Java 1.8 alongside 1.7 for retrolambda
Fixes #103.
2015-11-03 11:08:34 +01:00
Daniel Martí
c8627764e3 checkupdates: check packages in AM.xml files too 2015-11-01 12:35:36 +01:00
Daniel Martí
d17da074e9 scanner: allow apache.org maven repo
Since it has the same free software and source code publishing
requirements that oss.sonatype and maven.org repos have.
2015-10-31 09:59:38 +01:00
Daniel Martí
3ace102bd5 checkupdates: work around multiple package ids
If there are multiple package ids in a build.gradle file and the first
one we don't want, checkupdates would get stuck. Make it ignore any
package id that we don't want so that it can get past that.
2015-10-30 19:03:53 +01:00
Daniel Martí
2de274326a checkupdates: better "no tags" messages 2015-10-27 13:42:02 +01:00
Daniel Martí
ece3317be0 checkupdates: no need to sort tags if len()<=5 2015-10-27 13:41:09 +01:00
Daniel Martí
37b13c37d5 Also fix local.prop files before subdir
If subdir=foo/bar and there is a foo/local.properties file, it would not
get treated.
2015-10-26 16:49:11 +01:00
Daniel Martí
d141bd1be0 checkupdates: don't blindly accept subdir
This is unnecessary because dirs_with_manifest will pick it up anyway.
But the problem manifested because we weren't checking the package id
here.
2015-10-26 16:29:26 +01:00
Daniel Martí
da92845f9c checkupdates: compare CVs as ints, not strs 2015-10-26 16:13:35 +01:00
Daniel Martí
9017328698 Add an extra strip() to work around tostring issue
In cases like this xml code:

	<string name="app_name">"OpenKeychain"</string>
	<!-- title -->
	<string name="title_encrypt_text">"Encrypt"</string>

tostring() returns trailing whitespaces (including newlines). Which
aren't removed until the very end, after we try to remove enclosing
quotes. So strip right after tostring() too, since we never really care
about whitespaces anyway.
2015-10-26 00:28:29 +01:00
Daniel Martí
995afdcbfd checkupdates: never auto-update to older versions 2015-10-25 19:14:23 +01:00
Daniel Martí
6ea51abfaa common: Compile more regexes only once 2015-10-25 19:10:49 +01:00
Daniel Martí
8812e9339d Don't double check package name 2015-10-25 19:10:23 +01:00
Daniel Martí
1f42b83120 checkupdates: don't ignore root directory 2015-10-25 19:09:55 +01:00
Daniel Martí
d5ec039dec checkupdates: Make RepoManifest change subdir too 2015-10-25 12:09:01 +01:00
Daniel Martí
af947809b5 checkupdates: let Tags detect subdir changes
Up until now, this was done only if no overall version could be found. But in
tags, we would get stuck with an old version from an old tag and not see
subdir changes in new tags.
2015-10-25 12:00:02 +01:00
Daniel Martí
fa55ec0e87 Be consistent about root_dir/build_dir naming 2015-10-25 11:41:46 +01:00
Daniel Martí
7e7d67f0d7 Fix a small indentation issue 2015-10-25 11:32:18 +01:00
Daniel Martí
db31eddd7e lint: fix unlinkified links regex
It was incorrectly matching:

	foo [http://bar

and not matching:

	http://foo (start of line)
2015-10-25 00:07:33 +02:00
Daniel Martí
ab667992c7 update: fix for 0fa6aac288
For some reason, my up to date pyflakes didn't catch this.
2015-10-24 20:13:49 +02:00
Daniel Martí
2872027835 Also replace git@gitlab.com submodule urls 2015-10-24 19:42:40 +02:00
Daniel Martí
78a661fc7d Typo fix for 91daacb889 2015-10-24 18:37:57 +02:00
Daniel Martí
91daacb889 common: don't crash if an sdk binary is not found 2015-10-24 17:02:53 +02:00
Daniel Martí
0fa6aac288 Remove densities getter 2015-10-24 16:34:55 +02:00
Daniel Martí
a92f9a3a4c scanner: allow sonatype groups/public repo
See http://central.sonatype.org/pages/ossrh-guide.html
2015-10-22 12:23:57 +02:00
Daniel Martí
6dcee2924a scanner: escape urls 2015-10-22 12:23:52 +02:00
Daniel Martí
d706cfa7d8 Fix build-tools patching when it uses variables
Like:

	buildToolsVersion FOO_VERSION
2015-10-14 19:34:30 +02:00
Daniel Martí
f7e9022217 scanner: ignore gradle comment lines
Useful to detect:

	maven {
		// foo
		url "http://foo.bar"
	}
2015-10-08 12:16:45 +02:00