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

  • Ash100HD

    Ash100HD

    29 EKİM 2011
  • Jon Reed

    Jon Reed

    14 AĞUSTOS 2006
  • michal lelkowski

    michal lelko

    9 Temmuz 2006