Difference between revisions of "Configuration"

Line 3: Line 3:
 
[[Category:Configuration]]
 
[[Category:Configuration]]
 
== General ideas ==
 
== General ideas ==
* independant from the platform (windows/unix/.NET) [conditions]
+
* independent from the platform (windows/unix/.NET) [conditions]
* one file with multiple configurations (eg. debug, release build) [targets]
+
* 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 (eg. cvs/svn) [file patterns on targets]
+
* 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 (eg. start a server) [pre-/postcompile actions/tasks]
+
* 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 unix format in a cluster.
+
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 09:44, 6 September 2006

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.