Configuration: Difference between revisions
No edit summary |
No edit summary |
||
| Line 3: | Line 3: | ||
[[Category:Configuration]] | [[Category:Configuration]] | ||
== General ideas == | == General ideas == | ||
* independant from the platform (windows/unix/.NET) | * independant from the platform (windows/unix/.NET) [conditions] | ||
* one file with multiple configurations (eg. debug, release build) | * one file with multiple configurations (eg. debug, release build) [targets] | ||
* exclude as regexp pattern | * exclude as regexp pattern [file patterns] | ||
* global ignore patterns (eg. cvs/svn) | * global ignore patterns (eg. cvs/svn) [file patterns on targets] | ||
* libraries | * libraries [library group] | ||
* relative paths | * relative paths [paths relative to ecf file location] | ||
* actions before/after run/compile (eg. start a server) | * actions before/after run/compile (eg. start a server) [pre-/postcompile actions/tasks] | ||
* variables [used in locations and for custom conditions] | |||
A system consists of multiple targets. A target can extend another target. A target can have some libraries, assemblies, clusters and override clusters. | A system consists of multiple targets. A target can extend another target. A target can have some libraries, assemblies, clusters and override clusters. | ||
A library has an associated target. A cluster can have a parent cluster. An override cluster has a some groups it overrides. | A library has an associated target. A cluster can have a parent cluster. An override cluster has a some groups it overrides. | ||
== | ===Libraries=== | ||
A library specification includes needed clusters, assemblies, libraries, externals and tasks. If a library is included in a project only classes in clusters can be accessed from this project because everything else is considered a dependency of the library and not content of the library itself. | |||
= | |||
library | |||
If | |||
===File pattern=== | ===File pattern=== | ||
| Line 93: | Line 66: | ||
</tr> | </tr> | ||
</table> | </table> | ||
== Questions and Problems == | |||
* When are two libraries the same? '''UUID''' | |||
=== Multiple library usage === | |||
====Problem==== | |||
<pre> | |||
System Application | |||
library A | |||
library B | |||
</pre> | |||
<pre> | |||
System A | |||
library C | |||
option Yes | |||
</pre> | |||
<pre> | |||
System B | |||
library C | |||
option No | |||
</pre> | |||
We have a conflict for the option on library C. | |||
====Solution==== | |||
If the library is directly used in Application, use the this options, otherwise use the options of the Application system. | |||
Revision as of 17:43, 6 September 2006
General ideas
- independant from the platform (windows/unix/.NET) [conditions]
- one file with multiple configurations (eg. debug, release build) [targets]
- exclude as regexp pattern [file patterns]
- global ignore patterns (eg. cvs/svn) [file patterns on targets]
- libraries [library group]
- relative paths [paths relative to ecf file location]
- actions before/after run/compile (eg. start a server) [pre-/postcompile actions/tasks]
- variables [used in locations and for custom conditions]
A system consists of multiple targets. A target can extend another target. A target can have some libraries, assemblies, clusters and override clusters. A library has an associated target. A cluster can have a parent cluster. An override cluster has a some groups it overrides.
Libraries
A library specification includes needed clusters, assemblies, libraries, externals and tasks. If a library is included in a project only classes in clusters can be accessed from this project because everything else is considered a dependency of the library and not content of the library itself.
File pattern
The file pattern match against the relative path in unix format in a cluster. e.g. if the cluster is in C:\mycluster
| Pattern | Matches |
|---|---|
|
storage/table |
C:\mycluster\storage\table\* C:\mycluster\storage\table.e C:\mycluster\something\storage\table\* |
|
^/storage/table/ |
C:\mycluster\storage\table\* |
|
^/.*/test/ |
C:\mycluster\a\test\* C:\mycluster\b\test\* |
|
/test/ |
C:\mycluster\a\test\* C:\mycluster\b\test\* C:\mycluster\something\table\test\* |
Questions and Problems
- When are two libraries the same? UUID
Multiple library usage
Problem
System Application library A library B
System A
library C
option Yes
System B
library C
option No
We have a conflict for the option on library C.
Solution
If the library is directly used in Application, use the this options, otherwise use the options of the Application system.