diff --git a/pythonforandroid/bootstrap.py b/pythonforandroid/bootstrap.py index ef89fef829..adc5d8bef5 100644 --- a/pythonforandroid/bootstrap.py +++ b/pythonforandroid/bootstrap.py @@ -1,9 +1,11 @@ from os.path import (join, dirname, isdir, splitext, basename) -from os import listdir +from os import listdir, walk, sep import sh import glob import json import importlib +import os +import shutil from pythonforandroid.logger import (warning, shprint, info, logger, debug) @@ -12,6 +14,25 @@ from pythonforandroid.recipe import Recipe +def copy_files(src_root, dest_root): + for root, dirnames, filenames in walk(src_root): + for filename in filenames: + subdir = root.replace(src_root, "") + if subdir.startswith(sep): + subdir = subdir[1:] + dest_dir = join(dest_root, subdir) + if not os.path.exists(dest_dir): + os.makedirs(dest_dir) + src_file = join(root, filename) + dest_file = join(dest_dir, filename) + if os.path.isfile(src_file): + if os.path.exists(dest_file): + os.unlink(dest_file) + shutil.copy(src_file, dest_file) + else: + os.makedirs(dest_file) + + class Bootstrap(object): '''An Android project template, containing recipe stuff for compilation and templated fields for APK info. @@ -78,6 +99,9 @@ def get_build_dir(self): def get_dist_dir(self, name): return join(self.ctx.dist_dir, name) + def get_common_dir(self): + return os.path.abspath(join(self.bootstrap_dir, "..", 'common')) + @property def name(self): modname = self.__class__.__module__ @@ -87,9 +111,9 @@ def prepare_build_dir(self): '''Ensure that a build dir exists for the recipe. This same single dir will be used for building all different archs.''' self.build_dir = self.get_build_dir() - shprint(sh.cp, '-r', - join(self.bootstrap_dir, 'build'), - self.build_dir) + self.common_dir = self.get_common_dir() + copy_files(join(self.bootstrap_dir, 'build'), self.build_dir) + copy_files(join(self.common_dir, 'build'), self.build_dir) if self.ctx.symlink_java_src: info('Symlinking java src instead of copying') shprint(sh.rm, '-r', join(self.build_dir, 'src')) @@ -121,7 +145,7 @@ def run_distribute(self): @classmethod def list_bootstraps(cls): '''Find all the available bootstraps and return them.''' - forbidden_dirs = ('__pycache__', ) + forbidden_dirs = ('__pycache__', 'common') bootstraps_dir = join(dirname(__file__), 'bootstraps') for name in listdir(bootstraps_dir): if name in forbidden_dirs: diff --git a/pythonforandroid/bootstraps/sdl2/__init__.py b/pythonforandroid/bootstraps/common/__init__.py similarity index 100% rename from pythonforandroid/bootstraps/sdl2/__init__.py rename to pythonforandroid/bootstraps/common/__init__.py diff --git a/pythonforandroid/bootstraps/sdl2/build/.gitignore b/pythonforandroid/bootstraps/common/build/.gitignore similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/.gitignore rename to pythonforandroid/bootstraps/common/build/.gitignore diff --git a/pythonforandroid/bootstraps/sdl2/build/ant.properties b/pythonforandroid/bootstraps/common/build/ant.properties similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/ant.properties rename to pythonforandroid/bootstraps/common/build/ant.properties diff --git a/pythonforandroid/bootstraps/sdl2/build/blacklist.txt b/pythonforandroid/bootstraps/common/build/blacklist.txt similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/blacklist.txt rename to pythonforandroid/bootstraps/common/build/blacklist.txt diff --git a/pythonforandroid/bootstraps/sdl2/build/build.py b/pythonforandroid/bootstraps/common/build/build.py similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/build.py rename to pythonforandroid/bootstraps/common/build/build.py diff --git a/pythonforandroid/bootstraps/sdl2/build/gradle/wrapper/gradle-wrapper.jar b/pythonforandroid/bootstraps/common/build/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/gradle/wrapper/gradle-wrapper.jar rename to pythonforandroid/bootstraps/common/build/gradle/wrapper/gradle-wrapper.jar diff --git a/pythonforandroid/bootstraps/sdl2/build/gradle/wrapper/gradle-wrapper.properties b/pythonforandroid/bootstraps/common/build/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/gradle/wrapper/gradle-wrapper.properties rename to pythonforandroid/bootstraps/common/build/gradle/wrapper/gradle-wrapper.properties diff --git a/pythonforandroid/bootstraps/sdl2/build/gradlew b/pythonforandroid/bootstraps/common/build/gradlew similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/gradlew rename to pythonforandroid/bootstraps/common/build/gradlew diff --git a/pythonforandroid/bootstraps/sdl2/build/gradlew.bat b/pythonforandroid/bootstraps/common/build/gradlew.bat similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/gradlew.bat rename to pythonforandroid/bootstraps/common/build/gradlew.bat diff --git a/pythonforandroid/bootstraps/sdl2/build/jni/Android.mk b/pythonforandroid/bootstraps/common/build/jni/Android.mk similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/jni/Android.mk rename to pythonforandroid/bootstraps/common/build/jni/Android.mk diff --git a/pythonforandroid/bootstraps/sdl2/build/jni/Application.mk b/pythonforandroid/bootstraps/common/build/jni/Application.mk similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/jni/Application.mk rename to pythonforandroid/bootstraps/common/build/jni/Application.mk diff --git a/pythonforandroid/bootstraps/sdl2/build/jni/src/Android.mk b/pythonforandroid/bootstraps/common/build/jni/src/Android.mk similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/jni/src/Android.mk rename to pythonforandroid/bootstraps/common/build/jni/src/Android.mk diff --git a/pythonforandroid/bootstraps/sdl2/build/jni/src/Android_static.mk b/pythonforandroid/bootstraps/common/build/jni/src/Android_static.mk similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/jni/src/Android_static.mk rename to pythonforandroid/bootstraps/common/build/jni/src/Android_static.mk diff --git a/pythonforandroid/bootstraps/sdl2/build/jni/src/start.c b/pythonforandroid/bootstraps/common/build/jni/src/start.c similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/jni/src/start.c rename to pythonforandroid/bootstraps/common/build/jni/src/start.c diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/assets/.gitkeep b/pythonforandroid/bootstraps/common/build/src/main/assets/.gitkeep similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/assets/.gitkeep rename to pythonforandroid/bootstraps/common/build/src/main/assets/.gitkeep diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/java/.gitkeep b/pythonforandroid/bootstraps/common/build/src/main/java/.gitkeep similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/java/.gitkeep rename to pythonforandroid/bootstraps/common/build/src/main/java/.gitkeep diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kamranzafar/jtar/Octal.java b/pythonforandroid/bootstraps/common/build/src/main/java/org/kamranzafar/jtar/Octal.java similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kamranzafar/jtar/Octal.java rename to pythonforandroid/bootstraps/common/build/src/main/java/org/kamranzafar/jtar/Octal.java diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kamranzafar/jtar/TarConstants.java b/pythonforandroid/bootstraps/common/build/src/main/java/org/kamranzafar/jtar/TarConstants.java similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kamranzafar/jtar/TarConstants.java rename to pythonforandroid/bootstraps/common/build/src/main/java/org/kamranzafar/jtar/TarConstants.java diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kamranzafar/jtar/TarEntry.java b/pythonforandroid/bootstraps/common/build/src/main/java/org/kamranzafar/jtar/TarEntry.java similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kamranzafar/jtar/TarEntry.java rename to pythonforandroid/bootstraps/common/build/src/main/java/org/kamranzafar/jtar/TarEntry.java diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kamranzafar/jtar/TarHeader.java b/pythonforandroid/bootstraps/common/build/src/main/java/org/kamranzafar/jtar/TarHeader.java similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kamranzafar/jtar/TarHeader.java rename to pythonforandroid/bootstraps/common/build/src/main/java/org/kamranzafar/jtar/TarHeader.java diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kamranzafar/jtar/TarInputStream.java b/pythonforandroid/bootstraps/common/build/src/main/java/org/kamranzafar/jtar/TarInputStream.java similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kamranzafar/jtar/TarInputStream.java rename to pythonforandroid/bootstraps/common/build/src/main/java/org/kamranzafar/jtar/TarInputStream.java diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kamranzafar/jtar/TarOutputStream.java b/pythonforandroid/bootstraps/common/build/src/main/java/org/kamranzafar/jtar/TarOutputStream.java similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kamranzafar/jtar/TarOutputStream.java rename to pythonforandroid/bootstraps/common/build/src/main/java/org/kamranzafar/jtar/TarOutputStream.java diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kamranzafar/jtar/TarUtils.java b/pythonforandroid/bootstraps/common/build/src/main/java/org/kamranzafar/jtar/TarUtils.java similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kamranzafar/jtar/TarUtils.java rename to pythonforandroid/bootstraps/common/build/src/main/java/org/kamranzafar/jtar/TarUtils.java diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kivy/android/GenericBroadcastReceiver.java b/pythonforandroid/bootstraps/common/build/src/main/java/org/kivy/android/GenericBroadcastReceiver.java similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kivy/android/GenericBroadcastReceiver.java rename to pythonforandroid/bootstraps/common/build/src/main/java/org/kivy/android/GenericBroadcastReceiver.java diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kivy/android/GenericBroadcastReceiverCallback.java b/pythonforandroid/bootstraps/common/build/src/main/java/org/kivy/android/GenericBroadcastReceiverCallback.java similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kivy/android/GenericBroadcastReceiverCallback.java rename to pythonforandroid/bootstraps/common/build/src/main/java/org/kivy/android/GenericBroadcastReceiverCallback.java diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kivy/android/PythonActivity.java b/pythonforandroid/bootstraps/common/build/src/main/java/org/kivy/android/PythonActivity.java similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kivy/android/PythonActivity.java rename to pythonforandroid/bootstraps/common/build/src/main/java/org/kivy/android/PythonActivity.java diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kivy/android/PythonService.java b/pythonforandroid/bootstraps/common/build/src/main/java/org/kivy/android/PythonService.java similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kivy/android/PythonService.java rename to pythonforandroid/bootstraps/common/build/src/main/java/org/kivy/android/PythonService.java diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kivy/android/PythonUtil.java b/pythonforandroid/bootstraps/common/build/src/main/java/org/kivy/android/PythonUtil.java similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kivy/android/PythonUtil.java rename to pythonforandroid/bootstraps/common/build/src/main/java/org/kivy/android/PythonUtil.java diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kivy/android/concurrency/PythonEvent.java b/pythonforandroid/bootstraps/common/build/src/main/java/org/kivy/android/concurrency/PythonEvent.java similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kivy/android/concurrency/PythonEvent.java rename to pythonforandroid/bootstraps/common/build/src/main/java/org/kivy/android/concurrency/PythonEvent.java diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kivy/android/concurrency/PythonLock.java b/pythonforandroid/bootstraps/common/build/src/main/java/org/kivy/android/concurrency/PythonLock.java similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kivy/android/concurrency/PythonLock.java rename to pythonforandroid/bootstraps/common/build/src/main/java/org/kivy/android/concurrency/PythonLock.java diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kivy/android/launcher/Project.java b/pythonforandroid/bootstraps/common/build/src/main/java/org/kivy/android/launcher/Project.java similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kivy/android/launcher/Project.java rename to pythonforandroid/bootstraps/common/build/src/main/java/org/kivy/android/launcher/Project.java diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kivy/android/launcher/ProjectAdapter.java b/pythonforandroid/bootstraps/common/build/src/main/java/org/kivy/android/launcher/ProjectAdapter.java similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kivy/android/launcher/ProjectAdapter.java rename to pythonforandroid/bootstraps/common/build/src/main/java/org/kivy/android/launcher/ProjectAdapter.java diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kivy/android/launcher/ProjectChooser.java b/pythonforandroid/bootstraps/common/build/src/main/java/org/kivy/android/launcher/ProjectChooser.java similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/java/org/kivy/android/launcher/ProjectChooser.java rename to pythonforandroid/bootstraps/common/build/src/main/java/org/kivy/android/launcher/ProjectChooser.java diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/java/org/libsdl/app/SDLActivity.java b/pythonforandroid/bootstraps/common/build/src/main/java/org/libsdl/app/SDLActivity.java similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/java/org/libsdl/app/SDLActivity.java rename to pythonforandroid/bootstraps/common/build/src/main/java/org/libsdl/app/SDLActivity.java diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/java/org/renpy/android/AssetExtract.java b/pythonforandroid/bootstraps/common/build/src/main/java/org/renpy/android/AssetExtract.java similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/java/org/renpy/android/AssetExtract.java rename to pythonforandroid/bootstraps/common/build/src/main/java/org/renpy/android/AssetExtract.java diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/java/org/renpy/android/Hardware.java b/pythonforandroid/bootstraps/common/build/src/main/java/org/renpy/android/Hardware.java similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/java/org/renpy/android/Hardware.java rename to pythonforandroid/bootstraps/common/build/src/main/java/org/renpy/android/Hardware.java diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/java/org/renpy/android/PythonActivity.java b/pythonforandroid/bootstraps/common/build/src/main/java/org/renpy/android/PythonActivity.java similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/java/org/renpy/android/PythonActivity.java rename to pythonforandroid/bootstraps/common/build/src/main/java/org/renpy/android/PythonActivity.java diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/java/org/renpy/android/PythonService.java b/pythonforandroid/bootstraps/common/build/src/main/java/org/renpy/android/PythonService.java similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/java/org/renpy/android/PythonService.java rename to pythonforandroid/bootstraps/common/build/src/main/java/org/renpy/android/PythonService.java diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/java/org/renpy/android/ResourceManager.java b/pythonforandroid/bootstraps/common/build/src/main/java/org/renpy/android/ResourceManager.java similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/java/org/renpy/android/ResourceManager.java rename to pythonforandroid/bootstraps/common/build/src/main/java/org/renpy/android/ResourceManager.java diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/jniLibs/.gitkeep b/pythonforandroid/bootstraps/common/build/src/main/jniLibs/.gitkeep similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/jniLibs/.gitkeep rename to pythonforandroid/bootstraps/common/build/src/main/jniLibs/.gitkeep diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/libs/.gitkeep b/pythonforandroid/bootstraps/common/build/src/main/libs/.gitkeep similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/libs/.gitkeep rename to pythonforandroid/bootstraps/common/build/src/main/libs/.gitkeep diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/res/drawable-hdpi/ic_launcher.png b/pythonforandroid/bootstraps/common/build/src/main/res/drawable-hdpi/ic_launcher.png similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/res/drawable-hdpi/ic_launcher.png rename to pythonforandroid/bootstraps/common/build/src/main/res/drawable-hdpi/ic_launcher.png diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/res/drawable-mdpi/ic_launcher.png b/pythonforandroid/bootstraps/common/build/src/main/res/drawable-mdpi/ic_launcher.png similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/res/drawable-mdpi/ic_launcher.png rename to pythonforandroid/bootstraps/common/build/src/main/res/drawable-mdpi/ic_launcher.png diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/res/drawable-xhdpi/ic_launcher.png b/pythonforandroid/bootstraps/common/build/src/main/res/drawable-xhdpi/ic_launcher.png similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/res/drawable-xhdpi/ic_launcher.png rename to pythonforandroid/bootstraps/common/build/src/main/res/drawable-xhdpi/ic_launcher.png diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/res/drawable-xxhdpi/ic_launcher.png b/pythonforandroid/bootstraps/common/build/src/main/res/drawable-xxhdpi/ic_launcher.png similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/res/drawable-xxhdpi/ic_launcher.png rename to pythonforandroid/bootstraps/common/build/src/main/res/drawable-xxhdpi/ic_launcher.png diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/res/drawable/.gitkeep b/pythonforandroid/bootstraps/common/build/src/main/res/drawable/.gitkeep similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/res/drawable/.gitkeep rename to pythonforandroid/bootstraps/common/build/src/main/res/drawable/.gitkeep diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/res/layout/chooser_item.xml b/pythonforandroid/bootstraps/common/build/src/main/res/layout/chooser_item.xml similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/res/layout/chooser_item.xml rename to pythonforandroid/bootstraps/common/build/src/main/res/layout/chooser_item.xml diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/res/layout/main.xml b/pythonforandroid/bootstraps/common/build/src/main/res/layout/main.xml similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/res/layout/main.xml rename to pythonforandroid/bootstraps/common/build/src/main/res/layout/main.xml diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/res/layout/project_chooser.xml b/pythonforandroid/bootstraps/common/build/src/main/res/layout/project_chooser.xml similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/res/layout/project_chooser.xml rename to pythonforandroid/bootstraps/common/build/src/main/res/layout/project_chooser.xml diff --git a/pythonforandroid/bootstraps/sdl2/build/src/main/res/layout/project_empty.xml b/pythonforandroid/bootstraps/common/build/src/main/res/layout/project_empty.xml similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/src/main/res/layout/project_empty.xml rename to pythonforandroid/bootstraps/common/build/src/main/res/layout/project_empty.xml diff --git a/pythonforandroid/bootstraps/sdl2/build/templates/AndroidManifest.tmpl.xml b/pythonforandroid/bootstraps/common/build/templates/AndroidManifest.tmpl.xml similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/templates/AndroidManifest.tmpl.xml rename to pythonforandroid/bootstraps/common/build/templates/AndroidManifest.tmpl.xml diff --git a/pythonforandroid/bootstraps/sdl2/build/templates/Service.tmpl.java b/pythonforandroid/bootstraps/common/build/templates/Service.tmpl.java similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/templates/Service.tmpl.java rename to pythonforandroid/bootstraps/common/build/templates/Service.tmpl.java diff --git a/pythonforandroid/bootstraps/sdl2/build/templates/build.properties b/pythonforandroid/bootstraps/common/build/templates/build.properties similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/templates/build.properties rename to pythonforandroid/bootstraps/common/build/templates/build.properties diff --git a/pythonforandroid/bootstraps/sdl2/build/templates/build.tmpl.gradle b/pythonforandroid/bootstraps/common/build/templates/build.tmpl.gradle similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/templates/build.tmpl.gradle rename to pythonforandroid/bootstraps/common/build/templates/build.tmpl.gradle diff --git a/pythonforandroid/bootstraps/sdl2/build/templates/build.tmpl.xml b/pythonforandroid/bootstraps/common/build/templates/build.tmpl.xml similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/templates/build.tmpl.xml rename to pythonforandroid/bootstraps/common/build/templates/build.tmpl.xml diff --git a/pythonforandroid/bootstraps/sdl2/build/templates/custom_rules.tmpl.xml b/pythonforandroid/bootstraps/common/build/templates/custom_rules.tmpl.xml similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/templates/custom_rules.tmpl.xml rename to pythonforandroid/bootstraps/common/build/templates/custom_rules.tmpl.xml diff --git a/pythonforandroid/bootstraps/sdl2/build/templates/kivy-icon.png b/pythonforandroid/bootstraps/common/build/templates/kivy-icon.png similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/templates/kivy-icon.png rename to pythonforandroid/bootstraps/common/build/templates/kivy-icon.png diff --git a/pythonforandroid/bootstraps/sdl2/build/templates/kivy-presplash.jpg b/pythonforandroid/bootstraps/common/build/templates/kivy-presplash.jpg similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/templates/kivy-presplash.jpg rename to pythonforandroid/bootstraps/common/build/templates/kivy-presplash.jpg diff --git a/pythonforandroid/bootstraps/sdl2/build/templates/strings.tmpl.xml b/pythonforandroid/bootstraps/common/build/templates/strings.tmpl.xml similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/templates/strings.tmpl.xml rename to pythonforandroid/bootstraps/common/build/templates/strings.tmpl.xml diff --git a/pythonforandroid/bootstraps/sdl2/build/whitelist.txt b/pythonforandroid/bootstraps/common/build/whitelist.txt similarity index 100% rename from pythonforandroid/bootstraps/sdl2/build/whitelist.txt rename to pythonforandroid/bootstraps/common/build/whitelist.txt diff --git a/pythonforandroid/toolchain.py b/pythonforandroid/toolchain.py index ff8ab85a99..0944e9485b 100644 --- a/pythonforandroid/toolchain.py +++ b/pythonforandroid/toolchain.py @@ -141,6 +141,9 @@ def wrapper_func(self, args): user_android_api=self.android_api, user_ndk_ver=self.ndk_version) dist = self._dist + bs = Bootstrap.get_bootstrap(args.bootstrap, ctx) + # recipes rarely change, but during dev, bootstraps can change from + # build to build, so run prepare_bootstrap even if needs_build is false if dist.needs_build: info_notify('No dist exists that meets your requirements, ' 'so one will be built.') @@ -186,7 +189,8 @@ def build_dist_from_args(ctx, dist, args): ctx.dist_name = bs.distribution.name ctx.prepare_bootstrap(bs) - ctx.prepare_dist(ctx.dist_name) + if dist.needs_build: + ctx.prepare_dist(ctx.dist_name) build_recipes(build_order, python_modules, ctx) diff --git a/tests/test_graph.py b/tests/test_graph.py index 9d1e6147e0..5710a23bbb 100644 --- a/tests/test_graph.py +++ b/tests/test_graph.py @@ -10,13 +10,15 @@ name_sets = [['python2'], ['kivy']] +# TODO sdl2 -> common (for now) bootstraps = [None, Bootstrap.get_bootstrap('pygame', ctx), - Bootstrap.get_bootstrap('sdl2', ctx)] + Bootstrap.get_bootstrap('common', ctx)] valid_combinations = list(product(name_sets, bootstraps)) +# TODO sdl2 -> common (for now) valid_combinations.extend( - [(['python3crystax'], Bootstrap.get_bootstrap('sdl2', ctx)), - (['kivy', 'python3crystax'], Bootstrap.get_bootstrap('sdl2', ctx))]) + [(['python3crystax'], Bootstrap.get_bootstrap('common', ctx)), + (['kivy', 'python3crystax'], Bootstrap.get_bootstrap('common', ctx))]) invalid_combinations = [[['python2', 'python3crystax'], None]] @@ -45,4 +47,4 @@ def test_bootstrap_dependency_addition2(): if __name__ == "__main__": get_recipe_order_and_bootstrap(ctx, ['python3'], - Bootstrap.get_bootstrap('sdl2', ctx)) + Bootstrap.get_bootstrap('common', ctx))