GWT: можно ли ссылаться на не-GWT-модули, в которых описаны GWT-независимые презентеры?

Ради интереса разрабатываю маленький экспериментальный платформо-независимый MVP-фреймворк, причём с максимальной отвязкой от платформы. Пока сам фреймворк состоит из простеньких моделей, платформо-независимых презентеров (которые определены в одном модуле абстрактного приложения), а также платформо-зависимых представлений (сейчас располагаю весьма удачными эксперментами для Swing, Android и даже для терминалов). Тем не менее, при попытке адаптации приложения под GWT меня настигла неудача: GWT-приложения требуют наследования модулей с помощью `.gwt.xml`-файлов. Есть ли возможность обхода этой ситуации, чтобы можно было оставить абстрактный модуль без изменений и завязки на GWT? Структура проекта на Maven:


[root]
..[app] -- платформо-независимое приложение
....pom.xml -- ссылается на fx
..[app-gwt] -- GWT-представления, точка входа и т.д.
....pom.xml -- ссылается на app, fx, fx-gwt
....App.gwt.xml -- ссылается Fx.gwt.xml
..[fx] -- ядро
....pom.xml -- ни на что не ссылается
..[fx-gwt] -- адаптеры, специфические для GWT
....pom.xml -- ссылается на fx
....Fx.gwt.xml -- ссылается на ядро GWT
..pom.xml


Проще говоря, я не хочу, чтобы app или fx зависили от GWT каким-либо образом. Также были предположения, что правка с ссылкой на исходный код другого модуля может помочь, но у меня не получилось (если это вообще возможно).

Буду очень признателен за ответ или за дельные комментарии.

(Ради простоты, давайте считать, что ни app ни fx не имеют внешних зависимостей)
no image

Аноним

7 января, 00:56
314

Нет комментариев

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

1 ответ

Спустя несколько одней пофиксил:

  • Нужно в GWT-модулях прописать фейковые .gwt.xml-модули, которые будут ссылаться на исходный код (!) подключаемых библиотек (для своих модулей для этого нужно использовать maven-source-plugin). Для этого нужно просто в GWT-модуле создать пакет (но на уровень выше) и там создать XML-дескрипторы. В элементне source нужно прописать пакет с более нижнего уровня.
  • Подключить таким образом созданные модули в основной модуль приложения через inherits
  • Немного подправить GWT-плагин для Maven: plugin - configuration - compileSourceArtifacts и указать в них подключаемые артефакты



Больше информации:

  • http://mojo.codehaus.org/gwt-maven-plugin/user-guide/library.html
  • http://www.gordonizer.com/2012/01/referencing-third-party-library-source.html
no image

Аноним

7 января, 01:31

Нет комментариев

Добавить комментарий
Вы не можете отвечать на вопросы. Чтобы ответить на вопрос, пожалуйста залогиньтесь или зарегистрируйтесь
Работа в Украине
Вакансии от WORK.ua
Інженер комп'ютерних систем і мереж
Львов, Сокар Энерджи Украина
Разработчик Xamarin
Одесса, Andersen
PHP Developer
Киев, Interactivity
Программист 1С 8, 16000 грн.
Киев, К2Р, ООО
Content editor (English)
Киев, NetFix
C++ Software Engineer
Киев, SoftServe
Главный специалист отдела поддержки ИТ...
Киев, Уника, страховая компания
Программист 1С, 25000 грн.
Киев, Нико, группа компаний