Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ANT сборка нескольких взаимозависимых модулей, проблема циркулярных зависимостей 
:(
    Опции темы
coolin
Дата 4.9.2006, 06:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 4.9.2006

Репутация: нет
Всего: нет



Имеется несколько модулей, фактически сорсы расположены просто в разных папках, в модулях имеется взаимное использование кода, причем выделять это в общий модуль проблемотично.
Хотелось бы иметь возможность сборки всего проекта и отдельно по модулям.
Как собирать и компилить такие взаимозависимые модули с помошью ANT?

всем спасибо.
PM MAIL   Вверх
Nobody
Дата 4.9.2006, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 25.8.2003
Где: Россия, Москва

Репутация: 2
Всего: 16



Никак.


--------------------
Алгоритм помещения вопросов на форуме
Выражаем спасибо вот ТАК
Use the Source, Luke!
PM MAIL WWW ICQ   Вверх
chief39
Дата 4.9.2006, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


карманная тигра
***


Профиль
Группа: Участник Клуба
Сообщений: 1631
Регистрация: 20.5.2005
Где: Киев

Репутация: 5
Всего: 77



Надо писать свой скрипт.
Модули складывать, к примеру, в соседних папках, папкам давать нормальные имена.
В каждом модуле в файле пропертис указывать список depends on модулей(пути к их папкам).
При сборке, проходить по зависимостям, и собирать всё в куче.
Главное, не попади в рекурсию, если по очереди собират ьбудешь smile



--------------------
Люди - это свечи. Они либо горят, либо их - в жопу!(с)

PM MAIL   Вверх
coolin
Дата 4.9.2006, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 4.9.2006

Репутация: нет
Всего: нет



Цитата(chief39 @ 4.9.2006,  13:19)
Надо писать свой скрипт.
Модули складывать, к примеру, в соседних папках, папкам давать нормальные имена.
В каждом модуле в файле пропертис указывать список depends on модулей(пути к их папкам).
При сборке, проходить по зависимостям, и собирать всё в куче.
Главное, не попади в рекурсию, если по очереди собират ьбудешь smile

если собирать все в куче, то можно и не указывать зависимости.
Зависимости, понимается, допускаются только в одну сторону.

В итоге выход один - сборка взаимозависимых модулей в куче.
PM MAIL   Вверх
chief39
Дата 4.9.2006, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


карманная тигра
***


Профиль
Группа: Участник Клуба
Сообщений: 1631
Регистрация: 20.5.2005
Где: Киев

Репутация: 5
Всего: 77



Цитата(coolin @  4.9.2006,  17:25 Найти цитируемый пост)
если собирать все в куче, то можно и не указывать зависимости.

Тогда при любой сборке придётся включать ВСЁ.

А если надо один подмодуль - то к нему подтянутся лишь необходимые части из других модулей.

Наиболее общее(тысызыть, фреймворки системы) - разбить на части и разложить по кускам. И подключать.
Ну а если ВСЁ очень сильно завязано - тогда как ни крути, при сборке чего угодно будет тянуться основная масса smile


--------------------
Люди - это свечи. Они либо горят, либо их - в жопу!(с)

PM MAIL   Вверх
redrick
Дата 5.9.2006, 01:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 547
Регистрация: 7.1.2004
Где: Москва

Репутация: 1
Всего: 5



давеча собирал проект под линукс. Там, как известно, все это делается через make.
Можешь поискать по этой теме - линуксоиды много и поделу написали. Общая идея узвучена 
chief39


--------------------
Имею Мнение Хрен Оспоришь   
PM MAIL ICQ   Вверх
Skipy
Дата 5.9.2006, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 487
Регистрация: 24.8.2006
Где: Москва, Россия

Репутация: нет
Всего: 16



Цитата(coolin @ 4.9.2006,  06:34)
Имеется несколько модулей, фактически сорсы расположены просто в разных папках, в модулях имеется взаимное использование кода, причем выделять это в общий модуль проблемотично.
Хотелось бы иметь возможность сборки всего проекта и отдельно по модулям.

Вопрос номер раз. Зачем приложение разделено на модули, если связи у них - двусторонние?

Вопрос номер два. Сборка по модулям предполагает независимость этих самых модулей. Как Вы это представляете в случае если модули зависимы?

В общем, либо Вы собираете все кучей, либо перерабатываете модули и вычленяете ядро, от которого зависят все остальные части. Тогда сборка каждой из частей повлечет за собой только сборку ядра.


--------------------
С уважением,
Евгений aka Skipy
www.skipy.ru
PM MAIL WWW ICQ   Вверх
coolin
Дата 7.9.2006, 07:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 4.9.2006

Репутация: нет
Всего: нет



Цитата(Skipy @  5.9.2006,  12:34 Найти цитируемый пост)
Вопрос номер раз. Зачем приложение разделено на модули, если связи у них - двусторонние?

Двусторонние связи имеют свойство возникать в больших проектах.

Цитата(Skipy @  5.9.2006,  12:34 Найти цитируемый пост)
Вопрос номер два. Сборка по модулям предполагает независимость этих самых модулей. Как Вы это представляете в случае если модули зависимы?

сборка кучей решает проблему, далее возможна сборка по модульно, подключая ранее собранные либы.


Цитата(Skipy @  5.9.2006,  12:34 Найти цитируемый пост)
В общем, либо Вы собираете все кучей, либо перерабатываете модули и вычленяете ядро, от которого зависят все остальные части. Тогда сборка каждой из частей повлечет за собой только сборку ядра.

а есть на примене концепции как вычленять ядро безболезненно, не нарушая логики?
проблема думаю частая - разделять проект на модули
PM MAIL   Вверх
chief39
Дата 7.9.2006, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


карманная тигра
***


Профиль
Группа: Участник Клуба
Сообщений: 1631
Регистрация: 20.5.2005
Где: Киев

Репутация: 5
Всего: 77



Цитата(coolin @  7.9.2006,  07:34 Найти цитируемый пост)
Двусторонние связи имеют свойство возникать в больших проектах.

Тогда нет смысла выделять в отдельные подмодули - два таких подмодуля сливаются в один.
Всё равно надо построить структуру модулей, разбить по возможности, прописать зависимости и избежать двусторонностей.
И потом уже физически разбить.

Цитата(coolin @  7.9.2006,  07:34 Найти цитируемый пост)
а есть на примене концепции как вычленять ядро безболезненно, не нарушая логики?
проблема думаю частая - разделять проект на модули 

Ну вот у нас выделено ядро. Которое тоже кусками. 


--------------------
Люди - это свечи. Они либо горят, либо их - в жопу!(с)

PM MAIL   Вверх
Skipy
Дата 7.9.2006, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 487
Регистрация: 24.8.2006
Где: Москва, Россия

Репутация: нет
Всего: 16



Цитата(coolin @ 7.9.2006,  07:34)
Двусторонние связи имеют свойство возникать в больших проектах.

а есть на примене концепции как вычленять ядро безболезненно, не нарушая логики?
проблема думаю частая - разделять проект на модули

Это задача архитектора. Если возникла двусторонняя связь - значит, архитектор где-то сработал неправильно.

А как вычленять ядро - зависит опять-таки от архитектора. Грамотно нарисовать систему, связи между частями. Опыт, опыт и еще раз опыт.


--------------------
С уважением,
Евгений aka Skipy
www.skipy.ru
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java tools & IDE's | Следующая тема »


 




[ Время генерации скрипта: 0.0481 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.