ant (анг. муравей) - это мощный платформо-независимый скриптовый инструмент, используемый для сборки приложений. Сценарий сборки приложения java оформляется в виде XML-файла подобно скриптам "make" при обработке файлов С/С++. По-умолчанию сценарий сборки извлекается из файла build.xml .
Пример описания сценария сборки:
- копирование *.jar файлов в каталог релиза, но перед этим необходимо
- сформировать *.jar файлы, но перед этим необходимо
- скомпилировать java-файлы в файлы *.class
Сценарий сборки ant "у показывает что надо делать, чтобы превратить из того, что есть (как правило, исходный java-код) в то, что необходимо. Сценарий представляет собой детальный план сборки из частей единого целого, включающий ряд операндов, позволяющих выполнять команды копирования, удаления и перемещения файлов, компиляции java-файлов, формирование документации к коду и исполняемого jar-файла.
Структура сценария сборки - ant project, basedir, target
Корневой элемент сценария project может содержать три необязательных атрибута:
- name - имя проекта;
- default - цель проекта по умолчанию;
- basedir - базовая директория, относительной которой будут вычисляться все пути.
Элемент описывающий цель проекта target может содержать следующие атрибуты:
- name - имя цели, обязательный атрибут;
- depends - промежуточные цели, от которых зависит данная цель; имена перечисляются через запятую;
- if - определяет какие свойства должны быть равны true для запуска цели;
- unless - определяет какие свойства должны быть равны false для запуска цели;
- description - краткое описание цели, что она делает.
Параметр property определяет пару имя/значение, которая может многократно использоваться в сценарии подобно переменным. Свойства (настройки) можно определять как внутри build.xml файла, так и в отдельных файлах. При определении внутри xml файла свойства могут включать следующие атрибуты:
- name - имя свойства;
- value - значение свойства;
- location - устанавливает значение свойства в абсолютный путь. Если значение уже абсолютный путь, то ничего не меняется, если относительный то подставляется базовая директория. Символы / и \ меняются автоматически в зависимости от платформы;
- refid - ссылка на другой объект, определенный где-либо;
- resource - имя ресурса содержащего настройки в формате настроечного файла;
- file - путь к файлу настройки (в нем свойства определяются как имя=значение на отдельной строке);
- url - адрес настройки;
- environment - префикс используемый для доступа к переменным окружения. Например, если определено myenv, то к переменным обращаются как "myenv.PATH";
- classpath - путь к ресурсам;
- prefix - префикс добавляемый к свойствам загруженных из файла, ресурса, или url. По умолчанию префикс ".".
Шаблон простейшего сценария:
Согласно представленному сценарию ant "у необходимо удалить все *.jar файлы из директории d:\projects\bin .
В примере сценарий сборки содержит тег проект project , включающий несколько заданий target . Первая строка примера содержит общую инфомацию о проекте. Самые важные атрибуты проекта project это элемент наименования задания (значение default ) и базовая директория basedir .
Атрибут basedir указывает на базовую директорию, от которой будут вычисляться относительные пути, используемые в сценарии сборки. Каждый проект может иметь только один атрибут basedir , поэтому можно указывать либо полные пути, либо разбивать сценарий на несколько файлов сборки, в каждом из которых указывать свою базовую директорию. Атрибут default указывает на задание target , определенное для выполнения по-умолчанию.
ant работает из командной строки поэтому необходимо определить переменную окружения ANT_HOME , указывающую корневую директорию приложения.Для запуска ant"a на выполнение сценария необходимо правильно описать команду. Примеры вызова Ant"а для выполнения сценария:
- ant -buildfile simple.xml clean.jar
- ant -buildfile simple.xml
- ant compile
В первом и втором примерах сценарии сборки определены параметром -buildfile и представлены в файле simple.xml . В третьем и четвертом примерах сценарии сборки представлены в файле build.xml , наименование которого используется по-умолчанию. В первом примере выполняется сценарий с заданием clean.jar , в третьем сценарии - compile . Во втором и четвертом примерах Ant выполняет сценарии, определенные по умолчанию.
Определение свойств задания, ant property
Свойства в сценарии ant – это аналог переменных в программировании. Каждое свойство имеет два параметра:
- name – имя свойства;
- value – значение.
Примеры определения свойств для секций, property :
Использовать свойства очень просто, для этого нужно имя свойства написать между символами $ { "property.name" }. Например, выражение: $ {dstDir}/src будет преобразовано в "D:\Release\myProject\src".
Создание директории, ant mkdir
В представленном задании "make.dir" ant должен создать директорию "D:\Release\myProject", определенную атрибутом "dstDir".
Копирование файлов, ant copy todir
Представленный сценарий решает задачу копирования файла myProject.ini из директории проекта prjDir в директорию сборки проекта basedir .
Команда "copy" включает вложенный элемент <fileset >, который определяет группу файлов. Файлы, которые включаются в эти группы, располагаются в поддиректориях относительно базовой, определенной атрибутом basedir корневого элемента project .
Для файлов может быть указан набор масок patternset
, по которым будут отбираться файлы. Шаблон patternset может
быть включен как вложенный элемент
Элементы include и exclude указывают на маски (фильтры), результат применения которых следует включать и не включать в набор.
Компиляция java-файлов, ant javac
Следующие задания сценария сборки решают задачу компиляции java-файлов. Элемент srcDir определяет директорию с файлами исходных кодов. Если java-файлы располагаются в поддиректории, то после фигурных скобок и "слеша" необходимо указать поддиректорию.
Элемент destDir определяет директорию назначения. Если в исходных java-файлах указан пакет package , то откомпилированные class-файлы будут располагаться в соответствующих поддиректориях.
Второе задание compile зависит от первого задания common согласно значения атрибута depends , в связи с чем при вызове ant "а с флагом compile первоначально будет выполнено первое задание.
Для выполнения второго задания, т.е. для компиляции файлов, необходимо использовать дополнительные библиотеки, упакованные в.jar файлы, в связи с чем путь к этим библиотекам указывается в элементе classpath .
Существует 2 особенности задачи компиляции java-файлов javac . Во-первых, можно не указывать непосредственно имена java файлов - достаточно просто указать каталог. Во-вторых, если ant определит, что class файл существует и новее, чем java файл, то компиляция будет проигнорирована. Эти две особенности являются примерами приемов сборки приложения.
Формирование.jar файла, ant jar
Java приложения, как правило, поставляются упакованными в jar файлы. ant использует команду "jar" для создания архивов:
В представленном задании сценарий формирования файла jar зависит от задания компиляции compile . Упакованный архив в виде файла myProject.jar будет включать все поддиректории с файлами, расположенными в директории dstDir .
Определение манифеста приложения
ant позволяет вставить в сборку готовый файл манифеста manifest.mf .
Но можно также определить содержимое манифеста:
Запуск приложения, ant fork
Ант позволяет запускать приложение. Для этого необходимо определить параметры приложения и свойству fork присвоить значение "true". Определим задание для запуска создаваемого jar-файла.
Следует обратить внимание, что параметр depends имеет значение dist . Поэтому, пока архив не создан, запускать нечего. Запуск программы осуществляет тег "java". Его параметр jar указывает, что мы хотим запустить программу из jar-архива. Параметр fork имеет значение true, это означает, что для запуска программы мы используем отдельную виртуальную машину (обязательное требование при запуске из jar-файла).
Задание с тестами, JUnit
Следующая задача запускает тесты (если они были созданы прежде).
Внимание . Для того, чтобы работала эта задача нам нужно рассказать ant где находится библиотека junit.jar . В документации к ant описывается три различных способа, которые позволяют это сделать. Самый простой способ - это копирование файла junit.jar в папку ANT_HOME/lib.
Тестирование выполняется в теге junit , который имеет два параметра:
- fork – запускает тесты в отдельной виртуальной машине;
- haltonfailure – останавливает выполнение, в случае если тест не проходит.
Содержимое тега classpath
определяет размещение скомпилированных тестов и классов, которые они
трестируют.
Тег formatter
задает параметры отображения результатов тестирования. Параметр type="plain" указывает,
что результаты тестирования должны отображаться в виде обычного текста, а параметр usefile="false"
обеспечивает вывод результатов на экран, а не в файл.
С помощью тега test запускается тест. В параметре name указывается наименование теста.
Архивирование файлов, ant zip
Для архивирования файлов необходимо использовать в задании тег zip .
С помощью параметра destfile задаем имя архива. А вложенный тег fileset позволяет указать перечень файлов, которые войдут в архив.
Согласно заданию в архив включаем только исходные коды java и файлы с расширениями mf, xml. Атрибут dir задает стартовую папку, includes – указывает шаблоны выбора файлов в архив ("**" - означают любую папку, "*" - любое количество любых символов в имени файла).
Очистка временных директорий, ant delete
Для очистки временных директории и удаления файлов необходимо использовать тег delete . С её помощью можно удалить результаты работы всех предыдущих задач и оставить только исходники.
Тег delete удаляет папку и её содержимое. Параметр dir задает имя папки. В последнем теге параметр file определяет имя файла.
Обратите внимание, что в первом теге delete имя папки указывается явно (не используя параметры), что позволяет за один раз удалить папки build/classes и build/tests.
Перемещение и переименование файлов/директорий, ant move
Для переименования и перемещения файлов или директорий необходимо использовать move .
Создание документации, ant javadoc
ant можно использовать для создания документации java-приложения. Пример задания приведен на странице javadoc .
Подробная информация формирования документации представлена на странице
Thaumcraft 4 - Ну, я думаю, понятно, что это основа магии в мире, которая требует немалых и долгих работ со знаньями, но которая взамен дает полный контроль над волшебством
Botania - Лесная магия тоже стоит хлопот. Так что выбирайте, быть заядлым друидом или могущественным магом... но ходят слухи, что кому то под силу изучить оба великих искусства...
Necrоmancy - Темная сторона волшебного искусства... Не зная почему, но многие пытались завладеть ей, что в последствии сводило их с ума... Кто знает, может те монстры, что ходят под луной в мире майнкрафта - это тоже дело рук безумцев. Так или иначе, но теперь и вам есть дорога к обучению некромантии.
Carpenters Blocks Mod
- Архитектура - тоже магия... магия красоты... обуздайте же и ее возможности.
Dungeon Pack
- Это та самая модификация, добавляющая новые сооружения в примитивный мир кубов.
Myths and Monsters - Встречайте новых существ на просторах майнкрафта.
Zombie Awareness - Старые враги... Неупокоенные мертвецы теперь приобрели некое подобие разума. Теперь, они, действительно, смогут доставить вам проблем.
Mo Bends - Более эстетичные действия, совершаемые разнообразными созданиями...
Mo" Zombies
Better Villages - На умных мертвецов - умные жители. Правда, весь их ум, заключается в постройке деревень не только в пустынях или равнинах, а везде... даже на водной поверхности, дабы зомби не смогли устроить быструю и легкую расправу.
Mutant Creatures - Мутация бывает той еще злобной штукой. Теперь вы сможете узреть ее творенья
Mob Amputation - Хех, отнеситесь к ночным тварям так же жестоко, как они к вам! Долой конечности и головы, им они, все равно, не пригодятся
Gravestone - Надгробья... Мрачная архитектура воссоздаст ту картину, что царила в темные века до нашей эры...
BiblioCraft - Не только мрачность, но и, что то вроде, "эпичности" должно присутствовать в мире.
Highlands - Для больших приключений нужно больше биомов.
Twilight Forest - Сумеречный лес... Место, как раз, для странствий меж деревьями в поисках чего то могущественного.
HardcoreEnderExpansion - Дракон... Эндер дракон... Настолько велик, что к моменту, когда до него добираются герои, он становится не таким уж и великим. Теперь же, вы ощутите мощь этого летающего разрушителя. Кроме того, вы встретите в эндер мире много нового, но не буду раскрывать всех карт
3D Furnace - Выплавка металлов - это то, на чем держался весь средний век. Дак почему бы не придать этому, хоть какой то, красоты.
Damage Indicators - Наблюдайте за тем, как утекает жизнь у ваших противников.. .
30.11.2017Гриферская сборка Ютубера Bezobrazie, идеально подходит для игры на всех серверах версии 1.11.2. Именно он поможет окунуться в весёлый дополненный мир Майнкрафта, в котором так много всего поменялось, как будто играешь уже в новую игру!
В сборку включены основные вспомогательные моды для игры на сервере, а именно:
1) Forge + Optifine. Forge - позволяет устанавливать моды, Optifine - оптимизирует вашу игру и поднимает FPS
2) Xaeros Minimap - миникарта, которая показывает игроков/предметы/мобов/опыт, миникарту можно полностью настроить и подогнать под себя,меняется все начиная от положения карты, до иконок на карте.
3) Durability Show - В правом нижнем углу появится интерфейс, на котором показано состояние используемой брони, оружия или инструмента.
4) Torohealth - мод показывающий здоровье и броню игрока при наводке на игрока, полезный в пвп и гриферстве мод, вы всегда сможете узнать состоянии брони и здоровья противника, что даст вам дополнительное преимущество.
5) Just Enough Items - мод позволяет узнать рецепты всех крафтов, при наведении на предмет нажать "R" и увидите крафт, если нужно узнать крафт определенного предмета то в инвентаре нажми "o" и появится столбец со всеми предметами. Очень удобный мод для серверов!
Изменение с Текстур паком:
В данной сборке обычный текстур пак, но с увеличенным разрешением 32x32. А так же
1) Полностью заменено небо, теперь, оно красивое, голубое и с белыми, похожими на настоящие облаками.
2) Заменен шрифт, теперь, он более плотный.
3) Добавлен объём 3D предметам - лестницы, рельсы, кровать - стали более объемными.
4) Укорочены мечи и уменьшены текстуры щита, для большей видимости поля боя.
5) Стрела при натягивании меняет цвет. Если тетева натянута слабо - стрела красная, сильнее желтая, на максимум - зеленая.
6) Вырезаны дождь и снег, теперь когда идет дождь или снег вы этого не будете видеть.
7) Уменьшена текстура огня при горении. Теперь когда вы горите огонек будет виден только внизу и не загромождает экран.
8) Вода стала более прозрачной.
9) Изменены текстуры алмазной и золотой руды. Добавлено больше пикселей "алмазов и золота", теперь руду лучше видно на краях лавовых озёр.
Ручная установка:
Инструкция ручной установки:
Автоматическая установка:
Внимание : После установки мод-пака вам необходимо интернет подключение, для скачивания дополнительных файлов лаунчером!