LINUX.ORG.RU

Apache Ant 1.7.0 final


0

0

Вышел Apache Ant 1.7.0 final.
Новый Ant 1.7 включает фреймворк для ресурсов и antlib, новую систему подготовки и распространения Ant tasks, описанную в недавней статье на OnJava (http://www.onjava.com/pub/a/onjava/20...).

>>> Подробности

Ответ на: комментарий от denis_ka

Да? Что-то уже и не припомню когда приходилось вставлять в maven проекты антовские таски. Уже давно есть все что надо. Посмотрите повнимательнее. На фоне общей идеи maven Ant просто пережитки прошлого.

anonymous
()
Ответ на: комментарий от anonymous

Вот-вот, посмотрю я как джедаи-неформалы будут уже в офигительном количестве имеющиеся под ант жабофильские проекты на пару с ОпенОфисом чем-то отличным от насекомого собирать.

Gharik
()
Ответ на: комментарий от anonymous

Да, консерватизм - наше все!

При всем уважении к мавну, который более высокоуровневой тулзой, чем ант (ну... где-то на пол-уровня%)

svu ★★★★★
()
Ответ на: комментарий от svu

Сергей, вопрос как эксперту с мировым именем: есть ли способ взять значение <classpath> в виде "dir1:dir2:dir3", ... ?

В документации к анту не нашёл ничего подобного. Создаётся ощущение, что такой возможности нет вообще...

adarovsky ★★★★
()
Ответ на: комментарий от adarovsky

> есть ли способ взять значение <classpath> в виде "dir1:dir2:dir3", ... ?

А зачем его задавать в таком формате?

anonymous
()
Ответ на: комментарий от anonymous

>А зачем его задавать в таком формате

например, retroweaver принимает classpath в таком виде, чтобы проверять, нет ли ссылок, которые выводят за его пределы...

Либо, как вариант, напечатать его с помощью команды echo

adarovsky ★★★★
()
Ответ на: комментарий от adarovsky

Честно скажу - ни разу не встречал примера, чтобы ант брал classpath в таком виде. Что я делаю в подобных случаях - генерю маленький файл для анта (как отдельный скрипт, вызываемый из ant через exec) и включаю его в базовый проект:

<ant antfile="tmp/generated.xml" ...>

svu ★★★★★
()
Ответ на: комментарий от svu

Но при этом и сам classpath надо использовать внутри generated.xml - понятное дело, "наверх" он не скармливается.

svu ★★★★★
()
Ответ на: комментарий от adarovsky

> например, retroweaver принимает classpath в таком виде, чтобы проверять, нет ли ссылок, которые выводят за его пределы...

Не проще ли взять вместо него Retrotranslator и забыть про это поделие?

nofate
()
Ответ на: комментарий от adarovsky

> Либо, как вариант, напечатать его с помощью команды echo

А какие таки проблемы с echo? Можно же уже завести свойство. Может я чего пропустил в Вашей беседе?

$ant
Buildfile: build.xml

compile:
     [echo] liquidlnf.jar;swt.jar

BUILD SUCCESSFUL
Total time: 0 seconds

$

<?xml version="1.0"?> 
<project name="test" default="compile" basedir=".">

     <property name="src" value="."/> 
     <property name="build" value="."/>
     <property name="mypath" value="liquidlnf.jar:swt.jar"/>
или
     <property name="mypath" value="liquidlnf.jar;swt.jar"/>

     <target name="compile" > 
          <echo message="${mypath}"/>
          <javac classpath="${mypath}" srcdir="${src}" destdir="${build}"/> 
    </target>
</project>

или

<javac srcdir="${src}" destdir="${build}"> 
     <classpath path="${mypath}"/>
</javac>


import javax.swing.JFrame;
import javax.swing.UIManager;
import com.birosoft.liquid.LiquidLookAndFeel;

public class Test {
   public static void main(String[] args) throws Exception {
            UIManager.setLookAndFeel("com.birosoft.liquid.LiquidLookAndFeel");
        LiquidLookAndFeel.setLiquidDecorations(true, "mac");

        JFrame f = new JFrame("Test");
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setSize(200, 100);
        f.setVisible(true);
   }
}

> значение <classpath>

Не могли бы пояснить, какой конкретно пример нужно выполнить?
Я просто не врубился, sorry.

Bioreactor ★★★★★
()
Ответ на: комментарий от anonymous

мля.. это любой path, fileset или чего нить еще ... 

<fileset id="lib.files" dir="/opt/lib">
    <include name="**/*.jar"/>
    <type type="file"/>
</fileset>

denis_ka
()
Ответ на: комментарий от denis_ka

и предыдущему анонимусу

Тогда уже надо:

<?xml version="1.0"?> 

<project name="test" default="test" basedir=".">

 <path id="lib.files">
    <pathelement location="liquidlnf.jar"/>
    <pathelement location="swt.jar"/>
 </path>

 <target name="test">

   <pathconvert property="jars" refid="lib.files" pathsep=":">
      <chainedmapper>
         <flattenmapper/>
      </chainedmapper>
   </pathconvert>

   <echo message="${jars}"/>

  </target>

</project>


$ ant test

Buildfile: build.xml

test:
     [echo] liquidlnf.jar:swt.jar

BUILD SUCCESSFUL
Total time: 0 seconds

$

Bioreactor ★★★★★
()
Ответ на: комментарий от adarovsky

>Сергей, вопрос как эксперту с мировым именем: есть ли способ взять значение <classpath> в виде "dir1:dir2:dir3", ... ?

Есть. ЗАвтра скажу как:)

r ★★★★★
()
Ответ на: комментарий от Bioreactor

>Не могли бы пояснить, какой конкретно пример нужно выполнить?

Всё заработало... Просто я не дошёл до pathconvert... Я думал, что оно неявно может приводиться. В моём случай отлично сработала pathconvert без явных параметров:

<pathconvert property="weavepath" refid="FULL.classpath"/>

подставила системно-зависимые разделители и с полными путями всё нарисовала.

Ещё раз большое спасибо

adarovsky ★★★★
()
Ответ на: комментарий от adarovsky

еще так можно:

<property name="class.path.property" refid="project.class.path"/>

r ★★★★★
()
Ответ на: комментарий от adarovsky

Век живи, век учись...

ЗЫ Вот видите, какой эксперт блин;)

svu ★★★★★
()
Ответ на: комментарий от anonymous

> Ant конечно хорошо, но Maven - лучше

Они отлично дополняют друг друга. Maven очень удобен для сборки Java-проектов в стандартизированном формате, Ant - для всего остального.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.