Makefile不读取时间戳变量

问题描述 投票:0回答:1

我想在项目中添加Makefile以使用make命令进行迁移,生成的文件应具有timestamp和标签作为名称,但是当我运行make命令,文件名中的[[未显示时间戳。这里是Makefile脚本:

MIGRATION_LABEL = "to-be-changed" DATE_WITH_TIME := $(shell /bin/date "+%Y%m%d%H%M%S") makeMigration: mvn liquibase:diff -DdiffChangeLogFile=src/main/resources/db/changelog/changes/${DATE_WITH_TIME}-${MIGRATION_LABEL}.yml @echo " - include:" >> src/main/resources/db/changelog/db.changelog-master.yml @echo " file: classpath*:db/changelog/changes/$(DATE_WITH_TIME)-$(MIGRATION_LABEL).yml" >> src/main/resources/db/changelog/db.changelog-master.yml

这是错误:

C:\Users\DELL\Desktop\Project\project-backend>make makeMigration MIGRATION_LABEL="user-creation" File path not found. mvn liquibase:diff -DdiffChangeLogFile=src/main/resources/db/changelog/changes/-user-creation.yml

我想在“ -user-creation.yml”之前看到一个时间戳记

我想在我的项目中添加一个Makefile以使用make命令进行迁移,生成的文件应具有时间戳和标签作为名称,但是当我运行make命令时,时间戳...

windows spring-boot makefile migration liquibase
1个回答
0
投票
可能在这里有帮助的两件事。首先,使用DATE_WITH_TIME设置:=,然后执行immediate expansion。如果构建时间很长,则这将代表首次读取makefile的时间,而不是运行配方的时间。不确定这是否是您的意图。您可能需要推迟扩展。

接下来,日期和时间的Windows版本将如下所示(基于https://www.windows-commandline.com/get-date-time-batch-file/:]

© www.soinside.com 2019 - 2024. All rights reserved.