Try OpenEdge Now
skip to main content
Online Help
Introducing the Meta Catalog : Reference : OECATALOG utility


The OECATALOG utility is used to administer a master catalog. You might use this command-line utility as part of the build process on the server hosting a source code management system. You can use the utility in a batch script or shell script on Windows, UNIX, and Linux platforms.
Full syntax
oecatalog -set |
-catalog <configuration-file> [<catalog-name> ...]     
-root <root-path>[=<new-path>] [<root-path-2>[=<new-path-2>] ...]
 [-resource <resource-path> [<resource-path-2> ...]
 [-project <project> [<project-2> ...]]     
 [-type <content-type> [<content-type-2>] ...] 
The catalog definitions file, usually called catalog.xml.
The name of a specific definition in the definitions file.
The root path of a project in the catalog.
The new root path where the project has been moved.
The path, either absolute or relative to the -root, where the resource that you want to scan exists.
The project that you want to scan.
is the content type (ANNOTATION, APPSCHEMA, or ABLREFERENCE) for a content builder that you want to use on the resource.
*Use spaces, not commas, to delimit multiple arguments for an option.
*Use double quotes ( " ) to escape spaces in paths.
*You must specify the -catalog and the -root option, and specify either the -set or the -build option.
*The -set option is used to change root paths in the catalog database.
*The -build option is used to update content in the catalog database.
*The -resource, -project, and -type options are optional.
*You can specify the -set, -build, -catalog, -root, -resource, -project in any order.
*You can specify multiple root paths. The projects are assumed to be the directories at the root path location.
*The -resource and -project options are equivalent if a relative path is used. The -project option can validate that the parameters are valid project names.
*If -resource or -project are not specified, then all the projects associated with the catalog in the definition file are processed.
*If -type is not specified, all the content builders associated with a catalog is used.
*When the -type option is specified, it overrides the association of content builders with the catalog. Since the -project and -resource option are equivalent, and it is similar to doing Meta Catalog > Add from within Progress Developer Studio for OpenEdge, a project or resource is added to a catalog only if the project is associated with the catalog.
*If you do not supply the full path in the -catalog option, the utility looks for the file in the local directory.


The following command would add content using all the content builders from all resources in C:\wrk and its subdirectories to all catalogs defined in the catalog definition file:
oecatalog -build -catalog "c:\eclipse\my workspace\catalog.xml"
-root c:\wrk
The following command would only add content from the ABL Annotation content builder to the AnnoteCat catalog defined in the file:
oecatalog -build -catalog "c:\eclipse\my workspace\catalog.xml"
AnnoteCat -root c:\wrk -type ANNOTATION
The following command would add content from a single project to all catalogs defined in the file:
oecatalog -build -catalog "c:\eclipse\my workspace\catalog.xml"
-root c:\wrk -project myProject
The following command would change the root path to C:\openedge\wrk for all resources that were originally on C:\wrk:
oecatalog -set -catalog "c:\eclipse\my workspace\catalog.xml"
-root "c:\wrk=c:\openedge\wrk"
Note: Because of the way Windows batch files handle equal signs ( = ), you should enclose any argument that contains an equal sign in double quotes ( " ).