Warning: |
GNOME Goal: Validate GtkBuilder Files
Introduction
This GnomeGoal is inspired by the Murray's blog post about add validation tests to our GtkBuilder files.
GtkBuilder files are XML valid files, so we can use XML validation tools to verify them (It would be great to have a GtkBuilder DTD so this can be more useful)
The tests will be run when doing make check and make distcheck.
Guidelines
Simply add the test_gtkbuilder_file_validation.sh script to your autotools configuration:
#/bin/sh -e which xmllint >/dev/null 2>&1 if [ $? -ne 0 ]; then echo "xmllint not installed. Please install it." exit 1 fi for x in `find ${srcdir}/glom/ -name "*.ui"` do echo Validating $x xmllint --noout $x || exit 1 done
and replace ${srcdir}/glom/ with the directory where you store your GtkBuilder files
Take a look to the original script or to this giggle commit as an example.
Comments before approval
Add your comments to this goal proposal here |
Wouldn't it be better to have this check shipped in GTK+ as an M4 macro, along with a DTD for GtkBuilder files, so that we don't get duplication of this code in each repository? -- PhilipWithnall 2010-04-08 08:49:56
See this e-mail for a better method. Also, GTK+ now has the gtk-builder-tool utility program (or gtk4-builder-tool for GTK+ 4), which can also validate GtkBuilder files. -- SébastienWilmet (2017)
The general consensus in this mail thread was to approve this goal, provided that someone updates the instructions and update the list of modules. -- SébastienWilmet (2017)
Status of this goal
Tip: If you choose to work on a module, create the bug report on the GNOME bugzilla for the relevant module, and make it block bug <<insert here a link to the tracker bug>>. This way people will know someone already works on it, and won't duplicate the work you're doing. |
State |
Markup |
todo |
<: #ff8080> todo |
patch |
<: #ffcc50> [[GnomeBug:xxxxx|patch]] |
done |
<: #80ff80> [[GnomeBug:xxxxx|done]] |
not needed |
<: #80ff80> not needed |
Above are the states and corresponding markup to update the modules state table below.
Tarball |
Status |
Desktop |
|
alacarte |
to do |
brasero |
to do |
bug-buddy |
to do |
to do |
|
dasher |
to do |
to do |
|
to do |
|
to do |
|
to do |
|
to do |
|
to do |
|
evolution-data-server |
to do |
to do |
|
evolution-exchange |
to do |
evolution-mapi |
to do |
evolution-webcal |
to do |
file-roller |
to do |
gcalctool |
to do |
gconf-editor |
to do |
to do |
|
to do |
|
to do |
|
gnome-backgrounds |
to do |
to do |
|
gnome-control-center |
to do |
gnome-desktop |
to do |
gnome-desktop-sharp |
to do |
gnome-disk-utility |
to do |
to do |
|
to do |
|
gnome-icon-theme |
to do |
gnome-keyring |
to do |
gnome-netstatus |
to do |
gnome-nettool |
to do |
gnome-mag |
to do |
to do |
|
gnome-menus |
to do |
gnome-packagekit |
to do |
to do |
|
gnome-power-manager |
to do |
gnome-python-desktop |
to do |
to do |
|
gnome-session |
to do |
gnome-settings-daemon |
to do |
gnome-sharp |
to do |
to do |
|
gnome-system-monitor |
to do |
to do |
|
gnome-terminal |
to do |
to do |
|
gnome-user-docs |
to do |
gnome-user-share |
to do |
to do |
|
to do |
|
to do |
|
gst-plugins-base |
to do |
gst-plugins-good |
to do |
to do |
|
gtkhtml |
to do |
to do |
|
to do |
|
gvfs |
to do |
hamster-applet |
to do |
libgail-gnome |
to do |
libgnomekbd |
to do |
libgtop |
to do |
to do |
|
liboobs |
to do |
librsvg |
to do |
not needed |
|
libwnck |
to do |
metacity |
to do |
mousetweaks |
to do |
to do |
|
nautilus-sendto |
to do |
orca |
to do |
pygtksourceview |
to do |
to do |
|
to do |
|
swfdec-gnome |
to do |
tomboy |
to do |
to do |
|
totem-pl-parser |
to do |
vinagre |
to do |
vino |
to do |
vte |
to do |
to do |
|
to do |
|
Desktop (to be deprecated) |
|
libgnomeprint |
to do |
libgnomeprintui |
to do |
Platform |
|
GConf |
to do |
at-spi |
to do |
atk |
to do |
glib |
to do |
to do |
|
gtk-doc |
to do |
pango |
to do |
Platform (to be deprecated) |
|
ORBit2 |
to do |
audiofile |
to do |
esound |
to do |
gnome-mime-data |
to do |
gnome-vfs |
to do |
gnome-vfs-monikers |
to do |
libIDL |
to do |
libart_lgpl |
to do |
libbonobo |
to do |
libbonoboui |
to do |
libglade |
to do |
libgnome |
to do |
libgnomecanvas |
to do |
libgnomeui |
to do |
Admin |
|
to do |
|
sabayon |
to do |
Development Tools |
|
accerciser |
to do |
anjuta |
to do |
devhelp |
to do |
gdl |
to do |
glade3 |
to do |
gnome-devel-docs |
to do |
Bindings (C++) |
|
glibmm |
to do |
pangomm |
to do |
gtkmm |
to do |
libglademm |
to do |
gconfmm |
to do |
libgnomecanvasmm |
to do |
libgnome-vfsmm |
to do |
libgnomemm |
to do |
libgnomeuimm |
to do |
libxml++ |
to do |
Bindings (java) |
|
glib-java (jg-common) |
to do |
libgtk-java |
to do |
libgnome-java |
to do |
libgconf-java |
to do |
libglade-java |
to do |
Bindings (JavaScript) |
|
seed |
to do |
Bindings (mono) |
|
gtk-sharp |
to do |
Bindings (perl) |
|
Glib |
to do |
Gtk2 |
to do |
Gtk2-GladeXML |
to do |
Gnome2-GConf |
to do |
Gnome2-Canvas |
to do |
Gnome2-VFS |
to do |
Gnome2 |
to do |
Bindings (python) |
|
pygobject |
to do |
to do |
|
pyorbit |
to do |
to do |
|
Mobile |
|
GConf (dbus-based) |
to do |
clutter-gst |
to do |
External Dependencies |
|
avahi |
to do |
Berkeley DB (libdb) |
to do |
cairo |
to do |
cairomm |
to do |
clutter |
to do |
clutter-cairo |
to do |
clutter-gtk |
to do |
conduit |
to do |
dbus |
to do |
dbus-glib |
to do |
dbus-python |
to do |
desktop-file-utils |
to do |
DeviceKit-disks |
to do |
DeviceKit-power |
to do |
enchant |
to do |
expat |
to do |
farsight2 |
to do |
fontconfig |
to do |
gamin |
to do |
GMime |
to do |
gnutls |
to do |
gpgme |
to do |
gtk-vnc |
to do |
hal |
to do |
hicolor-icon-theme |
to do |
icon-naming-utils |
to do |
intltool |
to do |
iso-codes |
to do |
libatasmart |
to do |
libcanberra |
to do |
to do |
|
libcolorblind |
to do |
libcroco |
to do |
libgda |
to do |
libgdata |
not needed |
libggz, ggz-client-libs |
to do |
libgpg-error |
to do |
libgcrypt |
to do |
libgsf |
to do |
libical |
to do |
libmapi |
to do |
libmusicbrainz |
to do |
libnotify |
to do |
liboil |
to do |
libproxy |
to do |
libtasn1 |
to do |
libtelepathy |
to do |
libxklavier |
to do |
libxml2 |
to do |
libxslt |
to do |
Mono.Addins |
to do |
mozilla (firefox) |
to do |
ndesk-dbus |
to do |
ndesk-dbus-glib |
to do |
opal |
to do |
pkg-config |
to do |
to do |
|
PolicyKit-gnome |
to do |
pulseaudio |
to do |
poppler |
to do |
pycairo |
to do |
ptlib |
to do |
Python |
to do |
rarian |
to do |
shared-mime-info |
to do |
sqlite |
to do |
startup-notification |
to do |
swfdec |
to do |
system-tools-backends |
to do |
telepathy-glib |
to do |
telepathy-mission-control |
to do |
unique |
to do |
tracker |
to do |
vala |
to do |
webkit |
to do |
Other |
|
abiword |
to do |
atomix |
to do |
banshee |
to do |
to do |
|
to do |
|
contact-lookup-applet |
to do |
couch-db |
to do |
dconf |
to do |
to do |
|
eggcups |
to do |
evolution-couchdb |
to do |
f-spot |
to do |
ghex |
to do |
giggle |
|
gimp |
to do |
gitg |
to do |
glom |
to do |
gnome-blog |
to do |
gnome-cups-manager |
to do |
gnome-main-menu |
to do |
GNOME Phone Manager |
to do |
to do |
|
goocanvas |
to do |
goocanvasmm |
to do |
GParted |
to do |
to do |
|
to do |
|
gtetrinet |
to do |
gthumb |
to do |
to do |
|
krb5-auth-dialog |
to do |
libbtctl |
to do |
libgnomekbd |
to do |
libgoffice |
to do |
libgsf |
to do |
to do |
|
nautilus-actions |
to do |
nemiver |
to do |
to do |
|
network-manager-applet |
to do |
planner |
to do |
to do |
|
to do |