49 votes

Le lancement de Gradle construit à partir d'Eclipse.

Nous sommes à la recherche à la conversion de notre Ant de Gradle.

En ce qui concerne l'intégration avec Eclipse, nous recherchons un (conceptuellement) des fonctionnalités équivalentes pour le lancement de construit à partir de l'IDE. Eclipse offre une belle Ant vue pour invoquer Ant cibles.

Il y a un plugin Eclipse pour le lancement de Gradle construit (les http://www.breskeby.com/downloads/gradle/eclipse/update/), mais ce qui semble obliger les utilisateurs à sauter à travers des cerceaux pour invoquer différentes cibles (modifier la configuration de lancement, etc.).

Comment sont les autres à l'aide de Gradle de l'intérieur de l'Éclipse?

27voto

Keith P Points 479

C'est un vieux post, mais le SpringSource STS équipe a sorti un plugin: http://static.springsource.org/sts/docs/latest/reference/html/gradle/

Les instructions d'Installation peuvent être trouvés ici: http://static.springsource.org/sts/docs/latest/reference/html/gradle/installation.html

Mon expérience a été très positive avec elle jusqu'à présent. Pour bien les projets Java, il fonctionne très bien. Je vais avoir quelques problèmes de la génération correcte de la guerre des fichiers via Eclipse, tout en utilisant le plugin Gradle, mais gradle lui-même ne fait merveille. Je suis relativement nouveau à gradle et le plugin, donc il pourrait être quelque chose qui me manque.

25voto

Blaine Points 878

Travail temporaire autour de la plus acceptable aux yeux de ceux avec la ligne de commande de la phobie.

À partir d'Eclipse, l'utilisation du menu déroulant de Run / Outils Externes / Externe des Outils de Configurations...

Sélectionnez "Programme" dans le panneau de navigation de gauche, puis cliquer sur "Nouveau lancement de configuration" dans la barre d'outils (premier bouton dans ma barre d'outil).

Avec les Principaux onglet sélectionné, remplissez les champs suivants:

  1. Nom: (au-dessus des onglets) pour "Gradle" (ou quel que soit le nom que vous voulez pour le lanceur).
  2. Emplacement: Utilisation de "Parcourir le Système de Fichiers..." bouton pour naviguer jusqu'à votre "gradle.chauve-souris" ou "gradlew.chauve-souris" à exécuter.
  3. Répertoire de travail: Utilisation de "espace de travail Browse..." pour sélectionner le répertoire avec le "build.gradle" fichier pour le projet de votre choix.
  4. Arguments: Entrez "--gui"

Ajouter aux Arguments: le commutateur "-b nom de fichier.gradle" si vous utilisez un fichier de build Gradle autre que de construire".gradle".

Après cela, vos développeurs peuvent utiliser l'Exécuter / Outils Externes ou une barre d'outils bouton pour lancer la Gradle Gui. Ils peuvent le faire et de le fermer après chaque utilisation, ou (pour éviter le démarrage de retard), minimiser quand elle n'est pas en cours d'utilisation.

15voto

c_maker Points 2957

La réponse courte est que nous n'invoquons gradle des scripts à partir de l'Éclipse.

Je crois que ce site décrit l'endroit où ce travail est en ce moment et ça ne semble pas être bien maintenant.

Je suis un peu curieux de ce genre de tâches que vous souhaitez exécuter à partir d'Eclipse. Pourquoi ne pas exécuter des tâches à partir de la ligne de commande?

8voto

JoeG Points 1492

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>

5voto

bhagyas Points 2024

Vous pouvez créer un lanceur eclipse qui invoquent votre build Gradle.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X