Расположение xsd для ant ivy lib "antlib: org.apache.ivy.ant" для IDE для автозаполнения xsd? - PullRequest
10 голосов
/ 04 февраля 2011

Я хочу создать задачи Ivy Ant в редакторе xml в IDE (Intellij iDEA) с автозаполнением на основе xsd, но не могу найти xsd для пространства имен XML-регистров xmlns: ivy = "antlib: org.apache.ivy.ant"

Где я могу найти это?

Ответы [ 6 ]

4 голосов
/ 21 марта 2013

Чтобы завершить ответ Шалома, место, куда нужно добавить файл ivy.jar для IntelliJ IDEA Community Edition, - INTELLIJ_HOME / lib / ant / lib (еще одна папка, которую нужно открыть).

Может быть, это относится и к полной версии.

4 голосов
/ 04 марта 2011

Я только что скопировал банку плюща в INTELLIJ_HOME / lib / ant, и теперь intellij может решать задачи плюща.

Или импортируйте этот файл ant в ваш проект ant, это фактически первый пример ivy в документации ivy, убедитесь, что вы всегда зависите от цели install-ivy, добавьте ваш файл ant к идее в окне сборки ant, и у вас даже установить плющ и идея распознает задачи плюща.

<property name="ivy.jar.dir" value="${user.home}/.ivy2/jars" />
<property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" />

<property name="ivy.install.version" value="2.2.0" />


<target name="check-ivy-installed" unless="INTERN-ivy.jar.exists">
    <available property="INTERN-ivy.jar.exists" file="${ivy.jar.file}"/>
</target>


<target name="download-ivy" depends="check-ivy-installed" unless="INTERN-ivy.jar.exists">
    <echo message="downloading and installing ivy"/>
    <mkdir dir="${ivy.jar.dir}"/>
    <!-- download Ivy from web site so that it can be used even without any special installation -->

    <get src="http://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar"
         dest="${ivy.jar.file}" usetimestamp="true"/>
    <echo message="ivy installed"/>
</target>

<!-- ================================= 
      target: install-ivy         
        this target is not necessary if you put ivy.jar in your ant lib directory
        if you already have ivy in your ant lib, you can simply remove this
        target and the dependency the 'go' target has on it
     ================================= -->
<target name="install-ivy" depends="download-ivy" description="--> install ivy">
    <!-- try to load ivy here from local ivy dir, in case the user has not already dropped
          it into ant's lib dir (note that the latter copy will always take precedence).
          We will not fail as long as local lib dir exists (it may be empty) and
          ivy is in at least one of ant's lib dir or the local lib dir. -->
    <echo message="Installing ivy"/>
    <path id="ivy.lib.path">
        <fileset dir="${ivy.jar.dir}" includes="*.jar"/>
    </path>
    <taskdef resource="org/apache/ivy/ant/antlib.xml"
              uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/>
</target>    

2 голосов
/ 28 апреля 2016

может быть, xsd не было в последнее время, когда началось это обсуждение, но, по крайней мере, с мая 2011 года схема плюща хорошо документирована на

http://ant.apache.org/ivy/schemas/ivy.xsd

, которая связана прямо из документации в http://ant.apache.org/ivy/

Итак, чтобы начать заново по схеме, вам просто нужно:

<?xml version="1.0" encoding="UTF-8"?>
<project name="yourproject"
         xmlns:ivy="antlib:org.apache.ivy.ant"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd"
>
<!-- … -->
0 голосов
/ 04 сентября 2012

Плагин XML для jEdit определяет AntCompleteTask (задача муравья), который создает XML-файл с именем ant-complete.xml. Полученный файл выглядит следующим образом:

<element-list>
<!-- ... -->
<element name="classpath"
content="(fileset|dirset|extdirs|existing|filelist|pathelement|path)">
<attribute name="id" type="ID" />
<attribute name="location" type="CDATA" />
<attribute name="cache" type="(true|false|on|off|yes|no)" />
<attribute name="refid" type="CDATA" />
<attribute name="description" type="CDATA" />
<attribute name="path" type="CDATA" />
</element>
<!-- ... -->

Сгенерированный файл может быть загружен как Архив XML-плагина . Откройте XML.jar и перейдите в каталог xml/completion. Его синтаксис определен в xml-extension-info.dtd .

Код задачи не содержит явной лицензии, но по крайней мере GPL. В любом случае вам, вероятно, не нужно распространять эту задачу, а только использовать ее, и для этого не требуется никаких лицензий.

Я не могу оценить удобство использования полученного XML-файла, но jEdit использует его для автозаполнения.

0 голосов
/ 04 февраля 2011

да, нет xsd для задач ivy ant avialable. но я нашел способ сделать автозаполнение в Intellij IDEA в файле сборки ant нужно определить дополнительную задачу:

<property name="ivy.jar.dir" value="C:/Apache/apache-ivy-2.2.0/"/>


<taskdef resource="org/apache/ivy/ant/antlib.xml"
                 uri="antlib:org.apache.ivy.ant">
        <classpath>
                <fileset dir="${ivy.jar.dir}" includes="*.jar"/>
        </classpath>
</taskdef>
0 голосов
/ 04 февраля 2011

Полагаю, эта дискуссия может вам помочь. Похоже, что xsd для задач ivy ant отсутствует, но Eclipse выполняет автозаполнение.

...