Программа обновления Eclipse позволяет пользователям выполнять поиск обновлений для установленных комплектов. Поиск новых версий установленных комплектов выполняется на удаленном сервере с помощью встроенных URL. При наличии обновлений Eclipse предлагает пользователям начать процедуру их установки. После загрузки и установки обновления, а также перезапуска платформы новая версия комплекта готова к работе.
В компаниях, где с продуктом на основе Eclipse работает большое число пользователей (как правило, это коммерческие компании), такой подход может быть связан с различными неполадками:
В первую очередь администратору продукта необходимо создать локальный сайт обновления Eclipse на сервере в локальной сети организации (за брандмауэром). Этот сайт обновления будет частично отражать сайт обновления в Internet, поскольку он будет хранить обновления только тех модулей и комплектов, которые компания считает нужным применить в данный момент. Фактически этот сайт - это тот же сайт обновления Eclipse, с файлом site.xml и архивами комплектов и модулей.
Администраторы могут создать такой сайт двумя способами:
Поскольку URL сайта обновления указывается в манифесте комплекта, информация о локальных сайтах обновлений, настроенных администраторами, комплектам неизвестна. Таким образом, необходимо предусмотреть функцию перенаправления. Для этой цели, а также для настройки других параметров стратегии обновления следует создать файл стратегии обновления и настроить программу обновления для применения этого файла во время поиска.
Этот файл создается в формате XML. Для него можно указать произвольное имя. Для этого служит поле Параметры > Установка и обновление Стратегия обновления.По умолчанию значение в этом поле не указано: пользователи могут ввести URL файла стратегии обновления. Файл управляется локальным администратором и доступен для всех установленных экземпляров продукта. Совместное использование файла стратегии обновления можно обеспечить следующими способами:
В результате этот файл будет указан для всех установленных экземпляров продукта.org.eclipse.update.core/updatePolicyFile = <URL>
Формат файла стратегии должен соответствовать следующему определению типа документа:
<?xml encoding="ISO-8859-1"?> <!ELEMENT update-policy (url-map)*> <!ATTLIST update-policy > <!ELEMENT url-map EMPTY> pattern CDATA #REQUIRED url CDATA #REQUIRED >
Этот элемент позволяет переопределить URL сайтов обновления, указанные в манифестах комплектов. В процессе поиска новых обновлений Eclipse проверяет стратегию обновления (если она задана), а также соответствие значения url-map заданному префиксу комплекта. При совпадении с префиксом заданный URL будет использован вместо встроенного. Таким образом, администраторы могут настроить поиск обновлений продуктами Eclipse на локальном сервере, расположенном за брандмауэром. В то же время для комплектов третьих сторон, устанавливаемых программой обновления Eclipse, продолжает применяться механизм обновления по умолчанию, поскольку в стратегии нельзя будет найти соответствующие совпадения.
В файл стратегии можно добавить несколько элементов url-map. Степень
детализации префиксов комплектов можно выбирать произвольным образом. Например, для
перенаправления всех обновлений Eclipse в атрибуте pattern можно указать шаблон
"org.eclipse"
. Аналогичным образом, если перенаправление
требуется для отдельных комплектов, в качестве шаблона можно указать полный ИД
комплекта.
Шаблоны можно указать таким образом, чтобы постепенно сузить область возможных совпадений. При этом для отдельного комплекта может быть обнаружено несколько совпадений. В этом случае применяется наиболее точное совпадение. Например:
<?xml version="1.0" encoding="UTF-8"?> <update-policy> <url-map pattern="org.eclipse" url="URL1"/> <url-map pattern="org.eclipse.jdt" url="URL2"/> </update-policy>
В этом примере все комплекты Eclipse обновляются с помощью URL1. Исключение составляет
комплект org.eclipse.jdt
, для которого применяется URL2.
Поскольку файлы стратегий обновления не содержат строк, предназначенных для перевода, они не требуют дополнительной локализации. Рекомендуется использовать в этих файлах кодировку UTF-8.
Возможность автоматического обновления позволяет Eclipse выполнять поиск обновлений в соответствии с заданным расписанием (при каждом запуске (по умолчанию), каждый день, каждую неделю и т.д.) .
Ниже перечислены основные этапы реализации механизма обновления: