Открыты исходные тексты Sourcegraph
2 октября 2018 года
Платформа Sourcegraph переведена (Архивная копия от 18 апреля 2019 на Wayback Machine) в разряд открытых проектов. Sourcegraph предоставляет движок для навигации по исходным текстам и поиска определённых конструкций в коде. Проект состоит из серверной части и web-интерфейса, а также браузерного дополнения для интеграции с GitHub.com. Код написан на языках Go и JavaScript (Node.js). Для хранения данных используется PostgreSQL, а для хранения сеансов Redis. Код открыт под лицензией Apache 2.0.
Sourcegraph может применяться как самодостаточная платформа для рецензирования и навигации по исходным текстам, размещённым в Git-репозиториях. Например, имеется возможность анализа произвольного вызова функции и перехода к месту её определения, просмотра других вызовов этой функции в коде, истории изменений, связанных с функций обсуждений, документации и сообщений об ошибках. Sourcegraph также предоставляет гибкие средства поиска ссылок и всплывающие подсказки по использованию различных объектов.
Поддерживается анализ кода на 19 языках и модули интеграции с GitHub.com, GitHub Enterprise, Bitbucket Server и Phabricator. Возможно подключение внешних серверных обработчиков для разбора семантики языка и статического анализа кода, поддерживающих протокол LSP (Language Server Protocol). Для интеграции со сторонними инструментами разработки предоставляется Sourcegraph Extension API.
В состав серверной части входят:
- Cервисы для обеспечения работы фронтэнда (web-интерфейса);
- Прокси для интеграции с GitHub;
- Git-сервер для зеркалирования репозиториев на своём хосте;
- Индексатор для построения поискового индекса на основании содержимого репозитория с учётом семантики кода на разных языках;
- Lsp-proxy для взаимодействия с LSP-модулями для разбора кода на разных языках программирования (имеются собственные модули для Go, Java, TypeScript/JavaScript, Python и PHP);
- query-runner для выполнения проверочных поисковых запросов и отправки уведомлений;
- Repo-updater для отслеживания актуальности репозитория и его обновления при необходимости;
- Searcher для поиска в git-архиве;
- Indexed-search/ zoekt для поиска с привлечением предварительно построенного индекса;
- Symbols для индексации с учётом обработки в Ctags;
- Syntect для обеспечения подсветки синтаксиса;
- Модули для интеграции с редакторами кода и интегрированными средами разработки.
Проект вместо проприетарного продукта теперь будет развиваться в соответствии с моделью OpenCore, которая подразумевает наличие открытой базовой части с поставкой дополнительной функциональности в виде платных редакций. Например, среди возможностей, доступных только в платной версии, упоминаются поддержка механизма единой аутентификации (SSO), кластеризация, навигация с охватом разных репозиториев, поддержка внешних СУБД и расширенная система логов.
Источники
править- Главная ссылка к новости (https://about.sourcegraph.com/...) (Архивная копия от 18 апреля 2019 на Wayback Machine)
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.