Ища оригинальную тему AxelF и пробираясь сквозь кучу ссылок на Crazy Frog, обнаружил мелодию, послужившую базой для музыкальной темы к Футураме. И крышесносящий клип к ней.
Авторы не по-детски зажигают.
суббота, ноября 21, 2009
пятница, ноября 13, 2009
Всех перенумеровать
Издавна повелось давать недоделанным разрабатываемым программам номера, чтобы не запутаться в дереве ревизий и знать, кто и когда внёс очередную фичу в проект и поломал его. Или потерял. Вопрос же не в этом, а в том, чтобы автоматизировать сей процесс. Завязав в узел Ant и svn, можно сделать следующую загогулину, для получения информации о текущёй ревизии проекта, чтобы потом эту циферку вставить в нужное место. Код Ant target'а следующий:
В результате чего далее в коде Ant'а можно обращаться к следующим property'ям:
svn.entry(revision) - текущая ревизия проекта.
svn.commit.author - Пользователь, сделавший последний коммит в текущей ревизии.
svn.commit.date - Дата последнего коммита текущей ревизии.
и другим менее интересным значениям.
Позже можно просто положить эти значения в файл, который будет читаться программой, например так:
Или запаковать программу, промаркеровав имя файла ревизией:
<target name="get.svn.info">
<mkdir dir="${application.output.dir}"/>
<mkdir dir="${application.testoutput.dir}"/>
<mkdir dir="${application.dist.dir}"/>
<!-- Paste resource file with revision information -->
<exec executable="svn" output="${application.output.dir}/svninfo.xml">
<arg line="info"/>
<arg line="-r HEAD"/>
<arg line="--xml"/>
<!-- root project folder -->
<arg value="${application.basedir}"/>
</exec>
<xmlproperty file="${application.output.dir}/svninfo.xml" prefix="svn" keepRoot="no"/>
<delete file="${application.output.dir}/svninfo.xml"/>
</target>
В результате чего далее в коде Ant'а можно обращаться к следующим property'ям:
svn.entry(revision) - текущая ревизия проекта.
svn.commit.author - Пользователь, сделавший последний коммит в текущей ревизии.
svn.commit.date - Дата последнего коммита текущей ревизии.
и другим менее интересным значениям.
Позже можно просто положить эти значения в файл, который будет читаться программой, например так:
<echo file="${revision.number.file}"># Application revision information
revision=${svn.entry(revision)}
</echo>
Или запаковать программу, промаркеровав имя файла ревизией:
<zip destfile="${application.archive.dir}/${dist.filename}-r${svn.entry(revision)}.zip" level="9" compress="yes">
<fileset dir="${application.dist.dir}">
<include name="**/*"/>
</fileset>
</zip>
Подписаться на:
Комментарии (Atom)