ant - आइवी:जावडॉक्स और सूत्रों का आह्वान करना




ivy (2)

ठीक है, मुझे लगता है कि मैंने इसे समझ लिया है मैं इस पूरी प्रक्रिया को सोचने पर था मेरी <dependencies> अनुभाग इस तरह दिखना चाहिए:

<dependencies>
    <dependency org="commons-logging" name="commons-logging" rev="1.1.1"
        conf="javadoc->javadoc;sources->sources;compile->default"/>
</dependencies>

यह नक्शा javadoc के javadoc और मेरे sources से मेवेन के sources लिए मेरे javadoc को नक्शे जब मैं conf="sources->default" मैप किया, तो यह मेरे sources को मैवेन के default मैप करने के लिए तैयार किया गया था जो कि संकलित निर्भरता है

मैं एक पंक्ति में सभी कॉन्फ़िगरेशन निर्दिष्ट कर सकता हूं, और मुझे पृथक <artifact> संस्थाओं की आवश्यकता नहीं है I

मैं आइवी के लिए काफी नया हूँ, लेकिन इसे जार निर्भरताओं के साथ काम करने के लिए मिल गया है। समस्या यह तय करने की कोशिश कर रही है, इसलिए मैं जावडॉक्स और जारों से स्वतंत्र रूप से स्रोत प्राप्त कर सकता हूं।

मेरे पास एक साधारण परीक्षण प्रोजेक्ट है, लेकिन कोई बात नहीं जो मैं कर रहा हूं, मैं उसमें वर्ग फ़ाइलों के साथ जार ला रहा हूं।

मेरे पास निम्न ivy.xml फ़ाइल है:

<ivy-module version="1.0">
    <info
        organisation="com.vegicorp"
        module="test"
        revision="1.0"
        status="release"/>

    <configurations>
        <conf name="default" visibility="public" extends="runtime,master"/>
        <conf name="master" visibility="public"/>
        <conf name="compile" visibility="public"/>
        <conf name="provided" visibility="public"/>
        <conf name="runtime" visibility="public" extends="compile"/>
        <conf name="test" visibility="private" extends="runtime"/>
        <conf name="system" visibility="public"/>
        <conf name="sources" visibility="public"/>
        <conf name="javadoc" visibility="public"/>
        <conf name="optional" visibility="public"/>
    </configurations>

    <dependencies>
        <dependency org="commons-logging" name="commons-logging" rev="1.1.1"
            conf="compile->default"/>
        <dependency org="commons-logging" name="commons-logging" rev="1.1.1"
            conf="sources->default">
            <artifact name="commons-logging" type="sources" ext="jar"/>
        </dependency>
        <dependency org="commons-logging" name="commons-logging" rev="1.1.1"
            conf="javadoc->default">
            <artifact name="commons-logging" type="javadoc" ext="jar"/>
        </dependency>
    </dependencies>
</ivy-module>

और निम्न build.xml :

<project name="ivy-test" default="default" basedir="."
    xmlns:ivy="http://ant.apache.org/ivy">

    <property name="ivy.dir" value="${basedir}/ivy.dir"/>
    <import file="${ivy.dir}/ivy.tasks.xml"/>

    <property name="target.dir" value="${basedir}/lib"/>
    <target name="-resolve">
        <ivy:resolve/>
    </target>

    <target name="clean">
        <delete dir="${target.dir}"/>
        <ivy:cleancache/>
    </target>

    <target name="default"
        depends="-resolve">

        <fail message="ivy.conf is not defined">
            <condition>
                <not>
                    <isset property="ivy.conf"/>
                </not>
            </condition>
        </fail>

        <delete dir="${target.dir}"/>
        <mkdir dir="${target.dir}"/>
        <ivy:retrieve conf="${ivy.conf}"
            pattern="${target.dir}/[artifact]-[revision].[ext]"/>
    </target>
</project>

कमांड लाइन पर, मैं टाइप करूंगा:

$ ant -Divy.conf=compile

और, यह कक्षाओं के साथ जर्फ़ाइल डाउनलोड करना चाहिए

हालांकि अगर मैं इसे इसे टाइप करता हूं:

$ ant -Divy.conf=sources

मैं जार फ़ाइल चाहता हूँ जिसमें सूत्र शामिल है और वर्ग नहीं, और जब मैं इसे टाइप करता हूँ:

$ ant -Divy.conf=javadoc

मैं जार फ़ाइल चाहता हूँ जिसमें जवाडॉक होता है और स्रोत नहीं।

मुझे पूरा यकीन है कि यह मेरी ivy.xml जो काफी सही नहीं है। मैं मूल रूप से यह कोशिश की:

<dependencies>
    <dependency org="commons-logging" name="commons-logging" rev="1.1.1">
        <artifact name="commons-logging" type="jar" ext="jar" conf="compile->default"/>
        <artifact name="commons-logging" type="sources" ext="jar" conf="sources->default"/>
        <artifact name="commons-logging" type="javadoc" ext="jar" conf="javadoc->default"/>
    </dependency>

कि जार, सूत्रों, और javadoc डाउनलोड है, लेकिन सभी एक बार कोई फर्क नहीं पड़ता कि मैं जो विन्यास की कोशिश की।


junitreport कार्य junitreport कार्य द्वारा जेनरेट की गई एक्सएमएल फाइलों से रिपोर्ट तैयार करने के लिए XSLT का उपयोग करता XSLT

आप नेस्टेड report तत्व के styledir एट्रिब्यूट का उपयोग करके अपना स्वयं का एक्सएसएलटी निर्दिष्ट करके आउटपुट को कस्टमाइज़ कर सकते हैं:

<!-- use reportstyle/junit-frames.xsl to produce the report -->
<report styledir="reportstyle" format="frames" todir="testreport"/>

आउटपुट को कस्टमाइज़ करने के लिए, एक विकल्प डिफ़ॉल्ट एक्सएसएलटी की एक प्रति बनाना होगा और उसे संशोधित करना होगा। या आप एक वैकल्पिक एक्सएसएलटी की तलाश कर सकते हैं जो आपके उद्देश्यों के लिए अनुकूलित करना अधिक आसान है।

छोटे बदलावों के लिए, डिफ़ॉल्ट एक्सएसएलटी को आयात करना और अनुकूलित करने के लिए आवश्यक टेम्पलेट्स को ओवरराइड करना सबसे आसान हो सकता है। उदाहरण के लिए, प्रत्येक परीक्षण के लिए कॉलम जोड़ने के लिए, आपको उस टेम्पलेट को ओवरराइड करना होगा जो टेबल हेडर और टेम्पलेट उत्पन्न करता है जो तालिका पंक्ति उत्पन्न करता है। नीचे, मैंने अभी उन टेम्पलेट्स की प्रतिलिपि बनाई है और उन्हें एक कॉलम जोड़ने के लिए थोड़ा सा संशोधित किया है ( <!-- ADDED --> ) के साथ चिह्नित दो जोड़ों को देखें।

<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <!-- import the default stylesheet -->
  <xsl:import href="jar:file:lib/ant-junit.jar!/org/apache/tools/ant/taskdefs/optional/junit/xsl/junit-frames.xsl"/>

  <!-- override the template producing the test table header --> 
  <xsl:template name="testcase.test.header">
    <xsl:param name="show.class" select="''"/>
    <tr valign="top">
      <xsl:if test="boolean($show.class)">
        <th>Class</th>
      </xsl:if>
      <th>Name</th>
      <th>Status</th>
      <th width="80%">Type</th>
      <th nowrap="nowrap">Time(s)</th>

      <!-- ADDED -->
      <th>Screenshot</th>

    </tr>
  </xsl:template>

  <!-- override the template producing a test table row -->
  <xsl:template match="testcase" mode="print.test">
    <xsl:param name="show.class" select="''"/>
    <tr valign="top">
      <xsl:attribute name="class">
        <xsl:choose>
          <xsl:when test="error">Error</xsl:when>
          <xsl:when test="failure">Failure</xsl:when>
          <xsl:otherwise>TableRowColor</xsl:otherwise>
        </xsl:choose>
      </xsl:attribute>
      <xsl:variable name="class.href">
        <xsl:value-of select="concat(translate(../@package,'.','/'), '/', ../@id, '_', ../@name, '.html')"/>
      </xsl:variable>
      <xsl:if test="boolean($show.class)">
        <td><a href="{$class.href}"><xsl:value-of select="../@name"/></a></td>
      </xsl:if>
      <td>
        <a name="{@name}"/>
        <xsl:choose>
          <xsl:when test="boolean($show.class)">
            <a href="{concat($class.href, '#', @name)}"><xsl:value-of select="@name"/></a>
          </xsl:when>
          <xsl:otherwise>
            <xsl:value-of select="@name"/>
          </xsl:otherwise>
        </xsl:choose>
      </td>
      <xsl:choose>
        <xsl:when test="failure">
          <td>Failure</td>
          <td><xsl:apply-templates select="failure"/></td>
        </xsl:when>
        <xsl:when test="error">
          <td>Error</td>
          <td><xsl:apply-templates select="error"/></td>
        </xsl:when>
        <xsl:otherwise>
          <td>Success</td>
          <td></td>
        </xsl:otherwise>
      </xsl:choose>
      <td>
        <xsl:call-template name="display-time">
          <xsl:with-param name="value" select="@time"/>
        </xsl:call-template>
      </td>

      <!-- ADDED -->
      <td>
        <a href="link/to/screenshot/for/test/{@name}">screenshot</a>
      </td>

    </tr>
  </xsl:template>

</xsl:stylesheet>

यहां बताया गया है कि परिणाम कैसा दिखता है: