web-dev-qa-db-ja.com

EclipseからGradleビルドを起動する

AntビルドをGradleに変換することを検討しています。

Eclipseとの統合に関して、IDEからビルドを起動するための(概念的に)同等の機能を探しています。 Eclipseは、Antターゲットを呼び出すためのNice Antビューを提供します。

Gradleビルドを起動するためのEclipseプラグイン(http://www.breskeby.com/downloads/gradle/Eclipse/update/)がありますが、これはユーザーがフープをジャンプしてさまざまなターゲットを起動する必要があるようです(起動構成を編集し、等。)。

他の人はEclipse内からGradleをどのように使用していますか?

46
csl

簡単な答えは、Eclipseからgradleスクリプトを呼び出さないということです。

このサイト は、この作品が現在どこにあるのかを概説しており、今のところあまりないようです。

Eclipseからどのようなタスクを実行したいのか少し興味があります。コマンドラインからタスクを実行してみませんか?

15
c_maker

これは一種の古い投稿ですが、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プロジェクトでは非常にうまく機能します。Gradleプラグインを使用しているときにEclipseで正しいwarファイルを生成する際に問題が発生しますが、gradle自体は素晴らしく機能します。しかし、gradleとプラグインなので、私が行方不明になっている可能性があります。

26
Keith P

暫定的な回避策は、コマンドライン恐怖症の人にとってより好ましいものです。

Eclipseから、プルダウンメニューの[実行]/[外部ツール]/[外部ツールの構成]を使用します。

左側のナビゲーターパネルで[プログラム]を選択し、ツールバーの[新しい起動構成]ボタン(ツールバーの最初のボタン)をクリックします。

[メイン]タブを選択した状態で、次のフィールドに入力します。

  1. 名前:(タブの上)から「Gradle」(またはランチャーに付ける名前)。
  2. 場所:「Browse File System ...」ボタンを使用して、「gradle.bat」または「gradlew.bat」に移動して実行します。
  3. 作業ディレクトリ:「ワークスペースの参照...」ボタンを使用して、目的のプロジェクトの「build.gradle」ファイルがあるディレクトリを選択します。
  4. 引数:「--gui」と入力します

引数に追加:「build.gradle」以外のGradleビルドファイルを使用する場合、スイッチ「-b filename.gradle」。

この後、開発者は、実行/外部ツールまたはツールバーボタンを使用して、Gradle Guiを起動できます。ユーザーはこれを実行して、使用するたびに閉じるか、(起動時の遅れを避けるために)使用していないときに最小化します。

23
Blaine

この質問に対する現在の答えは、Gradleの独自のEclipseプラグインを使用することですBuildship

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

これはGradleチームによってサポートおよび開発されており、今後も継続的に改善されます。また、古いバージョンを処理できます(Gradleバージョンの可用性に基づく機能を使用)。

編集2017-03-01:Buildship 2.0のリリース後、統合はさらに改善され、お勧めします(既にIntelliJを使用していない場合は、既に設定済みです)。 JavaExecタスクを直接デバッグする機能やプリコンパイル/プリインポートタスクを実行する機能など、まだいくつかの機能が欠けていますが、それらは Githubの問題リスト にあります。

10
FkYkko

これは古い質問であることは知っていますが、Eclipseでgradleビルドを実行することはまだ不可能だと思います。 Spring Gradleプラグインは素晴らしいスタートです。それを使用する場合、外部ツールビルダーを定義して、必要なときにgradleを実行できます。多数のプロジェクトがあり、すべてがgradleで構築されている場合は、Eclipseプロジェクトにgradleで機能を追加することもできます。これはクリーンアップできますが、次のようなものを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 wrapperを使用していることを前提としています。これはATTR_LOCATION値で確認できます。必要に応じて調整してください。そして、Eclipseは実行時にそのバージョンを使用します!

<?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>
8
JoeG

Gradleビルドを呼び出すEclipseからカスタムランチャーを作成できます。

5
bhagyas

FkYkkoで述べられているように、 Buildship を使用できます。ただし、心に留めておくべきことの1つは、Antタスクがgradleのファーストクラスの市民と見なされることです。これは、gradのタスクを参照するのと同じ方法で、そのタスクを参照するantビルドスクリプトを単にインポートできることを意味します。この方法で物事を行うことで、Gradleタスクに変換することなく、Gradeですぐに使用できるAntタスクを使用できます。

たとえば、build.gradleと同じディレクトリにbuild.xmlという名前のビルドスクリプトがあり、buildProjという名前のbuild.xmlにタスクがあるとします。 build.xmlをインポートし、次のようにbuild.gradleからbuild projを呼び出すことができます。

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

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

詳細については、 this または this を参照してください。

2
DivDiff

Gradle Eclipseプラグイン like gradle Eclipse gradleプロジェクトからEclipseプロジェクトを生成します。生成されたEclipseプロジェクトに多くのターゲットを追加し、高度にカスタマイズ可能です。

2
Bozhidar Batsov

相変わらず、IDEAの方が得策です。サポートは2009年から行われています http://blogs.jetbrains.com/idea/2009/08/gradle-support/

さらにEAPを介した完全なサポートが利用可能になりました(無料で使用できます!) http://blogs.jetbrains.com/idea/2011/09/keen-to-try-gradle-integration-in-intellij- idea /

2
opticyclic

ここで他の人が言及したSpring Tool Suiteを段階的に廃止している新しいBuildshipプラグインをインストールした後、私はこの質問に出会いました。

Buildshipでタスクビューを使用する手順は次のとおりです。

Gradle Tasksビューの使用

Gradleプロジェクトを正常にインポートすると、プロジェクトがGradleタスクビューに表示されます。 enter image description here Gradle Tasksビューで特定のGradleタスクを右クリックすると、選択したGradleタスクを実行できます。

enter image description here

デフォルトでは、Gradle Executionsビューに結果が表示されます。また、コマンドラインからタスクを実行した場合に得られる出力と同様に、コンソールビューに表示されます。

ソース

1

Enide Gradleもあります http://www.nodeclipse.org/projects/gradle
Gradle IDE by Pivotalありまたはなしで使用できます。
Gradle、Maven、またはCDT(C++)プロジェクト。

run

個別のプラグインとして、GradleバージョンとJava使用するバージョンに対して異なる構成を持つことができます

これ、Gradle IDE Pack are within Enide

1
Paul Verest

2016年のもう1つの新しいプロジェクトは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 でプレビューする

1
Paul Verest