13 июля, 2012

Сборка расширения для Opera 12 с помощью Apache Ant

Цель автоматизировать сборку расширения. Для этого был создан файл сценарий build.xml для Ant, который:

  1. Определяет название расширения по имени папки проекта, в корне которой и находиться build.xml;
  2. Берет номер версии расширения из файла конфигурации расширения config.xml (см. структуру файлов расширения Opera 12 в документации);
  3. Правит файл конфигурации расширения config.xml, устанавливая адрес для обновления и id расширения;
  4. Создает в корне проекта папку release;
  5. Генерирует внутри release мета-файл для обновлений OperaMyExt-update.xml;
  6. Упаковывает файлы расширения из папки src (см. ниже) в файл расширения OperaMyExt.oex и копирует его в release.

Пример файла конфигурации Ant (build.xml) для сборки расширения:

Как использовать build.xml?

  1. Устанавливаем Ant
  2. Создаем папку проекта с именем расширения, например OperaMyExt;
  3. Внутри создаем файл build.xml для Ant, что показан выше;
  4. Также здесь создаем папку src для исходных файлов расширения;
  5. Немного подготавливаем файл src/config.xml (пример);
    • Указываем <widget ... id="@MAIN-URL@">
    • И <update-description href="@UPDATE-XML-PATH@"/>
  6. Указываем внутри build.xml требуемые значение переменных вместо EXT-PAGE-URL и UPDATE-BASE-URL;
  7. Для сборки запускаем ant из командной строки внутри папки проекта, он увидит build.xml и выполнит;
  8. Можно настроить IDE, например для PhpStorm: Settings|External Tools, далее для «Program» — указываем путь к Ant и для «Working directory» — $ProjectFileDir$;
  9. Ant создает папку release, с файлом расширения и мета-файлом для обновления. А также правит значения в src/config.xml.

1 комментарий:

  1. Casino: Why is gambling the most dangerous of all
    A casino gambling addict is worrione simply gambling the most dangerous of https://deccasino.com/review/merit-casino/ all herzamanindir.com/ other people. https://vannienailor4166blog.blogspot.com/ A gambler's life is gri-go.com not just about the outcome of an action,

    ОтветитьУдалить