2012-05-30 3 views
1

У меня есть файл сборки Ant, который используется в Docbook. Теперь я собираюсь преобразовать этот файл сборки Ant в Makefile, который использует процессор Xsltproc. Я не особенно знаком с Makefile или Ant. Поэтому, пожалуйста, помогите мне преобразовать его. Есть ли какие-то ресурсы, за которыми я должен следовать?Преобразование файла сборки Ant в Makefile

Здесь я хочу, структуры папок 1. Копии и ее содержимое в другую папке свойств системы Java 2. конфигурационных 3. настроим путь к классам

в скрипте, он имеет такой код,

<copy todir="${output-dir}"> 
<fileset dir="${ant.file.dir}/template"> 
<include name="**/*"/> 
</fileset> 
</copy> 

<java classname="com.nexwave.nquindexer.IndexerMain" fork="true"> 
     <sysproperty key="htmlDir" value="${output-dir}/content"/> 
     <sysproperty key="htmlExtension" value="${html.extension}"/> 
      <classpath> 
     <path refid="classpath"/> 
     <pathelement location="${xercesImpl.jar}"/>   
     <pathelement location="/usr/share/xml-commons/lib/xml-apis.jar"/>  
     </classpath> 
    </java> 

Я хочу конвертировать выше 2 кода в make. спасибо .. !!

+0

Для Docbook рассмотреть возможность использования Docbkx Maven плагин вместо этого, он объединяет всю цепочку Docbook инструмента (парсер, DTD таблицы стилей ...) в очень простой конфигурации сборки: http://code.google.com/ p/docbkx-tools –

+0

Спасибо. Но мне нужно преобразовать ant-скрипт в Makefile. Не для maven. Что я делаю для этой конверсионной части. Думаю, я должен сделать это в руке. если вы можете рассказать мне – harsh

ответ

4

Марка и АНТ - очень разные технологии. Ваше требование было бы трудным для всех, кроме простейших вариантов использования.

Вот некоторые из технических проблем:

  • ANT не сделать. Поверхность выглядит похожей, но под ней работает совсем по-другому.
  • Удивительно сделать не очень крест платформу. У разных ароматов есть тонкие отличия, которые могут нарушить конвертер ANT to Makefile.
  • ANT предназначен для поддержки программ Java, это означает, что он имеет богатый синтаксис для управления такими неприятными вещами, как Java classpaths. Снова трудно перевести.

Обновление

Следующая АНТ java task

<java classname="com.nexwave.nquindexer.IndexerMain" fork="true"> 
     <sysproperty key="htmlDir" value="${output-dir}/content"/> 
     <sysproperty key="htmlExtension" value="${html.extension}"/> 
      <classpath> 
     <path refid="classpath"/> 
     <pathelement location="${xercesImpl.jar}"/>   
     <pathelement location="/usr/share/xml-commons/lib/xml-apis.jar"/>  
     </classpath> 
</java> 

может быть переведен на следующий Unix Java командной строки.

java \ 
    -DhtmlDir=$PUT_OUTPUT_DIR_HERE \ 
    -DhtmlExtension=$PUT_EXT_HERE \ 
    -cp $CLASSPATH:$PATH_TO_XERCES_JAR:/usr/share/xml-commons/lib/xml-apis.jar \ 
    com.nexwave.nquindexer.IndexerMain 
+0

спасибо. Я знаю, что это сложно ... но я должен сделать это для проекта. У меня есть 4 файла jar и их нужно добавить в classpath. Если вы можете дать мне код для добавления этих файлов jar в путь к классам в make-файле. – harsh

+0

@harsh Извините, не могу написать логику Makefile для вас, но я представил пример того, как перевести задачу ANT java в командную строку Unix. –

+0

@ Mark: Большое спасибо. Это код, который я искал. Я закончил копирование и должен выполнить только java-задачу. Я поставил свою задачу Java, как показано ниже Java \ \t -DhtmlDir = docsrc \ \t -DindexerLanguage = еп \ \t -DhtmlExtension = HTML \ \t -DdoStem = истина \ \t -cp $ CLASSPATH : $ (DOCBOOK_STYLES) /webhelpindexer.jar: $ (DOCBOOK_STYLES) /lucene-analyzers-3.0.0.jar: $ (DOCBOOK_STYLES) /lucene-core-3.0.0.баночка \ \t com.nexwave.nquindexer.IndexerMain \ Но это дает ошибку говоря "Исключение в потоке "основного" java.lang.NoClassDefFoundError: ком/nexwave/nquindexer/IndexerMain" – harsh

Смежные вопросы