Rename kiwix-lib to libkiwix.

The new name of kiwix-lib is libkiwix. Let kiwix-build adopt the name.
This commit is contained in:
Matthieu Gautier 2021-06-24 16:59:51 +02:00
parent f16fb8f228
commit aa349a18e7
15 changed files with 67 additions and 67 deletions

View File

@ -33,37 +33,37 @@ else:
RELEASE = True
if PLATFORM_TARGET == "android":
TARGETS = ("kiwix-lib-app",)
TARGETS = ("libkiwix-app",)
elif PLATFORM_TARGET.startswith("iOS"):
TARGETS = ("libzim", "kiwix-lib")
TARGETS = ("libzim", "libkiwix")
elif PLATFORM_TARGET.startswith("native_"):
if OS_NAME == "osx":
TARGETS = ("libzim", ) if PLATFORM_TARGET == "native_mixed" else ("libzim", "zim-tools", "kiwix-lib")
TARGETS = ("libzim", ) if PLATFORM_TARGET == "native_mixed" else ("libzim", "zim-tools", "libkiwix")
else:
if DESKTOP:
TARGETS = ("kiwix-desktop",)
elif PLATFORM_TARGET == "native_mixed":
TARGETS = ("libzim",)
else:
TARGETS = ("zim-tools", "kiwix-lib", "kiwix-tools")
TARGETS = ("zim-tools", "libkiwix", "kiwix-tools")
elif PLATFORM_TARGET in ("win32_static", "armhf_static", "i586_static"):
TARGETS = ("kiwix-tools",)
elif PLATFORM_TARGET == "flatpak":
TARGETS = ("kiwix-desktop",)
else:
TARGETS = ("libzim", "zim-tools", "kiwix-lib", "kiwix-tools")
TARGETS = ("libzim", "zim-tools", "libkiwix", "kiwix-tools")
# Filter what to build if we are doing a release.
if RELEASE:
def release_filter(project):
if project == "kiwix-lib-app":
project = "kiwix-lib"
if project == "libkiwix-app":
project = "libkiwix"
return release_versions.get(project) is not None
TARGETS = tuple(filter(release_filter, TARGETS))
if RELEASE and PLATFORM_TARGET == "android":
# Kiwix-lib need to know the extrapostfix version to correctly generate the pom.xml file.
extra_postfix = release_versions.get('kiwix-lib')
# libkiwix need to know the extrapostfix version to correctly generate the pom.xml file.
extra_postfix = release_versions.get('libkiwix')
if extra_postfix:
os.environ['KIWIXLIB_BUILDVERSION'] = str(extra_postfix)
@ -109,12 +109,12 @@ if RELEASE:
if PLATFORM_TARGET == "flatpak" and "kiwix-desktop" in TARGETS:
update_flathub_git()
if PLATFORM_TARGET == "android" and "kiwix-lib-app" in TARGETS:
postfix = get_postfix("kiwix-lib")
if PLATFORM_TARGET == "android" and "libkiwix-app" in TARGETS:
postfix = get_postfix("libkiwix")
basename = "kiwixlib-{}".format(postfix)
output_release_dir = (
HOME / "BUILD_android" / "kiwix-lib-app" / "kiwixLibAndroid" / "build"
HOME / "BUILD_android" / "libkiwix-app" / "kiwixLibAndroid" / "build"
)
shutil.copy(
str(output_release_dir / "outputs" / "aar" / "kiwixLibAndroid-release.aar"),

View File

@ -134,7 +134,7 @@ def run_kiwix_build(
command.append("--hide-progress")
command.append("--fast-clone")
command.append("--assume-packages-installed")
if target == "kiwix-lib-app" and platform.startswith("android_"):
if target == "libkiwix-app" and platform.startswith("android_"):
command.extend(["--target-platform", "android", "--android-arch", platform[8:]])
elif platform == "android":
command.extend(["--target-platform", "android"])

View File

@ -13,21 +13,21 @@ from common import (
)
if PLATFORM_TARGET.startswith("android_"):
TARGETS = ("libzim", "kiwix-lib")
TARGETS = ("libzim", "libkiwix")
elif PLATFORM_TARGET.startswith("iOS"):
TARGETS = ("libzim", "kiwix-lib")
TARGETS = ("libzim", "libkiwix")
elif PLATFORM_TARGET.startswith("native_"):
if OS_NAME == "osx":
TARGETS = ("libzim", "zim-tools", "kiwix-lib")
TARGETS = ("libzim", "zim-tools", "libkiwix")
else:
if DESKTOP:
TARGETS = ("kiwix-desktop",)
elif PLATFORM_TARGET == "native_mixed":
TARGETS = ("libzim",)
else:
TARGETS = ("libzim", "zim-tools", "kiwix-lib", "kiwix-tools")
TARGETS = ("libzim", "zim-tools", "libkiwix", "kiwix-tools")
else:
TARGETS = ("libzim", "zim-tools", "kiwix-lib", "kiwix-tools")
TARGETS = ("libzim", "zim-tools", "libkiwix", "kiwix-tools")
for target in TARGETS:
run_kiwix_build(target, platform=PLATFORM_TARGET, build_deps_only=True)

View File

@ -10,7 +10,7 @@ def create_version(version):
url = "https://api.bintray.com/packages/kiwix/kiwix/kiwixlib/versions"
payload = {
'name': version,
'desc': 'Release of kiwix-lib'
'desc': 'Release of libkiwix'
}
headers = {
'Content-Type': 'application/json'

View File

@ -56,7 +56,7 @@ You may want to compile a specific target so you will have to specify it on the
command line:
```bash
kiwix-build kiwix-lib # will build kiwix-build and its dependencies
kiwix-build libkiwix # will build kiwix-build and its dependencies
kiwix-build kiwix-desktop # will build kiwix-desktop and its dependencies
kiwix-build zim-tools # will build zim-tools and its dependencies
```
@ -76,7 +76,7 @@ invalid choice: 'not-existing-target' (choose from 'alldependencies', 'android-n
If no target platform is specified, a default one will be infered from
the specified target:
- `kiwix-lib-app` will be build using the platform `android`
- `libkiwix-app` will be build using the platform `android`
- Other targets will be build using the platform `native_dyn`
But you can select another target platform using the option
@ -104,33 +104,33 @@ Android
-------
`kiwix-android` (https://github.com/kiwix/kiwix-android) depends of
the `kiwix-lib` project.
It uses a special `.aar` file that represent (and embed) the kiwix-lib for
the `libkiwix` project.
It uses a special `.aar` file that represent (and embed) the libkiwix for
all supported android arch. This is a kind of fat archive we have for MacOs.
The `.aar` file is build using the `kiwix-lib-app` project.
`kiwix-lib-app` itself is architecture independent (it is just a packaging of
other archives) but it use `kiwix-lib` who is architecture dependent.
The `.aar` file is build using the `libkiwix-app` project.
`libkiwix-app` itself is architecture independent (it is just a packaging of
other archives) but it use `libkiwix` who is architecture dependent.
When building `kiwix-lib`, you should directly use the
When building `libkiwix`, you should directly use the
target-platform `android_<arch>`:
```bash
kiwix-build kiwix-lib --target-platform android_arm
kiwix-build libkiwix --target-platform android_arm
```
But, `kiwix-lib-app` is mainly multi arch.
To compile `kiwix-lib-app`, you must use the `android` platform:
But, `libkiwix-app` is mainly multi arch.
To compile `libkiwix-app`, you must use the `android` platform:
```bash
$ kiwix-build --target-platform android kiwix-lib-app
$ kiwix-build kiwix-lib-app # because `android` platform is the default for `kiwix-lib-app`
$ kiwix-build --target-platform android libkiwix-app
$ kiwix-build libkiwix-app # because `android` platform is the default for `libkiwix-app`
```
By default, when using platform `android`, `kiwix-lib` will be build for
By default, when using platform `android`, `libkiwix` will be build for
all architectures. This can be changed by using the option `--android-arch`:
```bash
$ kiwix-build kiwix-lib-app # aar with all architectures
$ kiwix-build kiwix-lib-app --android-arch arm # aar with arm architecture
$ kiwix-build kiwix-lib-app --android-arch arm --android-arch arm64 # aan with arm and arm64 architectures
$ kiwix-build libkiwix-app # aar with all architectures
$ kiwix-build libkiwix-app --android-arch arm # aar with arm architecture
$ kiwix-build libkiwix-app --android-arch arm --android-arch arm64 # aan with arm and arm64 architectures
```
To build `kiwix-android` itself, you should see the documentation of `kiwix-android`.
@ -145,12 +145,12 @@ To do so, you should directly use the target-platfrom `ios_multi`.
As for `android`, `kiwix-build` will build the library several times
(once for each platform) and then create the fat library.
```bash
kiwix-build --target-platform iOS_multi kiwix-lib
kiwix-build --target-platform iOS_multi libkiwix
```
You can specify the supported architectures with the option `--ios-arch`:
```bash
kiwix-build --target-platform iOS_multi kiwix-lib # all architetures
kiwix-build --target-platform iOS_multi libkiwix # all architetures
kiwix-build --target-platform iOS_multi --ios-arch arm --ios-arch arm64 # arm and arm64 arch only
```

View File

@ -58,7 +58,7 @@ build_script:
- IF "%USE_CACHE%" NEQ "1" appveyor\install_libmicrohttpd.cmd
- IF "%USE_CACHE%" NEQ "1" %MINGW64_RUN% "cd /c/projects/kiwix-build && appveyor/create_cache.sh"
- appveyor\install_libzim.cmd
- appveyor\install_kiwix-lib.cmd
- appveyor\install_libkiwix.cmd
- appveyor\install_kiwix-desktop.cmd
before_deploy:

View File

@ -1,7 +1,7 @@
REM ========================================================
REM Install kiwix-lib
git clone https://github.com/kiwix/kiwix-lib.git || exit /b 1
cd kiwix-lib
REM Install libkiwix
git clone https://github.com/kiwix/libkiwix.git || exit /b 1
cd libkiwix
set CPPFLAGS="-I%EXTRA_DIR%/include"
meson . build --prefix %EXTRA_DIR% --default-library static --buildtype release || exit /b 1
cd build

View File

@ -60,7 +60,7 @@ def parse_args():
options.ios_arch = ['arm64', 'x86_64']
if not options.target_platform:
if options.target in ('kiwix-lib-app',):
if options.target in ('libkiwix-app',):
options.target_platform = 'android'
else:
options.target_platform = 'native_dyn'

View File

@ -13,9 +13,9 @@ from . import (
ios_fat_lib,
mustache,
kiwix_desktop,
kiwix_lib,
kiwix_tools,
libcurl,
libkiwix,
libmagic,
libmicrohttpd,
libzim,

View File

@ -12,7 +12,7 @@ class KiwixDesktop(Dependency):
git_dir = "kiwix-desktop"
class Builder(QMakeBuilder):
dependencies = ["qt", "qtwebengine", "kiwix-lib", "aria2"]
dependencies = ["qt", "qtwebengine", "libkiwix", "aria2"]
make_install_target = 'install'
configure_env = None

View File

@ -12,7 +12,7 @@ class KiwixTools(Dependency):
git_dir = "kiwix-tools"
class Builder(MesonBuilder):
dependencies = ["kiwix-lib"]
dependencies = ["libkiwix"]
@property
def configure_option(self):

View File

@ -8,13 +8,13 @@ from .base import (
from kiwixbuild.utils import pj, copy_tree
from kiwixbuild._global import option, get_target_step, neutralEnv
class Kiwixlib(Dependency):
name = "kiwix-lib"
class Libkiwix(Dependency):
name = "libkiwix"
force_build = True
class Source(GitClone):
git_remote = "https://github.com/kiwix/kiwix-lib.git"
git_dir = "kiwix-lib"
git_remote = "https://github.com/kiwix/libkiwix.git"
git_dir = "libkiwix"
class Builder(MesonBuilder):
dependencies = ["pugixml", "libzim", "zlib", "lzma", "libcurl", "libmicrohttpd", "icu4c", "mustache", "xapian-core"]
@ -38,15 +38,15 @@ class Kiwixlib(Dependency):
return super().library_type
class KiwixlibApp(Dependency):
name = "kiwix-lib-app"
class LibkiwixApp(Dependency):
name = "libkiwix-app"
force_build = True
class Source(Kiwixlib.Source):
name = "kiwix-lib"
class Source(Libkiwix.Source):
name = "libkiwix"
class Builder(GradleBuilder):
dependencies = ["kiwix-lib"]
dependencies = ["libkiwix"]
gradle_target = "assembleRelease writePom"
@classmethod
@ -54,7 +54,7 @@ class KiwixlibApp(Dependency):
if not allDeps:
return super().get_dependencies(platformInfo, allDeps)
else:
deps = [('android_{}'.format(arch), 'kiwix-lib')
deps = [('android_{}'.format(arch), 'libkiwix')
for arch in option('android_arch')]
return deps
@ -64,17 +64,17 @@ class KiwixlibApp(Dependency):
except FileNotFoundError:
pass
if not os.path.exists(self.build_path):
shutil.copytree(pj(self.source_path, 'android-kiwix-lib-publisher'), self.build_path, symlinks=True)
shutil.copytree(pj(self.source_path, 'android-libkiwix-publisher'), self.build_path, symlinks=True)
for arch in option('android_arch'):
try:
kiwix_builder = get_target_step('kiwix-lib', 'android_{}'.format(arch))
kiwix_builder = get_target_step('libkiwix', 'android_{}'.format(arch))
except KeyError:
pass
else:
copy_tree(pj(kiwix_builder.buildEnv.install_dir, 'kiwix-lib'),
copy_tree(pj(kiwix_builder.buildEnv.install_dir, 'libkiwix'),
pj(self.build_path, 'kiwixLibAndroid', 'src', 'main'))
# The ICU dat file should be embedded with the kiwix-lib application
# The ICU dat file should be embedded with the libkiwix application
# but for now it is package with kiwix-android app and use there.
# We must fix this at a time (before we update the icu version).
# os.makedirs(
@ -82,7 +82,7 @@ class KiwixlibApp(Dependency):
# exist_ok=True)
# for arch in option('android_arch'):
# try:
# kiwix_builder = get_target_step('kiwix-lib', 'android_{}'.format(arch))
# kiwix_builder = get_target_step('libkiwix', 'android_{}'.format(arch))
# except KeyError:
# pass
# else:

View File

@ -134,7 +134,7 @@ class Android(MetaPlatformInfo):
return ['android_{}'.format(arch) for arch in option('android_arch')]
def add_targets(self, targetName, targets):
if targetName not in ('kiwix-lib-app',):
if targetName not in ('libkiwix-app',):
return super().add_targets(targetName, targets)
else:
return AndroidPlatformInfo.add_targets(self, targetName, targets)

View File

@ -2,7 +2,7 @@
main_project_versions = {
'libzim': '7.0.0', # Because of bump of version in libzim. No release made for now.
'kiwix-lib': '9.4.1',
'libkiwix': '9.4.1',
'kiwix-tools': '3.1.2',
'zim-tools': '2.1.0',
'kiwix-desktop': '2.0.5' # Also change KIWIX_DESKTOP_VERSION and KIWIX_DESKTOP_RELEASE in appveyor.yml
@ -30,10 +30,10 @@ main_project_versions = {
release_versions = {
'libzim': 0, # Depends of base deps (was 0)
'kiwix-lib': 0, # Depends of libzim (was 0)
'kiwix-tools': 4, # Depends of kiwix-lib and libzim (was 3)
'libkiwix': 0, # Depends of libzim (was 0)
'kiwix-tools': 4, # Depends of libkiwix and libzim (was 3)
'zim-tools': 0, # Depends of libzim (was 2)
'kiwix-desktop': 0 # Depends of kiwix-lib and libzim (was 0)
'kiwix-desktop': 0 # Depends of libkiwix and libzim (was 0)
}

View File

@ -10,7 +10,7 @@ def create_version(version):
url = "https://api.bintray.com/packages/kiwix/kiwix/kiwixlib/versions"
payload = {
'name': version,
'desc': 'Release of kiwix-lib'
'desc': 'Release of libkiwix'
}
headers = {
'Content-Type': 'application/json'