Difference between revisions of "Configuration"
Line 3: | Line 3: | ||
[[Category:Configuration]] | [[Category:Configuration]] | ||
== General ideas == | == General ideas == | ||
− | * | + | * independent from the platform (windows/unix/.NET) [conditions] |
− | * one file with multiple configurations ( | + | * one file with multiple configurations (e.g. debug, release build) [targets] |
* exclude as regexp pattern [file patterns] | * exclude as regexp pattern [file patterns] | ||
− | * global ignore patterns ( | + | * global ignore patterns (e.g. cvs/svn) [file patterns on targets] |
* libraries [library group] | * libraries [library group] | ||
* relative paths [paths relative to ecf file location] | * relative paths [paths relative to ecf file location] | ||
− | * actions before/after run/compile ( | + | * actions before/after run/compile (e.g. start a server) [pre-/postcompile actions/tasks] |
* variables [used in locations and for custom conditions] | * variables [used in locations and for custom conditions] | ||
Line 19: | Line 19: | ||
===File pattern=== | ===File pattern=== | ||
− | The file pattern match against the relative path in | + | The file pattern match against the relative path in Unix format in a cluster. |
e.g. if the cluster is in C:\mycluster | e.g. if the cluster is in C:\mycluster | ||
Revision as of 08:44, 6 September 2006
Contents
General ideas
- independent from the platform (windows/unix/.NET) [conditions]
- one file with multiple configurations (e.g. debug, release build) [targets]
- exclude as regexp pattern [file patterns]
- global ignore patterns (e.g. cvs/svn) [file patterns on targets]
- libraries [library group]
- relative paths [paths relative to ecf file location]
- actions before/after run/compile (e.g. 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.