Commit Graph
3311 Commits
Author SHA1 Message Date
Daniel Martí ecad89dc05 lint: catch more duplicate links 2015-09-11 23:30:59 -07:00
Daniel Martí 3638acddc4 checkupdates: Avoid variable/string names as CV 2015-09-11 23:17:46 -07:00
Daniel Martí 7a79b000bf Allow slashes in tags
The wikipedia app uses them, for example.
2015-09-11 23:17:36 -07:00
Daniel Martí fb23b2cff4 metadata: don't break words nor on hyphens 2015-09-11 22:52:50 -07:00
Daniel Martí df9b044a3b lint: add dumb support for multiline links 2015-09-11 22:40:16 -07:00
Daniel Martí b9b4880b49 lint: move regex closer to usage 2015-09-11 22:07:51 -07:00
Daniel Martí 223db1588b metadata: allow links spanning multiple lines
This allows for nicer text wrapping.
2015-09-11 22:07:20 -07:00
Daniel Martí e6b14c8995 lint: remove now obsolete description checks 2015-09-11 21:54:39 -07:00
Daniel Martí 3413965eaa Wrap descriptions to 80 chars 2015-09-11 21:36:18 -07:00
Daniel Martí ade5036e23 metadata: rewrite multiline field writing
Now description text wrapping can be added.
2015-09-11 19:12:51 -07:00
Daniel Martí cd202e59b1 Ensure that builds are always sorted when writing
This might not be true if builds are appended by e.g. checkupdates --auto.
This ensures that we sort them again before writing.
2015-09-11 18:21:07 -07:00
Daniel Martí cc48d2828c lint: overhaul, cleaner and saner output 2015-09-10 18:41:10 -07:00
Daniel Martí acfc48970d lint: move lastbuild into separate function 2015-09-10 17:55:09 -07:00
Daniel Martí a5c2e503b2 lint: remove "no recommended build" check
In some cases we do want to not recommend any version. The client should more
or less gracefully handle this.
2015-09-10 17:54:41 -07:00
Daniel Martí 13b5966062 Merge branch 'import-tweaks-and-tests' into 'master'
Import tweaks and tests

This makes the code for `fdroid import` a bit more flexible and adds tests for the first time.  It also comments out options in `examples/config.py` that just mirror the defaults to make it clear that they are defaults, and help illustrate other options (this is standard procedure in default config files).

More details in the commit messages.

See merge request !76
2015-09-11 00:23:42 +00:00
Daniel Martí e9e2713cde lint: cleanup, remove stale sites 2015-09-10 17:05:13 -07:00
Hans-Christoph Steiner 491d2d75a2 comment out things that are default values in examples/config.py
Since these are already defaults, there is no need to set them as defaults
in the default config.
2015-09-10 11:08:40 +02:00
Hans-Christoph Steiner 707930ce0a add a basic test of fdroid import 2015-09-10 11:08:40 +02:00
Hans-Christoph Steiner 48397bfa3c import: append .git to gitlab URLs, git sometimes freaks out otherwise
From my experience, gitlab URLs need to end in .git for git to always be
happy using them.
2015-09-10 11:08:39 +02:00
Hans-Christoph Steiner c80c1bf017 import: split out URL handling into its own function
This is preparation to add other import methods, like checking if the
command was run in a currently checked out git repo.
2015-09-10 11:08:39 +02:00
Daniel Martí 9489e80f09 Merge branch 'replace_optparse_with_argparse' into 'master'
replace deprecated optparse with argparse

squashed and rebased merge request fdroid/fdroidserver!74

following guidelines from:
https://docs.python.org/2/library/argparse.html#upgrading-optparse-code
except, still using option = parse.parse_args() instead of args = ...

- using the following script in folder fdroidserver:
	```
	for i in *.py; do
		sed -i -e 's/optparse/argparse/' \
			-e 's/OptionParser/ArgumentParser/' \
			-e 's/OptionError/ArgumentError/' \
			-e 's/add_option/add_argument/' \
			-e 's/(options, args) = parser/options = parser/' \
			-e 's/options, args = parser/options = parser/' \
			-e 's/Usage: %prog/%(prog)s/' $i;
	done
	```
- use ArgumentParser argument to replace (option, args) = parser.parse()
  call
- use parser.error(msg) instead of raise ArgumentException as suggested
  in https://docs.python.org/2/library/argparse.html#exiting-methods
- in fdroid catch ArgumentError instead of OptionError

See merge request !75
2015-09-10 02:08:24 +00:00
Daniel Martí 4c8e986139 rewritemeta: move debug logs to logging.debug 2015-09-09 13:24:18 -07:00
Daniel Martí b07e6c343c checkupdates: log vercode operation activity 2015-09-09 10:26:33 -07:00
Daniel Martí 2fe0327beb checkupdates: don't auto update to older versions
If for whatever reason the update check results in an older version that we
didn't package, don't "update" to that version if we already packaged newer
versions.
2015-09-09 09:27:18 -07:00
Ciaran Gultnieks 803a3ebbac Make builds work after 04e6f2eb and 120be433 2015-09-09 11:50:32 +00:00
Daniel Martí 664f6e4adb manual: Don't reuse scanignore doc in scandelete 2015-09-08 15:36:18 -07:00
Daniel Martí a782a615c6 manual: be explicit about what scandelete does 2015-09-08 15:23:45 -07:00
Ciaran Gultnieks 0f4d26c2ed Merge branch 'master' of https://gitlab.com/fdroid/fdroidserver 2015-09-08 21:00:31 +00:00
Daniel Martí 29dea4aad5 lint: Warn about links left off from old sites 2015-09-08 13:33:43 -07:00
Daniel Martí 03deda914f checkupdates improvements for gradle projects
* Let the package name override the one found in AndroidManifest.xml
* Support the newer applicationId
2015-09-08 13:12:28 -07:00
Ciaran Gultnieks 131487f214 Add python-yaml to buildserver 2015-09-08 09:54:21 +00:00
nero-tux d23ecf1b35 replace deprecated optparse with argparse
following guidelines from:
https://docs.python.org/2/library/argparse.html#upgrading-optparse-code
except, still using option = parse.parse_args() instead of args = ...

- using the following script in folder fdroidserver:
	for i in *.py; do
		sed -i -e 's/optparse/argparse/' \
			-e 's/OptionParser/ArgumentParser/' \
			-e 's/OptionError/ArgumentError/' \
			-e 's/add_option/add_argument/' \
			-e 's/(options, args) = parser/options = parser/' \
			-e 's/options, args = parser/options = parser/' \
			-e 's/Usage: %prog/%(prog)s/' $i;
	done
- use ArgumentParser argument to replace (option, args) = parser.parse()
  call
- use parser.error(msg) instead of raise ArgumentException as suggested
  in https://docs.python.org/2/library/argparse.html#exiting-methods
- in fdroid catch ArgumentError instead of OptionError
2015-09-06 10:34:50 +02:00
Daniel Martí 41443edd55 Bump build-tools 2015-09-05 23:02:03 -04:00
Daniel Martí f4e96cfd7a Specify that disabled builds aren't failing builds 2015-09-05 10:10:48 -04:00
Daniel Martí de1c599127 Fix regression introduced in 2831b3e93
An empty list of antifeatures should not be written.
2015-09-05 10:10:37 -04:00
Daniel Martí f70d74e3e8 End sentence spacing madness in sample config 2015-09-03 22:06:43 -07:00
Daniel Martí 60aea2ca1e Simplify markdown code blocks 2015-09-03 21:51:37 -07:00
Daniel Martí 9eef437bca completion: set up _fdroid_* funcs at load time
This fixes an issue where these functions would not be created until fdroid
was completed at least once.
2015-09-02 21:23:08 -07:00
Daniel Martí f23011f408 CI: set up all SDK components in PATH 2015-09-01 21:12:41 -07:00
Daniel Martí 0b0197dba3 Merge branch 'ci-split-packages' into 'master'
CI: Split up package installing

Advantages:
* Easier to tell why we need each package
* apt-get install output is less scary/huge
* CI job is split in more, smaller steps easier to debug

See merge request !72
2015-09-01 22:42:10 +00:00
Daniel Martí 91f36acaa6 Even examples/config.py with default_config 2015-09-01 15:30:41 -07:00
Daniel Martí c633b21f6c CI: Split up package installing
Advantages:
* Easier to tell why we need each package
* apt-get install output is less scary/huge
* CI job is split in more, smaller steps easier to debug
2015-09-01 15:23:06 -07:00
Daniel Martí 96bcd1c77d Merge branch 'fix-pillow-gitlab-ci' into 'master'
install build dependencies for Pillow

When Pillow is installed with pip, it needs to compile the C code against a few libraries, like libjpeg.  Pillow is included in Debian/Ubuntu as 'python-imaging', so just install the build
dependencies of that, and it should all be golden.

See merge request !71
2015-09-01 22:02:54 +00:00
Hans-Christoph Steiner 9855d4089c install build dependencies for Pillow
When Pillow is installed with pip, it needs to compile the C code
against a few libraries, like libjpeg.  This also adds python-git
as a dep.
2015-09-01 23:48:28 +02:00
Daniel Martí 88dcc9d272 CI: add missing python-virtualenv package 2015-09-01 11:34:04 -07:00
Daniel Martí 6f05529dac Merge branch 'fdroid-version' into 'master'
fdroid --version and shared tests between gitlab and jenkins

This adds a `fdroid --version` flag for people to easily see the exact version of fdroidserver in use.  It'll also report the version using `git describe` when running from git.

The other moves the extended tests out of `./jenkins-build` into a common script for both gitlab-ci and jenkins.

See merge request !70
2015-09-01 18:27:55 +00:00
Hans-Christoph Steiner f87b17139b pep8: on *.TestCase, skip "E402 module level import not at top of file"
The tests use a little hack in order to cleanly import the fdroidserver
package locally like a regular package.  pep8 doesn't see that, so this
changes the pep8 to skip E402 on *.TestCase
2015-09-01 20:10:01 +02:00
Hans-Christoph Steiner 242e9d2fb9 gitlab-ci: install all android packages at once
the `android` utility is pretty stupid, it doesn't really cache the
package index info.  So each time it is run, it tries to fetch the
indexes from the network.  This combines all android package installs
to a single command to make things run quicker.
2015-09-01 19:57:40 +02:00
Hans-Christoph Steiner e6c0be8898 move tests into common script for jenkins and gitlab-ci 2015-09-01 19:52:37 +02:00
Hans-Christoph Steiner 3fc2a99d71 fdroid --version for installed releases and running from git
This will report the version embedded in the module if it is installed, and
will report `git describe` if being run from git.  If someone installs from
git using pip, this will probably report the version in setup.py, which
will be wrong.  But that is not a documented install method, and I haven't
heard of anyone using it.  The recommended way is to run straight from git.
2015-09-01 19:45:00 +02:00