Titan Core Initial Contribution
[deliverable/titan.core.git] / etc / howto / titan_release_howto.txt
CommitLineData
970ed795
EL
1###############################################################################
2# Copyright (c) 2000-2014 Ericsson Telecom AB
3# All rights reserved. This program and the accompanying materials
4# are made available under the terms of the Eclipse Public License v1.0
5# which accompanies this distribution, and is available at
6# http://www.eclipse.org/legal/epl-v10.html
7###############################################################################
8Preparing for the release\r
9=========================\r
10\r
11Assume that the release date and version (e.g. /2 R1A) are fixed and\r
12clear. The nightly tests were successful for at least three days before\r
13the release date. It was one of our release criterias which not\r
14necessarily valid today. Juli is notified.\r
15\r
16Finishing documents\r
17===================\r
18\r
19A few days before the release Juli sends a list of documents, which need\r
20to be updated. The version numbers need to be set. If a document is no\r
21longer needed use a '/' character instead of a version number. Otherwise,\r
22increase the version number appropriately when a given document is changed,\r
23if not the version number will remain the same. The letter with the proper\r
24version numbers should be sent back to Juli.\r
25\r
26For version CRL 113 200/2 R2A:\r
27\r
28Doc no.... 1095-CRL 113 200/2 Rev. B 120717 *Hist.rev.\r
29Doc resp.. ETH/XZX Des resp.. ETH/XZX Text. N Ready to. R1A\r
30Func des.. TTCN-3 Executor PREL Show prel.(Y/\r
31 PRA,DS4, PR-,DS-,\r
32 A-cd Document number/ + R1A R2A\r
33-- ----- ------------------------------ - FREE---- PREL---- FREE---- PREL\r
34 0 109 21- -1,A -2,A\r
35 1 109 47- A \r
36 1 1/1531- A Installation Guide\r
37 1 3/1531- A Eclipse install.guide\r
38 1 1/198 17- A user guide\r
39 1 2/198 17- A Reference guide\r
40 1 4/198 17- A Eclipse_Designer_userguide\r
41 1 5/198 17- A Eclipse_Executor_userguide\r
42 1 6/198 17- A Apiguide\r
43 1 7/198 17- A UG for TITAN MCTR GUI\r
44\r
45Test doksik:\r
46\r
47A A-cd Document number/+ R1A R2A\r
48--- ----- ------------------------------ - FREE---- PREL---- FREE---- PRE\r
49 3 152 83- A TTCN-3 Executor Test Report\r
50 3 3/152 83- A Test Report for TITAN Designer and TITAN Executor for the Eclipse IDE, TITAN R7.1 project\r
51 3 7/152 91- A Test description - RAW coder \r
52 3 8/152 91- A Test description - BER coder \r
53 3 12/152 91- A Test description of the TTCN-3 Semantic Analyzer: Unknown Object \r
54 3 14/152 91- A Test description of the TTCN-3 Semantic Analyzer: Scope Rules\r
55 3 15/152 91- A Test description of the TTCN-3 Semantic Analyzer: Parameters\r
56 3 16/152 91- A Test description of the TTCN-3 Semantic Analyzer:Type compatibility \r
57 3 17/152 91- A Test description of the TTCN-3 Semantic Analyzer:Values, Value Lists, Ranges, Length, Dimensions, \r
58 3 18/152 91- A Test description of the TTCN-3 Test description of the TTCN-3 Semantic Analyzer: Location of Languag \r
59 3 20/152 91- A Test description of the TTCN-3 Semantic Analyzer: Adhoc tests \r
60 3 21/152 91- A Test Description - Text based coding for TTCN-3 Test Executor \r
61 3 22/152 91- A Test description of the TTCN-3 Semantic Analyzer:Implicit message encoding \r
62 3 23/152 91- A Test Description for TITAN Designer and TITAN Executor for the Eclipse IDE \r
63\r
64The name of the document is additional information in the last column, they look\r
65a bit strange sometimes...\r
66\r
67The PRI contains the list of:\r
68- Solved CRs for the release (using to the Titan worklist)\r
69- Solved TRs for the release (using an MHWeb filter based on the release version)\r
70- Open TRs (using an MHWeb filter)\r
71\r
72The "TTCN-3 Executor Test Report" needs to be updated when the Titan test suite\r
73was modified between releases. It can be found in /function_test/doc.\r
74\r
75All the documents are sent to Juli in .doc format except the test documents, they\r
76need to be converted to .pdf using http://edfs.ericsson.se:8080/edfsweb.\r
77\r
78Releasing and Building Titan\r
79============================\r
80\r
81- Update version numbers in the code and documentation both in Eclipse and the\r
82 compiler. This affects the following files:\r
83 - /Makefile.cfg\r
84 - /common/version.h\r
85 - /eclipse/com.ericsson.titan.executor/src/com/ericsson/titan/executor/executors/jni/LaunchConfigurationDelegate.java\r
86 - /eclipse/com.ericsson.titan.designer/src/com/ericsson/titan/designer/GeneralConstants.java\r
87\r
88- Tag all the source files in the TTCNv3 module:\r
89 cvs tag v2-1-pl0 Makefile* .cvsignore common compiler2 core core2 ctags eclipse\r
90 etc hello help license logbrowser mctr2 repgen usrguide xsdconvert loggerplugins\r
91 (If something goes wrong later the tag can be removed and replaced.)\r
92\r
93- The official Titan package needs to be built on korsch Solaris SPARC 2.6 with gcc\r
94 3.4.6. Be aware that this is a very slow machine without HP support. AFAIK, we don't\r
95 even know the root password of it. If something happens with it... It would be better\r
96 to use one of our Linux platforms as official platform. Solaris going out of fashion.\r
97 The current Makefile.cfg is ready for this Solaris build, everything is in place.\r
98\r
99- Building packages on VMware images can be simplified using Gabor Szalai's scripts\r
100 like build_titan.sh in /mnt/TTCN/Tools/bin. It requires two parameters, one for the\r
101 source directory and one for the target directory. It sets everything in Makefile.cfg.\r
102\r
103Releasing and Building the Eclipse Plugins\r
104==========================================\r
105\r
106An Eclipse installation is necessary, its version is not important, but all\r
107the plugins should run on this version without problem. Check the\r
108documentation for any restriction. The following things make an Eclipse release:\r
109\r
110- Check out the CVS and import all the Titan Eclipse plugins to your workspace\r
111 using "Import" -> "General" -> "Existing Projects into Workspace" and select\r
112 the root directory checked out. Eclipse will automatically create the projects\r
113 for all the plugins (common, designer, executor, help, regressiontests) and\r
114 features (designer, executor, logviewer).\r
115\r
116- Build the plugins using "Build Project", but previously compile all the ANTLR\r
117 grammar files by hand taking care of their dependencies. The ANTLR plugin will\r
118 not handle these dependencies and there will be errors otherwise.\r
119\r
120- Try out the plugins.\r
121\r
122- Update the version number in all of the feature.xml files of the three features,\r
123 then push this new version to the plugins using the "Plug-ins" tab -> "Versions..."\r
124 -> "Force feature version into plug-in and fragment manifests". This needs to be\r
125 done for all of the features. Save all the files and commit the changes to CVS,\r
126 do this before tagging the code base.\r
127\r
128- Copy the documentation (all the PDFs from /usrguide) to the doc directory of\r
129 the help plugin.\r
130\r
131- Upload the plugins to the official update site page:\r
132 http://ttcn.ericsson.se/download/update_site. All the older plugins need\r
133 to remain accessible there as well. The index.html needs to be updated by hand.\r
134 The best way to do this is to copy the whole update site to your local workspace\r
135 and add the three new features (designer, executor, logviewer) to the update\r
136 site project, then rebuild the update site with "Build All". The artifacts.jar,\r
137 content.jar, site.xml will be updated automatically. The three new features\r
138 and five new plugins (common, designer, executor, help, logviewer) will be\r
139 written into them.\r
140\r
141- Three static packages needed for: http://ttcn.ericsson.se/download:\r
142 - TITAN Designer for Eclipse IDE (only the designer)\r
143 - TITAN Executor for Eclipse IDE (only the executor)\r
144 - TITAN Designer and Executor for Eclipse IDE (Designer and Executor merged)\r
145 These are simple archives (.zip) and users with no access to the main update\r
146 site can use these to update their plugins from disk. A separate update site\r
147 project is necessary for each of these packages. The "TITAN Designer for\r
148 Eclipse IDE" contains the logviewer as well... These packages are stored by\r
149 Juli in PRIM together with the official Titan build.\r
150\r
151Final steps\r
152===========\r
153\r
154Juli will release a Titan binary package compiled on Korsch using gcc 3.4.6\r
155and the archived Eclipse plugins and tag them in CC. The tag name for Eclipse\r
156plugins is TITAN_2_R1A and TITAN_2_R1A_GCC3.4.6 for the binary package. When\r
157Juli is ready with this and all the documents are accepted, the release is\r
158officially done. The korsch is used for historical reasons, it would be better to\r
159use a HUB machine for this purpose. The HP has no information about this SPARC\r
160Solaris 2.6 machine, it's very slow and we don't have the root password for it...\r
161\r
162The Eclipse plugins and the binary package should be made available for Juli,\r
163e.g. on HUB:\r
164- From /proj/TTCN/www/ttcn/root/download/docs_for_juli_titan_r10a/Eclipse to /vobs/ttcn/TCC_Releases/Titan/TitanPlugins4Eclipse\r
165- From /proj/TTCN/www/ttcn/root/download/docs_for_juli_titan_r10a/TTCNv3-1.10.pl0-gcc3.4.6 to /vobs/ttcn/TCC_Releases/Titan/Titan_Sol\r
166\r
167TTCNv3-1.10.pl0-gcc3.4.6 is an unzipped Titan installation directory. The\r
168contents of Eclipse:\r
169\r
170Designer/\r
171Designer_and_Executor/\r
172Executor/\r
173\r
174These are the unzipped update site projects.\r
175\r
176Update index.htmls both in /proj/TTCN/www/ttcn/root/download and\r
177/proj/TTCN/www/ttcn/root/download/update_site on HUB and upload PDF documentation,\r
178namely:\r
179- Eclipse_Designer_userguide.pdf\r
180- Eclipse_Executor_userguide.pdf\r
181- Eclipse_installationguide.pdf\r
182- PRI_2_2_A.pdf (Version!)\r
183- apiguide.pdf\r
184- installationguide.pdf\r
185- referenceguide.pdf\r
186- releasenotes.pdf\r
187- userguide.pdf\r
188- userguide_mctr_gui.pdf\r
189\r
190Notifying the users\r
191===================\r
192\r
193Conventionally a release letter is sent for each of our active users found\r
194in our license database. Additionally the release letter is uploaded to the\r
195Titan project page as well: https://ericoll.internal.ericsson.com/sites/\r
196Titan/Lists/Titan%20Announcements/AllItems.aspx.\r
197\r
198A sample release letter can be sent using the system's default mailer for all\r
199the users with active Titan license. The list of these users can be obtained\r
200by an SQL query on any HUB machine:\r
201\r
202mysql -u etccadmi1 -D ttcn3 --host=esekilx0007-sql5.rnd.ki.sw.ericsson.se\r
203--port=3314 -pAsQw1123 -e"SELECT DISTINCT licensee_email FROM licenses\r
204WHERE email_announce = 'Yes' AND valid_until >= CURDATE()"\r
205\r
206The list should be saved into a file and with a simple script the release\r
207letter can be delivered to all of the users one by one. Some years ago it\r
208was sent to a mailing list, but now it's different... You can run this script\r
209on HUB or somwhere else where the mailer is configured correctly:\r
210\r
211for u in `cat 2r2a_users.txt`; do\r
212mail -r ferenc.kovacs@ericsson.com\r
213 -s "Titan CRL 113 200/2 R2A release notification" $u <2r2a_notification.txt;\r
214done\r
215\r
2162r2a_users.txt is coming from the SQL query with a simple stdout redirection,\r
217it's a newline separated list (NOTE! the line endings must be Unix line endings)
218of email addresses iterable with this simple\r
219script. 2r2a_notification.txt can contain the following, ignore version\r
220numbers and features now:\r
221\r
222Titan CRL 113 200/2 R1A release notification\r
223\r
224Dear TTCN-3 User,\r
225\r
226We would like to announce that version CRL 113 200/2 R1A (2.1.pl0) of Titan\r
227TTCN-3 Test Executor was released.\r
228\r
229The new features besides the bugfixes are:\r