Документация Gradle IDE (Eclipse)

Я изучаю Gradle и нашел способ нормального использования. Но теперь мне нужно заняться интеграцией с Eclipse (в частности, STS) и узнать больше о том, как «проекты Gradle» импортируются в Eclipse (без необходимости создавать файлы .project с помощью обратного плагина Eclipse для Gradle). Просто попробовав, я обнаружил, что он импортирует мои проекты. Однако проекты, написанные на Scala (некоторые из них представляют собой чистую Java, некоторые Scala, некоторые смешанные), не распознавались и не применялись как проекты Scala. На самом деле, Eclipse пытался каким-то образом скомпилировать файлы «.scala», как если бы они были «.java», и, очевидно, потерпел неудачу.

Пробовал искать в Google дополнительную документацию по интеграции с Eclipse, но она, по-видимому, значительно скрыта «плагином eclipse» для Gradle в результатах поиска. Может кто-нибудь, пожалуйста, указать мне на документацию, если она доступна, или дать хотя бы некоторые рекомендации относительно моей проблемы выше...

Спасибо!


person Learner    schedule 23.09.2013    source источник


Ответы (1)


Я не уверен, что вы имеете в виду под:

без необходимости создавать файлы .project с помощью обратного плагина Eclipse для Gradle

Означает ли это, что вы не хотите применять подключаемый модуль Eclipse в своем проекте Gradle? Могу ли я спросить, почему? Мой опыт очень положительный.

Вот что я делал в таких случаях:

  • применить подключаемый модуль Eclipse в моем проекте Gradle (применить подключаемый модуль: 'eclipse')
  • запустить задачу Gradle 'eclipse' (gradle eclipse)
  • в Eclipse выполните Файл>Импорт...>Существующие проекты в рабочую область и перейдите в каталог проекта Gradle (или в корневой каталог многопроектной структуры); (не устанавливайте флажок Копировать проекты в рабочую область)

Если проект Gradle также применяет подключаемый модуль Java, вы получите файл .project, который объявляет javanature и ссылается на javabuilder, а также будет создан файл .classpath. Если нет, вы просто получите ванильный файл .project. Документация Gradle звучит так, как будто аналогичная вещь применима в случае плагина Scala: http://www.gradle.org/docs/current/userguide/scala_plugin.html#N12EC0. Это не работает для вас?

person Andy McKibbin    schedule 24.09.2013
comment
Я могу применить подключаемый модуль Eclipse в своем проекте Gradle, но не могу останавливаться на достигнутом. Мне поручено сделать так, чтобы разработчики (новые и старые) могли легко настроить свою среду разработки — любой шаг меньше — это хорошо. Кроме того, это не касается обновлений зависимостей от Eclipse. Была надежда, что я просто смогу сказать разработчикам импортировать проект Gradle в Eclipse и покончить с этим. Это работает, но только частично. Честно говоря, еще даже не пытался применить плагин Eclipse (так как я надеялся на другой подход) ... попробую и отчитаюсь. - person Learner; 24.09.2013
comment
Шаг № 1. Кажется, импортированные проекты и проекты Scala были правильно распознаны (ожидание завершения сборки для проверки)... - person Learner; 24.09.2013
comment
Шаг № 2. Это почти сработало... и я вижу функциональность Gradle в Eclipse, хотя проекты не были импортированы через Import Gradle.... Нужно выяснить, как добавить в проект больше строителей - поскольку один проект зависит от фактический jar из другого (который Eclipse не генерирует, этот jar является плагином компилятора Scala, и он принимается только в форме jar - папка классов недостаточна)... Тем не менее, почему импорт проектов Gradle не работает с использованием Gradle IDE? - person Learner; 24.09.2013
comment
Я думаю, возможно, что мы говорим частично о разных целях, но я думаю, что вам нужно применить плагин eclipse (а также применить плагин соответствующего языка, java/scala). Затем, когда вы делаете Import Gradle... у вас есть возможность запускать цели Gradle, например. cleanEclipse, eclipse одновременно, что должно быть выбрано так, чтобы в этот момент генерировались файлы .project/.classpath. Я предполагаю, что это многопроектная сборка Gradle? - person Andy McKibbin; 26.09.2013
comment
Да, это мультипроект. Теперь я сталкиваюсь с некоторыми проблемами с этим подходом (не говорю, что любой другой лучше). Например, у меня нет (или я не знаю) достаточного контроля над тем, как создаются файлы *.project и *.prefs, поэтому я не могу настроить параметры компилятора Scala. Итак, временно, я не создаю их с помощью Gradle (больше не запускаю «eclipse», а только «eclipseClasspath». И поскольку я использую GWT, и мне нужно вставить некоторые вещи, чтобы быть первым на этом пути, у меня есть проблемы даже с этим... - person Learner; 26.09.2013
comment
Мне удалось манипулировать результатами задачи eclipse примерно так: eclipse { project.file { whenMerged { project -> project.natures.add( 'net.sf.eclipsecs.core.CheckstyleNature' ) project.buildCommands.add( name: 'net.sf.eclipsecs.core.CheckstyleBuilder' ) } } } - person Andy McKibbin; 26.09.2013
comment
(извините за формат, комментарии в этом отношении довольно ограничены) - person Andy McKibbin; 26.09.2013