• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Помогите Пожалуйста С Maven И Вообще Со Структурой Проекта.

  • Автор темы DarkMentat
  • Дата начала
D

DarkMentat

Здравствуйте!

У меня тут вопрос возник, только вникаю в мавен, но так почитал и захотел с парой товарищей запилить один проектик используя эту вещицу. Скорее всего толком не вник, так что возможно неких вещей понимать не буду. В общем игрушка на андроид.

И приблизительно я представляю структуру так:

* Java либа с ядром, вся логика-механика. Там сорцы и юнит-тесты.
* Android приложение, которое использует эту либу, тоже сорцы и юнит-тесты.
* Java консольное приложение (или потом может и не консольное) которое тоже использует эту либу. Использоваться будет для проверок, можно сказать тестирования, но не кода, а баланса, разных сюжетных моментов итд.

И вот я толком не знаю как подойти к этому делу, и вот тройка вопросов:

1) Возможно ли это? Что либа на jdk7, проверочное консольное приложение тоже, а Android приложение соответственно на android-sdk. И Android или проверочное приложение автоматом подключают последнее ядро.

2) Толково ли это? Как вообще принято в подобных ситуациях работать и не полный ли бред я написал чуть выше?

3) Как это сделать? =) Можете рассказать хотя бы поверхностно (что включать, создавать) ?
 

Kmet

Well-known member
25.05.2006
904
8
BIT
0
1) возможно, разные проекты, даже в если они входят в один multi-module project могут иметь абсолютно разные настройки, собираться под разные jdk и тд
2) с большего, это общепринятая практика. вам остается решить использовать ли multi-module project, или делать полностью отдельными проектами. Первый вариант проще, второй лучше маштабируется.
3) если проект не совсем тривиальный, то поверхностно не получится, придется хотя бы одну человеку в команде более менее разобраться. можно начать от сюда

4) а еще можно использовать gradle
 
M

-master-

Kmet и вы тут бываете... а чего так?
 
D

DarkMentat

1) возможно, разные проекты, даже в если они входят в один multi-module project могут иметь абсолютно разные настройки, собираться под разные jdk и тд
2) с большего, это общепринятая практика. вам остается решить использовать ли multi-module project, или делать полностью отдельными проектами. Первый вариант проще, второй лучше маштабируется.
3) если проект не совсем тривиальный, то поверхностно не получится, придется хотя бы одну человеку в команде более менее разобраться. можно начать от сюда

4) а еще можно использовать gradle

Спасибо, что откликнулись!
Я вообще не часто по форумам спрашиваю, но тут немало застопорился и хочется сделать не как-попало, а по-человечески)

Как я понял, стоит сделать приблизительно так:

Три проекта, в отдельных каталогах, в каждого свой pom.xml, где прописаны sdk, типы и все остальное. У двух из них в зависимостях либа, которая собирается в третьем проекте по ходу допиливания (указано просто относительный путь).
Эти три каталога лежат в одном репозитории, никаких IDE'шных файлов там нет, только код и pom'ы. Ну и думаю Travis-CI (хотя в это еще не вникал) при пуше в либу ее пересобирает и пересобирает другие проектики.

Про gradle слыхал, его хвалили как попрогрессивнее, но я какой-то мануал нашел про Travis-CI + Android + maven, да и в maven думаю стоит вникнуть, даже перед gradl'ом, что бы было, с чем сравнивать. Ну и все это я затеял, в принципе, что бы чуток пощупать CI и разные практики, которые используют большие дяди в своих серьезных делах))
 

Kmet

Well-known member
25.05.2006
904
8
BIT
0
-master-
случается... нормальный вопрос, да еще и по яве=)

DarkMentat
приблизительно так, но можно еще эти проекты объеденить в multi-module project, в который вынести общие настройки, зависимости, плагины и тд.
оба подхода приемлимы и, в целом, равнозначны. но для небольших проектов и команд multi-module project будет проще и удобнее.

обычно используется следующая логика, если проекты имеют единый цикл разработки, релизятся вместе, то их объединяют в multi-module project

если просто пощупать, то без разницы maven или gradle. это инструменты одной идеологии.
разберетсь с одним, сможете использовать и второй, и buildr, и sbt и тд. С sbt я погорячился, с ним еще понадобится стать адептом черной магии=)

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

DarkMentat

Еще раз спасибо за ответы, буду продолжать вникать =)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!