我创建了一个小型项目[0]在受控环境中重现错误。事实上,我使用jenkins来构建我的项目,一个很大的项目,我想做一些平行的构建。请让我以图形Delphi分布式构建失败
[MyBasicPackage] -----> [MyPackageTester] ------> [MyBasicApp]
.
.
+-----> [...]
+-----> [...]
这是我的[0],我对Spring容器注册类TMyUnit(MyBasicPackage)进行测试所做的组织。我构建它并生成.dcu,.bpl等。 第二阶段我建立我的MyPackageTester需要MyBasicPackage。最后,我构建了需要MyPackageTester的应用程序。到现在为止还挺好。
当我尝试建立我MyBasicPackage,说PC-00,拿到神器,并尝试建立了MyPackageTester上PC-06(同拱,相同的操作系统,相同的IDE,同样spring4d版本),和一个不错的错误出现:
Unit TMyUnit was compiled with a different version of Spring.Container.Registration
所以,更新我在两台机器上spring4d(PC-00和PC-06),并建立他们。运行...并出现相同的错误。 检查库路径选项(C:\ Program Files文件(x86)\ Embarcadero \ Studio \ 14.0 \ Componentes \ spring4d \ Library \ DelphiXE6 \ Win32 \ Debug),删除dcu文件并在两台机器上再次构建它们,错误。 从复制dcu文件PC-00到PC-06避免任何类型的系统配置并出现相同的错误。
也许我正在尝试做一些迄今为止不可能做到的事情。我搜索了几天没有运气。
任何想法?
请随时叉子或拉入请求的例子)
问候
[0] https://github.com/graguirre/DelphiDepencyExample
由于任何原因,我无法动态链接到IDE中,所以我创建了一个makefile并且工作流畅。我创建了第三方单元目录来保存spring的DCU,并且只需将-LUSpring.Core添加到我的构建选项编译器中,即可动态链接Spring.Core的lib。我已经更新了这个解决方案到我的github repo https://github.com/graguirre/DelphiDepencyExample –
可以被源重新创建的二进制文件不应该存储在VCS中,但是不管。 –
我会尝试结帐春天,建立它,并与我的小项目链接。 –