我正在使用类似于此处描述的项目的项目 .所以,它在父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,或者我用它不太好.
我用 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) 我的Java应用程序需要知道本地机器上安装了哪个版本的IE(如果有的话),并且查询注册表似乎是最简单的方法.我应该查看哪个注册表项和值?
这需要在Windows XP,Windows Server 2003及更高版本上运行.
请考虑以下版本号列表:
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按照"数字"顺序打印它们而不是字母顺序?或者一个解决方法 - 也许是一个程序,我可以管道输出通过命令他们我想要的?
我们正在使用TeamCity作为CI服务器,我们一直在考虑如何实现一种安全版本化版本的方法(即人为错误的机会最小),但这也需要尽可能少的努力.到目前为止,以下似乎是最合乎逻辑的:
我们认为以这种方式做事的好处是我们需要修复旧版本,然后版本号将是正确的,TeamCity可以简单地使用旧版本文件,并像往常一样递增构建计数.这确实假设我们正在更新我们的主要/次要/补丁版本.这将很好地与TeamCity 7.1即将发布的功能很好地配合使用,该功能允许您通过自定义构建对话框选择要构建的分支.
从我到目前为止已经阅读的内容来看,这些操作应该可以在TeamCity中进行,但是我们正在寻找最简单的根本来解决这个问题,因为我们只是一个两人装,我们负担不起投资大成为Nant或powershell专家的时间,但却发现它可能无法满足我们的需求.
所以我想总结一下我的问题如下:
任何帮助是极大的赞赏.
说我有两个分支:develop和feature.
假设我还有一个名为的文件VersionNumber,其中包含以下内容:
BUILD_NUMBER 1
我想用Git的挂钩,这样,当我合并feature到develop,在BUILD_NUMBER现场就会自动增加.
我想到了使用post-merge钩子的以下过程:
developVersionNumber通过递增BUILD_NUMBER1来更新文件git add VersionNumbergit commit --amend -C HEAD --no-verify一切正常,直到最后的命令.Git说我不能在合并过程中修改提交(这对我来说很惊讶,因为我认为这是post-merge).
关于我如何做到这一点的任何建议(使用post-merge或任何其他钩子)?
我有一个版本控制系统(例如Subversion),现在我想建立一个构建过程.现在我必须创建一个版本号并将其插入到系统中.但版本号来自何处?假设我想使用这个常见的<major>.<minor>.<bugfix/revision>方案.我应该将数字传递给构建脚本吗?或者我应该传递像increaseMajor,increaseMinor,increaseRevision这样的参数?或者,您是否建议使用构建脚本检测到的编号创建分支?
我可以想象主要和次要版本号必须手动放在某处.修订号可以自动增加.但我仍然不知道我将把主要和次要数字放在哪里.
在我的情况下,我有一些我想要压缩的php文件,但在我必须将一些版本号插入到php文件之前.
我编辑了这篇文章,试图让我的要求更加清晰:
我不使用Subversion,这只是一个例子.我不想讨论版本号方案.
想象一下,我想创建3.5.0或3.5.1版本.我会将此版本号传递给构建脚本吗?脚本是否会使用此编号在存储库中创建分支,还是希望有人已创建此分支?手动?或者构建脚本是否会查找分支的名称(例如'3.5.1)并将其用于其他内容?版本号是来自我的大脑还是自动创建(我猜它来自我的小脑和修订版号的主要/次要编号是否已创建)?或者您将数字放入可能插入存储库的文件中?
我想如果使用发布管理工具我会在那里插入版本号.但是我还没用.
将版本号作为字符串进行比较并不容易......
"1.0.0.9">"1.0.0.10",但它不正确.
正确地做到这一点的显而易见的方法是解析这些字符串,转换为数字并作为数字进行比较.有没有其他方式更"优雅"地做到这一点?例如,boost :: string_algo ......
我有一个实用程序,可以填充 AssemblyInfo.cs 文件中的版本号。现在我需要实现一项功能来调整 Visual Studio 数据层应用程序 (DACPAC) 的版本号。
我发现如果打开项目属性并单击“数据层应用程序属性”按钮,我可以手动调整数字。但我找不到这个数字存储在项目文件中的位置,所以我不知道如何从我的实用程序自动更新它。
你知道版本号存储在哪里吗?
version-numbering visual-studio-project data-tier-applications sql-server-data-tools
我在其他语言中看到了很多关于这个问题的答案,但我试图找到一种方法来比较作为字符串给出的2个版本号.例如
str1 = "141.1.23"
str2 = "141.1.22"
Run Code Online (Sandbox Code Playgroud)
我试图找到一种方法来比较字符串中的整数值,看看哪一个更大.(在这种情况下,str1会更大).我想过使用atoi和strtok的某些时候,但我知道我不能一次标记2个字符串.有什么建议?