Skip to content

Latest commit

 

History

History
95 lines (66 loc) · 5.69 KB

README.rus.md

File metadata and controls

95 lines (66 loc) · 5.69 KB

О проекте

This document in English

Этот проект представляет собой набор утилит для работы с Google Closure Tools:

Для работы требуется maven3 и выше. Последнюю версию можно взять с сайта проекта или при помощи менеждера пакетов вашего дистрибутива.

Артефакты находятся в репозитории на гитхабе, подробная информация о репозитории на его странице

Для подключения репозитория, добавьте следующие строки в ваш pom.xml

...
<repositories>
  <repository>
    <id>urmuzov-snapshots</id>
    <url>http://urmuzov.github.com/maven-repository/snapshots</url>
  </repository>
  <repository>
    <id>urmuzov-releases</id>
    <url>http://urmuzov.github.com/maven-repository/releases</url>
  </repository>
</repositories>
...

compiler-plugin

Этот плагин используется для вызова Google Closure-Compiler в цикле сборки артефакта.

Поддерживает все основные настройки, включая:

  • compilationLevel;
  • loggingLevel;
  • warningLevel;
  • formatting;
  • manageClosureDependencies;
  • generateExports;
  • настроку директорий и файлов для компиляции;
  • настофку директорий и файлов с экстернами;

Дополнинельно поддерживает:

  • Несколько проходов компиляции с разными настройкаи;
  • опцию addDefaultExterns для добавления включенных в поставку экстернов;
  • опции для отладки.

Информацию по настройке плагина смотрите здесь

package-plugin

Этот плагин используется для запаковки javascript-библиотек в maven-артефакты (далее называемые closure-package). В дальнейшем можно управлять зависимостями javascript-библиотек средствами maven.

При компиляции проекта package-plugin выполняет две функции:

  1. распаковывает все closure-package, которые может найти в classpath в ${project.build.directory}/closure (откуда их в дальнейшем может взять compiler-plugin);
  2. собирает текущий проект в один или несколько closure-package согласно файлу ${project.build.directory}/classes/META-INF/closure-packages.properties.

Информацию по настройке плагина смотрите здесь

packages/closure-library

Обертка превращающая Google Closure-Library в closure-package.

Подробнее на этой странице

archetype

Архетип для создания проекта использующего Closure-Library, компилируемого и собираемого при помощи compiler-plugin и package-plugin.

mvn archetype:generate \
  -DarchetypeRepository=http://urmuzov.github.com/maven-repository/releases/
  -DarchetypeGroupId=com.github.urmuzov \ 
  -DarchetypeArtifactId=closure-package-maven-archetype \
  -DarchetypeVersion=1.0.2 \
  -DgroupId=my.test.group \
  -DartifactId=test-artifact \
  -Dversion=1.0.0-SNAPSHOT \
  -Dpackage=my.test.pkg

Первые 4 параметра определяют где хранится ахретип, какой ахретип используется, обязательно наличие параметра archetypeVersion в проект будут подключены compiler-plugin, package-plugin и packages/closure-library такой же версии.

Следующие 4 параметра определяют название группы, артефакта, версию и пакет (опционально) в котором будет лежать стандартная структура closure-package.

Подробнее об архетипе смотрите здесь