Je sais que c'est une vieille question, mais je ne pense toujours pas qu'il est possible d'avoir de l'Éclipse exécuter un build gradle pour vous. Le Printemps plugin Gradle est un bon début, si vous utilisez, vous pouvez définir d'un outil externe builder pour exécuter gradle quand vous le voulez. Si vous avez beaucoup de projets et tous sont construits avec gradle, vous pouvez même avoir gradle ajouter la capacité de vos projets eclipse pour vous. Bien que cela puisse être nettoyé, vous pouvez ajouter quelque chose comme ceci à votre fichier de build 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')
}
}
}
}
}
}
}
C'est le contenu du fichier stocké dans le haut de la hiérarchie de répertoire sous: ./.externalToolBuilders/Gradle_Builder.de lancement. Tel que défini ici, cela ne sera que de courir après un "nettoyage" [Gradle est plus cher sur le plan du temps que le natif de Java Constructeur, afin de continuer à l'utiliser pour l'auto-construction]. Remarque: le contenu du fichier ci-dessous suppose que vous utilisez "git" et le gradle wrapper. Vous le verrez sur la ATTR_LOCATION valeur. Ajuster au besoin. Une bonne chose à propos de cette approche est que vous pouvez avoir la gradle wrapper être n'importe quelle version de gradle vous voulez, et puis eclipse va utiliser cette version lorsqu'il s'exécute!
<?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>