Как сделать плагин для 1С:EDT для начинающего Java+1C разработчика. Часть 4

Публикация № 1326516

Разработка - Инструментарий разработчика - EDT

java EDT plugin новичок обучение tutorial

Сборка репозитория P2 на основе исходников плагина 1С:EDT для поставки пользователям.

Продолжаем цикл статей по разработке плагина для 1С:EDT для начинающего Java+1C разработчика.

В первой части – //infostart.ru/1c/articles/1311121/ мы рассмотрели, что такое платформа Eclipse, и как создать плагин с помощью конструктора.

Во второй части – //infostart.ru/1c/articles/1319555/ создали плагин для валидации.

В третьей части – //infostart.ru/1c/articles/1323021/ – плагин для автоматического исправления (квикфикса)

Сейчас мы рассмотрим, как реализовать поставку обоих этих плагинов для пользователей.

С результатом разработки плагина можно ознакомиться в репозитории https://github.com/marmyshev/edt-bsl-validation

Содержание

 

Создание фичи для поставки

 

 

У нас есть два наших бандла, разделенных по бизнес-принципу. В одном используется UI, а в другом – бизнес-функциональность.

 

 

Теперь нам нужно поставлять их для пользователей.

 

 

Для этого обычно создается Feature Project (проект с фичей) – это функциональность, которую мы будем поставлять для пользователей, поскольку им не нужно знать, сколько у нас внутри бандлов, из каких кусков это все состоит.

 

 

Поэтому создаем проект с фичей (то, что мы будем поставлять пользователям), называем его org.mard.dt.bsl.validation.feature и в качестве версии устанавливаем 0.1.0.

 

 

На закладке Included Plug-ins включаем сюда созданные нами бандлы.

 

Создание репозитория для дальнейшей установки плагинов в 1C:EDT

 

 

Теперь, если мы хотим передать пользователям наш продукт, который мы создали, нам нужно сделать экспорт.

 

 

Мы говорим, что нам необходимо сделать Deployable features, потому что то, что устанавливается в платформу Eclipse и EDT – это фичи. Бандлы отдельно никак не устанавливаются. Всякая пользовательская установка дополнительных инструментов/плагинов делается через фичи.

 

 

Поэтому мы делаем экспорт наших фич. Нажимаем на кнопку Browse и указываем здесь какой-нибудь каталог для репозитория – я здесь создам каталог p2 специально для экспорта.

 

 

Переходим на вкладку Options и ставим галочку, что нам нужно создать p2 repository. Категории создавать не будем (снимаем галочку «Categorize repository)

Нажимаем кнопку Finish, и у нас происходит процесс экспорта этой фичи.

В дальнейшем из каталога p2 можно будет установить наши плагины в чистую поставку EDT.

 

Система автосборки maven для компиляции из исходников, создания фичи и создания репозитория p2

 

Maven также может компилировать проекты из исходников, создавать фичу и репозиторий p2.

 

 

В репозитории https://github.com/1C-Company/dt-example-plugins/tree/master/ видно, как организована структура проекта для работы с maven:

  • у нас есть исходники бандла – папка com.1c.dt.example.plugin.ui,

  • для него есть фича, которая делает поставку – папка com.1c.dt.example.plugin.feature.

  • есть папка с target-платформой;

  • и есть repository с дополнительной категоризацией.

 

 

В каждой папке здесь лежат pom-файлы для maven, которые нужны, чтобы описать, каким образом мы будем собирать все эти фичи, проекты, плагины и все остальное.

 

Настоятельно советую всем изучить эту схему.

 

 

В папке build находится центральный первый стартовый pom-файл для maven, который описывает, каким образом это надо собирать.

 

 

В нем указано, что дополнительно нужно взять подмодули (тут их четыре – target, плагин, фича и формирование репозиториев). И отдельно в каждом из этих проектов лежит свой соответствующий pom-файл – это такая иерархическая система сборки maven.

Вообще изучение автосборки – это большая тема. У maven есть специальный проект-расширение – maven tycho, который позволяет хорошо и качественно собирать проекты для Eclipse. С помощью maven tycho можно при сборке автоматически пробрасывать target-платформу, делать компиляцию, различные валидации – в этом его большое преимущество. Я читал, что для gradle тоже пытаются сделать такую же систему, но пока этого нет.

В целом, если вы хотите погрузиться в тему автосборки, советую изучить структуру репозитория dt-example-plugins. Я свои проекты собираю по такой же схеме.

Автосборка проекта с помощью Apache Maven выполняется из командной строки в папке, содержащей разрабатываемый плагин, по команде:

mvn clean verify -f build/pom.xml

В результате проект будет скомпилирован из исходников и собран репозиторий P2.

(* в настоящее время структура репозитория https://github.com/1C-Company/dt-example-plugins/tree/master изменилась, назначение его файлов и каталогов описано в https://edt.1c.ru/dev/ru/docs/plugins/project/project-structure/, порядок сборки проекта указан в https://edt.1c.ru/dev/ru/docs/plugins/project/build-install-publish-project/, при настройке maven необходимо учесть замечания из https://edt.1c.ru/dev/ru/docs/plugins/project/env-setup/).

 

****************

Статья подготовлена совместно с редакцией Инфостарта на основе серии обучающих видео по созданию плагинов для 1С:EDT.

Специальные предложения

Оставьте свое сообщение

См. также

1C:Enterprise Development tools (EDT) или кодим в Eclipse Промо

EDT v8 Бесплатно (free)

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

11.04.2015    78549    DitriX    297    

Как сделать плагин для 1С:EDT для начинающего Java+1C разработчика. Часть 3

EDT Бесплатно (free)

Описание процесса создания UI-плагина для EDT с Quick-Fix по проверке.

08.11.2020    752    marmyshev    0    

Как сделать плагин для 1С:EDT для начинающего Java+1C разработчика. Часть 2

EDT Бесплатно (free)

Описание процесса создания плагина для EDT по валидации с квикфиксом.

07.11.2020    1524    marmyshev    1    

Как сделать плагин для 1С:EDT для начинающего Java+1C разработчика. Часть 1

EDT Бесплатно (free)

Введение в разработку плагинов для 1С:EDT. Цель: показать, что плагины для 1С:EDT можно делать быстро и легко.

17.10.2020    3864    marmyshev    24    

1С:EDT. Куда пинать, чтобы полетело?

EDT v8 УНФ Россия Бесплатно (free)

Работал в 1С Конфигуратор и решил перейти на 1С EDT. Не получилось сразу. Потребовалась модификация компьютера.

19.08.2020    5798    pa240775    33    

Unit-тесты с помощью 1C:Enterprise Development Tools

EDT v8 Бесплатно (free)

Концепция TDD требует перестроения подходов к разработке и наличия инструментов для запуска Unit-тестов. Про написание плагина для EDT, который содержит в себе инструменты написания, анализа результатов и запуска Unit-тестов для конфигураций 1С на конференции Infostart Event 2019 Inception рассказал ведущий специалист по внедрению компании 1С-Рарус Александр Капралов.

11.06.2020    5008    doublesun    8    

Установка EDT 2020.2 на Ubuntu 18.04

EDT Россия Бесплатно (free)

Установка EDT 2020.2 на Ubuntu 18.04 Заметки на будущее.

12.04.2020    3449    awk    14    

Enterprise Development Tools, версия 2020.2 для мобильной разработки. Бег по граблям (серия публикаций от чайника для чайников)

EDT v8::Mobile 1cv8.cf Бесплатно (free)

Небольшие советы, которые сберегут время при работе с Enterprise Development Tools, версия 2020.2.

10.04.2020    4921    capitan    8    

Технология разветвлённой разработки, использующая git, ci/cd

CI/CD Git (GitHub, GitLab, BitBucket) Методология управления разработкой EDT 1С:Франчайзи, автоматизация бизнеса Россия Бесплатно (free)

Адаптация и расширение требований к разветвлённой разработке с использованием git и ci/cd, основанное на стандартах 1С

24.02.2020    6966    check2    10    

О синхронизации ИБ с проектом в EDT

EDT Бесплатно (free)

Немного о работе механизма синхронизации информационной базы с проектом EDT и как эти знания можно использовать для экономии времени. Или как объяснить, что проект в рабочей области эквивалентен конфигурации информационной базы, связанной с ним.

19.02.2020    4715    check2    2    

EDT + УТ 11.4 + БП 3.0 + Расширения. ЧАСТЬ 03

EDT v8 Бесплатно (free)

Групповая разработка в EDT.

21.01.2020    4970    YuriYuriev    3    

EDT + УТ 11.4 + БП 3.0 + Расширения. Часть 02

EDT v8 Бесплатно (free)

Продолжение "путевых заметок" про EDT...

09.01.2020    6971    YuriYuriev    32    

EDT + УТ 11.4 + БП 3.0 + Расширения. ЧАСТЬ 01

EDT v8 Бесплатно (free)

...продолжаем мучить(ся с) EDT

28.12.2019    7285    YuriYuriev    8    

EDT 1.16. Первые 20 часов работы

EDT v8 Россия Бесплатно (free)

Первое знакомство с 1C:Enterprise Development Tools, версия 1.16.0.363.

25.12.2019    11871    YuriYuriev    13    

Как мы разрабатываем в EDT

EDT Инструментарий разработчика v8 Бесплатно (free)

EDT – это новая среда разработки, на которую сейчас перешли разработчики фирмы «1С». Однако до сих пор существует ряд «белых пятен», касающихся как теоретической, так и практической части применения этого инструмента. Про опыт перехода на разработку в EDT на конференции INFOSTART EVENT 2018 EDUCATION рассказал начальник сектора разработки в компании «Группа Полипластик» Владимир Крючков.

23.08.2019    14116    ivanov660    31    

1С:EDT. Первые шаги… или есть ли альтернатива конфигуратору?

EDT v8 Бесплатно (free)

Заменить конфигуратор сложно, а в некоторых случаях невозможно, если, например, нужно оперативно подправить код непосредственно в рабочей конфигурации…

15.08.2019    31633    ellavs    109    

Взгляд на практику разработки в EDT из зазеркалья

EDT v8 1cv8.cf Бесплатно (free)

В данной статье расскажем о практическом опыте использования разработки в EDT: немного про интерфейс, командную разработку и GIT.

26.07.2018    26722    ivanov660    115