README.ru.md 6,6 КБ
Newer Older
OMP Education's avatar
OMP Education включено в состав коммита
1
# OfficeViewer
OMP Education's avatar
OMP Education включено в состав коммита
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82

В этом проекте представлен пример использования LibreOffice для открытия документов.

## Условия использования и участия

Исходный код проекта предоставляется по [лицензии](LICENSE.BSD-3-Clause.md),
которая позволяет использовать его в сторонних приложениях.

Соглашение участника [(документ на английском)](CONTRIBUTING.md) регламентирует права,
предоставляемые участниками компании «Открытая Мобильная Платформа».

Информация об участниках указана в файле [AUTHORS](AUTHORS.md).

Кодекс поведения [(документ на английском)](CODE_OF_CONDUCT.md) — это действующий набор
правил компании «Открытая Мобильная Платформа», который информирует об ожиданиях по
взаимодействию между членами сообщества при общении и работе над проектами.

## Структура проекта

Проект имеет стандартную структуру приложения на базе C++ и QML для ОС Аврора.

* Файл **[ru.auroraos.OfficeViewer.pro](ru.auroraos.OfficeViewer.pro)** описывает
  проект, который содержит три подпроекта: application, documentprovider и viewer.
* Каталог **[application](application)** содержит исходный код приложения:
  * Каталог **[icons](application/icons)** содержит иконки приложения для поддерживаемых
  разрешений экрана.
  * Каталог **[qml](application/qml)** содержит исходный код на QML и ресурсы интерфейса
  пользователя.
    * Каталог **[cover](application/qml/cover)** содержит реализации обложек приложения.
    * Каталог **[icons](application/qml/icons)** содержит дополнительные иконки
    интерфейса пользователя.
    * Каталог **[pages](application/qml/pages)** содержит страницы приложения.
    * Файл **[OfficeViewer.qml](application/qml/OfficeViewer.qml)** предоставляет
    реализацию окна приложения.
  * Каталог **[src](application/src)** содержит исходный код на C++.
    * Файл **[main.cpp](application/src/main.cpp)** является точкой входа в приложение.
  * Каталог **[translations](application/translations)** содержит файлы перевода
  интерфейса пользователя.
  * **[ru.auroraos.OfficeViewer.desktop](application/ru.auroraos.OfficeViewer.desktop)**
  определяет отображение и параметры запуска приложения.
* Каталог **[documentprovider](documentprovider)** содержит библиотеку
поставщика документов.
* Каталог **[libs](libs)** содержит дополнительные библиотеки для сборки проекта:
  cairo, libepoxy and liblangtag.
* Каталог **[rpm](rpm)** содержит настройки сборки rpm-пакета.
  * Файл **[ru.auroraos.OfficeViewer.spec](rpm/ru.auroraos.OfficeViewer.spec)**
    используется инструментом rpmbuild.
* Каталог **[tarballs](tarballs)** содержит зависимости в форме архивов, необходимые для
сборки библиотеки LibreOffice.
* Каталог **[upstream](upstream)** содержит исходный код библиотеки LibreOffice 
в качестве подмодуля git.
* Каталог **[viewer](viewer)** содержит компоненты пользовательского интерфейса 
программы просмотра документов.

## Совместимость

Проект совместим с актуальными версиями ОС Аврора.

## Сборка проекта

### Чистовая сборка

1. Убедитесь, что у вас есть 32 ГБ оперативной памяти и SDK с docker (не используйте VB для сборки этого примера).
1. Откройте терминал или командную строку.
1. Перейдите в каталог, содержащий ваш Git-репозиторий.
1. Выполните команду "git lfs pull", чтобы загрузить все файлы, отслеживаемые LFS.
1. Выполните команду "git submodule update --init", чтобы обновить и инициализировать все подмодули в репозитории.
1. Выполните команду "mb2 -t AuroraOS-5.0.0.60-base-armv7hl build-init", чтобы инициализировать окружение сборки.
1. Выполните команду "mb2 -t AuroraOS-5.0.0.60-base-armv7hl prepare", чтобы применить патчи, необходимые для сборки.
1. Выполните команду "mb2 -t AuroraOS-5.0.0.60-base-armv7hl build", чтобы начать сборку пакета.
1. Выполните команду для подписи rpm-пакета:
```
sfdk engine exec rpmsign-external sign  \
    --key absolute/path/to/key/file.pem \
    --cert absolute/path/to/cert/file.pem \
      absolute/path/to/rpm/package.rpm
```
Целевой rpm-пакет находится в каталоге RPMS.

### Повторная сборка под другой таргет

OMP Education's avatar
OMP Education включено в состав коммита
83
84
85
86
87
88
Поскольку сборка проходит в той же самой директории, что и основной исходный код, перед сборкой под новый таргет требуется удалить результат предыдущий сборки.
Для этого требуется выполнить следующие команды из корня проекта:
1. `rm -fr libs_build`
2. `rm -fr upstream/workdir`
3. `rm -f application/Makefile`
4. `cd libs/liblangtag && make distclean`
OMP Education's avatar
OMP Education включено в состав коммита
89
90
91
92
93
94
95
96
97
98
99


## Снимки экранов

![screenshots](screenshots/screenshots.png)

## This document in English

- [README.md](README.md)