Рубрика «сборка проекта»

Сборка проектов Си и Си++: от простого к сложному. Часть II. Сборщики - 1


Продолжаю тему о сборке проектов на Си и Си++, первая часть которой размещена здесь.

Рецепты сборки по правилам хорошего тона должны поставляться с проектом и очень желательно, чтобы они не были привязаны к конкретной ОС или хотя бы к конкретному дистрибутиву Linux, используя специфические команды вроде apt-get, yum, emerge. Если это небольшой пет-проект выходного дня, то, конечно, в качестве рецепта сгодится и bash-скрипт. Пользователи адаптируют. Но если к проекту подключаются другие разработчики, то лучше потратить время на автоматизацию сборки, чтобы не терять его оптом в будущем. В этой части речь пойдёт об инструментах, которые используются для автоматизации процесса сборки программного обеспечения.Читать полностью »

Сборка проектов Си и Си++: от простого к сложному. Часть I. Библиотеки - 1


Каждый раз, в течение многих лет, собирая пилотную версию мизерного проекта или простой утилиты, мне кажется, что уж в этот раз точно обойдусь обычным скриптом для сборки, и никакие сборщики проекта мне не понадобятся. Но суровая реальность приводит меня в чувство уже в течение первых нескольких минут работы. Сначала оказывается, что до невозможности простая программка нуждается в JSON-парсере, HTTP-запросах CURL и прочих библиотеках. А по мере возбуждения хотелок эти все зависимости нарастают как снежный ком. И все мечты быстро скомпилировать страничку кода встречают на каждом шаге всё новые и новые проблемы.

Вот сегодня и расскажу о том, какие бывают способы борьбы с зависимостями и сборки проекта из множества файлов на Си++. Заодно те, кто не любят Си++, смогут порадоваться «прелестям» этого процесса. И хоть тема очень важная для программистов, но я обратил внимание, что даже многолетний опыт не гарантирует понимания этих процессов. Но сразу предупреждаю — история длинная даже с учетом всех попыток не убегать на смежные темы.Читать полностью »

Начало

Посмотрев на календарь, я понял, что уже 2020, а посмотрев на свою сборку, которая была с 2018 года, я понял, что пора её менять. В этой статье мы разберем структуру проекта, плагины (минимальный набор функционала) и их новые возможности, которые добавились за такое большое время. Мы разберем все моменты, чтобы новичок мог себе скачать эту сборку и начать с ней работать.

Не только древность моей сборки мотивировала на эту статью, но и еще одна причина: мне больно смотреть, когда заходят на онлайн-сервисы для конвертации scss, минификации javascript и других рутинных задач. Самое забавное — когда сделали мелкую правку, снова нужно проходить все круги ада копипаста.

Перед тем, как вы начнете читать, хочу сказать, что материала очень много, поэтому писал только основное. Слишком очевидных вещий старался не писать, но хотел, чтобы смог понять каждый новичок. Если будут непонятные моменты, то смело переходите по ссылкам и читайте более подробную информацию, а потом снова возвращайтесь к статье. Можете задавать вопросы в комментариях, всем постараюсь ответить.

Читать полностью »

Мы уже не раз рассказывали про свой GitOps-инструмент werf, а в этот раз хотели бы поделиться опытом сборки сайта с документацией самого проекта — werf.io (его русскоязычная версия — ru.werf.io). Это обычный статический сайт, однако его сборка интересна тем, что построена с использованием динамического количества артефактов.

Динамическая сборка и деплой Docker-образов с werf на примере сайта версионированной документации - 1

Вдаваться в нюансы структуры сайта: генерацию общего меню для всех версий, страницы с информацией о релизах и т.п. — не будем. Вместо этого, сфокусируемся на вопросах и особенностях динамической сборки и немного на сопутствующих процессах CI/CD.Читать полностью »

На Хабре уже есть материалы про то, как настроить docker-контейнер для компиляции проекта. Например, Использование Docker для сборки и запуска проекта на C++. В этой статье, как и в предыдущей будет рассмотрен вопрос сборки проекта, но здесь я бы хотел выйти за рамки туториала и рассмотреть глубже вопросы использования контейнеров в таких задачах, а так же построения инфраструктуры сборки с docker.

Читать полностью »

Многие программисты не понаслышке знают о том, что программа на языке C и C++ собирается очень долго. Кто-то решает эту проблему, сражаясь на мечах во время сборки, кто-то — походом на кухню «выпить кофе». Это статья для тех, кому это надоело, и он решил, что пора что-то предпринять. В этой статье разобраны различные способы ускорения сборки проекта, а также лечение болезни «поправил один заголовочный файл — пересобралась половина проекта».

Picture 1

Читать полностью »

Спор между любителями CLI программ и приверженцами GUI берёт своё начало с появления самых первых ОС с графическим интерфейсом и продолжается до сих пор. Я никогда не имел ничего против хороших GUI приложений и с удовольствием пользовался Codekit с самой первой версии. Сейчас на дворе конец 2016 года и вышло мажорное обновление под номером 3.

Codekit — это расширяемый front-end сборщик «на стероидах» с графическим интерфейсом и возможностью навешивать скрипты по любому событию. Ближайшими «консольными» аналогами можно назвать Grunt и Gulp. GUI подразумевает невероятно простую конфигурацию — большинство настроек выставляются и меняются с помощью чекбоксов либо радиокнопок. Для всего остального есть мастеркард текстовые поля ввода, в которые вписываются те же параметры, что и в консольных программах.
Читать полностью »

Как скомпилировать Qgis с возможностью отладки под Windows - 1

По работе пришлось столкнутся с тем, что нужно было узнать, какие действия происходят в ядре QGIS. QGIS (Quantum GIS) — свободная кроссплатформенная геоинформационная система. Сама система разработана с помощью инструментария Qt. Через него я и решил собрать проект. Для этого я скачал исходники qgis с официального сайта и начал сборку. На самом сайте есть руководство по сборке с помощью Qt Creator. Было прочитано множество статей про сборку и отладку QGIS (некоторые даже толковые). Но ни в руководстве, ни на каких-либо ресурсах не нашел решения тех проблем, с которыми я столкнулся. Так родилась идея написать собственное руководство по сборке QuantumGIS для Windows систем использую Qt Creator.
Читать полностью »

image

Преамбула

Есть у меня несколько старых проектов, писанных на С++, которые все еще развиваю по мере сил. Казалось бы — в чем же дело? Увы, это пачка очередных плагинов под мой любимый Adobe InDesign.

И каждый раз, когда выходит новый Creative Suite, приходится портировать это дело. Что интересно, основные усилия уходят на то, чтобы собрать новую версию по новым правилам, и подогнуть инсталлятор. Потому как уж если дошел до стадии «оно компилируется», то как правило — работает. Хотя конечно есть нюансы — например в один прекрасный момент PlaceGun перестал раскладывать несколько выбранных изображений, только первое. Но об этом — в следующий раз.

И разумеется — хотелось бы это собирать под все версии и все платформы за раз, а не «открыл вижлу — собрал — закрып — повторил».

Итак, для сборки, нам нужны одновременно

  • MS VS 2005
  • MS VS 2005 sp1
  • MS VS 2008
  • MS VS 2010
  • MS VS 2012

Читать полностью »

Firefox cosplay
Чуть больше года назад была приостановлена сборка 64-битной версии Firefox. Решение было не однозначным и вызвало много споров, обсуждении и осуждении.

Для некоторой части пользователей это событие стало поводом сменить браузер. Настоящим поклонникам пришлось либо собирать проект самостоятельно, либо пользоваться 32-разрядной версией и терпеливо ждать.

Как ответ на ожидания пользователей, которые не могли и / или не хотели скомпилировать 64-битную версия самостоятельно, появились неофициальные сборки. Которые, в прочем, не получили широкого распространения.

Сегодня совершенно случайно задавшись вопросом «А как с этим сейчас?» с удивлением обнаружил что в канале «Nightly», месяц назад, 12 января 2014 года, появилась так ожидаемая 64-разрядная сборка.

Уже с новым пользовательским интерфейсом «Australis», еще такая страшненькая даже не в стадии «бета», но вполне работоспособная версия выложена на официальном ftp-ресурсе Mozilla.

Будем надеяться, что к моменту, когда эта долгожданная версия с номером 30.0 должна будет добраться до стадии «официальный релиз», не случится ничего непредвиденного, и пользователи наконец-то смогут оценить все «прелести» 64-разрядной Mozilla Firefox.

Это событие, согласно расписанию выхода новых версии, должно случиться 10 июня 2014 года. Скрестим пальцы и пожелаем удачи команде Mozilla.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js