-
Notifications
You must be signed in to change notification settings - Fork 67
Description
I'm submitting a problem that we started talking about in
-
Delphinus fails to download CGE castle-engine/castle-engine#84 (comment) (my comment "As a sidenote, I had to "flatten" our packages. We had in the past AllPackages group, with 3 package...")
-
Delphinus fails to download CGE castle-engine/castle-engine#84 (comment) (@Memnarch answer "Regardless, the main issue is Delphinus installing a designtimepackage the moment compiling finishes, instead of compiling everything and do the installing step afterwards.....")
Initially I thought that we can "live without this fix" for some time for CGE, but actually we do not, fixing this is critical for us.
We need an ability to have one design-time unit depend on another design-time unit . In our case, that is unavoidable because 1. we need a base package supporting both Win32 and Win64 (so that our component is registered for both architectures, and castle-engine/castle-engine#498 can be solved) and 2. we need another package, design-time-only, that uses Delphi ToolsAPI unit which is in Win32-only designide package.
The setup with 2 design-time packages works nicely in Delphi, when performing manual installation from Delphi IDE. But installing this using Delphinus, just as we discussed in threads linked above: Delphinus seems to install first design-time package too quick, and then the BPL file is locked, but compilation of 2nd design-time package really wants to modify it.
You can reproduce it by cloning https://github.com/castle-engine/castle-engine/ repository , switching to the split-delphi-design-time-package branch, and then trying to install it using Delphinus "Install from folder". I'm attaching a full installation log showing the problem in this report. A short version of this log:
Compiling castle_engine.dproj
Win32
installed
Win64
Success
Compiling castle_engine_design.dproj
Win32
......
_PasCoreCompile:
C:\Program Files (x86)\Embarcadero\Studio\22.0\bin\dcc32.exe
.......
castle_engine_design.dpk
.......
C:\Program Files (x86)\Embarcadero\Studio\22.0\Bin\CodeGear.Delphi.Targets(412,5): error F2039: Could not create output file 'C:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl\castle_engine.bpl'
......
Error: Installation failed
So we installed castle_engine.dpk OK, but then compiling castle_engine_design.dpk tries to modify castle_engine.bpl ... which is not possible, as it is installed in Delphi by this point.