I am researching possibilities to create "project templates" for the kind of projects my team is working on (Embedded Java). We want to make it trivial for a new developer to not mess up creating a new project. All the tools we use in our team should be pr
The basic idea is that there should be one command to set up a project and IDE to provide for the following:
So far I see two ways to do this:
Do give you a little more context: It is ok, if the result locks us into Eclipse. While the build should run without Eclipse (for our CI), the Team uses eclipse and it is highly unlikely that we will ever switch. Also all developers run more or less the same Hard+Software (Linux). We don't work in the domain of Enterprise Java Apps so we really don't need all the fancy dependency management stuff from maven. As a matter of fact our build process is so special, that it probably is much easier to just call make or ant scripts.
So the Questions are:
Thank you very much for your input.
Cheers, Valentin
PS: People seem to be religious about their build tools. Please note that I do not want to start a flamewar here for or against maven. I am sure maven can be a great tool but I think in our context we only need 5% of its functionality and from my experience that remaining 95% can get in your way.
To reopen a closed project, in the Package Explorer view, select the closed project and click on the Project menu and select Open Project. Once the project is open its content can be edited using the Eclipse user interface.
A closed project is visible in the Package Explorer view but its contents cannot be edited using the Eclipse user interface. Also, an open project cannot have dependency on a closed project. The Package Explorer view uses a different icon to represent a closed project. © Copyright 2022.
To view the project explorer, click on Window menu then, click on Show View and select Project Explorer. There is simpler way to open project explorer, when you are in the editor press alt + shift + w and select project explorer.
Click Ctrl+Space. The Content Assist box will appear, listing all available templates and completion options that begin with that combination of keys. Templates are marked in the content assist list with a blue square. Double-click the required template from the list.
You can also just create your own PDE tooling project and extend PDE project templates.
There is a great article at IBM DelevoperWorks network that gives a great introduction to Building templates with the Eclipse Plug-in Development Environment
You can also read up on Eclipse documentation about following PDE extension points:
org.eclipse.pde.ui.templates
-- registers plug-in project content templates that are used to generate code for the new extensionsorg.eclipse.pde.ui.newExtension
-- contribute wizards that will be used to create and edit new extensions in PDE plug-in manifest editororg.eclipse.pde.ui.pluginContent
-- provides for contributing wizards that create additional content of the PDE plug-in projectsWhatever you do, for God's sake, don't even think about using the Maven VIRUS for this. Exception: If you hate yourself, and enjoy inflicting needless pain on yourself and others because you get some kind of sick pleasure out of it--then, you should use Maven. If you also prefer to bleed internally while you work, throw in Ivy.
Eclipse generation IS a good idea (and probably ideal for the end users), but realistically to prevent this turning into such a large project, just go with the simple solution: create a template and use some simple method of customizing it. Just use a find/replace or a simple Python script if really needed. It's hard enough coming up with a complete, solid, re-usable template as it is (a project in itself). Let an Eclipse plug-in or other more automated version come later after you have a better idea of how much work this is.
The find/replace or script method isn't "fragile" since your template is going to be small and written by a single author, not some massive production application with who knows what inside of it. More complex solutions are the ones which tend to really become fragile, not the simple ones.
I think this is a fantastic idea so don't let anyone tell you otherwise, I create templates like this too.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With