AntビルドをGradleに変換することを検討しています。
Eclipseとの統合に関して、IDEからビルドを起動するための(概念的に)同等の機能を探しています。 Eclipseは、Antターゲットを呼び出すためのNice Antビューを提供します。
Gradleビルドを起動するためのEclipseプラグイン(http://www.breskeby.com/downloads/gradle/Eclipse/update/)がありますが、これはユーザーがフープをジャンプしてさまざまなターゲットを起動する必要があるようです(起動構成を編集し、等。)。
他の人はEclipse内からGradleをどのように使用していますか?
簡単な答えは、Eclipseからgradleスクリプトを呼び出さないということです。
このサイト は、この作品が現在どこにあるのかを概説しており、今のところあまりないようです。
Eclipseからどのようなタスクを実行したいのか少し興味があります。コマンドラインからタスクを実行してみませんか?
これは一種の古い投稿ですが、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とプラグインなので、私が行方不明になっている可能性があります。
暫定的な回避策は、コマンドライン恐怖症の人にとってより好ましいものです。
Eclipseから、プルダウンメニューの[実行]/[外部ツール]/[外部ツールの構成]を使用します。
左側のナビゲーターパネルで[プログラム]を選択し、ツールバーの[新しい起動構成]ボタン(ツールバーの最初のボタン)をクリックします。
[メイン]タブを選択した状態で、次のフィールドに入力します。
引数に追加:「build.gradle」以外のGradleビルドファイルを使用する場合、スイッチ「-b filename.gradle」。
この後、開発者は、実行/外部ツールまたはツールバーボタンを使用して、Gradle Guiを起動できます。ユーザーはこれを実行して、使用するたびに閉じるか、(起動時の遅れを避けるために)使用していないときに最小化します。
この質問に対する現在の答えは、Gradleの独自のEclipseプラグインを使用することですBuildship:
http://projects.Eclipse.org/projects/tools.buildship
これはGradleチームによってサポートおよび開発されており、今後も継続的に改善されます。また、古いバージョンを処理できます(Gradleバージョンの可用性に基づく機能を使用)。
編集2017-03-01:Buildship 2.0のリリース後、統合はさらに改善され、お勧めします(既にIntelliJを使用していない場合は、既に設定済みです)。 JavaExecタスクを直接デバッグする機能やプリコンパイル/プリインポートタスクを実行する機能など、まだいくつかの機能が欠けていますが、それらは Githubの問題リスト にあります。
これは古い質問であることは知っていますが、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>
Gradleビルドを呼び出すEclipseからカスタムランチャーを作成できます。
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.
}
Gradle Eclipseプラグイン like gradle Eclipse
gradleプロジェクトからEclipseプロジェクトを生成します。生成されたEclipseプロジェクトに多くのターゲットを追加し、高度にカスタマイズ可能です。
相変わらず、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 /
ここで他の人が言及したSpring Tool Suiteを段階的に廃止している新しいBuildshipプラグインをインストールした後、私はこの質問に出会いました。
Buildshipでタスクビューを使用する手順は次のとおりです。
Gradle Tasksビューの使用
Gradleプロジェクトを正常にインポートすると、プロジェクトがGradleタスクビューに表示されます。 Gradle Tasksビューで特定のGradleタスクを右クリックすると、選択したGradleタスクを実行できます。
デフォルトでは、Gradle Executionsビューに結果が表示されます。また、コマンドラインからタスクを実行した場合に得られる出力と同様に、コンソールビューに表示されます。
Enide Gradleもあります http://www.nodeclipse.org/projects/gradle
Gradle IDE by Pivotalありまたはなしで使用できます。
Gradle、Maven、またはCDT(C++)プロジェクト。
個別のプラグインとして、GradleバージョンとJava使用するバージョンに対して異なる構成を持つことができます
これ、Gradle IDE Pack are within Enide
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 でプレビューする