Modèles de projet Eclipse / Java
Je fais des recherches sur les possibilités de créer des "modèles de projet" pour le type de projets de mon équipe travaille sur (Embedded Java). Nous voulons la rendre insignifiante pour un nouveau développeur pour ne pas gâcher la création d'un nouveau projet. Tous les outils que nous utilisons dans notre équipe devrait être pr
L'idée de base est qu'il devrait être commande mettre en place un projet d'IDE et de prévoir les éléments suivants:
- Créer un nouveau projet Java, y compris Eclipse fichier de projet.
- Créer un script de compilation (besoin de travailler en dehors de l'IDE).
- Inclure déployer des options dans le script de construction.
- Définir un projet git.
- Le programme d'installation de DPM pour exécuter configuré avec un ensemble de règles intégré dans l'IDE.
- Installation Checkstyle pour exécuter configuré avec un ensemble de règles intégré dans l'IDE.
- Configurer les modèles de code (Eclipse) à la hauteur de nos équipes des directives de codage (Javadoc, ...)
- Configurer Eclipse Formateur de code.
- La configuration de la commande doit être extensible facilement.
Jusqu'à présent, je vois deux façons de le faire:
- Maven 2 Archétype: en gros, je n'aime pas maven parce que je me bats avec elle si souvent. Je ne suis pas sûr que la surcharge de chercher à faire de l'outil faire ce que je veux qu'il justifie l'effort. D'autre part, il semble que c'est exactement ce que les archétypes sont censés faire. Vous avez une expérience dans quelle mesure vous pouvez personnaliser l'eclipse:eclipse? Je suppose que la configuration eclipse avec être l'étape la plus compliquée.
- Eclipse Nature: j'ai pu créer un projet de la nature. Autant je comprends l'Éclipse de l'Écosystème qui est le composant qui se présentent, si j'aurais choisi de fournir quelque chose comme un clic droit -> New -> Mon Java Type de Projet. Savez-vous dans quelle mesure je peux personnaliser le résultant projet Eclipse?
- Script Shell: j'ai pu créer un projet vide avec toute la configuration en place, introduire certains des jetons spéciaux dans les fichiers de texte brut (comme, puis d'écrire un shell script qui lit les valeurs de ces options à partir d'un fichier de propriétés, copier le modèle de projet et les remplacer par les valeurs.). Alors qu'il est peut-être un peu fragile, il semble comme un moyen facile et rapide de le faire.
Ne vous donner un peu plus de contexte: C'est ok, si le résultat de serrures de nous dans Eclipse. Alors que la construction doit s'exécuter sans Eclipse (pour notre IC), l'Équipe utilise eclipse et il est très peu probable que nous aurons toujours de l'interrupteur. Aussi tous les développeurs plus ou moins le même Hardware+Logiciel (Linux). Nous ne travaillons pas dans le domaine de l'Enterprise Applications Java, donc nous n'avons vraiment pas besoin de toute la fantaisie de gestion de la dépendance des trucs de maven. Comme une question de fait, notre processus de fabrication est si particulière, sans doute qu'il est beaucoup plus facile de faire appel ou de scripts ant.
Donc les Questions sont:
- Vous avez une expérience avec ce genre de trucs?
- Avez-vous une opinion, ni vis-à l'Éclipse de la Nature façon ou d'Maven?
- Connaissez-vous d'autres outils qui permettent une installation comme ça?
Je vous remercie beaucoup pour votre participation.
Cheers,
Valentin
PS: les Gens semblent être religieux au sujet de leurs outils de construction. Veuillez noter que je ne veux pas lancer un troll ici pour ou contre maven. Je suis sûr que maven peut être un excellent outil, mais je pense que dans notre contexte, nous avons besoin de seulement 5% de ses fonctionnalités et de mon expérience, que les 95% restants peuvent obtenir sur votre chemin.
source d'informationauteur Valentin
Vous devez vous connecter pour publier un commentaire.
Vous pouvez aussi créer votre propre PDE de l'outillage du projet et de l'étendre de la PDE des modèles de projet.
Il y a un excellent article à IBM DelevoperWorks réseau qui donne une excellente introduction à Construction de modèles avec le Plug-in Eclipse Environnement de Développement
Vous pouvez également lire sur l'Éclipse de la documentation sur la suite de la PDE points d'extension:
org.eclipse.de la pde.l'interface utilisateur.templates
-- registres de plug-dans le contenu des projets modèles qui sont utilisés pour générer du code pour les nouvelles extensionsorg.eclipse.de la pde.l'interface utilisateur.newExtension
-- contribuer assistants qui sera utilisé pour créer et modifier des nouvelles extensions de la PDE plug-in éditeur de manifesteorg.eclipse.de la pde.l'interface utilisateur.pluginContent
-- offre pour contribuer assistants que de créer du contenu supplémentaire de la PDE plug-in de projetsQuoi que vous fassiez, pour l'amour de Dieu, ne pensez même pas à l'aide de l'Maven VIRUS pour cela. Exception: Si vous détestez vous-même, et de profiter d'infliger de douleur inutile sur vous-même et les autres parce que vous obtenez une sorte de malade du plaisir, alors, vous devez utiliser Maven. Si vous aussi vous préférez à saigner intérieurement pendant que vous travaillez, de les jeter dans le Lierre.
Eclipse génération EST une bonne idée (et probablement idéal pour les utilisateurs à la fin), mais de manière réaliste afin d'éviter qu'un tel projet, il suffit d'aller avec la solution la plus simple: créer un modèle et d'utiliser une simple méthode de personnalisation. Il suffit d'utiliser un rechercher/remplacer ou d'un simple script Python si vraiment nécessaire. C'est assez difficile à venir avec un complet, solide, réutilisable modèle tel qu'il est, un projet en lui-même). Laisser un plug-in Eclipse ou d'autres plus version automatisée venir plus tard, après vous avez une meilleure idée de la quantité de travail que cela représente.
Le rechercher/remplacer ou méthode de script n'est pas "fragile" depuis votre modèle va être petit et écrit par un seul auteur, et non de la production massive de l'application avec, qui sait, qu'à l'intérieur d'elle. Les solutions plus complexes sont ceux qui ont tendance à vraiment devenir fragile, pas les simples.
Je pense que c'est une idée fantastique alors ne laissez personne vous dire le contraire, j'ai créer des modèles comme ça aussi.
Ont un coup d'oeil à Gradleil prend en charge les bonnes choses de Lierre (gestion de la dépendance), Maven comme des Archétypes.
Petite question... combien de fois avez-vous à créer de nouveaux projets ? Est-ce vraiment si lourd qu'il serait de définir qui permettent de construire le système vous utilisez ?
Ceci étant dit, je ne voudrais vraiment avoir un projet standard de la structure, permet d'économiser beaucoup de temps lorsque vous essayez de décider certaines choses stupides qu'on ne devrait même pas avoir à y penser...