1. 22 Mar, 2018 1 commit
  2. 21 Mar, 2018 1 commit
  3. 26 Feb, 2018 1 commit
    • Christian Hergert's avatar
      config-manager: add ready gproperty · 4dcb2190
      Christian Hergert authored
      This allows tracking if the current configuration is ready for
      usage with the ready property. This may be useful in UI to
      notify that there are configuration issues that could be
      effecting the build pipeline.
      4dcb2190
  4. 31 Jan, 2018 5 commits
  5. 24 Jan, 2018 1 commit
    • Christian Hergert's avatar
      config: refactor config providers to be less racey · 1ab088f0
      Christian Hergert authored
      We had a number of issues in practice with configuration providers where
      things would race and as well as some unsafe threading/false-sharing.
      
      This redesigns those components to avoid a number of issues in thread
      safety.
      
      There doesn't seem to be any regressions. However, it has pointed out
      a few things that are/were broken in the flatpak configuration provider.
      We will address those as part of a revamped build preferences that is
      more pluggable (See #344 and #352).
      
      Another piece that would be nice to apply on top of this is tracking
      the last selected configuration so when restarting Builder we keep
      the same config active (See #338).
      
      Fixes #359
      1ab088f0
  6. 23 Jan, 2018 1 commit
  7. 21 Jan, 2018 1 commit
  8. 19 Jan, 2018 1 commit
  9. 13 Jan, 2018 2 commits
  10. 27 Nov, 2017 1 commit
  11. 15 Nov, 2017 1 commit
  12. 11 Oct, 2017 1 commit
  13. 24 Sep, 2017 1 commit
  14. 21 Sep, 2017 1 commit
    • Christian Hergert's avatar
      source tree reorganization · 9b9db776
      Christian Hergert authored
      As the project has grown, we've let things get a bit out of their
      logical place. This does a bit of cleanup and tries to bring some
      of the embedded resources closer to where they are used.
      
      But more importantly, this allows us to clean some things up to
      the point that we can move forward statically linking a bunch of
      the plugins into libide. The plan here is to speed up the initial
      loading by avoiding lots of disk I/O stats which are currently
      hurting us.
      9b9db776
  15. 17 May, 2017 1 commit
    • Phaedrus Leeds's avatar
      configuration: Make the default config persist · 39997b29
      Phaedrus Leeds authored
      When the build configuration management changed to using
      IdeConfigurationProviders rather than doing everything in
      IdeConfigurationManager, the default configuration stopped persisting to
      the disk (so changes made are only effective during a session). This is
      because the configuration was being added by the manager as an
      IdeConfiguration rather than an IdeBuildconfigConfiguration, and
      IdeBuildconfigConfigurationProvider knows how to read and write
      ".buildconfig" files.
      
      The most obvious solution, creating the default configuration in the
      IdeBuildconfigConfigurationProvider's load function, doesn't work because the
      loads are asynchronous and there has to be at least one configuration
      when the IdeConfigurationManager finishes initializing (otherwise the
      IdeBuildPipeline will fail to initialize).
      
      Instead, the load interface for IdeConfigurationProviders was changed to
      an async/finish pair, so the IdeConfigurationManager knows when the
      loads finish. At that point, it can check if a configuration was
      restored from a .buildconfig file (in which case nothing needs to be
      done) or if the default configuration was added by the
      IdeConfigurationManager (in which case the buildconfig provider needs to
      be informed of it so it can be persisted when changes are made).
      
      https://bugzilla.gnome.org/show_bug.cgi?id=779240
      39997b29
  16. 07 Mar, 2017 1 commit
  17. 10 Feb, 2017 4 commits
  18. 18 Dec, 2016 1 commit
  19. 15 Nov, 2016 1 commit
  20. 07 Nov, 2016 1 commit
  21. 13 Sep, 2016 1 commit
    • Christian Hergert's avatar
      sandboxing: add subprocess abstraction · 883eb1f4
      Christian Hergert authored
      To support Building applications while running from inside the sandbox, we
      need to allow breaking out of the sandbox for such tooling. For example,
      we want to run the build tooling for flatpaks from the host system (since
      we wont have sufficient privileges inside the sandbox).
      
      This abstracts our use of GSubprocess so that we can have multiple
      implementations. Sadly, since GSubprocess is not an interface, we cannot
      simply create an alternate implementation.
      
      There are two implementations of the abstraction. IdeSimpleSubprocess is
      just a wrapper around GSubprocess (since our API is almost identical).
      Additionally, we have IdeHostProcess which is a process that runs within
      the host system, via the --allow=devel support in flatpak. Also required
      --talk-name=org.freedesktop.Flatpak.
      883eb1f4
  22. 03 Sep, 2016 1 commit
  23. 06 Jul, 2016 1 commit
  24. 28 Jun, 2016 1 commit
  25. 17 Jun, 2016 1 commit
    • Christian Hergert's avatar
      build: reorganize libide · d0121822
      Christian Hergert authored
      The libide/ directory was getting a bit out of control. The number of files
      in the directory was simply too much to make it easy for newcomers to
      find what they are looking for.
      
      This breaks things up into a bunch of, somewhat logical, directories.
      
      We no longer use a bunch of crazy include paths with -I, and instead
      include the directory name when including as such:
      
        #include "buffers/ide-buffer.h"
      
      This will hopefully make it easier to navigate, and basically the same to
      open files if you use fuzzy search to open files.
      d0121822
  26. 06 May, 2016 1 commit
  27. 16 Feb, 2016 1 commit
  28. 15 Feb, 2016 1 commit