SORU
4 HAZİRAN 2010, Cuma


Nasıl en son git arama bir ant komut dosyası oluştur) karma taahhüt

Nasıl arama en son git bir ant komut dosyası oluştur) karma söz verebilir miyim?

Şu anda github üzerinde sakladığınız yeni bir açık kaynak kodlu bir proje üzerinde çalışıyorum. Benim mevcut KARINCA uzatmak gibi bana dosya numaralı yapılar oluşturmak için izin vermek için inşa ederdim. Bir şeyler inşa etmek gibi başlatmak istiyorum hayal ediyorum "karınca buildnum -Dnum=12".

Sonuç kavanozu bu bildirim dosyası bilgileri iki önemli bit istiyorum:

  • inşa.sayı=12
  • inşa.= gitcommit

Yapı oluşturma biliyorum.sayı doğrusu. Ancak, karma işlemek için doldurmak istiyorum değer olan en son gıt arama için en iyi karınca tesisat konusunda emin değilim .

CEVAP
30 EKİM 2010, CUMARTESİ


Github üzerinde bir proje için aşağıdaki karınca hedef yazdım. Kullanımı:

  • depolar özelliği sürüm "depo.". sürüm
  • eğer hayır gıt yüklü ise çalışır ya da hiç .git dizini mevcut (geri dönüş)
  • diğer hedefler ise git sürüm ihtiyaçları varsa bu hedefe bağlı olmalıdır
  • sadece git komutu (her zaman) infaz ediliyor

<available file=".git" type="dir" property="git.present"/>

<target name="git.revision" description="Store git revision in ${repository.version}" if="git.present">
    <exec executable="git" outputproperty="git.revision" failifexecutionfails="false" errorproperty="">
        <arg value="describe"/>
        <arg value="--tags"/>
        <arg value="--always"/>
        <arg value="HEAD"/>
    </exec>
    <condition property="repository.version" value="${git.revision}" else="unknown">
        <and>
            <isset property="git.revision"/>
            <length string="${git.revision}" trim="yes" length="0" when="greater"/>
        </and>
    </condition>
</target>

Bir şablon dosyası: @repository.version@ token genişletmek için kullanılabilir, örneğin

<target name="index.html" depends="git.revision" description="build index.html from template">
    <copy file="index.html.template" tofile="index.html" overwrite="yes">
        <filterchain>
            <replacetokens>
                <token key="repository.version" value="${repository.version}" />
            </replacetokens>
        </filterchain>
    </copy>
</target>

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Distractify

    Distractify

    1 Aralık 2011
  • Fraser Raft

    Fraser Raft

    9 Mart 2010
  • The White House

    The White Ho

    21 Ocak 2006