| 91 | The build result is located in the ''WebKitBuild'' directory. ''Release'' builds will be place under ''WebKitBuild/Release''' while Debug builds will be placed under ''WebKitBuil/Debug''. |
| 92 | |
| 93 | As you should know by now, building dependencies will typically be gotten with the help of ''jhbuild''. The default command for this, as explained in BuildingGtk is: |
| 94 | {{{ |
| 95 | #!sh |
| 96 | $ Tools/Scripts/update-webkitgtk-libs |
| 97 | }}} |
| 98 | |
| 99 | This command will clean current dependencies tree. Therefore, if you only want to perform an action on a certain module it would be better to do it directly using jhbuild. For example: |
| 100 | {{{ |
| 101 | #!sh |
| 102 | $ Tools/jhbuild/jhbuild-wrapper --gtk buildone -f cairo |
| 103 | }}} |
| 104 | |
| 105 | The result of building the dependencies will be placed under ''WebKitBuild/Dependencies''. |
| 106 | |
| 107 | Similarly, if we have peformed changes in the code, in BuildingGtk we have seen that the script to perform a build is: |
| 108 | {{{ |
| 109 | #!sh |
| 110 | $ Tools/Scripts/build-webkit --gtk |
| 111 | }}} |
| 112 | |
| 113 | Now, if we want just to manuall build our changes or only certain targets, we can get into the ''jhbuild'' environment with |
| 114 | {{{ |
| 115 | #!sh |
| 116 | $ Tools/jhbuild/jhbuild-wrapper --gtk shell |
| 117 | }}} |
| 118 | |
| 119 | And manually invoke ''make'': |
| 120 | {{{ |
| 121 | #!sh |
| 122 | $ cd WebKitBuild/Release |
| 123 | $ make |
| 124 | }}} |
| 125 | |
| 126 | Or, if we just want to rebuild MiniBrowser: |
| 127 | {{{ |
| 128 | #!sh |
| 129 | $ cd WebKitBuild/Release |
| 130 | $ make Programs/MiniBrowser |
| 131 | }}} |
| 132 | |
| 133 | |
| 134 | === Keeping up to date === |
| 135 | |
| 136 | WebKit development happens at a high speed. Most of the changes won't have a real impact on the feature or bug you are actually fixing while usually would mean rebuilding huge parts of the code. Therefore, it is better not to rebase master to our working branch too often. |
| 137 | |
| 138 | Usually, you would want to rebase your work only when you have completed the task, but be also aware of parallel work that may affect your code. Plan ahead when you'll have a free slot of time in which to rebase and compile again as it will probably take several minutes. |
| 139 | |
| 140 | |
| 141 | === Testing === |
| 142 | |
| 143 | WebKit provides a really complete set of tets to check the code and your changes. You can get more information about them in WebKitGtkLayoutTests. |
| 144 | |
| 145 | In addition, you may want to check your changes in an actual application. WebKit provides a dummy browser in which to do so. GTK+ port actually has GtkLauncher, featuring WebKit1 and MiniBrowser, featuring WebKit2. |
| 146 | |
| 147 | * To run GtkLauncher: |
| 148 | {{{ |
| 149 | #!sh |
| 150 | $ Tools/Scripts/run-launcher --gtk |
| 151 | }}} |
| 152 | * To run @MiniBrowser@ (WebKit2): |
| 153 | {{{ |
| 154 | #!sh |
| 155 | $ Tools/Scripts/run-launcher --gtk -2 |
| 156 | }}} |
| 157 | |
| 158 | Of course, this can be done also manually from the ''jhbuild'' shell: |
| 159 | {{{ |
| 160 | #!sh |
| 161 | $ Tools/jhbuild/jhbuild-wrapper --gtk shell |
| 162 | $ WebKitBuild/Release/Programs/GtkLauncher & |
| 163 | $ WebKitBuild/Release/Programs/MiniBrowser & |
| 164 | }}} |