您可以从发布任务修改 SBT 构建的名称和版本吗?
Can you modify the name and version of a SBT build from the publish task?
我试图在 运行 publish
命令时更改 name
和 version
设置?这是我的工作流程。
我写了一个自定义输入任务。它使用三个参数 name
、buildNumber
和 exportLocation
调用。我们使用游戏,name
是特定游戏的名称。 buildNumber
是 Perforce 中游戏版本的更改列表 ID。 exportLocation
是一个文件路径,其中包含一堆 Perforce 构建输出的 XML 文件。我的任务解析 XML 文件,创建内存中对象树并将树序列化为 resourceManaged
。换句话说,它会产生一堆资源。
我的最终目标是将这些资源捆绑在一个名称中使用 name
和 buildNumber
的 jar 文件中,并将工件发布到我们的内部存储库。
tl;dr 由于设置不可变,无法将 Setting
s 的值从 Task
s 更改。
您无法重新设置设置,因为它们是不可变的,除非您reload
一个项目设置了新值。这就是 commands 可以提供帮助的地方,因为他们对设置所在的状态进行操作。
有关此示例,请参阅 How to change setting inside SBT command?。
我试图在 运行 publish
命令时更改 name
和 version
设置?这是我的工作流程。
我写了一个自定义输入任务。它使用三个参数 name
、buildNumber
和 exportLocation
调用。我们使用游戏,name
是特定游戏的名称。 buildNumber
是 Perforce 中游戏版本的更改列表 ID。 exportLocation
是一个文件路径,其中包含一堆 Perforce 构建输出的 XML 文件。我的任务解析 XML 文件,创建内存中对象树并将树序列化为 resourceManaged
。换句话说,它会产生一堆资源。
我的最终目标是将这些资源捆绑在一个名称中使用 name
和 buildNumber
的 jar 文件中,并将工件发布到我们的内部存储库。
tl;dr 由于设置不可变,无法将 Setting
s 的值从 Task
s 更改。
您无法重新设置设置,因为它们是不可变的,除非您reload
一个项目设置了新值。这就是 commands 可以提供帮助的地方,因为他们对设置所在的状态进行操作。
有关此示例,请参阅 How to change setting inside SBT command?。