2008-10-21 4 views
38

Je trouve difficile de bien formuler cette question, car il y a quelques termes génériques (exécution, configuration, lancement, etc.). Ici va:Comment exécuter des configurations de lancement Eclipse par programme?

Vous pouvez save run configurations in a .launch file. (Dans la boîte de dialogue de configuration Exécuter, sous l'onglet Common, enregistrer dans un fichier partagé.

Nous vérifions ces pour SVN. Les développeurs peuvent les faire passer, et il aide à obtenir de nouveaux développeurs exécutant une application de travail plus rapide.

Je voudrais vérifier ces dans le cadre de notre construction et les utiliser pour exécuter l'application programatically, les tests, etc, sans tourner l'ensemble IDE.

Quelle serait la meilleure façon d'exécuter un .launch fichier en dehors de l'interface utilisateur?

Modifier: J'essaie d'unifier les tests exécutés sur le serveur de construction et l'EDI. Je ne veux pas particulièrement vouloir abandonner le débogage intégré, ce qui serait le cas avec un script ant pour exécuter les tests.

Il s'agit probablement plus d'un problème pour les tests d'intégration avec plusieurs bundles, ou pour les tests unitaires d'un ensemble complet, sur lesquels vous souhaitez créer des extensions.

+4

+1! Je suis nouveau sur Eclipse et j'ai eu tellement de mal à sauvegarder une configuration de lancement dans la source afin de pouvoir la valider sur SVN! J'ai trouvé votre question qui a répondu à ma question avant que je la pose. Merci! – JasonSmith

+1

Pour tous ceux qui cherchent un moyen d'exécuter ce que vous avez construit dans Eclipse, vous pouvez utiliser le menu contextuel 'Exporter' du projet (dans l'Explorateur de paquets) pour créer un 'Fichier JAR exécutable' – Ben

+0

Cependant, ceci ne fonctionne pas tests unitaires, exécution de RCP, applets ou configurations OSGi. – jamesh

Répondre

2

Ant4Eclipse peut fournir un bon point de départ sur la façon de procéder. Malheureusement, ceci est limité aux configurations Java Applications et JUnit; Je suis plus intéressé par les applications PDE et les tests Plugin JUnit.

4

Il existe un plugin Eclipse basé sur JUnit, appelé TPTP. Il fournit un client d'automatisation qui peut être utilisé pour lancer le test depuis eclipse sans interface graphique. peut-être que cela aide

1

Je pense que vous n'avez pas besoin d'utiliser les configurations .launch pour exécuter les tests. Si vous créez une application à l'aide du système de construction Eclipse, vous pouvez utiliser l'application AntRunner d'Eclipse pour exécuter vos tests d'unités. Cela ne démarre pas l'ensemble de l'IDE.

This article describes how to run the tests during your build process. Avec ce processus, vous utilisez un Eclipse "Test" spécial et chargez les plugins que vous voulez tester.

+0

Le problème que j'essaie d'éviter est de garder les métadonnées build/test/deploy synchronisées. Si je peux tout faire fonctionner à partir du même ensemble de métadonnées ... – jamesh

1

Peut-être que l'exécution des configurations de la façon dont vous exécuteriez vos propres configurations d'exécution personnalisée serait utile ici. Il est décrit dans this article.

+0

Cet article nous permet de définir nos propres types de configuration de lancement. Nous voulons être en mesure d'exécuter des configurations existantes. Malheureusement, ces types de configuration de lancement (plus le framework lui-même) sont tous dans org.eclipse.jdt.debug.ui, donc pas vraiment adapté pour un serveur de build sans tête. – jamesh

2

J'ai récemment eu beaucoup de succès dans la construction d'une application Eclipse RCP à l'intérieur d'un serveur Hudson CI utilisant Eclipse Buckminster. Il a fallu un peu de travail, mais une fois que j'ai configuré les deux fonctionnalités, j'ai fait en sorte que mon produit RCP soit basé sur les fonctionnalités, et que j'aie ajouté les fichiers de requêtes Buckminster et autres, cela a fonctionné. Il y a un plugin Hudson/Jenkins Buckminster qui m'a permis d'avoir hudson pour construire l'application. Après avoir enregistré les configurations de lancement pour chaque fragment de test, j'ai créé des commandes hudson pour les appeler (oui une ligne par fragment de test, malheureusement), mais après cela, j'ai obtenu la compilation automatisée CI que je voulais.

2

Vous pouvez également utiliser la commande shell qu'utilise Eclipse.Pour l'obtenir:

  1. exécuter votre programme dans Eclipse
  2. Aller à la vue « Debug »
  3. Faites un clic droit sur le processus (probablement le deuxième élément dans l'arborescence) et sélectionnez « Propriétés »
  4. Copier la commande shell et supprimer l'indicateur agentlib pour l'exécuter dans bash
Questions connexes