Определяет набр методов сборки проекта. Сложность самого описания очень велика. В глубь не полез. То что видно на верхнем уровне определено 3 типа проекта (exe, so, lib), для каждого есть конфигурации релиза и дебага, они аккуратно юзаю стандартные конфигурации CDT (cdt.managedbuild.config.gnu.base). В конфигурациях определены тулчайны, дополняющие главный(org.slind.ei.toolchain) некоторыми опцами. Сам главный тулчайн сводится к набору соответсвий типа “что нада сделать”-“комманда”. Комманды берутся из настроек плагина(см. п. 2), после чего передаются классу org.slind.ei.core.CommandLineGenerator. Если кратко: юзается то, что уже есть в CDT, просто переопределяются конкретные комманды (типа скомпилить, слинковать и т.п.), изврат через который это делается по-видимому обусловлен архитектурой CDT.
Задаёт классы для работами с настройками плагина. Назначает класс org.slind.ei.core.preferences.PreferenceInitializer в качестве загрузчика дефолтных настроек для плагина (настройки типа: комманда чрута, путь к слайндовому чруту и т.п), использует классы SlindUtils и Constatnts (видимо эти классы нам и пригодятся ;)).
Пропертя для сборщика. По факту просто ключи для имен платформ по эклипсовым соглашениям и собственно их значения.
Определяет сборщик. Назначает на эту роль org.slind.ei.core.SudoCallBuilder, работает похоже согласно названию, хотя несколько моментов в нём мне не понятны.
предлагаю zps глянуть на его код, думаю для постижения этого дао опыт компиляния под linux критичен.
Очень интересное расширение, судя по всему задаёт тип проекта, и собственно прикручивает к нему все рюшки. Представляет собой объявление набора классов реализующих org.eclipse.core.resources.IProjectNature + набор параметров их заюзанья + зависимости от других натур. Слайндовая реализация натуры:org.slind.ei.core.SlindProjectNature, она только назначает проекту SudoCallBuilder и удаляет его при отключении от проекта.
Не понял что делает. Не понял что авторы CDT подразумевали под термином Scanner, в общем надо ещё разбираться :(
Штука в том числе зовёт
gcc -E -P -v -dD
и парсит вывод. Неплохоб понять что собственно вывод должен содержать.
класс для получения настроект плагина, сокращает запись + не заблидушься в том что у кого брать :)
прошитые в виде констант имена настроек плагина.
утилсы для получения всякой инфы о слайнде.
позволяет транслировать комманды, генерируемые CDT в комманды для исполнения внутри чрута. Реализует ацки сложный интерфейс, видимо для использования нами придёцца копипастить кусочек… ну или уговаривать сименсовцев творить рефакторинг ))
служит для представления настроек плагина в виде IBuildMacro, смысловая нагрузка которого судя по всему сводится к подстановке значений переменных в настройках комманд и путей для расширения org.eclipse.cdt.managedbuilder.core.buildDefinitions.
перенести каменты к классам из описания расширений сюда
Данный плагин задаёт способы взаимодействия CDT со сдайндовым чрутом и компиляторами под целевые платформы, основная нагрузка на конфигурации плагина, классы носят вспомогательный характер, логики особой не несут и в основном служат для доступа к настройкам и убирают щели между классическими make, gcc и тем, что есть в слайнде. По моим ощущениям нам отсюда нужны только настройки путей и комманды.