IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Eclipse Java Discussion :

Ajouter par programmation un projet au workspace Eclipse


Sujet :

Eclipse Java

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2012
    Messages : 3
    Par défaut
    Bonjour,

    Je sais que lors de la création d'un projet avec l'IDE Eclipse, il crée dans celui-ci deux fichiers XML .classpath et .project, mais en plus de cela, il met à jour une série de fichiers binaire dans son dossier .metadata.

    Ma question est : Est-ce qu'il est possible par programmation, d'ajouter au workspace d'Eclipse un project Java existant (ou tout juste crée) sans devoir passer par l'utilisation de l'outil Import de l'IDE ? C'est à dire qu'après avoir utilisé ce dit programme, que le projet soit déjà présent dans le Package Explorer de l'IDE à l'ouverture de ce dernier.

    L'idée se serait de développer une task ant qui s'occuperait justement de réaliser l'opération. J'ai déjà utilisé un plugin "ant-eclipse", mais il se contentait de créer les fichiers .classpath et .project, il fallait encore ensuite faire l'import.

    Merci d'avance pour votre aide.

  2. #2
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3 468
    Par défaut
    Bonjour,

    A ma connaissance, de base rien ne permet de faire cela. Eclipse n'est pas "pilotable de l'extérieur".

    Il doit être possible de développer un plugin qui ajoute un nouveau projet sur détection d'une situation particulière... Ou peut-être que ça existe déjà mais à ce moment-là il faut chercher. En commençant par le Eclipse Marketplace.

    Cette problématique est relativement récurrente, surtout avec le développement d'applications modulaires, donc il est possible que ça existe.
    Responsable FAQ Eclipse | Maintiens et développe un des logiciels destinés aux rédacteurs sur developpez.com
    Gardons toujours à l'esprit que le forum constitue une base documentaire, dont l'utilité et la qualité dépendent du soin apporté à nos questions et nos réponses. Soyons polis, précis (dans le titre et dans le corps des questions), concis, constructifs et faisons de notre mieux pour respecter la langue française et sa grammaire. Merci pour nous (les modérateurs) mais aussi et surtout, merci pour vous.
    Problème solutionné => je vais au bas de la page et je clique sur le bouton (qui suite à mise à jour du forum, a légèrement changé d'aspect).

  3. #3
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Salut,

    Tu parles d'"ant-eclipse", c'est pas plutôt "ant4eclipse"?

    Sinon, comme le dit Laurent, tu peux toujours créer une tâche qui te fera ça...

    Voilà, à+
    Gueritarish

  4. #4
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2012
    Messages : 3
    Par défaut
    Bonjour,

    Merci pour vous réponses.

    Non, non, je parle bien d'un plugin trouvé sur sourceforge intitulé ant-eclipse (à vrai dire, j'ai trouvé 2, créé par deux personnes différentes). Je n'ai plus le nom complet en tête.

    Le problème n'étant pas que je ne veux pas en développer un moi-même (ça me ferai même plaisir), mais plutôt que je ne trouves pas comment le faire . C'est pour cela que je suis venu voir si quelqu'un ne l'avait pas déjà fait et s'il ne pouvait pas me donner des pistes.

    Le vrai soucis est la modification de ces fichiers binaires propre à Eclipse qui, je parie servent notamment à faire reconnaitre un projet comme faisant parti du workspace.

    Bien à vous

    EDIT : En fait, je cherche autant un outil qu'un procédé de programmation

  5. #5
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Salut,

    Dans les faits, côté programmation, il te "suffit" d'ajouter une dépendance vers org.eclipse.core.resources et d'appeler ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    IWorkspace workspace = ResourcesPlugin.getWorkspace();
    try
    {
    	IWorkspaceRoot workspaceRoot = workspace.getRoot();
    	IProjectDescription descr = workspace.loadProjectDescription(workspaceRoot.getLocation().append(myProjectName).append(".project"));
    	IProject project = workspaceRoot.getProject(myProjectName);
    	project.create(descr, new NullProgressMonitor());
    	// Attention, l'ouverture d'un projet peut prendre du temps...
    	project.open(new NullProgressMonitor());
    	// Après cette étape, le projet est dans le workspace et ouvert.
    } catch (CoreException ce)
    {
    	ce.printStackTrace();
    }
    Après, la question, c'est où ajouter ce code? Là, ça dépend de tes besoins. Tu peux le mettre dans une commande, un menu, un bouton dans la toolbar...
    En fait, je pense qu'il vaut mieux que tu codes l'ensemble de ton besoin dans le plug-in plutôt que de passer par un plug-in tiers (tu maîtriseras toutes les étapes du coup).

    Voilà, à+

  6. #6
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2012
    Messages : 3
    Par défaut
    Bonjour,

    Merci pour tes explications.

    La finalité, c'est juste que cela se trouve dans un plugin pour ant (une tache). Je testerai ce que tu m'as passé quand j'aurai un peu de temps et je vous tiens au courant.

    Encore merci, bonne journée

  7. #7
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3 468
    Par défaut
    Je suis presque sûr que ça n'est pas possible d'ajouter un projet dynamiquement, autrement qu'en passant par un plugin de ton cru, qui utiliserait le code indiqué par Gueritarish.

    Trafiquer les fichiers Eclipse me semble une très mauvaise idée mais peut-être que ça ne le gênera pas, ça dépend comment il les gère...

    Je pense que même si tu parviens à "bricoler" les fichiers d'Eclipse proprement, à partir d'un script ant ou autre, Eclipse ne les prendra sans doute pas en compte immédiatement. Je doute qu'il scrute les modifications externes effectuées sur ceux-ci.
    D'autre part, dans l'hypothèse où, une fois les fichiers modifiés, tu redémarres Eclipse en te disant qu'il va prendre tes modifications à ce moment-là, il y a de fortes chances pour que tes modifications aient été simplement supprimées par Eclipse, suite à la sauvegarde de son contexte.

    Voilà, je ne sais pas si c'est effectivement ce que tu pensais faire mais tout ceci est à vérifier bien entendu. Si ça se passe bien alors tant mieux
    Tu dois pouvoir le vérifier manuellement...
    Responsable FAQ Eclipse | Maintiens et développe un des logiciels destinés aux rédacteurs sur developpez.com
    Gardons toujours à l'esprit que le forum constitue une base documentaire, dont l'utilité et la qualité dépendent du soin apporté à nos questions et nos réponses. Soyons polis, précis (dans le titre et dans le corps des questions), concis, constructifs et faisons de notre mieux pour respecter la langue française et sa grammaire. Merci pour nous (les modérateurs) mais aussi et surtout, merci pour vous.
    Problème solutionné => je vais au bas de la page et je clique sur le bouton (qui suite à mise à jour du forum, a légèrement changé d'aspect).

  8. #8
    Membre Expert
    Avatar de Mickael_Istria
    Homme Profil pro
    Développeur Expert = Eclipse, IDE, RCP, LSP, JDT... pour ����*�&a
    Inscrit en
    Juillet 2008
    Messages
    1 479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Expert = Eclipse, IDE, RCP, LSP, JDT... pour ����*�&a
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 479
    Par défaut
    Si tu veux faire une tache Ant qui utilise Eclipse, le plus propre est d'utiliser le AntRunner qui est dans Eclipse.

    Il te faudra créer un fragment pour le bundle org.apache.ant (de la même manière qu'un plugin Eclipse), lui ajouter une dépendance aux parties d'Eclipse qui t’intéressent et écrire ta tache.

    Pour le lancer, tu ne feras pas "ant" mais "eclipse -application org.eclipse.ant.core.AntRunner" ou "eclipse -application org.eclipse.ant.ui.AntRunner". Il te faudra préalablement t'assurer que le Eclipse que tu utilises pour lancer Ant contient bel et bien ton fragment et sa nouvelle tache.

    Bref pas facile. D'une manière générale, Eclipse et Ant, ce n'est pas toujours évident.

    Pour continuer sur le sujet de communication interactive avec Eclipse qui est en filigrane derrière une partie de ce thread, je vous propose de jeter un œil à ça: http://ketan.padegaonkar.name/2010/0...r-eclipse.html

Discussions similaires

  1. L’accès par programme au projet Visual Basic n’est pas fiable
    Par wilfried_42 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/05/2011, 14h49
  2. Réponses: 6
    Dernier message: 26/03/2011, 20h14
  3. Ajouter source JAVA2SE au Projet/config d'Eclipse
    Par Javix dans le forum Eclipse
    Réponses: 3
    Dernier message: 21/10/2009, 22h38
  4. Réponses: 2
    Dernier message: 13/03/2008, 17h33
  5. Ajouter, par programme, un compte POP dans Outlook
    Par Fares BELHAOUAS dans le forum Outlook
    Réponses: 3
    Dernier message: 06/07/2007, 18h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo