I work with a team of several developers. We develop and maintain many different products which are related to our company. What are some good ways to share code that does common enterprise tasks such as logging, database access, XML handling, etc?
We typically have several different versions of the same or similar classes/libraries among the various projects. It would be nice to consolidate enhancements various team members have made to the code so that when a developer begins a new project (or enhancement) he/she has the most recent version of the code with all the latest bells and whistles. We'd like to minimize the number of times we have to "reinvent the wheel" by redoing work someone else has already done but are not sure of the best way to communicate and distribute these changes through the team. What is the best way to structure a repository to make this type of code more easily shared?
One idea is to create a separate project that only includes this type of code (and includes all of it). This way when someone fixes or enhances something their changes will be committed to a known location in the company repository.
Are there any other ways for doing this?
Thanks.