Подтвердить что ты не робот

Запуск Gradle происходит из Eclipse

Мы смотрим на преобразование нашей сборки Ant в Gradle.

Что касается интеграции с Eclipse, мы ищем (концептуально) эквивалентную функциональность для запуска сборок из среды IDE. Eclipse обеспечивает приятное представление Ant для вызова Ant целей.

Существует плагин Eclipse для запуска Gradle сборок (http://www.breskeby.com/downloads/gradle/eclipse/update/), но это, по-видимому, требует от пользователей перехода через обручи для вызова разных (изменить конфигурацию запуска и т.д.).

Как другие используют Gradle из Eclipse?

4b9b3361

Ответ 1

Короткий ответ заключается в том, что мы не вызываем сценарии gradle из Eclipse.

Я верю, что этот сайт описывает, где эта работа сейчас, и сейчас это не так.

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

Ответ 2

Это своего рода старый пост, но команда SpringSource STS выпустила плагин: http://static.springsource.org/sts/docs/latest/reference/html/gradle/

Инструкции по установке можно найти здесь: http://static.springsource.org/sts/docs/latest/reference/html/gradle/installation.html

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

Ответ 3

Промежуточная работа более приемлема для тех, у кого есть фобия командной строки.

Из Eclipse используйте раскрывающееся меню Run/External Tools/External Tools Configurations...

Выберите "Программа" в левой панели навигатора, затем нажмите кнопку "Новая настройка запуска" на панели инструментов (первая кнопка на панели инструментов).

При выборе вкладки Main заполните следующие поля:

  • Имя: (над вкладками) до "Gradle" (или любое другое имя, которое вы хотите для запуска).
  • Местоположение: используйте кнопку "Обзор файловой системы...", чтобы перейти к вашим "gradle.bat" или "gradlew.bat" для запуска.
  • Рабочий каталог: используйте кнопку "Обзор рабочей области...", чтобы выбрать каталог с файлом "build.gradle" для желаемого проекта.
  • Аргументы: введите "--gui"

Добавить в аргументы: переключатель "-b filename.gradle", если вы используете файл сборки Gradle, отличный от "build.gradle".

После этого ваши разработчики могут использовать кнопку Run/External Tools или панель инструментов, чтобы запустить Gradle Gui. Они могут сделать это и закрыть его после каждого использования, или (чтобы избежать задержки запуска), минимизировать его, когда он не используется.

Ответ 4

Я знаю, что это старый вопрос, но я до сих пор не думаю, что Eclipse может запустить конструкцию gradle для вас. Плагин Spring gradle - отличный старт, если вы его используете, вы можете определить внешний конструктор инструментов для запуска gradle, когда захотите. Если у вас много проектов, и все они построены с помощью gradle, вы можете даже gradle добавить возможности для своих проектов eclipse для вас. Хотя это можно очистить, вы можете добавить что-то вроде этого в файл сборки gradle:

apply plugin: 'eclipse'

eclipse {
    project {
        // Store a copy of the desired Gradle_Builder.launch file in a top-level 'master'
        //    directory.  Then this code searches for it, and by copying it, 
        //    adds the launch file to the specifc project that will run gradle
        String launchFileNameOrig = '.externalToolBuilders/Gradle_Builder.launch'
        String launchFileName = launchFileNameOrig
        File launchFile = file(launchFileName)
        boolean needToCopy = false
        while (!launchFile.exists()) {
            launchFileName = '../' + launchFileName
            launchFile = file(launchFileName)
            needToCopy = true
        }
        if (needToCopy) {
             copy {
                from (launchFile)
                into '.externalToolBuilders'
            }
        }

        buildCommand 'org.eclipse.ui.externaltools.ExternalToolBuilder', LaunchConfigHandle: '<project>/'+launchFileNameOrig
        file {
            // when they made the "buildCommand" it looks like they left off 'triggers', so parse the XML until
            // the right place is found, then insert it.
            withXml {
                def projectNode = it.asNode()
                projectNode.iterator().each { subNode ->
                    String subNodeText = '' + subNode
                    if (subNodeText.startsWith('buildSpec')) {
                        subNode.iterator().each { buildCmd ->
                            String nameNode = buildCmd?.name
                            if (nameNode.contains('ExternalToolBuilder')) {
                                buildCmd.appendNode('triggers', 'full')
                            }
                        }
                    }
                }
            }
        }
    }

Это содержимое файла, хранящегося в верхней части иерархии каталогов:./.externalToolBuilders/Gradle_Builder.launch. Как определено здесь, это будет работать только после того, как "чистый" [Gradle будет более дорогим по времени, чем собственный Java Builder, поэтому продолжайте использовать его для автоматического построения]. Примечание: в приведенном ниже содержимом предполагается, что вы используете "git" и gradle обертку. Вы видите это в значении ATTR_LOCATION. При необходимости отрегулируйте. Одна из приятных вещей в этом подходе заключается в том, что вы можете иметь оболочку gradle для любой версии gradle, которую хотите, а затем затмение будет использовать эту версию при ее запуске!

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType">
<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${workspace}"/>
<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${git_dir}/../gradlew"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="assemble"/>
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${project_loc}"/>
</launchConfiguration>

Ответ 5

Текущий ответ на этот вопрос должен быть, Используйте Gradle собственный плагин Eclipse Buildship:

http://projects.eclipse.org/projects/tools.buildship

Это поддерживается и развивается командой Gradle и будет постоянно улучшаться в будущем. Он также может обрабатывать более старые версии (с функциональностью, основанной на доступности версии Gradle).

Изменить 2017-03-01: После выпуска Buildship 2.0 интеграция еще лучше, и я рекомендую его (если вы уже не используете IntelliJ, а затем уже установили). Есть еще некоторые недостающие функции, такие как возможность прямого отладки задач JavaExec и возможности выполнения задач прекомпиляции/преимпорта, но они находятся в Список проблем Github.

Ответ 6

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

Ответ 7

Вы можете использовать Gradle плагин Eclipse, например gradle eclipse, для создания проекта Eclipse из проекта gradle. Он добавляет множество целей к сгенерированным проектам Eclipse и очень настраивается.

Ответ 9

Вы можете использовать Buildship, как указано FkYkko. Однако следует иметь в виду, что Ant задачи считаются первоклассными гражданами в gradle. Это означает, что вы можете просто импортировать Ant build script, ссылаясь на свои задачи так же, как вы ссылаетесь на задачи gradle. Выполнение этого способа позволяет просто использовать ваши задачи Ant из коробки с помощью gradle, не преобразовывая их в задачи gradle.

Например, скажем, что у вас есть сборка script с именем build.xml в том же каталоге, что и build.gradle, и задача в build.xml с именем buildProj. Вы можете импортировать build.xml и вызвать build proj из build.gradle следующим образом:

task antDeps {
    ant.importBuild 'build.xml'
}

task buildAll (dependsOn:['buildProj']) {
    // the rest of your gradle task here.
}

Для получения дополнительной информации см. this или this.

Ответ 10

Существует также Enide Gradle http://www.nodeclipse.org/projects/gradle
который может использоваться с или без Gradle IDE по Pivotal.
В проекте Gradle, Maven или CDT (С++).

run

В качестве отдельного плагина он может иметь различную конфигурацию для версии Gradle и версии Java для использования

Этот пакет Gradle IDE находится в Enide

Ответ 11

Я столкнулся с этим вопросом после установки нового плагина Buildship, который поэтапно отказывается от Spring Tool Suite, упомянутого другими здесь.

Инструкции по использованию вида задачи с Buildship:

Использование представления Gradle Tasks

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

введите описание изображения здесь

По умолчанию результат отображается в представлении Gradle Executions. Это также отображается в представлении "Консоль", аналогичном выходу get, если вы запускаете задачу через командную строку.

Источник

Ответ 12

Еще один новый проект в 2016 году - EGradle

https://github.com/de-jcup/egradle

Также не требует, чтобы Project имел особый характер, только существующего build.gradle было бы достаточно.

Руководство пользователя находится в встроенной справке (F1) или в режиме просмотра https://rawgit.com/de-jcup/egradle/master/egradle-plugin-main/html/user_guide.html