diff --git a/.travis.yml b/.travis.yml index 2e0e152..b001a4e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -76,6 +76,7 @@ addons: - libmagic-dev matrix: allow_failures: + - env: PLATFORM="native_dyn" DESKTOP_ONLY=1 - env: PLATFORM="android_arm" - env: PLATFORM="android_arm64" - env: PLATFORM="android_mips" diff --git a/kiwixbuild/dependencies/base.py b/kiwixbuild/dependencies/base.py index dfec6fa..feb8d03 100644 --- a/kiwixbuild/dependencies/base.py +++ b/kiwixbuild/dependencies/base.py @@ -263,6 +263,12 @@ class Builder: self.command('configure', self._configure) self.command('make_dist', self._make_dist) + def set_flatpak_buildsystem(self, module): + if getattr(self, 'flatpak_buildsystem', None): + module['buildsystem'] = self.flatpak_buildsystem + if getattr(self, 'configure_option', ''): + module['config-opts'] = self.configure_option.split(' ') + class NoopBuilder(Builder): def build(self): @@ -283,6 +289,7 @@ class MakeBuilder(Builder): configure_env = None make_target = "" make_install_target = "install" + flatpak_buildsystem = None @property def all_configure_option(self): @@ -337,6 +344,8 @@ class MakeBuilder(Builder): class CMakeBuilder(MakeBuilder): + flatpak_buildsystem = 'cmake' + def _configure(self, context): context.try_skip(self.build_path) cross_option = "" @@ -367,9 +376,14 @@ class CMakeBuilder(MakeBuilder): env.update(self.configure_env) run_command(command, self.build_path, context, env=env, buildEnv=self.buildEnv, cross_env_only=True) + def set_flatpak_buildsystem(self, module): + super().set_flatpak_buildsystem( module) + module['buildir'] = True + class QMakeBuilder(MakeBuilder): qmake_target = "" + flatpak_buildsystem = 'qmake' @property def env_option(self): @@ -416,6 +430,7 @@ class QMakeBuilder(MakeBuilder): class MesonBuilder(Builder): configure_option = "" test_option = "" + flatpak_buildsystem = 'meson' @property def library_type(self): @@ -470,7 +485,7 @@ class MesonBuilder(Builder): class GradleBuilder(Builder): - gradle_target = "build" + gradle_target = "assembleKiwixRelease assembleKiwixDebug" gradle_option = "-i --no-daemon --build-cache" def build(self): diff --git a/kiwixbuild/dependencies/mustache.py b/kiwixbuild/dependencies/mustache.py index 625cb50..820e901 100644 --- a/kiwixbuild/dependencies/mustache.py +++ b/kiwixbuild/dependencies/mustache.py @@ -24,3 +24,6 @@ class Mustache(Dependency): copy2(pj(self.source_path, 'mustache.hpp'), pj(self.buildEnv.install_dir, 'include')) + def set_flatpak_buildsystem(self, module): + module['buildsystem'] = 'simple' + module['build-commands'] = ['cp mustache.hpp /app/include'] diff --git a/kiwixbuild/flatpak_builder.py b/kiwixbuild/flatpak_builder.py index 50bdba0..bc0c727 100644 --- a/kiwixbuild/flatpak_builder.py +++ b/kiwixbuild/flatpak_builder.py @@ -171,17 +171,8 @@ class FlatpakBuilder: else: builder = get_target_step(stepDef) - if isinstance(builder, MesonBuilder): - module['buildsystem'] = 'meson' - elif isinstance(builder, CMakeBuilder): - module['buildsystem'] = 'cmake' - module['builddir'] = True - elif isinstance(builder, QMakeBuilder): - module['buildsystem'] = 'qmake' - # config-opts + builder.set_flatpak_buildsystem(module) print(module['name']) - if getattr(builder, 'configure_option', ''): - module['config-opts'] = builder.configure_option.split(' ') manifest = MANIFEST.copy() modules = [m for m in modules.values() if m.get('sources')] @@ -217,12 +208,9 @@ class FlatpakBuilder: run_command(command, self.platform.buildEnv.build_dir, context, self.platform.buildEnv) context._finalise() except subprocess.CalledProcessError: - try: - with open(log, 'r') as f: - print(f.read()) - raise StopBuild() - except: - pass + with open(log, 'r') as f: + print(f.read()) + raise StopBuild() def bundle(self): log = pj(self.platform.buildEnv.log_dir, 'cmd_bundle_flatpak.log') @@ -233,12 +221,9 @@ class FlatpakBuilder: run_command(command, self.platform.buildEnv.build_dir, context, self.platform.buildEnv) context._finalise() except subprocess.CalledProcessError: - try: - with open(log, 'r') as f: - print(f.read()) - raise StopBuild() - except: - pass + with open(log, 'r') as f: + print(f.read()) + raise StopBuild() def _get_packages(self):