| View previous topic :: View next topic |
| Author |
Message |
ewiegers
Joined: 08 Aug 2007 Posts: 7
|
Posted: Fri Aug 10, 2007 4:04 pm Post subject: Projects that share files? |
|
|
I'm curious how one would have WidgetX be a project, and have part of the WidgetX also be part of another project, perhaps ThingyZ.
Projects that share files?
Thanks,
Eelke _________________ -Eelke |
|
| Back to top |
|
 |
spampete Site Admin
Joined: 04 May 2007 Posts: 89
|
Posted: Sat Aug 11, 2007 2:36 pm Post subject: |
|
|
Hi Eelke,
actually, there is no sub project concept, and files cannot be shared among different projects. On the opposite, files are tightly associated to a project through a direct relation within the data model. This is actually a sort of security that allows checking that you do not modify a file of a project with a task dedicated to another project.
For the moment, if you need to share WidgetX project within projects ThingyZ and ThingxY, you can only achieve this through output libraries: WidgetX is a project by itself, and the exe, lib, zip or whatever the project outputs can just be copied in a folder of ThingyZ and ThngxY projects.
This is the same actually as for all the project input libraries: you can put under control all your external libraries, updating them when some new version is available. Through configurations, your project will use one version or another of each of these libraries.
This subproject concept, however, can be interesting, and I need to think about it to see how this could be done. As far as I can foresee right now, this should not be very difficult to integrate.
Are you using today versioning tools that offer such kind of feature ? |
|
| Back to top |
|
 |
ewiegers
Joined: 08 Aug 2007 Posts: 7
|
Posted: Mon Aug 13, 2007 2:45 pm Post subject: |
|
|
We are not currently using a tool that can share files or projects, but we are looking for this feature.
We make products that are collections of programs.
Some products are the same, just newer versions
Some products just have a common base of programs and then different programs on top.
Some of the programs share the same DLLs.
So you see it can get complicated managing this.
When we develop we might want our project to use the latest DLL or lock it on a specific version.
Same with the applications.
So far, I think only the very expensive tools do this. The ones we looked at didn't support this, or only partially suppported it. _________________ -Eelke |
|
| Back to top |
|
 |
spampete Site Admin
Joined: 04 May 2007 Posts: 89
|
Posted: Mon Aug 13, 2007 6:40 pm Post subject: |
|
|
well, from a conceptual point of view, the "common" term implies quite directly that the concerned parts could -even should- live their life and be managed almost as independant projects from those built on top as if those were third parties.
Hence, the idea of copying the output product (dll, lib, zip, etc..) in a library input folder of other projects, and have them versioned can be an easy way out, perfectly working. It implies a manual copy of some files from a project to another, but it sounds reasonable to me. When you put under control some external APIs and lib, this is exactly what you do, don't you ?
do you have some example in which this way of working cannot be easily applied ?
Sharing files among projects in a configuration management software can lead to quite complex situations, and I am not so sure that this approach is really the best. I would be interested in having other people point of view of this. |
|
| Back to top |
|
 |
ewiegers
Joined: 08 Aug 2007 Posts: 7
|
Posted: Mon Aug 13, 2007 7:01 pm Post subject: |
|
|
I cannot speak first hand on sharing binaries. I would imagine that products that are aggregates of applications could be managed under configuration management.... some products sharing versions of a DLL, but only having the one DLL in the system, pointed to by each product project. Maybe?
What I do have experience with is having a common include file with routines that are used by multiple projects, thus this file would be shared, but not really much use on it's own, not really a product itself. _________________ -Eelke |
|
| Back to top |
|
 |
spampete Site Admin
Joined: 04 May 2007 Posts: 89
|
Posted: Tue Aug 14, 2007 6:49 am Post subject: |
|
|
Of course all the applications can be managed under the same scm and sharing files between them is common sense, I agree.
This will certainly be added to AVS roadmap, but it won't be implemented very soon, so for the moment, all you can do is the workaround I suggested. |
|
| Back to top |
|
 |
LyzV
Joined: 10 Jan 2008 Posts: 2
|
Posted: Fri Jan 11, 2008 12:39 am Post subject: |
|
|
Hi
I have the same problem as ewiegers. There are more configuration items (Definitive Softvare Library). This library shares with some projects. At the same time each library-item is a project under version control. I wish to check-out main project with all shared library projects into single main folder . I wish build an application from versioned components (configuration items). It is CSM, isnt it?
Today I use SVN and "external" property of project folder It is like "import" in AVS.
I am looking for tool with support a "Definitive Softvare Library" concept. Can AVS help me? |
|
| Back to top |
|
 |
LyzV
Joined: 10 Jan 2008 Posts: 2
|
Posted: Fri Jan 11, 2008 12:56 am Post subject: |
|
|
Its my fault. In AVS an "import" is not like an "external" property in SVN  |
|
| Back to top |
|
 |
spampete Site Admin
Joined: 04 May 2007 Posts: 89
|
Posted: Fri Jan 11, 2008 6:26 pm Post subject: |
|
|
hello LyzV
this feature is not yet available, but will be implemented soon. In order to avoid too much complexity, the feature which is planned is to import only frozen (i.e. baselined) version of files/folder from other projects. Would this fit your needs ?
Pierre |
|
| Back to top |
|
 |
spampete Site Admin
Joined: 04 May 2007 Posts: 89
|
Posted: Tue May 20, 2008 4:56 am Post subject: sub projects |
|
|
Hi folks
it took some time but now you have dependencies between projects: you can either add single external files, such as a .dll or .lib for instance, which would thus be the compilation result of a secondary project, or add folders and even a whole sub project.
For single files, you have to select the version you want, whereas for folders/sub-project, you will also have to select a template to define its configuration. Updating the whole project will retrieve on the fly the configuration chosen for the external folders/sub-projects and update their content too.
When you want to change the version of a single external file, or
when you want to change the template for the external folder/sub-project, you will have to check out the parent folder since its definition somehow changes.
However, as an advanced feature, this is not part of the community version of AVS.
Pierre |
|
| Back to top |
|
 |
|