diff --git a/CHANGELOG.md b/CHANGELOG.md index 74fba82..c56d851 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,24 @@ # Change Log +## [v0.32](https://github.com/kivy/buildozer/tree/v0.32) (2016-05-09) +[Full Changelog](https://github.com/kivy/buildozer/compare/v0.31...v0.32) + +- Added `source.include_patterns` app option +- Added `android_new` target to use the python-for-android revamp toolchain +- Added `build_dir` and `bin_dir` buildozer options +- Stopped using pip `--download-cache` flag, as it has been removed from recent pip versions +- Always use ios-deploy 1.7.0 - newer versions are completely different +- Fix bugs with Unicode app titles +- Fix bugs with directory handling +- Support using a custom kivy-ios dir +- Add `adb` command to android/android_new targets +- Disable bitcode on iOS builds (needed for newer Xcode) +- Fix `api`/`minapi` values for android target +- Use kivy-ios to build icons for all supported sizes +- Fix p4a branch handling +- Let p4a handle pure-Python packages (android_new) +- Use colored output in p4a (android_new) + ## [v0.31](https://github.com/kivy/buildozer/tree/v0.31) (2016-01-07) [Full Changelog](https://github.com/kivy/buildozer/compare/0.30...v0.31) @@ -350,4 +369,4 @@ ## [0.2](https://github.com/kivy/buildozer/tree/0.2) (2012-12-20) -\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)* \ No newline at end of file +\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)* diff --git a/README.rst b/README.rst index d7f9259..afe0926 100644 --- a/README.rst +++ b/README.rst @@ -23,34 +23,38 @@ Usage example #. Install buildozer:: - # latest dev + # via pip (latest stable, recommended) + sudo pip install buildozer + + # latest dev version + sudo pip install https://github.com/kivy/buildozer/archive/master.zip + + # git clone, for working on buildozer git clone https://github.com/kivy/buildozer cd buildozer - sudo python2.7 setup.py install - - # via pip (latest stable) - sudo pip install buildozer + python setup.py build + sudo pip install -e . #. Go into your application directory and do:: buildozer init # edit the buildozer.spec, then - buildozer android debug deploy run + buildozer android_new debug deploy run Example of commands:: # buildozer target command - buildozer android clean - buildozer android update - buildozer android deploy - buildozer android debug - buildozer android release + buildozer android_new clean + buildozer android_new update + buildozer android_new deploy + buildozer android_new debug + buildozer android_new release # or all in one (compile in debug, deploy on device) - buildozer android debug deploy + buildozer android_new debug deploy # set the default command if nothing set - buildozer setdefault android debug deploy run + buildozer setdefault android_new debug deploy run Usage @@ -58,26 +62,47 @@ Usage :: - Usage: buildozer [--verbose] [target] [command1] [command2] + Usage: + buildozer [--profile ] [--verbose] [target] ... + buildozer --version Available targets: - android Android target, based on python-for-android project - ios iOS target, based on kivy-ios project. (not working yet.) + android Android target, based on python-for-android project (old toolchain) + ios iOS target, based on kivy-ios project + android_new Android target, based on python-for-android project (new toolchain) Global commands (without target): - clean Clean the whole Buildozer environment. + distclean Clean the whole Buildozer environment. help Show the Buildozer help. init Create a initial buildozer.spec in the current directory - setdefault Set the default command to do when no arguments are given + serve Serve the bin directory via SimpleHTTPServer + setdefault Set the default command to run when no arguments are given version Show the Buildozer version Target commands: - clean Clean the target environment - update Update the target dependencies - debug Build the application in debug mode - release Build the application in release mode - deploy Deploy the application on the device - run Run the application on the device + clean Clean the target environment + update Update the target dependencies + debug Build the application in debug mode + release Build the application in release mode + deploy Deploy the application on the device + run Run the application on the device + serve Serve the bin directory via SimpleHTTPServer + + Target "android" commands: + adb Run adb from the Android SDK. Args must come after --, or + use --alias to make an alias + logcat Show the log from the device + + Target "ios" commands: + list_identities List the available identities to use for signing. + xcode Open the xcode project. + + Target "android_new" commands: + adb Run adb from the Android SDK. Args must come after --, or + use --alias to make an alias + logcat Show the log from the device + p4a Run p4a commands. Args must come after --, or use --alias + to make an alias diff --git a/buildozer/__init__.py b/buildozer/__init__.py index ac18776..a7c48fd 100644 --- a/buildozer/__init__.py +++ b/buildozer/__init__.py @@ -6,7 +6,7 @@ Generic Python packager for Android / iOS. Desktop later. ''' -__version__ = '0.32dev' +__version__ = '0.32' import os import re @@ -14,6 +14,7 @@ import sys import zipfile import select import codecs +import textwrap from buildozer.jsonstore import JsonStore from sys import stdout, stderr, exit from re import search @@ -957,7 +958,8 @@ class Buildozer(object): for command, doc in commands: if not doc: continue - doc = doc.strip().splitlines()[0].strip() + doc = textwrap.fill(textwrap.dedent(doc).strip(), 59, + subsequent_indent=' ' * 21) print(' {0:<18} {1}'.format(command, doc)) print('') @@ -1069,7 +1071,7 @@ class Buildozer(object): self.usage() def cmd_setdefault(self, *args): - '''Set the default command to do when to arguments are given + '''Set the default command to run when no arguments are given ''' self.check_build_layout() self.state['buildozer:defaultcommand'] = args diff --git a/buildozer/targets/android.py b/buildozer/targets/android.py index 4b8ef13..bbca16e 100644 --- a/buildozer/targets/android.py +++ b/buildozer/targets/android.py @@ -846,6 +846,11 @@ class TargetAndroid(Target): return serials def cmd_adb(self, *args): + ''' + Run adb from the Android SDK. + Args must come after --, or use + --alias to make an alias + ''' self.check_requirements() self.install_platform() args = args[0] diff --git a/buildozer/targets/android_new.py b/buildozer/targets/android_new.py index d9ea171..3230a99 100644 --- a/buildozer/targets/android_new.py +++ b/buildozer/targets/android_new.py @@ -102,6 +102,10 @@ class TargetAndroidNew(TargetAndroid): return super(TargetAndroidNew, self).cmd_run(*args) def cmd_p4a(self, *args): + ''' + Run p4a commands. Args must come after --, or + use --alias to make an alias + ''' self.check_requirements() self.install_platform() args = args[0]