【问题标题】:How to run a script (for version number generation) every time autotools is run每次运行 autotools 时如何运行脚本(用于生成版本号)
【发布时间】:2023-03-14 21:27:01
【问题描述】:

我正在使用 autotools/eclipse/linux。 每次我点击构建按钮时,我都想运行一个脚本来增加头文件中的构建号。我是否将其添加到 Makefile.am 中?这是什么语法?

【问题讨论】:

    标签: eclipse sh autotools automake


    【解决方案1】:

    您可以这样做:将其添加到 all 目标,以便它每次都运行,并将其声明为 .PHONY,以便 make 不会尝试将其与现有文件相关联。

    all: update-build-number
    
    .PHONY: update-build-number
    update-build-number:
        $(srcdir)/my_increment_script
    

    【讨论】:

    • 谢谢。让我开始追求下面的代码。
    【解决方案2】:

    这可能对其他尝试使用 git 进行版本控制并自动化其版本编号的人有用

    这是我的号码生成器:

    #!/bin/sh
    #echo "Test version of version_script runs OK!"
        majorversion=1
        #echo "Commits"
        #git rev-list HEAD
        lastmerge=`git rev-list --merges HEAD | head -n1`
        #echo "Last Merge"
        #echo $lastmerge
        #echo "Merges (Sub version)"
        #git rev-list --merges HEAD
        subvn=`git rev-list --merges HEAD | wc -l`
        #echo $subvn
        #echo "Commits+1 since last merge (Sub sub version)"
        subsubvn=`git rev-list HEAD | grep -B99999 -e$lastmerge - | wc -l`
        #echo $subsubvn
        #echo "No merges"
        #git rev-list --no-merges HEAD
        #git rev-list --no-merges HEAD | wc -l
        #echo $majorversion.$subvn.$subsubvn > versionnumfile
        echo $majorversion.$subvn.$sub
    

    主要版本是硬编码的(目前),子版本是合并的次数,子版本是自上次合并以来的提交次数(+1)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-02
      • 2017-08-20
      • 1970-01-01
      • 1970-01-01
      • 2019-03-25
      • 1970-01-01
      • 2015-05-26
      • 2021-11-01
      相关资源
      最近更新 更多