...
 
Commits (128)
===============
Version 3.31.92
===============
Changes since last release:
• Destroy various IdeObject after they are no longer needed reducing
memory usage a bit
• Add missing shortcuts to shortcuts window
• Fix various compiler warnings for release builds
• Tweak builder-dark style-scheme for Adwaita changes
• Allow project-tree to be used from editor workspace
• Allow gnome: gitlab: and github: prefixes when using --clone
• Unit Tests now have a VTE-based output panel when running
• Initial support for waf build system
• Cached build targets are invalidated when build config changes
which should help ensure that "Run" does not execute stale
binaries
• Changing devices now properly invalidates the build manager
• A rofiles-fuse wrapper is provided when building for Flatpak
• Scrolling with j/k/up/down in Vim mode is less jarring at line
boundaries by avoiding additional scrolling
• New jump list desktop actions are provided for GNOME shell
• Avoid indexing large directories when not in project-mode
• Updated translations
===============
Version 3.31.91
===============
......
......@@ -49,16 +49,28 @@
}
},
"cleanup" : [
"/bin/rst*",
"/bin/py*",
"/bin/sphinx-apidoc",
"/bin/sphinx-autogen",
"/bin/sphinx-quickstart",
"/bin/update-desktop-database",
"/bin/update-mime-database",
"/bin/chardetect",
"/include",
"/lib/pkgconfig",
"/lib/avahi",
"/lib/cmake",
"/lib/gedit",
"/lib/pkgconfig",
"/libexec/installed-tests",
"/share/pkgconfig",
"/share/aclocal",
"/man",
"/share/man",
"/share/gir-1.0",
"/share/gtk-doc",
"/share/vala",
"/share/bash-completions",
"/share/bash-completion",
"*.la",
"*.a"
],
......@@ -103,6 +115,9 @@
"UDEV_RULES_PATH=/app/etc/udev/rules.d",
"INIT_D_PATH=/app/etc/init.d"
],
"cleanup" : [
"/bin/ulockmgr_server"
],
"sources" : [
{
"type" : "archive",
......@@ -132,7 +147,7 @@
"/etc/pam.d",
"/etc/dbus-1",
"/share/dbus-1/system-services/*",
"/share/polkit-1/actions/*",
"/share/polkit-1",
"/lib/polkit-1"
],
"sources" : [
......@@ -154,6 +169,9 @@
},
{
"name" : "universal-ctags",
"cleanup" : [
"/bin/readtags"
],
"sources" : [
{
"type" : "git",
......@@ -192,7 +210,7 @@
{
"type" : "git",
"url" : "https://github.com/libgit2/libgit2.git",
"branch" : "maint/v0.26"
"branch" : "maint/v0.27"
}
]
},
......@@ -259,7 +277,8 @@
"/share/appdata/*",
"/share/applications/*",
"/share/dbus-1/services",
"/share/GConf"
"/share/GConf",
"/share/metainfo"
],
"sources" : [
{
......@@ -295,8 +314,8 @@
"sources" : [
{
"type" : "archive",
"url" : "https://github.com/AbiWord/enchant/releases/download/v2.1.3/enchant-2.1.3.tar.gz",
"sha256" : "086f37cdecd42eacd0e1dc291f5410d9ca2c5ed2cd9cd9367729e3d2d18a8550"
"url" : "https://github.com/AbiWord/enchant/releases/download/v2.2.3/enchant-2.2.3.tar.gz",
"sha256" : "abd8e915675cff54c0d4da5029d95c528362266557c61c7149d53fa069b8076d"
}
]
},
......@@ -316,16 +335,8 @@
"sources" : [
{
"type" : "git",
"url" : "https://gitlab.gnome.org/GNOME/gspell.git"
}
]
},
{
"name" : "glade",
"sources" : [
{
"type" : "git",
"url" : "https://gitlab.gnome.org/GNOME/glade.git"
"url" : "https://gitlab.gnome.org/GNOME/gspell.git",
"branch" : "1.8.1"
}
]
},
......@@ -342,8 +353,9 @@
"cleanup" : [
"/bin/*",
"/libexec/sysprof",
"/share/appdata/",
"/share/applications/",
"/share/appdata",
"/share/applications",
"/share/metainfo",
"/share/mime/packages"
],
"sources" : [
......@@ -391,6 +403,9 @@
],
"buildsystem" : "meson",
"builddir" : true,
"cleanup" : [
"/bin"
],
"sources" : [
{
"type" : "git",
......@@ -413,8 +428,8 @@
"sources" : [
{
"type" : "archive",
"url" : "https://github.com/ostreedev/ostree/releases/download/v2018.7/libostree-2018.7.tar.xz",
"sha256" : "483e359fd934f3fb1abde2cd8ff9c5bccb97e2a37d52ed8bedfa9ab1290883d9"
"url" : "https://github.com/ostreedev/ostree/releases/download/v2019.1/libostree-2019.1.tar.xz",
"sha256" : "15f734e7c65875f62c967b9937894704354a11927e92a91cb5ad8041bbb6c723"
}
]
},
......@@ -429,12 +444,15 @@
],
"cleanup" : [
"/bin/flatpak-bisect",
"/bin/flatpak-coredumpctl",
"/etc/profile.d",
"/libexec",
"/lib/systemd",
"/share/dbus-1/interfaces/org.freedesktop.*",
"/share/dbus-1/services/org.freedesktop.*",
"/share/gdm"
"/share/flatpak/triggers",
"/share/gdm",
"/share/zsh"
],
"post-install" : [
"cp /usr/bin/update-mime-database /app/bin",
......@@ -443,8 +461,8 @@
"sources" : [
{
"type" : "archive",
"url" : "https://github.com/flatpak/flatpak/releases/download/1.0.2/flatpak-1.0.2.tar.xz",
"sha256" : "f685625aa6c597ff7f7f241ca6e489aeb1d3c971e602490493765cb2aab71634"
"url" : "https://github.com/flatpak/flatpak/releases/download/1.2.3/flatpak-1.2.3.tar.xz",
"sha256" : "bb4720307fc10465660e37bb9489c1d9a349c19143e24f65ddb49032f8b00d44"
}
]
},
......@@ -453,8 +471,8 @@
"sources" : [
{
"type" : "archive",
"url" : "https://github.com/flatpak/flatpak-builder/releases/download/1.0.0/flatpak-builder-1.0.0.tar.xz",
"sha256" : "858a5b2204f569e47fb6cb57f28f7a0dab9d6f7a5a73a7c2688e23c61bf8567b"
"url" : "https://github.com/flatpak/flatpak-builder/releases/download/1.0.5/flatpak-builder-1.0.5.tar.xz",
"sha256" : "ab9a2d6395def37d60983a232c4105d6ed8dd8ba4f798e76ba75b8c366bfb0d0"
}
]
},
......@@ -485,10 +503,26 @@
"--disable-compat-howl",
"--disable-libevent"
],
"sources" : [
{
"type" : "archive",
"url" : "https://github.com/lathiat/avahi/releases/download/v0.7/avahi-0.7.tar.gz",
"sha256" : "57a99b5dfe7fdae794e3d1ee7a62973a368e91e414bd0dfa5d84434de5b14804"
}
]
},
{
"name" : "glade",
"cleanup" : [
"/share/applications",
"/share/help",
"/share/metainfo",
"/bin/glade"
],
"sources" : [
{
"type" : "git",
"url" : "https://github.com/lathiat/avahi.git"
"url" : "https://gitlab.gnome.org/GNOME/glade.git"
}
]
},
......@@ -518,12 +552,17 @@
"--buildtype=debugoptimized",
"-Dctags_path=/app/bin/ctags",
"-Dfusermount_wrapper=true",
"-Dtcmalloc=true",
"-Dwith_tcmalloc=true",
"-Dpython_libprefix=python3.7",
"-Dtracing=true",
"-Dhelp=true",
"-Denable_tracing=true",
"-Dwith_help=true",
"-Dwith_channel=flatpak-nightly",
"-Dplugin_deviced=true"
"-Dwith_deviced=true"
],
"cleanup" : [
"/share/gnome-builder/gir-1.0",
"/share/gnome-builder/vapi",
"/share/gtksourceview-3.0"
],
"sources" : [
{
......
......@@ -7,23 +7,23 @@
"sources": [
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/3c/ec/a94f8cf7274ea60b5413df054f82a8980523efd712ec55a59e7c3357cf7c/pyparsing-2.2.0.tar.gz",
"sha256": "0832bcf47acd283788593e7a0f542407bd9550a55a8a8435214a1960e04bcb04"
"url": "https://files.pythonhosted.org/packages/b9/b8/6b32b3e84014148dcd60dd05795e35c2e7f4b72f918616c61fdce83d27fc/pyparsing-2.3.1.tar.gz",
"sha256": "66c9268862641abcac4a96ba74506e594c884e3f57690a696d21ad8210ed667a"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/4d/9c/46e950a6f4d6b4be571ddcae21e7bc846fcbb88f1de3eff0f6dd0a6be55d/certifi-2018.4.16.tar.gz",
"sha256": "13e698f54293db9f89122b0581843a782ad0934a4fe0172d2a980ba77fc61bb7"
"url": "https://files.pythonhosted.org/packages/55/54/3ce77783acba5979ce16674fc98b1920d00b01d337cfaaf5db22543505ed/certifi-2018.11.29.tar.gz",
"sha256": "47f9c83ef4c0c621eaef743f133f09fa8a74a9b75f037e8624f83bd1b6626cb7"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/3c/d2/dc5471622bd200db1cd9319e02e71bc655e9ea27b8e0ce65fc69de0dac15/urllib3-1.23.tar.gz",
"sha256": "a68ac5e15e76e7e5dd2b8f94007233e01effe3e50e8daddf69acfd81cb686baf"
"url": "https://files.pythonhosted.org/packages/b1/53/37d82ab391393565f2f831b8eedbffd57db5a718216f82f1a8b4d381a1c1/urllib3-1.24.1.tar.gz",
"sha256": "de9529817c93f27c8ccbfead6985011db27bd0ddfcdb2d86f3f663385c6a9c22"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/65/c4/80f97e9c9628f3cac9b98bfca0402ede54e0563b56482e3e6e45c43c4935/idna-2.7.tar.gz",
"sha256": "684a38a6f903c1d71d6d5fac066b58d7768af4de2b832e426ec79c30daa94a16"
"url": "https://files.pythonhosted.org/packages/ad/13/eb56951b6f7950cadb579ca166e448ba77f9d24efc03edd7e55fa57d04b7/idna-2.8.tar.gz",
"sha256": "c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407"
},
{
"type": "file",
......@@ -32,13 +32,13 @@
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/ca/a9/62f96decb1e309d6300ebe7eee9acfd7bccaeedd693794437005b9067b44/pytz-2018.5.tar.gz",
"sha256": "ffb9ef1de172603304d9d2819af6f5ece76f2e85ec10692a524dd876e72bf277"
"url": "https://files.pythonhosted.org/packages/af/be/6c59e30e208a5f28da85751b93ec7b97e4612268bb054d0dff396e758a90/pytz-2018.9.tar.gz",
"sha256": "d5f05e487007e29e03409f9398d074e158d920d36eb82eaf66fb1136b0c5374c"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/MarkupSafe-1.0.tar.gz",
"sha256": "a6be69091dac236ea9c6bc7d012beab42010fa914c459791d627dad4910eb665"
"url": "https://files.pythonhosted.org/packages/ac/7e/1b4c2e05809a4414ebce0892fe1e32c14ace86ca7d50c70f00979ca9b3a3/MarkupSafe-1.1.0.tar.gz",
"sha256": "4e97332c9ce444b0c2c38dd22ddc61c743eb208d916e4265a2a3b575bdccb1d3"
},
{
"type": "file",
......@@ -47,23 +47,23 @@
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/77/32/439f47be99809c12ef2da8b60a2c47987786d2c6c9205549dd6ef95df8bd/packaging-17.1.tar.gz",
"sha256": "f019b770dd64e585a99714f1fd5e01c7a8f11b45635aa953fd41c689a657375b"
"url": "https://files.pythonhosted.org/packages/16/51/d72654dbbaa4a4ffbf7cb0ecd7d12222979e0a660bf3f42acc47550bf098/packaging-19.0.tar.gz",
"sha256": "0c98a5d0be38ed775798ece1b9727178c4469d9c3b4ada66e8e6b7849f8732af"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/54/1f/782a5734931ddf2e1494e4cd615a51ff98e1879cbe9eecbdfeaf09aa75e9/requests-2.19.1.tar.gz",
"sha256": "ec22d826a36ed72a7358ff3fe56cbd4ba69dd7a6718ffd450ff0e9df7a47ce6a"
"url": "https://files.pythonhosted.org/packages/52/2c/514e4ac25da2b08ca5a464c50463682126385c4272c18193876e91f4bc38/requests-2.21.0.tar.gz",
"sha256": "502a824f31acdacb3a35b6690b5fbf0bc41d63a24a45c4004352b0242707598e"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/c6/3f/1db2da33804e8d7ef3a868b27b7bdc1aae6a4f693f0162d2aeeaf503864f/imagesize-1.0.0.tar.gz",
"sha256": "5b326e4678b6925158ccc66a9fa3122b6106d7c876ee32d7de6ce59385b96315"
"url": "https://files.pythonhosted.org/packages/41/f5/3cf63735d54aa9974e544aa25858d8f9670ac5b4da51020bbfc6aaade741/imagesize-1.1.0.tar.gz",
"sha256": "f3832918bc3c66617f92e35f5d70729187676313caa60c187eb0f28b8fe5e3b5"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/3f/46/9346ea429931d80244ab7f11c4fce83671df0b7ae5a60247a2b588592c46/alabaster-0.7.11.tar.gz",
"sha256": "b63b1f4dc77c074d386752ec4a8a7517600f6c0db8cd42980cae17ab7b3275d7"
"url": "https://files.pythonhosted.org/packages/cc/b4/ed8dcb0d67d5cfb7f83c4d5463a7614cb1d078ad7ae890c9143edebbf072/alabaster-0.7.12.tar.gz",
"sha256": "a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"
},
{
"type": "file",
......@@ -77,8 +77,8 @@
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/71/2a/2e4e77803a8bd6408a2903340ac498cb0a2181811af7c9ec92cb70b0308a/Pygments-2.2.0.tar.gz",
"sha256": "dbae1046def0efb574852fab9e90209b23f556367b5a320c0bcb871c77c3e8cc"
"url": "https://files.pythonhosted.org/packages/64/69/413708eaf3a64a6abb8972644e0f20891a55e621c6759e2c3f3891e05d63/Pygments-2.3.1.tar.gz",
"sha256": "5ffada19f6203563680669ee7f53b64dabbeb100eb51b61996085e99c03b284a"
},
{
"type": "file",
......@@ -87,13 +87,13 @@
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz",
"sha256": "70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9"
"url": "https://files.pythonhosted.org/packages/dd/bf/4138e7bfb757de47d1f4b6994648ec67a51efe58fa907c1e11e350cddfca/six-1.12.0.tar.gz",
"sha256": "d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/46/31/60de7c9cbb97cac56b193a5b61a1fd4d21df84843a570b370ec34781316b/parso-0.3.1.tar.gz",
"sha256": "35704a43a3c113cce4de228ddb39aab374b8004f4f2407d070b6a2ca784ce8a2"
"url": "https://files.pythonhosted.org/packages/01/70/d9fa1a10aed70c192815aac7fd3eb38ef49aa5ab9cb36129ae22c8ecbf1f/parso-0.3.4.tar.gz",
"sha256": "68406ebd7eafe17f8e40e15a84b56848eccbf27d7c1feb89e93d8fca395706db"
},
{
"type": "file",
......@@ -102,23 +102,23 @@
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/ca/63/139b710671c1655aed3b20c1e6776118c62e9f9311152f4c6031e12a0554/lxml-4.2.4.tar.gz",
"sha256": "e2afbe403090f5893e254958d02875e0732975e73c4c0cdd33c1f009a61963ca"
"url": "https://files.pythonhosted.org/packages/0f/bd/bb1464d1f363dbd805862c8a1ea258b9a4f4d2049c376d1c4790b6545691/lxml-4.3.1.tar.gz",
"sha256": "da5e7e941d6e71c9c9a717c93725cda0708c2474f532e3680ac5e39ec57d224d"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/f2/b0/a1933d792b806118ddbca6699f2e2c844d9b1b16e84a89d7effd5cd2a800/sphinx_rtd_theme-0.4.1.tar.gz",
"sha256": "3b49758a64f8a1ebd8a33cb6cc9093c3935a908b716edfaa5772fd86aac27ef6"
"url": "https://files.pythonhosted.org/packages/ed/73/7e550d6e4cf9f78a0e0b60b9d93dba295389c3d271c034bf2ea3463a79f9/sphinx_rtd_theme-0.4.3.tar.gz",
"sha256": "728607e34d60456d736cc7991fd236afb828b21b82f956c5ea75f94c8414040a"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/eb/3c/702e89ad33529c0107d44ebc1a7eca97c4fd77ae2784060923a65864fcbd/Sphinx-1.7.6.tar.gz",
"sha256": "217ad9ece2156ed9f8af12b5d2c82a499ddf2c70a33c5f81864a08d8c67b9efc"
"url": "https://files.pythonhosted.org/packages/dd/f8/df628d41f42793d446285767164c6a8da71d82892f2c98c43e0523836d39/Sphinx-1.8.4.tar.gz",
"sha256": "c1c00fc4f6e8b101a0d037065043460dffc2d507257f2f11acaed71fd2b0c83c"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/49/2f/cdfb8adc8cfc9fc2e5673e724d9b9098619dc1a2772cc6b8af34c6b7bef9/jedi-0.12.1.tar.gz",
"sha256": "b409ed0f6913a701ed474a614a3bb46e6953639033e31f769ca7581da5bd1ec1"
"url": "https://files.pythonhosted.org/packages/e4/83/4c05db437252694660c972b5374b35a68a8a0a8cd012dc95e5fd4d7e71b0/jedi-0.13.2.tar.gz",
"sha256": "571702b5bd167911fe9036e5039ba67f820d6502832285cde8c881ab2b2149fd"
}
]
}
\ No newline at end of file
......@@ -60,7 +60,7 @@
</screenshot>
<screenshot type="default">
<caption>Debug with the GNU debugger</caption>
<image width="1600" height="900">https://git.gnome.org/browse/gnome-builder/plain/data/appdata/06-debugger.png</image>
<image width="1600" height="900">https://gitlab.gnome.org/GNOME/gnome-builder/raw/master/data/appdata/06-debugger.png</image>
</screenshot>
</screenshots>
<launchable type="desktop-id">org.gnome.Builder.desktop</launchable>
......@@ -82,6 +82,14 @@
<translation type="gettext">gnome-builder</translation>
<releases>
<release version="3.31.92" date="2019-03-05">
<description>
<p>
This release contains a number of bug fixes and performance improvements.
</p>
</description>
</release>
<release version="3.31.91" date="2019-02-18">
<description>
<p>
......
......@@ -118,6 +118,12 @@
<summary>Completion Row Count</summary>
<description>The number of completion rows to display to the user.</description>
</key>
<key name="line-spacing" type="i">
<default>0</default>
<range min="0" max="32"/>
<summary>Line Spacing</summary>
<description>The number of pixels to include above and below lines in the editor.</description>
</key>
<key name="interactive-completion" type="b">
<default>true</default>
<summary>Interactive Completion</summary>
......
......@@ -13,8 +13,20 @@ Categories=GNOME;GTK;Development;IDE;
Keywords=Build;Develop;
MimeType=text/x-c;text/x-csrc;text/x-changelog;text/x-chdr;text/x-c++hdr;text/x-python;application/x-python;application/javascript;application/x-javascript;text/x-javascript;text/javascript;text/x-js;text/x-shellscript;application/x-shellscript;text/x-sh;text/x-vala;text/x-makefile;text/x-c++;text/x-cpp;text/x-c++src;text/css;application/x-gnome-app-info;application/x-desktop;text/x-go;text/html;text/x-markdown;application/json;application/x-m4;application/xml;text/xml;application/x-yaml;text/x-sql;application/x-ruby;text/x-ruby;text/x-pkg-config;text/x-lua;text/x-php;application/x-php;text/x-php-source;application/x-php-source;text/x-perl;application/x-perl;
X-Flatpak-RenamedFrom=gnome-builder
Actions=new-window;
Actions=new-window;create-project;clone-repo;new-editor;
[Desktop Action new-window]
Name=New Window
Name=Open a Project
Exec=gnome-builder --greeter
[Desktop Action create-project]
Name=Start New Project
Exec=gnome-builder --create-project
[Desktop Action clone-repo]
Name=Clone Repository
Exec=gnome-builder --clone
[Desktop Action new-editor]
Name=New Editor Workspace
Exec=gnome-builder --editor
......@@ -59,9 +59,8 @@
<color name="pink1" value="#dd4a68"/>
<color name="red1" value="#ff0000"/>
<color name="dark1" value="#201f21"/>
<color name="dark2" value="#232224"/>
<color name="dark3" value="#535255"/>
<color name="dark1" value="#1e1e1e"/>
<color name="dark2" value="#303030"/>
<!-- Global Settings -->
<style name="text" foreground="aluminium3" background="dark1"/>
......@@ -69,9 +68,9 @@
<style name="cursor" foreground="aluminium2"/>
<style name="current-line" background="dark2"/>
<style name="current-line-number" background="dark2"/>
<style name="line-numbers" foreground="dark3" background="dark1"/>
<style name="draw-spaces" foreground="dark3"/>
<style name="background-pattern" background="dark2"/>
<style name="line-numbers" foreground="aluminium5" background="dark1"/>
<style name="draw-spaces" foreground="aluminium5"/>
<style name="background-pattern" background="#202020"/>
<style name="map-overlay" background="#rgba(136,138,133,0.25)"/>
<!-- Diagnostics Underlining -->
......
project('gnome-builder', 'c',
license: 'GPL3+',
version: '3.31.91',
meson_version: '>= 0.48.0',
version: '3.31.92',
meson_version: '>= 0.49.0',
default_options: [ 'c_std=gnu11',
'cpp_std=c++11',
'warning_level=2',
......
......@@ -7,7 +7,7 @@ option('with_safe_path', type: 'string', value: '', description: 'PATH variable
option('with_channel',
type: 'combo',
choices: [ 'other', 'flatpak-stable', 'flatpak-nightly' ],
choices: [ 'other', 'flatpak-stable', 'flatpak-beta', 'flatpak-nightly' ],
description: 'The distribution channel for Builder',
)
......@@ -70,5 +70,6 @@ option('plugin_sysroot', type: 'boolean')
option('plugin_todo', type: 'boolean')
option('plugin_vala', type: 'boolean')
option('plugin_valgrind', type: 'boolean')
option('plugin_waf', type: 'boolean')
option('plugin_words', type: 'boolean')
option('plugin_xml_pack', type: 'boolean')
......@@ -288,6 +288,7 @@ src/plugins/notification/ide-notification-addin.c
src/plugins/npm/npm_plugin.py
src/plugins/omni-gutter/gbp-omni-gutter-renderer.c
src/plugins/phpize/phpize_plugin.py
src/plugins/podman/gbp-podman-runtime.c
src/plugins/project-tree/gbp-new-file-popover.c
src/plugins/project-tree/gbp-new-file-popover.ui
src/plugins/project-tree/gbp-project-tree-addin.c
......@@ -331,6 +332,8 @@ src/plugins/sysroot/gbp-sysroot-toolchain-provider.c
src/plugins/terminal/gbp-terminal-application-addin.c
src/plugins/terminal/gbp-terminal-workspace-addin.c
src/plugins/terminal/gtk/menus.ui
src/plugins/testui/gbp-test-output-panel.c
src/plugins/testui/gbp-test-output-panel.ui
src/plugins/testui/gbp-test-tree-addin.c
src/plugins/todo/gbp-todo-panel.c
src/plugins/todo/gbp-todo-workspace-addin.c
......@@ -343,6 +346,7 @@ src/plugins/vcsui/gtk/menus.ui
src/plugins/vim/gb-vim.c
src/plugins/vim/gbp-vim-command-provider.c
src/plugins/vim/gbp-vim-preferences-addin.c
src/plugins/waf/waf_plugin.py
src/plugins/xml-pack/ide-xml-highlighter.c
src/plugins/xml-pack/ide-xml-parser.c
src/plugins/xml-pack/ide-xml-sax.c
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -1283,8 +1283,15 @@ ide_buffer_manager_foreach_cb (IdeObject *object,
g_assert (IDE_IS_OBJECT (object));
if (IDE_IS_BUFFER (object))
state->func (IDE_BUFFER (object), state->user_data);
if (IDE_IS_OBJECT_BOX (object))
{
g_autoptr(IdeObject) wrapped = NULL;
wrapped = ide_object_box_ref_object (IDE_OBJECT_BOX (object));
if (IDE_IS_BUFFER (wrapped))
state->func (IDE_BUFFER (wrapped), state->user_data);
}
}
/**
......
......@@ -297,6 +297,7 @@ _ide_buffer_set_file (IdeBuffer *self,
gtk_source_file_set_location (self->source_file, file);
ide_buffer_reload_file_settings (self);
g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_FILE]);
g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_TITLE]);
}
}
......@@ -2054,7 +2055,7 @@ ide_buffer_set_style_scheme_name (IdeBuffer *self,
}
/**
* ide_buffer_get_title:
* ide_buffer_dup_title:
* @self: an #IdeBuffer
*
* Gets a string to represent the title of the buffer. An attempt is made to
......
......@@ -54,7 +54,7 @@ ide_code_index_entries_real_next_entries_async (IdeCodeIndexEntries *self,
while ((entry = ide_code_index_entries_get_next_entry (self)))
g_ptr_array_add (ret, g_steal_pointer (&entry));
ide_task_return_pointer (task, g_steal_pointer (&ret), (GDestroyNotify)g_ptr_array_unref);
ide_task_return_pointer (task, g_steal_pointer (&ret), g_ptr_array_unref);
}
static GPtrArray *
......@@ -217,7 +217,7 @@ ide_code_index_entries_collect_cb (GObject *object,
ide_task_return_pointer (task,
g_ptr_array_ref (task_data),
(GDestroyNotify)g_ptr_array_unref);
g_ptr_array_unref);
}
/**
......
......@@ -200,7 +200,6 @@ ide_editor_page_actions_save (GSimpleAction *action,
gpointer user_data)
{
IdeEditorPage *self = user_data;
IdeBufferManager *bufmgr;
g_autoptr(IdeNotification) notif = NULL;
g_autoptr(IdeContext) context = NULL;
g_autoptr(GFile) local_file = NULL;
......@@ -220,10 +219,7 @@ ide_editor_page_actions_save (GSimpleAction *action,
file = ide_buffer_get_file (buffer);
g_return_if_fail (G_IS_FILE (file));
bufmgr = ide_buffer_manager_from_context (context);
workdir = ide_context_ref_workdir (context);
g_assert (IDE_IS_BUFFER_MANAGER (bufmgr));
g_assert (G_IS_FILE (workdir));
if (ide_buffer_get_is_temporary (buffer))
......@@ -514,7 +510,7 @@ ide_editor_page_actions_properties (GSimpleAction *action,
dialog = ide_editor_settings_dialog_new (self);
g_signal_connect (dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL);
gtk_window_present (GTK_WINDOW (dialog));
ide_gtk_window_present (GTK_WINDOW (dialog));
}
static void
......
......@@ -37,6 +37,7 @@
#include "ide-device.h"
#include "ide-foundry-compat.h"
#include "ide-pipeline.h"
#include "ide-run-manager.h"
#include "ide-runtime-manager.h"
#include "ide-runtime-private.h"
#include "ide-runtime.h"
......@@ -527,6 +528,10 @@ ide_build_manager_device_get_info_cb (GObject *object,
IDE_EXIT;
}
IDE_TRACE_MSG (" Device Kind = %d", ide_device_info_get_kind (info));
IDE_TRACE_MSG (" Device Triplet = %s",
ide_triplet_get_full_name (ide_device_info_get_host_triplet (info)));
_ide_pipeline_check_toolchain (pipeline, info);
_ide_runtime_manager_prepare_async (runtime_manager,
......@@ -544,6 +549,7 @@ ide_build_manager_invalidate_pipeline (IdeBuildManager *self)
g_autoptr(IdeTask) task = NULL;
IdeConfigManager *config_manager;
IdeDeviceManager *device_manager;
IdeRunManager *run_manager;
IdeConfig *config;
IdeContext *context;
IdeDevice *device;
......@@ -569,6 +575,12 @@ ide_build_manager_invalidate_pipeline (IdeBuildManager *self)
g_signal_emit (self, signals [BUILD_FAILED], 0, self->pipeline);
}
/*
* Clear any cached build targets from the run manager.
*/
run_manager = ide_run_manager_from_context (context);
ide_run_manager_set_build_target (run_manager, NULL);
/*
* Cancel and clear our previous pipeline and associated components
* as they are not invalide.
......
......@@ -157,7 +157,7 @@ ide_build_system_get_build_flags_cb (GObject *object,
ide_task_return_pointer (task,
g_steal_pointer (&data->flags),
(GDestroyNotify)g_hash_table_unref);
g_hash_table_unref);
}
static GPtrArray *
......@@ -536,7 +536,7 @@ ide_build_system_get_build_flags_for_dir_cb2 (GObject *object,
else
ide_task_return_pointer (task,
g_steal_pointer (&ret),
(GDestroyNotify)g_hash_table_unref);
g_hash_table_unref);
}
static void
......
......@@ -783,7 +783,6 @@ ide_config_manager_init_load_cb (GObject *object,
gpointer user_data)
{
IdeConfigProvider *provider = (IdeConfigProvider *)object;
IdeConfigManager *self;
g_autoptr(GError) error = NULL;
g_autoptr(IdeTask) task = user_data;
GPtrArray *providers;
......@@ -795,9 +794,6 @@ ide_config_manager_init_load_cb (GObject *object,
g_assert (G_IS_ASYNC_RESULT (result));
g_assert (IDE_IS_TASK (task));
self = ide_task_get_source_object (task);
g_assert (IDE_IS_CONFIG_MANAGER (self));
if (!ide_config_provider_load_finish (provider, result, &error))
{
g_assert (error != NULL);
......
......@@ -638,9 +638,16 @@ ide_device_manager_set_device (IdeDeviceManager *self,
g_return_if_fail (IDE_IS_DEVICE_MANAGER (self));
g_return_if_fail (!device || IDE_IS_DEVICE (device));
IDE_ENTRY;
if (g_set_object (&self->device, device))
{
const gchar *device_id = NULL;
IdeBuildManager *build_manager;
IdeContext *context;
context = ide_object_get_context (IDE_OBJECT (self));
build_manager = ide_build_manager_from_context (context);
if (device != NULL)
device_id = ide_device_get_id (device);
......@@ -648,9 +655,15 @@ ide_device_manager_set_device (IdeDeviceManager *self,
if (device_id == NULL)
device_id = "local";
IDE_TRACE_MSG ("Device set to %s", device_id);
ide_device_manager_set_action_state (self, "device", g_variant_new_string (device_id));
g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_DEVICE]);
ide_build_manager_invalidate (build_manager);
}
IDE_EXIT;
}
static void
......@@ -660,6 +673,8 @@ ide_device_manager_action_device (IdeDeviceManager *self,
const gchar *device_id;
IdeDevice *device;
IDE_ENTRY;
g_assert (IDE_IS_DEVICE_MANAGER (self));
g_assert (param != NULL);
g_assert (g_variant_is_of_type (param, G_VARIANT_TYPE_STRING));
......@@ -667,8 +682,15 @@ ide_device_manager_action_device (IdeDeviceManager *self,
if (!(device_id = g_variant_get_string (param, NULL)))
device_id = "local";
if ((device = ide_device_manager_get_device_by_id (self, device_id)))
ide_device_manager_set_device (self, device);
IDE_TRACE_MSG ("Setting device to \"%s\"", device_id);
if (!(device = ide_device_manager_get_device_by_id (self, device_id)))
{
g_debug ("No such device \"%s\"", device_id);
IDE_EXIT;
}
ide_device_manager_set_device (self, device);
}
static void
......
......@@ -52,6 +52,7 @@
#include "ide-runtime.h"
#include "ide-toolchain-manager.h"
#include "ide-toolchain.h"
#include "ide-triplet.h"
DZL_DEFINE_COUNTER (Instances, "Pipeline", "N Pipelines", "Number of Pipeline instances")
G_DEFINE_QUARK (ide_build_error, ide_build_error)
......@@ -150,6 +151,7 @@ struct _IdePipeline
* strategy to get the compiled bits onto the device.
*/
IdeDevice *device;
IdeDeviceInfo *device_info;
/*
* The cached triplet for the device we're compiling for. This allows
......@@ -1334,6 +1336,7 @@ ide_pipeline_finalize (GObject *object)
g_clear_object (&self->cancellable);
g_clear_object (&self->log);
g_clear_object (&self->device);
g_clear_object (&self->device_info);
g_clear_object (&self->runtime);
g_clear_object (&self->toolchain);
g_clear_object (&self->config);
......@@ -3963,6 +3966,8 @@ _ide_pipeline_check_toolchain (IdePipeline *self,
if (ide_object_in_destruction (IDE_OBJECT (self)))
IDE_EXIT;
g_set_object (&self->device_info, info);
context = ide_object_ref_context (IDE_OBJECT (self));
g_return_if_fail (IDE_IS_CONTEXT (context));
......@@ -4018,6 +4023,24 @@ ide_pipeline_get_device (IdePipeline *self)
return self->device;
}
/**
* ide_pipeline_get_device_info:
* @self: a #IdePipeline
*
* Gets the device info for the current device.
*
* Returns: (nullable) (transfer none): an #IdeDeviceInfo or %NULL
*
* Since: 3.32
*/
IdeDeviceInfo *
ide_pipeline_get_device_info (IdePipeline *self)
{
g_return_val_if_fail (IDE_IS_PIPELINE (self), NULL);
return self->device_info;
}
/**
* ide_pipeline_is_ready:
* @self: a #IdePipeline
......@@ -4080,3 +4103,24 @@ ide_pipeline_is_native (IdePipeline *self)
return FALSE;
}
gchar *
ide_pipeline_get_arch (IdePipeline *self)
{
IdeRuntime *runtime;
g_return_val_if_fail (IDE_IS_PIPELINE (self), NULL);
if (self->device_info != NULL)
{
IdeTriplet *triplet;
if ((triplet = ide_device_info_get_host_triplet (self->device_info)))
return g_strdup (ide_triplet_get_arch (triplet));
}
if ((runtime = ide_pipeline_get_runtime (self)))
return ide_runtime_get_arch (runtime);
return NULL;
}
......@@ -77,6 +77,8 @@ G_DECLARE_FINAL_TYPE (IdePipeline, ide_pipeline, IDE, PIPELINE, IdeObject)
IDE_AVAILABLE_IN_3_32
GQuark ide_build_error_quark (void) G_GNUC_CONST;
IDE_AVAILABLE_IN_3_32
gchar *ide_pipeline_get_arch (IdePipeline *self);
IDE_AVAILABLE_IN_3_32
gboolean ide_pipeline_is_native (IdePipeline *self);
IDE_AVAILABLE_IN_3_32
gboolean ide_pipeline_is_ready (IdePipeline *self);
......@@ -87,6 +89,8 @@ IdeConfig *ide_pipeline_get_config (IdePipeline
IDE_AVAILABLE_IN_3_32
IdeDevice *ide_pipeline_get_device (IdePipeline *self);
IDE_AVAILABLE_IN_3_32
IdeDeviceInfo *ide_pipeline_get_device_info (IdePipeline *self);
IDE_AVAILABLE_IN_3_32
IdeTriplet *ide_pipeline_get_host_triplet (IdePipeline *self);
IDE_AVAILABLE_IN_3_32
IdeRuntime *ide_pipeline_get_runtime (IdePipeline *self);
......
......@@ -912,7 +912,7 @@ ide_run_manager_set_build_target (IdeRunManager *self,
IdeBuildTarget *build_target)
{
g_return_if_fail (IDE_IS_RUN_MANAGER (self));
g_return_if_fail (IDE_IS_BUILD_TARGET (build_target));
g_return_if_fail (!build_target || IDE_IS_BUILD_TARGET (build_target));
if (build_target == self->build_target)
return;
......@@ -1020,8 +1020,8 @@ ide_run_manager_provider_get_targets_cb (GObject *object,
0,
(GDestroyNotify)ide_object_unref_and_destroy);
ide_task_return_pointer (task,
g_steal_pointer (&first),
(GDestroyNotify)ide_object_unref_and_destroy);
IDE_OBJECT (g_steal_pointer (&first)),
ide_object_unref_and_destroy);
IDE_EXIT;
}
......
......@@ -1204,6 +1204,33 @@ ide_runner_set_tty (IdeRunner *self,
IDE_EXIT;
}
/**
* ide_runner_set_pty:
* @self: a #IdeRunner
* @pty: (nullable): a #VtePty or %NULL
*
* Sets the #VtePty to use for the runner.
*
* This is equivalent to calling ide_runner_set_tty() with the
* result of vte_pty_get_fd().
*
* Since: 3.32
*/
void
ide_runner_set_pty (IdeRunner *self,
VtePty *pty)
{
int fd = -1;
g_return_if_fail (IDE_IS_RUNNER (self));
g_return_if_fail (!pty || VTE_IS_PTY (pty));
if (pty != NULL)
fd = vte_pty_get_fd (pty);
ide_runner_set_tty (self, fd);
}
static gint
sort_fd_mapping (gconstpointer a,
gconstpointer b)
......
......@@ -26,6 +26,7 @@
#include <libide-core.h>
#include <libide-threading.h>
#include <vte/vte.h>
#include "ide-foundry-types.h"
......@@ -129,6 +130,9 @@ IDE_AVAILABLE_IN_3_32
void ide_runner_set_run_on_host (IdeRunner *self,
gboolean run_on_host);
IDE_AVAILABLE_IN_3_32
void ide_runner_set_pty (IdeRunner *self,
VtePty *pty);
IDE_AVAILABLE_IN_3_32
void ide_runner_set_tty (IdeRunner *self,
int tty_fd);
IDE_AVAILABLE_IN_3_32
......
......@@ -112,14 +112,10 @@ ide_runtime_manager_initable_init (GInitable *initable,
{
IdeRuntimeManager *self = (IdeRuntimeManager *)initable;
g_autoptr(IdeRuntime) host = NULL;
IdeContext *context;
g_assert (IDE_IS_RUNTIME_MANAGER (self));
g_assert (!cancellable || G_IS_CANCELLABLE (cancellable));
context = ide_object_get_context (IDE_OBJECT (self));
g_assert (IDE_IS_CONTEXT (context));
self->extensions = ide_extension_set_adapter_new (IDE_OBJECT (self),
peas_engine_get_default (),
IDE_TYPE_RUNTIME_PROVIDER,
......
......@@ -57,6 +57,7 @@ struct _IdeTestManager
PeasExtensionSet *providers;
GPtrArray *tests_by_provider;
GtkTreeStore *tests_store;
VtePty *pty;
};
typedef struct
......@@ -106,7 +107,7 @@ tests_by_provider_free (gpointer data)
}
static void
ide_test_manager_dispose (GObject *object)
ide_test_manager_destroy (IdeObject *object)
{
IdeTestManager *self = (IdeTestManager *)object;
......@@ -119,7 +120,9 @@ ide_test_manager_dispose (GObject *object)
g_clear_object (&self->providers);
g_clear_pointer (&self->tests_by_provider, g_ptr_array_unref);
G_OBJECT_CLASS (ide_test_manager_parent_class)->dispose (object);
g_clear_object (&self->pty);
IDE_OBJECT_CLASS (ide_test_manager_parent_class)->destroy (object);
}
static void
......@@ -145,10 +148,12 @@ static void
ide_test_manager_class_init (IdeTestManagerClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
IdeObjectClass *i_object_class = IDE_OBJECT_CLASS (klass);
object_class->dispose = ide_test_manager_dispose;
object_class->get_property = ide_test_manager_get_property;
i_object_class->destroy = ide_test_manager_destroy;
/**
* IdeTestManager:loading:
*
......@@ -731,9 +736,21 @@ ide_test_manager_run_async (IdeTestManager *self,
provider = _ide_test_get_provider (test);
if (self->pty == NULL)
{
g_autoptr(GError) error = NULL;
if (!(self->pty = vte_pty_new_sync (VTE_PTY_DEFAULT, cancellable, &error)))
{
g_task_return_error (task, g_steal_pointer (&error));
IDE_EXIT;
}
}
ide_test_provider_run_async (provider,
test,
pipeline,
self->pty,
cancellable,
ide_test_manager_run_cb,
g_steal_pointer (&task));
......@@ -1019,3 +1036,24 @@ ide_test_manager_ensure_loaded_finish (IdeTestManager *self,
return ide_task_propagate_boolean (IDE_TASK (result), error);
}
/**
* ide_test_manager_get_pty:
* @self: a #IdeTestManager
*
* Gets the #VtePty to use for running unit tests.
*
* Returns: (transfer none): a #VtePty
*
* Since: 3.32
*/
VtePty *
ide_test_manager_get_pty (IdeTestManager *self)
{
g_return_val_if_fail (IDE_IS_TEST_MANAGER (self), NULL);
if (self->pty == NULL)
self->pty = vte_pty_new_sync (VTE_PTY_DEFAULT, NULL, NULL);
return self->pty;
}
......@@ -25,6 +25,7 @@
#endif
#include <libide-core.h>
#include <vte/vte.h>
#include "ide-foundry-types.h"
......@@ -40,6 +41,8 @@ IdeTestManager *ide_test_manager_from_context (IdeContext *co
IDE_AVAILABLE_IN_3_32
gboolean ide_test_manager_get_loading (IdeTestManager *self);
IDE_AVAILABLE_IN_3_32
VtePty *ide_test_manager_get_pty (IdeTestManager *self);
IDE_AVAILABLE_IN_3_32
void ide_test_manager_run_async (IdeTestManager *self,
IdeTest *test,
GCancellable *cancellable,
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -30,7 +30,7 @@
<object class="GtkImage" id="splash">
<property name="valign">end</property>
<property name="vexpand">true</property>
<property name="icon-name">document-save-symbolic</property>
<property name="icon-name">builder-vcs-git-symbolic</property>
<property name="pixel-size">128</property>
<property name="visible">true</property>
<property name="margin">24</property>
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.