首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除Tycho构建的限定符

删除Tycho构建的限定符
EN

Stack Overflow用户
提问于 2015-09-17 09:11:07
回答 2查看 1.1K关注 0票数 2

我希望在Manifest.MF的版本末尾有一些没有时间戳的Tycho构建(我试图不使用像"release“和"standard”这样的词,否则人们就会被我正在尝试Tycho不想做的事情所困扰)。

我想我必须要么像这样配置tycho-packaging-plugin

代码语言:javascript
复制
<profiles>
    <profile>
        <id>some-special-occurrence</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.eclipse.tycho</groupId>
                    <artifactId>tycho-packaging-plugin</artifactId>
                    <configuration>
                        <format></format><!-- can't figure out what to enter -->
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>

也许我可以重新使用tycho-versions-plugin,但是我找不到任何关于如何防止它在版本末尾设置".qualifier“的信息

有人知道如何删除某些Tycho构建的限定符吗?

EN

回答 2

Stack Overflow用户

发布于 2020-02-05 10:28:14

如本文http://www.lorenzobettini.it/2020/02/remove-snapshot-and-qualifier-in-maven-tycho-builds/所示,您可以使用标准Maven插件和tycho-versions-plugin的组合。

例如,您可以运行

代码语言:javascript
复制
mvn \
  build-helper:parse-version org.eclipse.tycho:tycho-versions-plugin:set-version \
  -DnewVersion=\${parsedVersion.majorVersion}.\${parsedVersion.minorVersion}.\${parsedVersion.incrementalVersion}

或者另一种

代码语言:javascript
复制
mvn \
  versions:set -DgenerateBackupPoms=false -DremoveSnapshot=true \
  org.eclipse.tycho:tycho-versions-plugin:update-eclipse-metadata

第一个方法首先解析当前版本并设置一些属性;使用这些属性,您可以创建与当前版本相对应的版本,跳过-SNAPSHOT,并将其传递给tycho-versions-plugin

第二个方法将首先从POMs中删除-SNAPSHOT,然后使用tycho-versions-plugin更新Eclipse版本(删除.qualifier)。

更多细节可在上述文章中找到。

票数 1
EN

Stack Overflow用户

发布于 2016-04-27 03:31:42

还不清楚你在问什么。

如果MANIFEST.MF有一个没有限定符的版本号,如

代码语言:javascript
复制
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Bundle
Bundle-SymbolicName: example-bundle;singleton:=true
Bundle-Version: 0.1.0

那你就不用做任何事了。也就是说,Tycho将使用给定的包版本( 0.1.0 )生成工件,没有限定符。你不需要弄乱tycho-打包插件。

您是说要在MANIFEST.MF中使用带有限定符的捆绑版本,比如0.1.0限定符,但不希望生成过程中删除限定符?如果这是您想要的,我认为您将不得不提交一个功能请求。

理想情况下,您只需提供一个

代码语言:javascript
复制
<forceContextQualfier></forceContextQualifier> 

或者也许

代码语言:javascript
复制
<forceContextQualfier>none</forceContextQualifier> 

指示您不希望使用限定符。也就是说,您需要与qualifier=none中的qualifiers.htm产生相同效果的东西:qualifiers.htm

但是,从https://git.eclipse.org/c/tycho/org.eclipse.tycho.git/tree/tycho-packaging-plugin/src/main/java/org/eclipse/tycho/buildversion/BuildQualifierMojo.java的角度来看,forceContextQualifier似乎被视为一个文字字符串。none值没有特殊处理,空字符串总是被时间戳替换。

格式值必须是有效的SimpleDateFormat。同样,空值被默认值替换,因此无法请求空或空格式。

您的另一个选项是使用设置包的值,并删除限定符。这样,您可以为发行版进行分支,将版本设置为移除限定符,然后生成。或者让建筑在飞行中完成。

但是,我真的认为,如果我们能让tycho打包插件句柄成为一个none forceContextQualifier值,那就更时髦了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32626553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档