bake-toolkit 1.0.24 → 1.0.25

Sign up to get free protection for your applications and to get access to all the features.
data/doc/dyk/keys.png ADDED
Binary file
@@ -0,0 +1,51 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
+ <html>
3
+ <head>
4
+ <title>Documentation of the bake-tookit</title>
5
+ <style type="text/css">
6
+ #rundrum {
7
+ border-width:1px;
8
+ border-style:dashed;
9
+ border-color:blue;
10
+ padding:0.2cm;
11
+ text-align:justify; }
12
+ }
13
+ </style>
14
+ </head>
15
+ <body>
16
+ <h1>Tipps and Tricks</h1>
17
+
18
+ <h3>Syntax highlighting</h3>
19
+ To enable syntax highlighting for the Project.meta files in Eclipse, install the "rtext_eclipse_plugin" (Help->Install New Software...) and associate ".meta" files with the rtext editor (Window->Preferences, File Associations page).<br>
20
+ An update site for Eclipse (needed for installation) will be provided soon. For now, you can download it manually at github.
21
+
22
+ <h3>Key bindings</h3>
23
+ It is possible to bind the bake commands to keys.<p>
24
+ <img src="keys.png"/><br>
25
+
26
+ <h3>Unnecessary includes</h3>
27
+ If a library or executable is successfully build with "-v", unnecessary includes are printed out:
28
+ <pre id="rundrum"><code>Info: Include to ../sub1/include/ seems to be unnecessary
29
+ Info: Include to ../sub2/include/ seems to be unnecessary</code></pre>
30
+
31
+ This features depends on the compiler dependency files. For projects with assembler files, the list might be incorrect.<br>
32
+ However, remove the IncludeDir statements from the Project.meta and check it out.
33
+
34
+ <h3>Symlinks and junctions</h3>
35
+ It is possible to use symlinks (Linux) or junctions (Windows) when working with git. Best practice:
36
+ <ul>
37
+ <li>Link all used projects into <i>one</i> directory (e.g. from application repository and basis software repository).
38
+ <li>Use this directory when working with bake, Eclipse, etc.
39
+ <li>Specify "-w <i>absolute_path_to_working_dir</i>.
40
+ <li>To sync/commit from/to svn, use the original directories created by git.
41
+ </ul>
42
+
43
+ <h3>Single file</h3>
44
+ If you want to build a single file, you have to specify it like that:
45
+ <pre id="rundrum"><code>bake -b Debug -f src/abc/MyFile.cpp</pre></code>
46
+ No need to type so much! If it's not ambiguous, it's enough to specify parts of the filename like this:
47
+ <pre id="rundrum"><code>bake -b Debug -f abc/MyFile.cpp
48
+ bake -b Debug -f MyFile.cpp</code></pre>
49
+ </body>
50
+
51
+ </html>
@@ -0,0 +1,39 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
+ <html>
3
+ <head>
4
+ <title>Documentation of the bake-tookit</title>
5
+ </head>
6
+ <body>
7
+ <h1>How to convert existing CDT workspaces</h1>
8
+ You only need to convert your workspace if CDT is still used to build your projects and the Project.meta files do not exist yet.<br>
9
+ Only <b>one</b> developer in a team has to convert the workspace only <b>once</b>!
10
+ <p>
11
+ Conversion means, that Project.meta files are generated and filled with the informationen from the .project and .cproject files. bake does not read the .project and .cproject files, only the Project.meta files.
12
+ <p>
13
+ The converter is an export wizard, which can be found under "File->Export" or in the context menu of the Project Explorer:<p>
14
+ <img src="export/Select.png"/>
15
+ <img src="export/Script.png"/>
16
+ <p>
17
+ <b>Please note the following things:</b>
18
+ <ul>
19
+ <li>The conversion is <b>not a 1:1 conversion</b>. That means, that the tool can only be 99% perfect. There might by some small issues, which have to be adapted manually. You can find it out by simply trying to build your project with bake.
20
+ <li>It is possible to specify a <b>ruby script</b> in the wizard window, which can do these manual adaptions. This can make sense, if you want to convert the workspace several times before completely switching to bake.
21
+ <li>To convert only a <b>subset of projects</b> instead of the whole workspace, select the appropriate projects in the Project Explorer before starting the export wizard. Ensure that the checkbox shown above is marked.
22
+ <li>If you are satisfied with the results, <b>replace</b> the .cproject and .project files in your repository.<p>
23
+ <table border="1">
24
+ <tr>
25
+ <td bgcolor="#CCCCCC"> Steps to do with .cproject and .project files </td>
26
+ </tr>
27
+ <tr><td>delete the files</td></tr>
28
+ <tr><td>remove the projects from your workspace in Eclipse (but do not delete the contents from your disk)</td></tr>
29
+ <tr><td>import the projects again via the bake import wizard to generate wrapper files for Eclipse</td></tr>
30
+ <tr><td>commit the change to your source control system</td></tr>
31
+ </table>
32
+ <p>
33
+ <b>Do not commit these .project and .cproject files anymore.</b> Instead, commit the changes in Project.meta files.<br>
34
+ You still need .cproject and .project files for working under Eclipse, that's why you have to import the projects again via the bake import wizard.
35
+ </ul>
36
+
37
+ </body>
38
+
39
+ </html>
@@ -0,0 +1,29 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
+ <html>
3
+ <head>
4
+ <title>Documentation of the bake-tookit</title>
5
+ </head>
6
+ <body>
7
+ <h1>How to create a workspace in Eclipse </h1>
8
+ <h2>General note</h2>
9
+
10
+ Using bake in Eclipse is very similar compared to the CDT build mechanism.
11
+ <p>
12
+ One major difference is, that .cproject and .project files are just wrappers. Do not use the standard property pages, they will be simply ignored! <b>Edit only the Project.meta files.</b><br>
13
+ <b>The .cproject and .project files shall not be committed to your source control.</b>
14
+ However, you may commit .cproject and .project files with an empty dummy configuration <b>once</b> to avoid the following importing step for future checkouts.
15
+
16
+ <h2>Import</h2>
17
+
18
+ If you have a workspace with no .cproject and .project files, but Project.meta files, you can import them to Eclipse.
19
+ You can also use the importer to import single projects.
20
+
21
+ The importer can be found unter File->Import or in the context menu of the Project Explorer.<br>
22
+
23
+ All (sub)directories with a Project.meta are listed here. Choose the projects to import and press Finish.<p>
24
+ <img src="import/Select.png"/>
25
+ <img src="import/Import.png"/><br>
26
+
27
+ </body>
28
+
29
+ </html>
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
+ <html>
3
+ <head>
4
+ <title>Documentation of the bake-tookit</title>
5
+ </head>
6
+ <body>
7
+ <h1>How to install bake Eclipse integration</h1>
8
+ The bake Eclipse integration plugin is available on a E.S.R.Labs update site. Please follow the steps below to install the plugin.<br>
9
+ <p>
10
+ Go to "Help" -> "Install New Software":<br>
11
+ <img src="install/InstallNewSoftware.png"/><p>
12
+ Setup the update site:<br>
13
+ <img src="install/AddRepository.png"/><p>
14
+ Location:
15
+ <pre><code>http://www.esrlabs.com/eclipse-plugins/com.esrlabs.eclipse.bake.updatesite/</code></pre>
16
+ Choose the bake Feature:<br>
17
+ <img src="install/AvailableSoftware.png"/><p>
18
+ Accept the license after reading it:<br>
19
+ <img src="install/Licenses.png"/><p>
20
+ Ignore the security warning - you can trust the software:<br>
21
+ <img src="install/TrustMe.png"/><p>
22
+ After successfull installation, restart Eclipse:<br>
23
+ <img src="install/Restart.png"/><p>
24
+ </body>
25
+
26
+ </html>
@@ -0,0 +1,17 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
+ <html>
3
+ <head>
4
+ <title>Documentation of the bake-tookit</title>
5
+ </head>
6
+ <body>
7
+ <h1>How to create a project in Eclipse</h1>
8
+ This is very easy. Navigate to File->New->Other and choose bake Project:<p>
9
+ <img src="new/Select.png"/>
10
+ <img src="new/New.png"/><br>
11
+ Choose a name. If you have more than one workspace root, you can also choose a location.
12
+ <p>
13
+ A new folder with three files will be created. .cproject and .project wrapper files for Eclipse and an almost empty Project.meta which can be filled with build configurations:<p>
14
+ <img src="new/Result.png"/>
15
+ </body>
16
+
17
+ </html>
@@ -0,0 +1,56 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
+ <html>
3
+ <head>
4
+ <title>Documentation of the bake-tookit</title>
5
+ </head>
6
+ <body>
7
+ <h1>How to use bake in Eclipse</h1>
8
+ <h2>Choose the C/C++ perspective</h2>
9
+
10
+ The menu items described on this page only appear in the C/C++ perspective.
11
+
12
+ <h2>Select a build configuration of the main project</h2>
13
+ Right click on the main project and select a bake build configuration. Note, that only configurations with a DefaultToolchain will be displayed.<p>
14
+ <img src="select/FirstSelect.png"/><p>
15
+ If no Project.meta or configuration with a DefaultToolchain exist, an error item will be displayed like this:<p>
16
+ <img src="select/WrongSelect.png"/><p>
17
+ The chosen config is marked with a filled circle before the config name.You can also see it directly in the project explorer:<p>
18
+ <img src="select/SecondSelect.png"/><p>
19
+ <p>
20
+ This label decoration can be switched off and on via Window->Preferences->General->Appearance->Label Decorations.
21
+
22
+ <h2>Adjust includes for CDT</h2>
23
+
24
+ As you might have already seen, a new menu item for the main project is enabled now: Adjust includes for CDT.<br>
25
+ All CDT features work out-of-the-box except those about the #include statements e.g. auto-completion of includes. To import the "bake includes" into the CDT .cproject files, simply click on this menu item.<br>
26
+ <b>This is not a must, it's just convenience.</b><br>
27
+ Note: importing can take between a few seconds and a minute depending on the size of the workspace and the number of project settings which have to be written.<br>
28
+
29
+ <h2>Build/Clean Projects/Files</h2>
30
+
31
+ Now you can build or clean a project by clicking on the appropriate menu items.<p>
32
+ <table border="1">
33
+ <tr>
34
+ <th bgcolor="#CCCCCC">Project</th>
35
+ <th bgcolor="#CCCCCC">File (note: Build File always rebuilds the file)</th>
36
+ </tr>
37
+ <tr>
38
+ <td><img src="build/buildMain.png"/></td>
39
+ <td><img src="build/buildFile.png"/></td>
40
+ </tr>
41
+ </table>
42
+
43
+
44
+
45
+ <h2>Result</h2>
46
+
47
+ The result of the build will be shown in the Console and Problems View as usual:<p>
48
+ <img src="build/console.png"/><p>
49
+ <img src="build/problem.png"/><br>
50
+
51
+ <h2>Preferences</h2>
52
+ Via Window->Preferences->bake some settings can be changed and the bake command line can be extended:<p>
53
+ <img src="misc/pref.png"/>
54
+ </body>
55
+
56
+ </html>
@@ -0,0 +1,160 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
+ <html>
3
+ <head>
4
+ <title>Documentation of the bake-tookit</title>
5
+
6
+ </head>
7
+ <body>
8
+ <h1>Changelog</h1>
9
+
10
+ January 21, 2014 - bake-toolkit 1.0.25<br>
11
+ <ul>
12
+ <li><b>Added: configs can now be inherited</b>
13
+ <li><b>Changed: dependency files for Greenhills compiler will be generated with -MD instead of -MMD</b>
14
+ </ul>
15
+
16
+ September 10, 2013 - bake-toolkit 1.0.24<br>
17
+ <ul>
18
+ <li><b>Changed: Improved Keil linker error parser.</b>
19
+ </ul>
20
+
21
+ September 9, 2013 - bake-toolkit 1.0.23<br>
22
+ <ul>
23
+ <li><b>Added: Keil support.</b>
24
+ <li><b>Bugfix: minor fixes.</b>
25
+ </ul>
26
+
27
+ August 21, 2013 - bake-toolkit 1.0.22<br>
28
+ <ul>
29
+ <li><b>Bugfix: Searching for project folders did not work correctly.</b>
30
+ </ul>
31
+
32
+ August 20, 2013 - Eclipse plugin 1.0.5.0<br>
33
+ <ul>
34
+ <li><b>Bugfix: Adjust includes in CDT is working again after Java Update.</b>
35
+ </ul>
36
+
37
+ August 1, 2013 - bake-toolkit 1.0.21<br>
38
+ <ul>
39
+ <li><b>Bugfix: projects folders which are junctions were not found anymore after the last update.</b>
40
+ </ul>
41
+
42
+ July 25, 2013 - bake-toolkit 1.0.20, Eclipse plugin 1.0.4.0<br>
43
+ <ul>
44
+ <li><b>Added: projects can be placed more than one level below workspaces roots</b>
45
+ </ul>
46
+
47
+ June 21, 2013 - bake-toolkit 1.0.19<br>
48
+ <ul>
49
+ <li><b>Added: support for GreenHills compiler.</b>
50
+ </ul>
51
+
52
+ May 29, 2013 - bake-toolkit 1.0.18<br>
53
+ <ul>
54
+ <li><b>Bugfix: typo in require, which has broken bake in case sensitive file systems.</b>
55
+ </ul>
56
+
57
+ May 28, 2013 - bake-toolkit 1.0.17<br>
58
+ <ul>
59
+ <li><b>Bugfix: error levels greater than 255 of external processes were not be recognized correctly in some cases.</b>
60
+ </ul>
61
+
62
+ May 16, 2013 - Eclipse plugin 1.0.2.0<br>
63
+ <ul>
64
+ <li><b>Bugfix: bake did not start correctly with latest Java version installed.</b>
65
+ </ul>
66
+
67
+ April 22, 2013 - bake-toolkit 1.0.16<br>
68
+ <ul>
69
+ <li><b>Changed: default roots of bakery are now directory of Collection.meta and it's parent directory.</b>
70
+ </ul>
71
+
72
+ April 19, 2013 - bake-toolkit 1.0.15<br>
73
+ <ul>
74
+ <li><b>Bugfix: bakery could not build projects with spaces in oathname.</b>
75
+ </ul>
76
+
77
+ April 19, 2013 - bake-toolkit 1.0.13<br>
78
+ <ul>
79
+ <li><b>Bugfix: some bake options specified on bakery command line were not accepted.</b>
80
+ </ul>
81
+
82
+ April 17, 2013 - bake-toolkit 1.0.12<br>
83
+ <ul>
84
+ <li><b>Changed: Output folders are not deleted and rebuilt if no source files are available but the archive file.</b>
85
+ <li><b>Added: Option --clobber deletes .bake cache file.</b>
86
+ <li><b>Added: Collections can reference collections.</b>
87
+ <li><b>Added: collection names can be specified without typing "-b"</b>
88
+ </ul>
89
+
90
+ April 4, 2013 - bake-toolkit 1.0.11<br>
91
+ <ul>
92
+ <li><b>Bugfix: Executing batch files in CommandLine on Windows were broken.</b>
93
+ </ul>
94
+
95
+ April 2, 2013 - bake-toolkit 1.0.10<br>
96
+ <ul>
97
+ <li><b>Bugfix: options "--toolchain_names" now working as intended</b>
98
+ <li><b>Bugfix: default flags for makefiles (-j) no longer ignored</b>
99
+ <li><b>Changed: flags for makefiles are now defined in subtags instead in attributes to be consistent with other flag definitions</b>
100
+ <li><b>Added: ".." in Files and ExcludeFiles now allowed</b>
101
+ <li><b>Added: command line switch to turn off "directory magic"</b>
102
+ <li><b>Added: build config can be specified without typing "-b"</b>
103
+ <li><b>Cosmetic: better error output if compiler not found</b>
104
+ </ul>
105
+
106
+ March 22, 2013 - bake-toolkit 1.0.9<br>
107
+ <ul>
108
+ <li><b>Cosmetic: Changed option --print_less to -v0 and -v to -v2. Default is -v1.</b>
109
+ </ul>
110
+
111
+ March 7, 2013 - bake-toolkit 1.0.8<br>
112
+ <ul>
113
+ <li><b>Added: Linkerscript can be referenced from other projects</b>
114
+ </ul>
115
+
116
+ February 13, 2013 - bake-toolkit 1.0.7<br>
117
+ <ul>
118
+ <li><b>Added: OS dependent variable $(/)</b>
119
+ </ul>
120
+
121
+ January 21, 2013 - bake-toolkit 1.0.6<br>
122
+ <ul>
123
+ <li><b>Added: support for Visual Studio</b>
124
+ </ul>
125
+
126
+ January 15, 2013 - bake-toolkit 1.0.5<br>
127
+ <ul>
128
+ <li><b>Changed: no indirect dependency to progressbar gem anymore</b>
129
+ </ul>
130
+
131
+ January 14, 2013 - bake-toolkit 1.0.4<br>
132
+ <ul>
133
+ <li><b>Added: a new cache validation check.</b>
134
+ </ul>
135
+
136
+ January 2, 2013 - bake-toolkit 1.0.3<br>
137
+ <ul>
138
+ <li><b>Bugfix: option to build a single file did not accept a filename with absolute path.</b>
139
+ </ul>
140
+
141
+ October 7, 2012 - bake-toolkit 1.0.2<br>
142
+ <ul>
143
+ <li><b>Changed: Renamed gem from "bake" to "bake-toolkit".</b>
144
+ </ul>
145
+
146
+ September 18, 2012 - bake 1.0.1<br>
147
+ <ul>
148
+ <li><b>Changed: bake now based on rgen 0.6.0 and rtext 0.2.0, which are available on rubygems.</b>
149
+ </ul>
150
+
151
+ August 31, 2012 - bake 1.0.0<br>
152
+ <ul>
153
+ <li><b>First official release</b>
154
+ </ul>
155
+
156
+ <table>
157
+
158
+ </body>
159
+
160
+ </html>
@@ -0,0 +1,21 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
+ <html>
3
+ <head>
4
+ <title>Documentation of the bake-tookit</title>
5
+ </head>
6
+ <body>
7
+ <h1>bakery</h1>
8
+ <ul>
9
+ <li>bakery is part of the bake-toolkit distribution and it is used to build several independent projects at once.
10
+ <li>It's very useful for e.g. compiling and running all unit tests.
11
+ <li>The collections are specified in Collection.meta files.
12
+ </ul>
13
+
14
+ <h2>Guidelines</h2>
15
+ <ul>
16
+ <li><a href="bakery/cmd.html">How to use bakery on command line</a><br>
17
+ <li><a href="bakery/syntax.html">Syntax of Collection.meta</a>
18
+ </ul>
19
+ </body>
20
+
21
+ </html>
@@ -0,0 +1,42 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
+ <html>
3
+ <head>
4
+ <title>Documentation of the bake-tookit</title>
5
+ </head>
6
+ <body>
7
+ <h1>Internal developing notes</h1>
8
+
9
+ <h2>Socket</h2>
10
+
11
+ If command line option --socket is used, bake tries to connect to the given port on localhost.
12
+
13
+ <h3>send</h3>
14
+
15
+ <h4>Header</h4>
16
+ 1 Byte: Type<br>
17
+ 4 Byte: Length (used to discard the paket if type is unknown to the listening application)<br>
18
+
19
+ <h4>Error packet (type 0x01)</h4>
20
+ 4 Byte: Length filename, project name<br>
21
+ x Byte: filename, project name<br>
22
+ 4 Byte: line number (can be 0)<br>
23
+ 1 Byte: severity (0x00 = info, 0x01 = warning, 0x02 = error, 0xFF = ok)<br>
24
+ x Byte: message (length = rest of packet)<br>
25
+
26
+ <h4>Starting build packet (type 0x0A)</h4>
27
+ 4 Byte: Length project name<br>
28
+ x Byte: project name<br>
29
+ 4 Byte: Length config name<br>
30
+ x Byte: config name<br>
31
+ 4 Byte: number of projects in this build (greater than 0)<br>
32
+
33
+ <h4>Building project packet</h4>
34
+ Same as Starting build packet, except number of projects = 0<br>
35
+
36
+ <h3>receive</h3>
37
+
38
+ If a byte is received, the build will be aborted.
39
+
40
+ </body>
41
+
42
+ </html>