Hello everyone, I hope this is the right forum to post this question.
This is my scenario:
I'm the lead software engineer of a team of 6 developers. Our main project (in which we all are going to be working on) depends on many Eclipse plugins and several plugins that are going to be developed by part of the team at the same time that the main project. Each of these plugins are Eclipse projects themselves.
I was wondering how I should manage those dependencies in the subversion repository. When I develope or modify a plugin of the main project, should I commit the .jar plugin to the svn repository so the other developers only have to do svn update and get the last version?
The other thing is that those plugins I'm developing are Eclipse plugins, so they have to be in the dropins or plugins folder of Eclipse in order to work properly. Therefore, even though I put them in the repository, the others developers will have to download the newer versions and copy them to the right Eclipse folders.
I hope I explained my case clearly, I would appreciate any advise you guys can give me.
I recommend that you make each plugin be a separate Eclipse project and that each plugin project be a Subversion project in its own right. In other words, make everything as independent of everything else as possible.
Subversion is a bit different from other version control systems, so it's certainly possible to have a master "plugins" project with sub-projects underneath it, for example. You'll probably find it easier if each of the sub-projects has the full SVN kit (branch, tags, and trunk) per-project. To check out and work with one of these sub-projects, you'd just use the SVN browser to select the trunk folder for the sub-project and instruct Eclipse to check it out as a project.
I also recommend using Maven as a offline build platform for stuff like this, where you have lots of dependencies. Sometime's it's easier to be able to issue a single batch command that sets the whole thing in motion instead of racking up Frequent Mouser miles.
An IDE is no substitute for an Intelligent Developer.