Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ant , цикл и работа со списком директорий 
:(
    Опции темы
nightguest
Дата 21.9.2006, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 21.9.2006

Репутация: нет
Всего: нет



Мне тут на практике дали задание переписать существующий Ant bild.xml
Сейчас он работает так.
1. Загружает файл с фтп.
2. Конвертит его в базу данных.
3. Конвертит из БД дальше.
...
И этот скрипт запускается для каждой директории на фтп через .cmd файл

Названия директорий отличаются на одну - две буквы. И каждая содержит один файл , названия файлов тоже отличаются на те-же одну - две буквы.
Например
c:\xABCyz\xABC100yz.rar
c:\xABCy\xABC100y.rar
и т.д.

меня просят переписат этот скрипт так, что-бы он сначала скачивал все файлы, затем их все конвертировал ...

Так вот вопрос. Можно-ли в Ant организовать что-то типа цикла?
То есть создать массив с именами директорий, и запустить ftp-task для каждой по очереди? Или нужно писать свой task для этого? А то мне кажется что для каждой директории свой ftp-task создавать будет не очень красиво.

Просто Ant изучаю второй день и пока не очень разобрался с какой стороны подойти.
Спасибо за помощь!
PM MAIL   Вверх
batigoal
Дата 21.9.2006, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 11
Всего: 151



Цитата(nightguest @  21.9.2006,  14:53 Найти цитируемый пост)
Так вот вопрос. Можно-ли в Ant организовать что-то типа цикла?
То есть создать массив с именами директорий, и запустить ftp-task для каждой по очереди? 

Если все каталоги лежат в одном месте, то можно просто пробегаться по нему, и запускать таск для каждого каталога.
Вот кусок моего рабочего кода, который бегает по каталогу и запускает утилиту wrap для всех файлов, находящихся в нем:
Код

    <!-- Wraps the ${sql.file} file with Oracle 9 wrapper -->
    <target name="_wrap">
        <basename property="file.filename" file="${file}"/>
        <delete file="${sql.wrap.dir}/${file.filename}"/>
        <exec executable="${wrap.dir}/wrap.exe">
         <arg value="iname=${sql.source.dir}/${file.filename}" />
            <arg value="oname=${sql.wrap.dir}/${file.filename}"/>
        </exec>
    </target>
    
    <!-- Wraps the ${sql.file} file with Oracle 9 wrapper -->
    <target name="wrap_one" description="Wrap one source sql file">
        <antcall target="_wrap"> 
            <param name="file" value="${sql.file}"/> 
        </antcall>
    </target>
    
    <!-- Wraps all the files in ${sql.source.dir} folder with Oracle 9 wrapper -->
    <target name="wrap_all" description="Wrap all source sql files">
        <delete dir="${sql.wrap.dir}"/>
        <mkdir dir="${sql.wrap.dir}"/>
        <for param="file">
            <path>
                <fileset dir="${sql.source.dir}" includes="*"/>
            </path>
            <sequential>
                <antcall target="_wrap"> 
                    <param name="file" value="@{file}"/> 
                </antcall>
            </sequential> 
        </for>
    </target>

Попробуй разобраться.

Добавлено @ 15:48 
Цитата(nightguest @  21.9.2006,  14:53 Найти цитируемый пост)

Так вот вопрос. Можно-ли в Ant организовать что-то типа цикла?

У меня для этого задействован таск for из сторонней библиотеки тасков ant-contrib.

Это сообщение отредактировал(а) batigoal - 21.9.2006, 15:51


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
nightguest
Дата 21.9.2006, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 21.9.2006

Репутация: нет
Всего: нет



Спасибо! Сейчас буду пробовать, каталоги все в одном месте, но там есть и лишние, и те что пока не нужны , но могут потребоватся.

Это сообщение отредактировал(а) nightguest - 21.9.2006, 16:01
PM MAIL   Вверх
chief39
Дата 21.9.2006, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


карманная тигра
***


Профиль
Группа: Участник Клуба
Сообщений: 1631
Регистрация: 20.5.2005
Где: Киев

Репутация: 5
Всего: 77



Всунь джарик джаваскрипта и БСФ
js.jar и bsf.jar
в класспас.
И ворочай скриптом по щучьему веленью smile

Или ещё каким скриптовым 


--------------------
Люди - это свечи. Они либо горят, либо их - в жопу!(с)

PM MAIL   Вверх
batigoal
Дата 22.9.2006, 08:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 11
Всего: 151



Цитата(nightguest @  21.9.2006,  16:53 Найти цитируемый пост)
Спасибо! Сейчас буду пробовать, каталоги все в одном месте, но там есть и лишние, и те что пока не нужны , но могут потребоватся.

Это можно подрегулировать fileset'ом.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
nightguest
Дата 22.9.2006, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 21.9.2006

Репутация: нет
Всего: нет



Еше вопросик. Я тут чужой код разбирать начал и не понимаю одну вещь.

Код

<target name="jatodb-uncompress-SSC" if="with.jatodb-import" unless="exclude.jatodist-SSC" depends="jatodb-download">
        <exec executable="${bin.dir}/unrar/rar_static"
              dir="${jatodb.dir}"
              os="Linux"
              failonerror="true">
            <arg value="x"/>      <!-- eXtract -->
            <arg value="-o+"/>    <!-- Overwrite -->
            <arg value="-inul"/>  <!-- disable all messages -->
            <arg value="SSC${jato.dist}/SSC${jato.dist}_CS2002_TextFiles_UTF8.exe"/>
        </exec>
        <exec executable="${bin.dir}/unrar/UnRAR.exe"
              dir="${jatodb.dir}"
              os="Windows XP"
              failonerror="true">
            <arg value="x"/>      <!-- eXtract -->
            <arg value="-o+"/>    <!-- Overwrite -->
            <arg value="-inul"/>  <!-- disable all messages -->
            <arg value="SSC${jato.dist}\\SSC${jato.dist}_CS2002_TextFiles_UTF8.exe"/>
        </exec>
        <exec executable="${bin.dir}/unrar/UnRAR.exe"
              dir="${jatodb.dir}"
              os="Windows 2000"
              failonerror="true">
            <arg value="x"/>      <!-- eXtract -->
            <arg value="-o+"/>    <!-- Overwrite -->
            <arg value="-inul"/>  <!-- disable all messages -->
            <arg value="SSC${jato.dist}\\SSC${jato.dist}_CS2002_TextFiles_UTF8.exe"/>
        </exec>
    </target>


Здесь происходит вызов соответствующего системе архиватора. Тк ${bin.dir} y меня всегда равна Windows XP-x86 то Linux не запустится, но ведь у Windows XP и Windows 2000 один и тот-же winrar.exe то запуск пройдет 2 раза?

или os="Windows XP" к примеру в 13 строке определяет что будет запушено?

Sorry. Уже разобрался. Как можно удалить этот пост?

Это сообщение отредактировал(а) nightguest - 22.9.2006, 13:03
PM MAIL   Вверх
batigoal
Дата 22.9.2006, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 11
Всего: 151



Цитата(nightguest @  22.9.2006,  13:47 Найти цитируемый пост)
Sorry. Уже разобрался. Как можно удалить этот пост?

Новичку, по-моему, никак. Это возможно только после какого-то количства постов (50, или 100, или 200 - не помню).

На будущее: разные вопросы лучше выделять в разные темы.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java tools & IDE's | Следующая тема »


 




[ Время генерации скрипта: 0.1093 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.