ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/doc/html/node46.html
Revision: 1.1
Committed: Mon Nov 18 17:50:02 2002 UTC (22 years, 6 months ago) by sashby
Content type: text/html
Branch: MAIN
CVS Tags: V1_pre0, V0_19_7
Branch point for: SCRAM_V1_BRANCH
Log Message:
Generated and added HTML documentation.

File Contents

# User Rev Content
1 sashby 1.1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
2    
3     <!--Converted with jLaTeX2HTML 2002 (1.62) JA patch-1.4
4     patched version by: Kenshi Muto, Debian Project.
5     LaTeX2HTML 2002 (1.62),
6     original version by: Nikos Drakos, CBLU, University of Leeds
7     * revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
8     * with significant contributions from:
9     Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
10     <HTML>
11     <HEAD>
12     <TITLE>3.8 Creating SCRAM Project Files</TITLE>
13     <META NAME="description" CONTENT="3.8 Creating SCRAM Project Files">
14     <META NAME="keywords" CONTENT="SCRAM">
15     <META NAME="resource-type" CONTENT="document">
16     <META NAME="distribution" CONTENT="global">
17    
18     <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
19     <META NAME="Generator" CONTENT="jLaTeX2HTML v2002 JA patch-1.4">
20     <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
21    
22     <LINK REL="STYLESHEET" HREF="SCRAM.css">
23    
24     <LINK REL="previous" HREF="node45.html">
25     <LINK REL="up" HREF="node17.html">
26     <LINK REL="next" HREF="node47.html">
27     </HEAD>
28    
29     <BODY bgcolor="beige" >
30     <!--Navigation Panel-->
31     <A NAME="tex2html982"
32     HREF="node47.html">
33     <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
34     SRC="file:/usr/share/latex2html/icons/next.png"></A>
35     <A NAME="tex2html976"
36     HREF="node17.html">
37     <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
38     SRC="file:/usr/share/latex2html/icons/up.png"></A>
39     <A NAME="tex2html972"
40     HREF="node45.html">
41     <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
42     SRC="file:/usr/share/latex2html/icons/prev.png"></A>
43     <A NAME="tex2html978"
44     HREF="node2.html">
45     <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
46     SRC="file:/usr/share/latex2html/icons/contents.png"></A>
47     <A NAME="tex2html980"
48     HREF="node85.html">
49     <IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index"
50     SRC="file:/usr/share/latex2html/icons/index.png"></A>
51     <BR>
52     <B> Next:</B> <A NAME="tex2html983"
53     HREF="node47.html">4. Configuring the CVS</A>
54     <B> Up:</B> <A NAME="tex2html977"
55     HREF="node17.html">3. Creating and Maintaining</A>
56     <B> Previous:</B> <A NAME="tex2html973"
57     HREF="node45.html">3.7 Advanced Use of</A>
58     &nbsp <B> <A NAME="tex2html979"
59     HREF="node2.html">Contents</A></B>
60     &nbsp <B> <A NAME="tex2html981"
61     HREF="node85.html">Index</A></B>
62     <BR>
63     <BR>
64     <!--End of Navigation Panel-->
65    
66     <H1><A NAME="SECTION00480000000000000000"></A><A NAME="sec:creatingscramprojectconf"></A><A NAME="1075"></A>
67     <BR>
68     3.8 Creating SCRAM Project Files
69     </H1>
70     A <SMALL>SCRAM</SMALL>&nbsp;project must have, at least, the following configuration
71     files in a configuration directory to properly define the project:
72     <DL>
73     <DT><STRONG><TT>BootStrapFile</TT></STRONG></DT>
74     <DD>
75     <BR>
76     For bootstrapping the project. This will relate a specific project
77     version with the relevant source code version and define a
78     requirements file.
79     </DD>
80     <DT><STRONG><TT>RequirementsDoc</TT></STRONG></DT>
81     <DD>
82     <BR>
83     The requirements file containing information to be passed to the
84     configuration manager for setting up external tools.
85     </DD>
86     <DT><STRONG><TT>BuildFile</TT></STRONG></DT>
87     <DD>
88     <BR>
89     The top-level <TT>BuildFile</TT>, containing project-wide default settings for
90     export of external tools, build product storage and
91     architecture/compiler settings.
92     </DD>
93     </DL>
94    
95     <P>
96     These files are normally kept in a directory called
97     <A NAME="1876"></A>
98     <A NAME="1086"></A>
99     <TT>config</TT> (the name of the directory can be changed using a
100     directive in the <TT>BootStrapFile</TT>). A <SMALL>SCRAM</SMALL>&nbsp;command exists
101     which can be used to grab basic template files for a new project.
102     Typing
103    
104     <P>
105     <TT>scram project template</TT>
106    
107     <P>
108     will download some basic project configuration files to a
109     directory called <TT>config</TT> in the current directory. These
110     should be edited to suit and imported into the project CVS repository
111     (see Chapter&nbsp;<A HREF="node47.html#ch:configuringCVSinf">4</A>). Once these configuration
112     files exist, they must be tagged with a CVS symbolic tag that matches the name
113     and version of the project (for example <TT>myProject_1_0</TT>).
114     All project source code must have the same global CVS tag (this is
115     especially important if you want the bootstrap mechanism to also
116     download source code).
117    
118     <P>
119     Creating the project area is very easy- just type the command
120    
121     <P>
122     <TT>scram project file:config/BootStrapFile</TT>
123    
124     <P>
125     indicating the location of the bootstrap file after the <TT>file:</TT>
126     statement, and that's it. <SMALL>SCRAM</SMALL>&nbsp;will set up the tools automatically
127     using the settings in the default lookup file
128     (<TT>config/site/tools.conf</TT>) or whichever lookup file is specified.
129    
130     <P>
131     Two subdirectories are created in the project area as part of the
132     initialisation: <TT>config</TT> and <TT>.SCRAM</TT>. All files used
133     for bootstrapping and the build system are contained in
134     <TT>config</TT>, downloaded directly from the CVS repository. The
135     important project information is contained in the <TT>.SCRAM</TT>
136     subdirectory
137     <A NAME="sec:dotSCRAMcontents"></A><A NAME="1877"></A> so this must not be renamed or
138     deleted. A closer look at the contents of <TT>.SCRAM</TT> reveals the
139     following directories and files:
140    
141     <P>
142     <PRE>
143     ObjectDB/
144     Environment
145     cache/
146     ToolFiles/
147     Linux__2.2/
148     </PRE>
149     <P>
150     The directories <TT>ObjectDB</TT>, <TT>cache</TT> and
151     <TT>ToolFiles</TT> store tool description files as they are downloaded
152     from the CVS repository prior to being parsed by the setup mechanism.
153     Once each tool has been configured for use in the current environment,
154     a file is created in a directory for the architecture (in this example,
155     the architecture is <TT>Linux__2.2</TT>). The file
156     <TT>Environment</TT> contains information required about the project
157     by <SMALL>SCRAM</SMALL>&nbsp;. The file content for project <TT>COBRA</TT> version
158     <TT>COBRA_6_3_0</TT> looks like this:
159    
160     <P>
161     <PRE>
162     SCRAM_PROJECTNAME=COBRA
163     SCRAM_PROJECTVERSION=COBRA_6_3_0
164     projconfigdir=config
165     SCRAM_ProjReqsDoc=config/RequirementsDoc
166     </PRE>
167     <P>
168     If a project area was created (`cloned') from an
169     existing project release, there will also be an entry like
170     <A NAME="1880"></A>
171     <PRE>
172     RELEASETOP=/afs/cern.ch/cms/Releases/COBRA/COBRA_6_3_0
173     </PRE>
174     <P>
175     informing <SMALL>SCRAM</SMALL>&nbsp;that a central area containing libraries and
176     header files should be used first, before any of the contents of the
177     current developer area.
178    
179     <P>
180     <HR>
181     <!--Navigation Panel-->
182     <A NAME="tex2html982"
183     HREF="node47.html">
184     <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
185     SRC="file:/usr/share/latex2html/icons/next.png"></A>
186     <A NAME="tex2html976"
187     HREF="node17.html">
188     <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
189     SRC="file:/usr/share/latex2html/icons/up.png"></A>
190     <A NAME="tex2html972"
191     HREF="node45.html">
192     <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
193     SRC="file:/usr/share/latex2html/icons/prev.png"></A>
194     <A NAME="tex2html978"
195     HREF="node2.html">
196     <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
197     SRC="file:/usr/share/latex2html/icons/contents.png"></A>
198     <A NAME="tex2html980"
199     HREF="node85.html">
200     <IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index"
201     SRC="file:/usr/share/latex2html/icons/index.png"></A>
202     <BR>
203     <B> Next:</B> <A NAME="tex2html983"
204     HREF="node47.html">4. Configuring the CVS</A>
205     <B> Up:</B> <A NAME="tex2html977"
206     HREF="node17.html">3. Creating and Maintaining</A>
207     <B> Previous:</B> <A NAME="tex2html973"
208     HREF="node45.html">3.7 Advanced Use of</A>
209     &nbsp <B> <A NAME="tex2html979"
210     HREF="node2.html">Contents</A></B>
211     &nbsp <B> <A NAME="tex2html981"
212     HREF="node85.html">Index</A></B>
213     <!--End of Navigation Panel-->
214     <ADDRESS>
215     scram-developers@cern.ch
216     </ADDRESS>
217     </BODY>
218     </HTML>