BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 19 мар 2024, 10:37

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: Maven репозиторий для либ биллинга
СообщениеДобавлено: 09 ноя 2017, 12:15 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Столкнулся опять с неудобством настройки окружения для разработки дополнений для биллинга. Связаны они с тем, что нужно собрать все либы биллинга для определённой версии и сборки и нужно прописать все эти либы в проекте. Проблем бы не было, если бы к проекту можно было бы подключить несколько необходимых Maven-зависимостей нужных версий, а всё остальное подгрузилось бы автоматом.

Отсюда вопрос: существует ли репозиторий Maven, в котором бы присутствовали либы биллинга разных версий и сборок и который я бы мог использовать в своих проектах?

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 ноя 2017, 15:16 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
нету, мы используем несколько проектов для разных версий
внутри проекта стороние либы не меняются (практически)
а наш код мы мы не используем в формате либ, они формируются только на этапе сборке билдов


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 ноя 2017, 19:23 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
А не думали ли вы сделать репозиторий для клиентов? Ведь в процессе сборки можно параллельно выкладывать артифакты в местный репозиторий, а мы бы уже тянули данные при необходимости оттуда.

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 ноя 2017, 20:49 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
не думали...
это надо делать отдельную систему и ее поддерживать
учитывая, что мы ее сами использовать не будем, ее актуальность скорее всего будет под вопросом

я не очень понимаю, в чем именно у вас проблема....


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 ноя 2017, 13:11 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Неудобство в том, что нужно собрать все либы определённой версии и как-то подключить их к проекту. Потом после обновления сборки, нужно проделать всё это заново. Если есть несколько биллингов (как у нас), то нужно следить за тем, чтобы версия сборки на них была одинаковой, иначе можно случайно нарваться на неподдерживаемый метод.

Плюс при планировании перехода на новую версию биллинга начинаешь обновлять свои скрипты, плагины, модули и пр., начинаешь тестировать всё это, а потом нужно срочно что-нибудь исправить в текущей версии - и опять нужно переключать версии библиотек.

Всё усугубляется, когда нужно настроить проект у другого разработчика.

Я просто думал, что у вас в проекте используется Maven и все зависимости там уже и так прописаны. В этом случае достаточно просто открыть в публичный доступ ваш репозиторий или хотя бы оставить в jar-файлах существующие pom-файлы.

Если у вас не используется Maven (Gradle и пр.), то как вы управляете зависимостями?

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 ноя 2017, 15:51 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
а каких зависимостях речь?

я же сказал у нас отдельный проект для каждой версии (... 6.2, 7.0, 7.1, master), и в каждом проекте свой набор библиотек.
любые изменения делаются только с последней версией кода и библиотек для каждой версии.
т.е. посмотреть какие библиотеки использовались для версии на какой то момент времени в прошлом можно в истории гита, но именно только посмотреть, так как код для старых билдов не правим.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 ноя 2017, 16:10 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Зависимости - это сторонние библиотеки, которые используются в вашем коде. В Maven'е нужная библиотека подключается примерно следующим кодом:
Код:
<dependency>
   <groupId>junit</groupId>
   <artifactId>junit</artifactId>
   <version>4.12</version>
   <scope>test</scope>
</dependency>

Т. е. обновить библиотеку очень легко - достаточно просто поменять версию в одном месте.

Когда вы в конкретном проекте (например, 6.2) собираете какой-то модуль (например, MPS), то в результате появляется jar-файл этого модуля, который уже используется в сервере. Если для сборки проекта используется тот же Maven, то внутри этого jar-файла будет находится pom-файл со всеми необходимыми для его работы/сборки зависимостями. Вместо Maven может использоваться что-то другое, например, Gradle.

Я и спрашиваю, как вы управляете внешними (и внутренними) зависимостями (т. е. как вы подключаете "свой набор библиотек") для каждого проекта. Можно, конечно, в Eclipse вручную указать все библиотеки со всеми файлами и собирать Ant'ом, но это же ад кромешный.

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 ноя 2017, 15:39 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
внешние либы у нас в проекте лежат в одной папке
добавление новой либы или ее обновление это просто добавление/замена файла в папке
при сборке ВСЕ внешние либы идут в составе сервера и клиента (вне зависимости от используемых модулей)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 ноя 2017, 15:45 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Пока библиотеки мы таскаем все сами и храним их в git. Так исторически сложилось. Сборка на gradle, но библиотеки она не качает с mvn-репозиториев.
Вообще в планах есть разобраться с библиотеками, работа надо этим уже идет . Возможно в следующей версии мы будем перейдем на maven-ский репозиторий, хотя бы для себя чтобы зависимости было легче отслеживать. Там и обсудим.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 ноя 2017, 16:20 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Теперь всё понятно - буду ждать перевода ваших проектов на Maven.

Если кому интересно, то у себя создал внутренний репозиторий и в него скриптом по одному залил все jar'ники с указанием версии (и номера сборки). Потом все их прописал в pom-файле своего проекта - зависимостей получилось много, но для обновления версии либ теперь достаточно просто изменить номер биллинга в одном месте. Плюс новым разработчикам проще будет настраивать проект с нуля.

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
POWERED_BY
Русская поддержка phpBB
[ Time : 0.047s | 40 Queries | GZIP : On ]