标签: version-numbering

如何自动化使用Maven构建的Eclipse插件的版本号更新过程

我正在使用类似于此处描述的项目的项目 .所以,它在父pom.xml中有几个模块:

 <modules>
    <module>../de.vogella.tycho.plugin</module>
    <module>../de.vogella.tycho.feature</module>
    <module>../de.vogella.tycho.p2updatesite</module>
 </modules>
Run Code Online (Sandbox Code Playgroud)

这些模块具有通用版本号,例如1.0.0-SNAPSHOT或不具有-SNAPSHOT.feature.xml文件需要包含相同的版本号:

<feature
      id="com.my.feature"
      label="My plugin feature"
      version="1.0.0">
Run Code Online (Sandbox Code Playgroud)

和:

<plugin
      id="com.my.plugin"
      download-size="0"
      install-size="0"
      version="1.0.0"
      unpack="false"/>
Run Code Online (Sandbox Code Playgroud)

文件category.xml(在p2更新站点项目中)和MANIFEST.MF(在插件项目中)需要包含相同的值.

问题是:如何使用Maven自动化所有这些文件中的版本号更新过程?

我尝试使用maven-release-plugin和maven-versions-plugin来解决这个问题.第一个插件会产生大量未使用的操作(比如进行大量的CVS提交,我在这个项目中没有使用).第二个插件只对pom.xml文件进行更改,不修改feature.xml,category.xml和MANIFEST.MF,或者我用它不太好.

eclipse-plugin release version-numbering tycho maven

15
推荐指数
2
解决办法
6445
查看次数

为什么 pip 要求文件包含“@​​file”而不是版本号?

我用 pip freeze > requirements.txt 创建了 requirements.txt。一些模块显示@file..... 而不是版本#。它是什么意思,为什么显示?

康达:4.8.3

这是requirements.txt 的结果。例如 astroid、flask-admin、matplotlib 在下面显示“@文件”

astroid @ file:///opt/concourse/worker/volumes/live/b22b518b-f584-4586-5ee9-55bfa4fca96e/volume/astroid_1592495912194/work
bcrypt==3.1.7
blinker==1.4
certifi==2020.6.20
cffi==1.14.0
click==7.1.2
cycler==0.10.0
dnspython==1.16.0
ecdsa==0.13
email-validator @ file:///home/conda/feedstock_root/build_artifacts/email_validator_1589962946737/work
flake8==3.8.3
Flask==1.1.2
Flask-Admin @ file:///tmp/build/80754af9/flask-admin_1592429635880/work
Flask-Bcrypt==0.7.1
Flask-Login==0.5.0
Flask-Mail==0.9.1
flask-msearch==0.2.9
Flask-SQLAlchemy==2.4.3
Flask-WTF==0.14.3
gunicorn==20.0.4
idna==2.9
importlib-metadata==1.6.1
isort==4.3.21
itsdangerous==1.1.0
Jinja2==2.11.2
kiwisolver==1.2.0
lazy-object-proxy==1.4.3
MarkupSafe==1.1.1
matplotlib @ file:///Users/runner/miniforge3/conda-bld/matplotlib-base_1592576116805/work
mccabe==0.6.1
mkl-fft==1.1.0
mkl-random==1.1.1
mkl-service==2.3.0
numpy==1.18.5
pandas @ file:///opt/concourse/worker/volumes/live/38d1301c-8fa9-4d2f-662e-34dddf33b183/volume/pandas_1592841668171/work
psycopg2==2.8.4
pycodestyle @ file:///home/conda/feedstock_root/build_artifacts/pycodestyle_1589305246696/work
pycparser==2.20
pycryptodome==3.9.7
pyflakes==2.2.0
pylint @ file:///opt/concourse/worker/volumes/live/42ede439-2571-4cb2-513c-394625d2381b/volume/pylint_1592496039330/work
pyparsing==2.4.7
python-dateutil==2.8.1
pytz==2020.1
six @ file:///home/conda/feedstock_root/build_artifacts/six_1590081179328/work
SQLAlchemy==1.3.17
toml @ file:///tmp/build/80754af9/toml_1592853716807/work
tornado==6.0.4
typed-ast==1.4.1 …
Run Code Online (Sandbox Code Playgroud)

python pip version-numbering python-3.x anaconda

11
推荐指数
1
解决办法
1623
查看次数

如何从Windows注册表获取IE版本号?

我的Java应用程序需要知道本地机器上安装了哪个版本的IE(如果有的话),并且查询注册表似乎是最简单的方法.我应该查看哪个注册表项和值?

这需要在Windows XP,Windows Server 2003及更高版本上运行.

java windows registry internet-explorer version-numbering

8
推荐指数
2
解决办法
3万
查看次数

我能以合理的顺序制作git print xyz样式标签名称吗?

请考虑以下版本号列表:

0.3.0
0.3.1
...
0.3.8
0.3.9
0.3.10
0.3.11
Run Code Online (Sandbox Code Playgroud)

git tag 将按以下顺序打印它们:

0.3.0
0.3.1
0.3.10
0.3.11
0.3.2
...
Run Code Online (Sandbox Code Playgroud)

我有什么方法可以git tag按照"数字"顺序打印它们而不是字母顺序?或者一个解决方法 - 也许是一个程序,我可以管道输出通过命令他们我想要的?

git version-numbering

8
推荐指数
2
解决办法
698
查看次数

TeamCity从版本文件中读取和更新版本号

我们正在使用TeamCity作为CI服务器,我们一直在考虑如何实现一种安全版本化版本的方法(即人为错误的机会最小),但这也需要尽可能少的努力.到目前为止,以下似乎是最合乎逻辑的:

  1. 创建版本文件(或使用assemblyinfo.cs).版本信息将采用格式....此文件将被检入我的VCS.
  2. 运行TeamCity构建
  3. TeamCity从步骤1读取版本文件,挑选每个单独的数字并设置相应的TeamCity构建参数(因此我可以在以后使用它们来创建nuget包和标签)
  4. TeamCity自动递增最终的"构建计数"值.
  5. TeamCity将新版本信息保存回版本文件(使用更新的"构建计数")
  6. 然后,TeamCity将运行其余的构建步骤,构建文件,运行单元测试,设置正确的程序集版本等.
  7. TeamCity最终将文件检入VCS

我们认为以这种方式做事的好处是我们需要修复旧版本,然后版本号将是正确的,TeamCity可以简单地使用旧版本文件,并像往常一样递增构建计数.这确实假设我们正在更新我们的主要/次要/补丁版本.这将很好地与TeamCity 7.1即将发布的功能很好地配合使用,该功能允许您通过自定义构建对话框选择要构建的分支.

从我到目前为止已经阅读的内容来看,这些操作应该可以在TeamCity中进行,但是我们正在寻找最简单的根本来解决这个问题,因为我们只是一个两人装,我们负担不起投资大成为Nant或powershell专家的时间,但却发现它可能无法满足我们的需求.

所以我想总结一下我的问题如下:

  1. 我提议的可能吗?
  2. 如果是,那么考虑到我对Nant,powershell等的有限经验,最好的工具是什么(对于那些命令行和脚本经验扩展到简单的DOS操作和一些VBScript的人来说,这是最快的学习方法)

任何帮助是极大的赞赏.

.net teamcity version-numbering

7
推荐指数
1
解决办法
9166
查看次数

如何使用Git更新我的项目版本号?

说我有两个分支:developfeature.

假设我还有一个名为的文件VersionNumber,其中包含以下内容:

BUILD_NUMBER 1

我想用Git的挂钩,这样,当我合并featuredevelop,在BUILD_NUMBER现场就会自动增加.

我想到了使用post-merge钩子的以下过程:

  1. 检查正在合并的分支是 develop
  2. VersionNumber通过递增BUILD_NUMBER1来更新文件
  3. 添加更新的文件: git add VersionNumber
  4. 修改提交: git commit --amend -C HEAD --no-verify

一切正常,直到最后的命令.Git说我不能在合并过程中修改提交(这对我来说很惊讶,因为我认为这是post-merge).

关于我如何做到这一点的任何建议(使用post-merge或任何其他钩子)?

git automation version-numbering githooks

7
推荐指数
1
解决办法
310
查看次数

版本号来自哪里?

我有一个版本控制系统(例如Subversion),现在我想建立一个构建过程.现在我必须创建一个版本号并将其插入到系统中.但版本号来自何处?假设我想使用这个常见的<major>.<minor>.<bugfix/revision>方案.我应该将数字传递给构建脚本吗?或者我应该传递像increaseMajor,increaseMinor,increaseRevision这样的参数?或者,您是否建议使用构建脚本检测到的编号创建分支?

我可以想象主要和次要版本号必须手动放在某处.修订号可以自动增加.但我仍然不知道我将把主要和次要数字放在哪里.

在我的情况下,我有一些我想要压缩的php文件,但在我必须将一些版本号插入到php文件之前.


我编辑了这篇文章,试图让我的要求更加清晰:

我不使用Subversion,这只是一个例子.我不想讨论版本号方案.

想象一下,我想创建3.5.0或3.5.1版本.我会将此版本号传递给构建脚本吗?脚本是否会使用此编号在存储库中创建分支,还是希望有人已创建此分支?手动?或者构建脚本是否会查找分支的名称(例如'3.5.1)并将其用于其他内容?版本号是来自我的大脑还是自动创建(我猜它来自我的小脑和修订版号的主要/次要编号是否已创建)?或者您将数字放入可能插入存储库的文件中?

我想如果使用发布管理工具我会在那里插入版本号.但是我还没用.

version-control version-numbering

6
推荐指数
1
解决办法
779
查看次数

比较版本为字符串

将版本号作为字符串进行比较并不容易......
"1.0.0.9">"1.0.0.10",但它不正确.
正确地做到这一点的显而易见的方法是解析这些字符串,转换为数字并作为数字进行比较.有没有其他方式更"优雅"地做到这一点?例如,boost :: string_algo ......

c++ string-comparison version-numbering

6
推荐指数
2
解决办法
7642
查看次数

数据层应用程序版本号存储在 Visual Studio 项目中的什么位置?

我有一个实用程序,可以填充 AssemblyInfo.cs 文件中的版本号。现在我需要实现一项功能来调整 Visual Studio 数据层应用程序 (DACPAC) 的版本号。

我发现如果打开项目属性并单击“数据层应用程序属性”按钮,我可以手动调整数字。但我找不到这个数字存储在项目文件中的位置,所以我不知道如何从我的实用程序自动更新它。

你知道版本号存储在哪里吗?

version-numbering visual-studio-project data-tier-applications sql-server-data-tools

6
推荐指数
2
解决办法
1941
查看次数

比较c中的版本号

我在其他语言中看到了很多关于这个问题的答案,但我试图找到一种方法来比较作为字符串给出的2个版本号.例如

str1 = "141.1.23"
str2 = "141.1.22"
Run Code Online (Sandbox Code Playgroud)

我试图找到一种方法来比较字符串中的整数值,看看哪一个更大.(在这种情况下,str1会更大).我想过使用atoi和strtok的某些时候,但我知道我不能一次标记2个字符串.有什么建议?

c string-comparison version-numbering

6
推荐指数
3
解决办法
3755
查看次数