From 79407d71e19a3f5f0b995bfcb7b3e06245904fba Mon Sep 17 00:00:00 2001 From: Daniele Teti Date: Wed, 29 Sep 2021 19:30:14 +0200 Subject: [PATCH] - create include files to easily mantain aligned all the dpks - still facing with this issue in Delphi 11 Alexandria (https://quality.embarcadero.com/browse/RSP-35516). Compression works, but the debugger catches an exception raised in "normal cases". --- .gitignore | 1 + README.md | 2 + lib/dmustache/SynCommons.pas | 236 ++-- lib/dmustache/SynFPCLinux.pas | 2 +- lib/dmustache/SynTable.pas | 336 ++++++ lib/dmustache/Synopse.inc | 9 + lib/dmustache/SynopseCommit.inc | 2 +- lib/loggerpro/packages/d110/loggerproRT.dproj | 26 +- packages/common_contains.inc | 37 + packages/common_defines.inc | 27 + packages/common_defines_design.inc | 28 + packages/d100/dmvcframeworkDT.dpk | 29 +- packages/d100/dmvcframeworkRT.dpk | 83 +- packages/d101/dmvcframeworkDT.dpk | 29 +- packages/d101/dmvcframeworkRT.dpk | 81 +- packages/d102/dmvcframeworkDT.dpk | 32 +- packages/d102/dmvcframeworkRT.dpk | 80 +- packages/d103/dmvcframeworkDT.dpk | 29 +- packages/d103/dmvcframeworkRT.dpk | 72 +- packages/d104/dmvcframeworkDT.dpk | 29 +- packages/d104/dmvcframeworkRT.dpk | 68 +- packages/d110/dmvcframeworkDT.dpk | 29 +- packages/d110/dmvcframeworkDT.dproj | 30 +- packages/d110/dmvcframeworkRT.dpk | 64 +- packages/d110/dmvcframeworkRT.dproj | 69 +- packages/dxe8/dmvcframeworkDT.dpk | 58 - packages/dxe8/dmvcframeworkDT.dproj | 1047 ---------------- packages/dxe8/dmvcframeworkDTResource.rc | 3 - packages/dxe8/dmvcframeworkRT.dpk | 133 -- packages/dxe8/dmvcframeworkRT.dproj | 1069 ----------------- packages/dxe8/dmvcframework_group.groupproj | 60 - .../activerecord_showcase.dproj | 90 +- .../OutputCompressionSample.dproj | 40 +- .../MVCFramework.Middleware.Compression.pas | 30 +- tasks.py | 7 +- unittests/general/Several/LiveServerTestU.pas | 2 +- unittests/general/TestServer/TestServer.dpr | 4 - unittests/general/TestServer/TestServer.dproj | 42 +- .../TestServer/TestServerControllerU.pas | 2 +- 39 files changed, 827 insertions(+), 3190 deletions(-) create mode 100644 packages/common_contains.inc create mode 100644 packages/common_defines.inc create mode 100644 packages/common_defines_design.inc delete mode 100644 packages/dxe8/dmvcframeworkDT.dpk delete mode 100644 packages/dxe8/dmvcframeworkDT.dproj delete mode 100644 packages/dxe8/dmvcframeworkDTResource.rc delete mode 100644 packages/dxe8/dmvcframeworkRT.dpk delete mode 100644 packages/dxe8/dmvcframeworkRT.dproj delete mode 100644 packages/dxe8/dmvcframework_group.groupproj diff --git a/.gitignore b/.gitignore index 4f719237..e603f536 100644 --- a/.gitignore +++ b/.gitignore @@ -115,3 +115,4 @@ samples/data/dump.sql samples/activerecord_showcase/activerecord_showcase.delphilsp.json unittests/general/TestServer/TestServer.delphilsp.json samples/master_details/masterdetailssample.otares +samples/master_details/masterdetailssample_Icon.ico diff --git a/README.md b/README.md index f9200b15..a1b05b05 100644 --- a/README.md +++ b/README.md @@ -461,6 +461,8 @@ The current beta release is named 3.2.2-nitrogen. If you want to stay on the-edg - ⚡New! Added the new `MVCOwned` attribute which allows to auto-create nested objects in the deserialization phase. This will not change the current behavior, you ned to explocitly define a property (or a field) as `MVCOwned` to allows the serialization to create or destroy object for you. +- ⚡Improved! `Context.Data` property is now created on-demand using a lazy loading approach. + - ⚡New! Added `TMVCJWTBlackListMiddleware` to allow black-listing and (a sort of) logout for a JWT based authentication. This middleware **must** be registered **after** the `TMVCJWTAuthenticationMiddleware`. > This middleware provides 2 events named: `OnAcceptToken` (invoked when a request contains a token - need to returns true/false if the token is still accepted by the server or not) and `OnNewJWTToBlackList` (invoked when a client ask to blacklist its current token). There is a new sample available which shows the funtionalities: `samples\middleware_jwtblacklist`. diff --git a/lib/dmustache/SynCommons.pas b/lib/dmustache/SynCommons.pas index 21ef6d6a..808d6184 100644 --- a/lib/dmustache/SynCommons.pas +++ b/lib/dmustache/SynCommons.pas @@ -522,6 +522,30 @@ type { ************ fast UTF-8 / Unicode / Ansi types and conversion routines **** } +// some constants used for UTF-8 conversion, including surrogates +const + UTF16_HISURROGATE_MIN = $d800; + UTF16_HISURROGATE_MAX = $dbff; + UTF16_LOSURROGATE_MIN = $dc00; + UTF16_LOSURROGATE_MAX = $dfff; + UTF8_EXTRABYTES: array[$80..$ff] of byte = ( + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, 3,3,3,3,3,3,3,3,4,4,4,4,5,5,0,0); + UTF8_EXTRA: array[0..6] of record + offset, minimum: cardinal; + end = ( // http://floodyberry.wordpress.com/2007/04/14/utf-8-conversion-tricks + (offset: $00000000; minimum: $00010000), + (offset: $00003080; minimum: $00000080), + (offset: $000e2080; minimum: $00000800), + (offset: $03c82080; minimum: $00010000), + (offset: $fa082080; minimum: $00200000), + (offset: $82082080; minimum: $04000000), + (offset: $00000000; minimum: $04000000)); + UTF8_EXTRA_SURROGATE = 3; + UTF8_FIRSTBYTE: array[2..6] of byte = ($c0,$e0,$f0,$f8,$fc); + type /// kind of adding in a TTextWriter TTextWriterKind = (twNone, twJSONEscape, twOnSameLine); @@ -1140,18 +1164,6 @@ function UTF8ToWideChar(dest: PWideChar; source: PUTF8Char; // - faster than System.UTF8ToUnicode with dest=nil function Utf8ToUnicodeLength(source: PUTF8Char): PtrUInt; -/// returns TRUE if the supplied buffer has valid UTF-8 encoding -// - will stop when the buffer contains #0 -function IsValidUTF8(source: PUTF8Char): Boolean; overload; - -/// returns TRUE if the supplied buffer has valid UTF-8 encoding -// - will also refuse #0 characters within the buffer -function IsValidUTF8(source: PUTF8Char; sourcelen: PtrInt): Boolean; overload; - -/// returns TRUE if the supplied buffer has valid UTF-8 encoding -// - will also refuse #0 characters within the buffer -function IsValidUTF8(const source: RawUTF8): Boolean; overload; - /// returns TRUE if the supplied buffer has valid UTF-8 encoding with no #1..#31 // control characters // - supplied input is a pointer to a #0 ended text buffer @@ -5960,7 +5972,7 @@ type procedure Clear; /// full computation of the internal hash table // - returns the number of duplicated values found - function ReHash(forced, forceGrow: boolean): integer; + function ReHash(forced: boolean): integer; /// compute the hash of a given item function HashOne(Elem: pointer): cardinal; {$ifdef FPC_OR_DELPHIXE4}inline;{$endif} { not inlined to circumvent Delphi 2007=C1632, 2010=C1872, XE3=C2130 } @@ -6061,7 +6073,7 @@ type // FindHashedForAdding / FindHashedAndUpdate / FindHashedAndDelete methods // - returns the number of duplicated items found - which won't be available // by hashed FindHashed() by definition - function ReHash(forAdd: boolean=false; forceGrow: boolean=false): integer; + function ReHash(forAdd: boolean=false): integer; /// search for an element value inside the dynamic array using hashing // - Elem should be of the type expected by both the hash function and // Equals/Compare methods: e.g. if the searched/hashed field in a record is @@ -12078,27 +12090,30 @@ type /// the potential features, retrieved from an Intel CPU // - see https://en.wikipedia.org/wiki/CPUID#EAX.3D1:_Processor_Info_and_Feature_Bits // - is defined on all platforms, since an ARM desktop could browse Intel logs - TIntelCpuFeature = - ( { CPUID 1 in EDX } - cfFPU, cfVME, cfDE, cfPSE, cfTSC, cfMSR, cfPAE, cfMCE, - cfCX8, cfAPIC, cf_d10, cfSEP, cfMTRR, cfPGE, cfMCA, cfCMOV, - cfPAT, cfPSE36, cfPSN, cfCLFSH, cf_d20, cfDS, cfACPI, cfMMX, - cfFXSR, cfSSE, cfSSE2, cfSS, cfHTT, cfTM, cfIA64, cfPBE, + TIntelCpuFeature = ( + { CPUID 1 in EDX } + cfFPU, cfVME, cfDE, cfPSE, cfTSC, cfMSR, cfPAE, cfMCE, + cfCX8, cfAPIC, cf_d10, cfSEP, cfMTRR, cfPGE, cfMCA, cfCMOV, + cfPAT, cfPSE36, cfPSN, cfCLFSH, cf_d20, cfDS, cfACPI, cfMMX, + cfFXSR, cfSSE, cfSSE2, cfSS, cfHTT, cfTM, cfIA64, cfPBE, { CPUID 1 in ECX } - cfSSE3, cfCLMUL, cfDS64, cfMON, cfDSCPL, cfVMX, cfSMX, cfEST, - cfTM2, cfSSSE3, cfCID, cfSDBG, cfFMA, cfCX16, cfXTPR, cfPDCM, - cf_c16, cfPCID, cfDCA, cfSSE41, cfSSE42, cfX2A, cfMOVBE, cfPOPCNT, - cfTSC2, cfAESNI, cfXS, cfOSXS, cfAVX, cfF16C, cfRAND, cfHYP, - { extended features CPUID 7 in EBX, ECX, DL } - cfFSGS, cf_b01, cfSGX, cfBMI1, cfHLE, cfAVX2, cf_b06, cfSMEP, - cfBMI2, cfERMS, cfINVPCID, cfRTM, cfPQM, cf_b13, cfMPX, cfPQE, + cfSSE3, cfCLMUL, cfDS64, cfMON, cfDSCPL, cfVMX, cfSMX, cfEST, + cfTM2, cfSSSE3, cfCID, cfSDBG, cfFMA, cfCX16, cfXTPR, cfPDCM, + cf_c16, cfPCID, cfDCA, cfSSE41, cfSSE42, cfX2A, cfMOVBE, cfPOPCNT, + cfTSC2, cfAESNI, cfXS, cfOSXS, cfAVX, cfF16C, cfRAND, cfHYP, + { extended features CPUID 7 in EBX, ECX, EDX } + cfFSGS, cfTSCADJ, cfSGX, cfBMI1, cfHLE, cfAVX2, cfFDPEO, cfSMEP, + cfBMI2, cfERMS, cfINVPCID, cfRTM, cfPQM, cf_b13, cfMPX, cfPQE, cfAVX512F, cfAVX512DQ, cfRDSEED, cfADX, cfSMAP, cfAVX512IFMA, cfPCOMMIT, cfCLFLUSH, - cfCLWB, cfIPT, cfAVX512PF, cfAVX512ER, cfAVX512CD, cfSHA, cfAVX512BW, cfAVX512VL, - cfPREFW1, cfAVX512VBMI, cfUMIP, cfPKU, cfOSPKE, cf_c05, cfAVX512VBMI2, cf_c07, + cfCLWB, cfIPT, cfAVX512PF, cfAVX512ER, cfAVX512CD, cfSHA, cfAVX512BW, cfAVX512VL, + cfPREFW1, cfAVX512VBMI, cfUMIP, cfPKU, cfOSPKE, cf_c05, cfAVX512VBMI2, cfCETSS, cfGFNI, cfVAES, cfVCLMUL, cfAVX512NNI, cfAVX512BITALG, cf_c13, cfAVX512VPC, cf_c15, - cf_cc16, cf_c17, cf_c18, cf_c19, cf_c20, cf_c21, cfRDPID, cf_c23, - cf_c24, cf_c25, cf_c26, cf_c27, cf_c28, cf_c29, cfSGXLC, cf_c31, - cf_d0, cf_d1, cfAVX512NNIW, cfAVX512MAS, cf_d4, cf_d5, cf_d6, cf_d7); + cfFLP, cf_c17, cf_c18, cf_c19, cf_c20, cf_c21, cfRDPID, cf_c23, + cf_c24, cfCLDEMOTE, cf_c26, cfMOVDIRI, cfMOVDIR64B, cfENQCMD, cfSGXLC, cfPKS, + cf_d0, cf_d1, cfAVX512NNIW, cfAVX512MAPS, cfFSRM, cf_d5, cf_d6, cf_d7, + cfAVX512VP2I, cfSRBDS, cfMDCLR, cf_d11, cf_d12, cfTSXFA, cfSER, cfHYBRID, + cfTSXLDTRK, cf_d17, cfPCFG, cfLBR, cfIBT, cf_d21, cfAMXBF16, cf_d23, + cfAMXTILE, cfAMXINT8, cfIBRSPB, cfSTIBP, cfL1DFL, cfARCAB, cfCORCAB, cfSSBD); /// all features, as retrieved from an Intel CPU TIntelCpuFeatures = set of TIntelCpuFeature; @@ -13298,7 +13313,8 @@ type wSeven, wSeven_64, wServer2008_R2, wServer2008_R2_64, wEight, wEight_64, wServer2012, wServer2012_64, wEightOne, wEightOne_64, wServer2012R2, wServer2012R2_64, - wTen, wTen_64, wServer2016, wServer2016_64, wServer2019_64); + wTen, wTen_64, wServer2016, wServer2016_64, + wEleven, wEleven_64, wServer2019_64); /// the running Operating System, encoded as a 32-bit integer TOperatingSystemVersion = packed record case os: TOperatingSystem of @@ -13316,11 +13332,12 @@ const '7', '7 64bit', 'Server 2008 R2', 'Server 2008 R2 64bit', '8', '8 64bit', 'Server 2012', 'Server 2012 64bit', '8.1', '8.1 64bit', 'Server 2012 R2', 'Server 2012 R2 64bit', - '10', '10 64bit', 'Server 2016', 'Server 2016 64bit', 'Server 2019 64bit'); + '10', '10 64bit', 'Server 2016', 'Server 2016 64bit', + '11', '11 64bit', 'Server 2019 64bit'); /// the recognized Windows versions which are 32-bit WINDOWS_32 = [w2000, wXP, wServer2003, wServer2003_R2, wVista, wServer2008, wSeven, wServer2008_R2, wEight, wServer2012, wEightOne, wServer2012R2, - wTen, wServer2016]; + wTen, wServer2016, wEleven]; /// translate one operating system (and distribution) into a single character // - may be used internally e.g. for a HTTP User-Agent header, as with // TFileVersion.UserAgent @@ -13705,10 +13722,10 @@ type {$ifdef FPC} // FPC already use heap instead of GlobalAlloc() THeapMemoryStream = TMemoryStream; {$else} - {$ifdef MSWINDOWS} + {$ifndef UNICODE} // old Delphi used GlobalAlloc() THeapMemoryStream = class(TMemoryStream) protected - function Realloc(var NewCapacity: NativeInt): Pointer; override; + function Realloc(var NewCapacity: longint): Pointer; override; end; {$else} THeapMemoryStream = TMemoryStream; @@ -16930,30 +16947,6 @@ var // internal list of TSynAnsiConvert instances SynAnsiConvertList: TSynObjectList = nil; -// some constants used for UTF-8 conversion, including surrogates -const - UTF16_HISURROGATE_MIN = $d800; - UTF16_HISURROGATE_MAX = $dbff; - UTF16_LOSURROGATE_MIN = $dc00; - UTF16_LOSURROGATE_MAX = $dfff; - UTF8_EXTRABYTES: array[$80..$ff] of byte = ( - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, - 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, 3,3,3,3,3,3,3,3,4,4,4,4,5,5,0,0); - UTF8_EXTRA: array[0..6] of record - offset, minimum: cardinal; - end = ( // http://floodyberry.wordpress.com/2007/04/14/utf-8-conversion-tricks - (offset: $00000000; minimum: $00010000), - (offset: $00003080; minimum: $00000080), - (offset: $000e2080; minimum: $00000800), - (offset: $03c82080; minimum: $00010000), - (offset: $fa082080; minimum: $00200000), - (offset: $82082080; minimum: $04000000), - (offset: $00000000; minimum: $04000000)); - UTF8_EXTRA_SURROGATE = 3; - UTF8_FIRSTBYTE: array[2..6] of byte = ($c0,$e0,$f0,$f8,$fc); - {$ifdef HASINLINE} {$ifdef USE_VTYPE_STATIC} // circumvent weird bug on BSD + ARM (Alfred) procedure VarClear(var v: variant); // defined here for proper inlining @@ -18426,56 +18419,6 @@ NoSource: dest^ := #0; // always append a WideChar(0) to the end of the buffer end; -function IsValidUTF8(source: PUTF8Char): Boolean; -var extra, i: integer; - c: cardinal; -begin - result := false; - if source<>nil then - repeat - c := byte(source^); - inc(source); - if c=0 then break else - if c and $80<>0 then begin - extra := UTF8_EXTRABYTES[c]; - if extra=0 then exit else // invalid leading byte - for i := 1 to extra do - if byte(source^) and $c0<>$80 then - exit else - inc(source); // check valid UTF-8 content - end; - until false; - result := true; -end; - -function IsValidUTF8(const source: RawUTF8): Boolean; -begin - result := IsValidUTF8(pointer(Source),length(Source)); -end; - -function IsValidUTF8(source: PUTF8Char; sourcelen: PtrInt): Boolean; -var extra, i: integer; - c: cardinal; -begin - result := false; - inc(sourcelen,PtrInt(source)); - if source<>nil then - while PtrInt(PtrUInt(source))0 then begin - extra := UTF8_EXTRABYTES[c]; - if extra=0 then exit else // invalid leading byte - for i := 1 to extra do - if (PtrInt(PtrUInt(source))>=sourcelen) or (byte(source^) and $c0<>$80) then - exit else - inc(source); // check valid UTF-8 content - end; - end; - result := true; -end; - function IsValidUTF8WithoutControlChars(source: PUTF8Char): Boolean; var extra, i: integer; c: cardinal; @@ -27389,9 +27332,10 @@ begin inc(Vers,2); // e.g. wEight -> wServer2012 if (Vers=wServer2016) and (OSVersionInfo.dwBuildNumber>=17763) then Vers := wServer2019_64; // https://stackoverflow.com/q/53393150 - end; + end else if (Vers=wTen) and (OSVersionInfo.dwBuildNumber>=22000) then + Vers := wEleven; // waiting for an official mean of Windows 11 identification if (SystemInfo.wProcessorArchitecture=PROCESSOR_ARCHITECTURE_AMD64) and - (Vers < wServer2019_64) then + (Vers wEight64 end; OSVersion := Vers; @@ -34761,7 +34705,7 @@ procedure CSVToRawUTF8DynArray(const CSV,Sep,SepEnd: RawUTF8; var Result: TRawUT var offs,i: integer; begin offs := 1; - while offs a lot faster var i: PtrInt; @@ -41138,7 +41089,7 @@ begin end; end; -{$endif MSWINDOWS} +{$endif UNICODE} {$endif FPC} {$endif LVCL} @@ -51983,7 +51934,7 @@ begin // on input: HashTable[result] slot is already computed if HashTableSize=0 then RaiseFatalCollision('HashAdd',aHashCode); @@ -52230,7 +52181,7 @@ begin end; end; if not(canHash in State) then - ReHash({forced=}true,{grow=}false); // hash previous CountTrigger items + ReHash({forced=}true); // hash previous CountTrigger items result := FindOrNew(aHashCode,Elem,nil); if result<0 then begin // found no matching item wasAdded := true; @@ -52304,7 +52255,7 @@ begin inc(ScanCounter); if ScanCounter>=CountTrigger*2 then begin CountTrigger := 2; // rather use hashing from now on - ReHash(false,false); // set HashTable[] and canHash + ReHash(false); // set HashTable[] and canHash end; end; end; @@ -52321,34 +52272,30 @@ begin result := -1; // for coherency with most search methods end; -function TDynArrayHasher.ReHash(forced, forceGrow: boolean): integer; +function TDynArrayHasher.ReHash(forced: boolean): integer; var i, n, cap, siz, ndx: integer; P: PAnsiChar; hc: cardinal; begin result := 0; - // initialize a new void HashTable[]=0 - siz := HashTableSize; - Clear; - if not(hasHasher in State) then - exit; n := DynArray^.Count; - if not forced and ((n=0) or (n0) then // next power of two or next prime - {$ifdef CPU32DELPHI} - if siz 0 then usec contains the notification interval (app should diff --git a/lib/dmustache/SynTable.pas b/lib/dmustache/SynTable.pas index ce44393f..12806084 100644 --- a/lib/dmustache/SynTable.pas +++ b/lib/dmustache/SynTable.pas @@ -308,6 +308,26 @@ const // compute up to 7 soundex chars in a cardinal (that's our choice) SOUNDEX_BITS = 4; +var + DoIsValidUTF8: function(source: PUTF8Char): Boolean; + DoIsValidUTF8Len: function(source: PUTF8Char; sourcelen: PtrInt): Boolean; + +/// returns TRUE if the supplied buffer has valid UTF-8 encoding +// - will stop when the buffer contains #0 +// - on Haswell AVX2 Intel/AMD CPUs, will use very efficient ASM +function IsValidUTF8(source: PUTF8Char): Boolean; overload; {$ifdef HASINLINE}inline;{$endif} + +/// returns TRUE if the supplied buffer has valid UTF-8 encoding +// - will also refuse #0 characters within the buffer +// - on Haswell AVX2 Intel/AMD CPUs, will use very efficient ASM +function IsValidUTF8(source: PUTF8Char; sourcelen: PtrInt): Boolean; overload; {$ifdef HASINLINE}inline;{$endif} + +/// returns TRUE if the supplied buffer has valid UTF-8 encoding +// - will also refuse #0 characters within the buffer +// - on Haswell AVX2 Intel/AMD CPUs, will use very efficient ASM +function IsValidUTF8(const source: RawUTF8): Boolean; overload; + + { ************ filtering and validation classes and functions ************** } @@ -9115,6 +9135,312 @@ begin next^ := FindNextUTF8WordBegin(U); end; +{$ifdef ASMX64AVX} // AVX2 ASM not available on Delphi yet +// adapted from https://github.com/simdjson/simdjson - Apache License 2.0 +function IsValidUtf8LenAvx2(source: PUtf8Char; sourcelen: PtrInt): boolean; + {$ifdef FPC}nostackframe; assembler; asm {$else} asm .noframe {$endif FPC} + test source, source + jz @ok + test sourcelen, sourcelen + jle @ok + {$ifdef win64} // this ABI doesn't consider rsi/rdi as volatile + push rsi + push rdi + {$endif} + push rbp + mov r8, source + mov rdx, sourcelen + mov rsi, r8 + mov ecx, 64 + mov rax, rsi + mov rdi, rdx + mov rbp, rsp + and rsp, 0FFFFFFFFFFFFFFE0H // align stack at 32 bytes + sub rsp, 160 + cmp rdx, 64 + cmovnc rcx, rdx + sub rcx, 64 + je @small + vpxor xmm3, xmm3, xmm3 + vmovdqa ymm7, ymmword ptr [rip + @0f] + vmovdqa ymm15, ymmword ptr [rip + @_6] + xor esi, esi + vmovdqa ymm14, ymmword ptr [rip + @_7] + vmovdqa ymm13, ymmword ptr [rip + @_8] + vmovdqa ymm5, ymm3 + vmovdqa ymm2, ymm3 + // main processing loop, 64 bytes per iteration + align 16 +@loop: vmovdqu xmm6, xmmword ptr [rax + rsi] + vinserti128 ymm0, ymm6, xmmword ptr [rax + rsi + 10H], 01H + vmovdqu xmm6, xmmword ptr [rax + rsi + 20H] + vinserti128 ymm1, ymm6, xmmword ptr [rax + rsi + 30H], 01H + add rsi, 64 + vpor ymm4, ymm1, ymm0 + vpmovmskb rdx, ymm4 // check set MSB of each 64 bytes + test edx, edx + jne @check + vpor ymm2, ymm5, ymm2 + vmovdqa ymm4, ymm2 + cmp rcx, rsi + ja @loop + // process trailing 0..63 bytes +@trail: sub rdi, rsi + jz @ended + add rsi, rax + vmovdqa xmm0, xmmword ptr [rip + @20] + lea rdx, qword ptr [rsp + 60H] // copy on stack with space padding + sub rsi, rdx + vmovdqa xmmword ptr [rdx], xmm0 + vmovdqa xmmword ptr [rdx + 10H], xmm0 + vmovdqa xmmword ptr [rdx + 20H], xmm0 + vmovdqa xmmword ptr [rdx + 30H], xmm0 +@by8: sub rdi, 8 + jb @by1 + mov rax, qword ptr [rsi + rdx] + mov qword ptr [rdx], rax + add rdx, 8 // in-order copy to preserve UTF-8 encoding + jmp @by8 +@by1: add rdi, 8 + jz @0 +@sml: mov al, byte ptr [rsi + rdx] + mov byte ptr [rdx], al + add rdx, 1 + sub rdi, 1 + jnz @sml +@0: vmovdqa ymm1, ymmword ptr [rsp + 60H] + vmovdqa ymm2, ymmword ptr [rsp + 80H] + vpor ymm0, ymm1, ymm2 + vpmovmskb rax, ymm0 // check any set MSB + test eax, eax + jne @last +@ended: vpor ymm5, ymm5, ymm4 +@final: vptest ymm5, ymm5 + sete al + vzeroupper + leave // mov rsp,rbp + pop rbp + {$ifdef win64} + pop rdi + pop rsi + {$endif} + ret +@ok: mov al, 1 + ret +@small: vpxor xmm4, xmm4, xmm4 + xor esi, esi + vmovdqa ymm3, ymm4 + vmovdqa ymm5, ymm4 + jmp @trail + // validate UTF-8 extra bytes from main loop + align 8 +@check: vpsrlw ymm9, ymm0, 4 + vpsrlw ymm12, ymm1, 4 + vperm2i128 ymm3, ymm3, ymm0, 21H + vpalignr ymm5, ymm0, ymm3, 0FH + vpalignr ymm11, ymm0, ymm3, 0EH + vpsubusb ymm11, ymm11, ymmword ptr [rip + @_9] + vpalignr ymm3, ymm0, ymm3, 0DH + vperm2i128 ymm0, ymm0, ymm1, 21H + vpsubusb ymm3, ymm3, ymmword ptr [rip + @_10] + vpalignr ymm8, ymm1, ymm0, 0FH + vpsrlw ymm10, ymm5, 4 + vpand ymm5, ymm7, ymm5 + vpsrlw ymm6, ymm8, 4 + vpalignr ymm4, ymm1, ymm0, 0EH + vpsubusb ymm4, ymm4, ymmword ptr [rip + @_9] + vpalignr ymm0, ymm1, ymm0, 0DH + vpsubusb ymm0, ymm0, ymmword ptr [rip + @_10] + vpand ymm10, ymm10, ymm7 + vpand ymm6, ymm6, ymm7 + vpand ymm8, ymm7, ymm8 + vpor ymm3, ymm3, ymm11 + vpor ymm0, ymm4, ymm0 + vpxor xmm11, xmm11, xmm11 + vpshufb ymm10, ymm15, ymm10 + vpshufb ymm5, ymm14, ymm5 + vpand ymm9, ymm9, ymm7 + vpshufb ymm6, ymm15, ymm6 + vpshufb ymm8, ymm14, ymm8 + vpand ymm12, ymm12, ymm7 + vpand ymm5, ymm5, ymm10 + vpcmpgtb ymm3, ymm3, ymm11 + vpcmpgtb ymm0, ymm0, ymm11 + vpshufb ymm9, ymm13, ymm9 + vpand ymm3, ymm3, ymmword ptr [rip + @_11] + vpand ymm0, ymm0, ymmword ptr [rip + @_11] + vpshufb ymm12, ymm13, ymm12 + vpand ymm6, ymm6, ymm8 + vpand ymm9, ymm5, ymm9 + vpsubusb ymm5, ymm1, ymmword ptr [rip + @_12] + vpand ymm12, ymm6, ymm12 + vpxor ymm9, ymm3, ymm9 + vmovdqa ymm3, ymm1 + vpxor ymm12, ymm0, ymm12 + vpor ymm9, ymm9, ymm12 + vpor ymm2, ymm9, ymm2 + vmovdqa ymm4, ymm2 + cmp rcx, rsi + ja @loop + jmp @trail + // validate UTF-8 extra bytes from input ending + align 8 +@last: vmovdqa ymm5, ymmword ptr [rip + @0f] + vperm2i128 ymm3, ymm3, ymm1, 21H + vmovdqa ymm9, ymmword ptr [rip + @_7] + vpsrlw ymm11, ymm1, 4 + vpalignr ymm0, ymm1, ymm3, 0FH + vmovdqa ymm13, ymmword ptr [rip + @_10] + vmovdqa ymm14, ymmword ptr [rip + @_9] + vpsrlw ymm6, ymm0, 4 + vpand ymm0, ymm5, ymm0 + vpand ymm11, ymm11, ymm5 + vmovdqa ymm7, ymmword ptr [rip + @_6] + vpshufb ymm10, ymm9, ymm0 + vpalignr ymm0, ymm1, ymm3, 0EH + vpand ymm6, ymm6, ymm5 + vmovdqa ymm8, ymmword ptr [rip + @_8] + vpalignr ymm3, ymm1, ymm3, 0DH + vperm2i128 ymm1, ymm1, ymm2, 21H + vpsubusb ymm0, ymm0, ymm14 + vpsubusb ymm12, ymm3, ymm13 + vpalignr ymm3, ymm2, ymm1, 0FH + vpshufb ymm6, ymm7, ymm6 + vpsrlw ymm15, ymm3, 4 + vpand ymm3, ymm5, ymm3 + vpor ymm0, ymm0, ymm12 + vpshufb ymm9, ymm9, ymm3 + vpsrlw ymm3, ymm2, 4 + vpand ymm15, ymm15, ymm5 + vpand ymm5, ymm3, ymm5 + vpalignr ymm3, ymm2, ymm1, 0EH + vpxor xmm12, xmm12, xmm12 + vpalignr ymm1, ymm2, ymm1, 0DH + vpsubusb ymm3, ymm3, ymm14 + vpshufb ymm11, ymm8, ymm11 + vpsubusb ymm1, ymm1, ymm13 + vpcmpgtb ymm0, ymm0, ymm12 + vpshufb ymm7, ymm7, ymm15 + vpor ymm1, ymm3, ymm1 + vpshufb ymm8, ymm8, ymm5 + vpsubusb ymm5, ymm2, ymmword ptr [rip + @_12] + vmovdqa ymm2, ymmword ptr [rip + @_11] + vpcmpgtb ymm1, ymm1, ymm12 + vpand ymm6, ymm6, ymm10 + vpand ymm7, ymm7, ymm9 + vpand ymm0, ymm0, ymm2 + vpand ymm11, ymm6, ymm11 + vpand ymm8, ymm7, ymm8 + vpxor ymm0, ymm0, ymm11 + vpor ymm5, ymm4, ymm5 + vpand ymm1, ymm1, ymm2 + vpxor ymm1, ymm1, ymm8 + vpor ymm0, ymm0, ymm1 + vpor ymm5, ymm0, ymm5 + jmp @final + align 16 +@20: dq 2020202020202020H + dq 2020202020202020H + align 32 +@0f: dq 0F0F0F0F0F0F0F0FH + dq 0F0F0F0F0F0F0F0FH + dq 0F0F0F0F0F0F0F0FH + dq 0F0F0F0F0F0F0F0FH +@_6: dq 0202020202020202H + dq 4915012180808080H + dq 0202020202020202H + dq 4915012180808080H +@_7: dq 0CBCBCB8B8383A3E7H + dq 0CBCBDBCBCBCBCBCBH + dq 0CBCBCB8B8383A3E7H + dq 0CBCBDBCBCBCBCBCBH +@_8: dq 0101010101010101H + dq 01010101BABAAEE6H + dq 0101010101010101H + dq 01010101BABAAEE6H +@_9: dq 0DFDFDFDFDFDFDFDFH + dq 0DFDFDFDFDFDFDFDFH + dq 0DFDFDFDFDFDFDFDFH + dq 0DFDFDFDFDFDFDFDFH +@_10: dq 0EFEFEFEFEFEFEFEFH + dq 0EFEFEFEFEFEFEFEFH + dq 0EFEFEFEFEFEFEFEFH + dq 0EFEFEFEFEFEFEFEFH +@_11: dq 8080808080808080H + dq 8080808080808080H + dq 8080808080808080H + dq 8080808080808080H +@_12: db 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH + db 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH + db 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH + db 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 0EFH, 0DFH, 0BFH +end; + +function IsValidUTF8Avx2(source: PUTF8Char): Boolean; +begin + result := IsValidUTF8LenAvx2(source,StrLen(source)); +end; +{$endif ASMX64AVX} + +function IsValidUTF8Pas(source: PUTF8Char): Boolean; +var extra, i: integer; + c: cardinal; +begin + result := false; + if source<>nil then + repeat + c := byte(source^); + inc(source); + if c=0 then break else + if c and $80<>0 then begin + extra := UTF8_EXTRABYTES[c]; + if extra=0 then exit else // invalid leading byte + for i := 1 to extra do + if byte(source^) and $c0<>$80 then + exit else + inc(source); // check valid UTF-8 content + end; + until false; + result := true; +end; + +function IsValidUTF8LenPas(source: PUTF8Char; sourcelen: PtrInt): Boolean; +var extra, i: integer; + c: cardinal; +begin + result := false; + inc(sourcelen,PtrInt(source)); + if source<>nil then + while PtrInt(PtrUInt(source))0 then begin + extra := UTF8_EXTRABYTES[c]; + if extra=0 then exit else // invalid leading byte + for i := 1 to extra do + if (PtrInt(PtrUInt(source))>=sourcelen) or (byte(source^) and $c0<>$80) then + exit else + inc(source); // check valid UTF-8 content + end; + end; + result := true; +end; + +function IsValidUTF8(source: PUTF8Char): Boolean; +begin + result := DoIsValidUTF8(source); +end; + +function IsValidUTF8(source: PUTF8Char; sourcelen: PtrInt): Boolean; +begin + result := DoIsValidUTF8Len(source,sourcelen); +end; + +function IsValidUTF8(const source: RawUTF8): Boolean; +begin + result := DoIsValidUTF8Len(pointer(Source),length(Source)); +end; + { ************ filtering and validation classes and functions *************** } @@ -18168,6 +18494,16 @@ begin EMOJI_AFTERDOTS['P'] := eYum; EMOJI_AFTERDOTS['s'] := eScream; EMOJI_AFTERDOTS['S'] := eScream; + DoIsValidUTF8 := IsValidUTF8Pas; + DoIsValidUTF8Len := IsValidUTF8LenPas; + {$ifdef ASMX64AVX} + if CpuFeatures * [cfAVX2, cfSSE42, cfBMI1, cfBMI2, cfCLMUL] = + [cfAVX2, cfSSE42, cfBMI1, cfBMI2, cfCLMUL] then begin + // Haswell CPUs can use simdjson AVX2 asm for IsValidUtf8() + DoIsValidUTF8 := IsValidUTF8Avx2; + DoIsValidUTF8Len := IsValidUTF8LenAvx2; + end; + {$endif ASMX64AVX} end; diff --git a/lib/dmustache/Synopse.inc b/lib/dmustache/Synopse.inc index 6d0df4b4..84dbe681 100644 --- a/lib/dmustache/Synopse.inc +++ b/lib/dmustache/Synopse.inc @@ -213,11 +213,15 @@ {$define ISFPC27} {$define ISFPC30} {$define ISFPC32} + {$ifdef VER3_2_2} + {$define HASTTHREADTERMINATESET} // introduced TThread.TerminateSet + {$endif VER3_2_2} {$endif} {$ifdef VER3_3} // trunk before 3.4 {$define ISFPC27} {$define ISFPC30} {$define ISFPC32} + {$define HASTTHREADTERMINATESET} // introduced TThread.TerminateSet {$endif} {$ifdef VER3_4} {$define ISFPC27} @@ -225,6 +229,7 @@ {$define ISFPC32} {$define ISFPC34} {$define FPC_PROVIDE_ATTR_TABLE} // introducing TTypeData.AttributeTable + {$define HASTTHREADTERMINATESET} // introduced TThread.TerminateSet {$endif} {$if not defined(VER3_0) and not defined(VER3_2) and not defined(VER2)} {.$define FPC_PROVIDE_ATTR_TABLE} // to be defined since SVN 42356-42411 @@ -324,6 +329,7 @@ {$define FPC_CPUINTEL} {$ifndef BSD} {$define CPUX64ASM} // Delphi XE4 or Darwin asm are buggy :( + {$define ASMX64AVX} // only FPC supports AVX/AVX2/AVX512 {$define HASAESNI} // SynCrypto rejected by Darwin asm {$endif BSD} {$define FPC_X64} // supports AVX/AVX2/AVX512 - which Delphi doesn't @@ -593,6 +599,9 @@ {$if CompilerVersion >= 34.0} {$define ISDELPHI104} {$ifend} + {$if CompilerVersion >= 35.0} + {$define ISDELPHI11} + {$ifend} {$ifend CompilerVersion >= 17} {$ifopt O-} // if we don't expect fast code, don't optimize the framework {$undef ENHANCEDRTL} diff --git a/lib/dmustache/SynopseCommit.inc b/lib/dmustache/SynopseCommit.inc index 9f13095e..c4c31a70 100644 --- a/lib/dmustache/SynopseCommit.inc +++ b/lib/dmustache/SynopseCommit.inc @@ -1 +1 @@ -'1.18.6272' +'1.18.6327' diff --git a/lib/loggerpro/packages/d110/loggerproRT.dproj b/lib/loggerpro/packages/d110/loggerproRT.dproj index 7a0a0d8a..5853d1cc 100644 --- a/lib/loggerpro/packages/d110/loggerproRT.dproj +++ b/lib/loggerpro/packages/d110/loggerproRT.dproj @@ -13,6 +13,16 @@ true + + true + Base + true + + + true + Base + true + true Base @@ -49,6 +59,16 @@ loggerproRT true + + package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= + Debug + annotation-1.2.0.dex.jar;asynclayoutinflater-1.0.0.dex.jar;billing-4.0.0.dex.jar;browser-1.0.0.dex.jar;cloud-messaging.dex.jar;collection-1.0.0.dex.jar;coordinatorlayout-1.0.0.dex.jar;core-1.5.0-rc02.dex.jar;core-common-2.0.1.dex.jar;core-runtime-2.0.1.dex.jar;cursoradapter-1.0.0.dex.jar;customview-1.0.0.dex.jar;documentfile-1.0.0.dex.jar;drawerlayout-1.0.0.dex.jar;firebase-annotations-16.0.0.dex.jar;firebase-common-20.0.0.dex.jar;firebase-components-17.0.0.dex.jar;firebase-datatransport-18.0.0.dex.jar;firebase-encoders-17.0.0.dex.jar;firebase-encoders-json-18.0.0.dex.jar;firebase-iid-interop-17.1.0.dex.jar;firebase-installations-17.0.0.dex.jar;firebase-installations-interop-17.0.0.dex.jar;firebase-measurement-connector-19.0.0.dex.jar;firebase-messaging-22.0.0.dex.jar;fmx.dex.jar;fragment-1.0.0.dex.jar;google-play-licensing.dex.jar;interpolator-1.0.0.dex.jar;javax.inject-1.dex.jar;legacy-support-core-ui-1.0.0.dex.jar;legacy-support-core-utils-1.0.0.dex.jar;lifecycle-common-2.0.0.dex.jar;lifecycle-livedata-2.0.0.dex.jar;lifecycle-livedata-core-2.0.0.dex.jar;lifecycle-runtime-2.0.0.dex.jar;lifecycle-service-2.0.0.dex.jar;lifecycle-viewmodel-2.0.0.dex.jar;listenablefuture-1.0.dex.jar;loader-1.0.0.dex.jar;localbroadcastmanager-1.0.0.dex.jar;play-services-ads-20.1.0.dex.jar;play-services-ads-base-20.1.0.dex.jar;play-services-ads-identifier-17.0.0.dex.jar;play-services-ads-lite-20.1.0.dex.jar;play-services-base-17.5.0.dex.jar;play-services-basement-17.6.0.dex.jar;play-services-cloud-messaging-16.0.0.dex.jar;play-services-drive-17.0.0.dex.jar;play-services-games-21.0.0.dex.jar;play-services-location-18.0.0.dex.jar;play-services-maps-17.0.1.dex.jar;play-services-measurement-base-18.0.0.dex.jar;play-services-measurement-sdk-api-18.0.0.dex.jar;play-services-places-placereport-17.0.0.dex.jar;play-services-stats-17.0.0.dex.jar;play-services-tasks-17.2.0.dex.jar;print-1.0.0.dex.jar;room-common-2.1.0.dex.jar;room-runtime-2.1.0.dex.jar;slidingpanelayout-1.0.0.dex.jar;sqlite-2.0.1.dex.jar;sqlite-framework-2.0.1.dex.jar;swiperefreshlayout-1.0.0.dex.jar;transport-api-3.0.0.dex.jar;transport-backend-cct-3.0.0.dex.jar;transport-runtime-3.0.0.dex.jar;user-messaging-platform-1.0.0.dex.jar;versionedparcelable-1.1.1.dex.jar;viewpager-1.0.0.dex.jar;work-runtime-2.1.0.dex.jar + + + package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= + Debug + annotation-1.2.0.dex.jar;asynclayoutinflater-1.0.0.dex.jar;billing-4.0.0.dex.jar;browser-1.0.0.dex.jar;cloud-messaging.dex.jar;collection-1.0.0.dex.jar;coordinatorlayout-1.0.0.dex.jar;core-1.5.0-rc02.dex.jar;core-common-2.0.1.dex.jar;core-runtime-2.0.1.dex.jar;cursoradapter-1.0.0.dex.jar;customview-1.0.0.dex.jar;documentfile-1.0.0.dex.jar;drawerlayout-1.0.0.dex.jar;firebase-annotations-16.0.0.dex.jar;firebase-common-20.0.0.dex.jar;firebase-components-17.0.0.dex.jar;firebase-datatransport-18.0.0.dex.jar;firebase-encoders-17.0.0.dex.jar;firebase-encoders-json-18.0.0.dex.jar;firebase-iid-interop-17.1.0.dex.jar;firebase-installations-17.0.0.dex.jar;firebase-installations-interop-17.0.0.dex.jar;firebase-measurement-connector-19.0.0.dex.jar;firebase-messaging-22.0.0.dex.jar;fmx.dex.jar;fragment-1.0.0.dex.jar;google-play-licensing.dex.jar;interpolator-1.0.0.dex.jar;javax.inject-1.dex.jar;legacy-support-core-ui-1.0.0.dex.jar;legacy-support-core-utils-1.0.0.dex.jar;lifecycle-common-2.0.0.dex.jar;lifecycle-livedata-2.0.0.dex.jar;lifecycle-livedata-core-2.0.0.dex.jar;lifecycle-runtime-2.0.0.dex.jar;lifecycle-service-2.0.0.dex.jar;lifecycle-viewmodel-2.0.0.dex.jar;listenablefuture-1.0.dex.jar;loader-1.0.0.dex.jar;localbroadcastmanager-1.0.0.dex.jar;play-services-ads-20.1.0.dex.jar;play-services-ads-base-20.1.0.dex.jar;play-services-ads-identifier-17.0.0.dex.jar;play-services-ads-lite-20.1.0.dex.jar;play-services-base-17.5.0.dex.jar;play-services-basement-17.6.0.dex.jar;play-services-cloud-messaging-16.0.0.dex.jar;play-services-drive-17.0.0.dex.jar;play-services-games-21.0.0.dex.jar;play-services-location-18.0.0.dex.jar;play-services-maps-17.0.1.dex.jar;play-services-measurement-base-18.0.0.dex.jar;play-services-measurement-sdk-api-18.0.0.dex.jar;play-services-places-placereport-17.0.0.dex.jar;play-services-stats-17.0.0.dex.jar;play-services-tasks-17.2.0.dex.jar;print-1.0.0.dex.jar;room-common-2.1.0.dex.jar;room-runtime-2.1.0.dex.jar;slidingpanelayout-1.0.0.dex.jar;sqlite-2.0.1.dex.jar;sqlite-framework-2.0.1.dex.jar;swiperefreshlayout-1.0.0.dex.jar;transport-api-3.0.0.dex.jar;transport-backend-cct-3.0.0.dex.jar;transport-runtime-3.0.0.dex.jar;user-messaging-platform-1.0.0.dex.jar;versionedparcelable-1.1.1.dex.jar;viewpager-1.0.0.dex.jar;work-runtime-2.1.0.dex.jar + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) Debug @@ -135,7 +155,7 @@ true - + true @@ -156,7 +176,7 @@ true - + true @@ -966,6 +986,8 @@ + False + False False True False diff --git a/packages/common_contains.inc b/packages/common_contains.inc new file mode 100644 index 00000000..aaa1a5dd --- /dev/null +++ b/packages/common_contains.inc @@ -0,0 +1,37 @@ + Web.HTTPDImpl, + Web.ApacheConst, + Web.ApacheHTTP, + Web.Win.IsapiHTTP, + Web.HTTPDMethods, + JsonDataObjects in '..\..\sources\JsonDataObjects.pas', + Json.Common.Helpers in '..\..\lib\swagdoc\Source\Json.Common.Helpers.pas', + Json.Schema.Common.Types in '..\..\lib\swagdoc\Source\Json.Schema.Common.Types.pas', + Json.Schema.Field.Arrays in '..\..\lib\swagdoc\Source\Json.Schema.Field.Arrays.pas', + Json.Schema.Field.Booleans in '..\..\lib\swagdoc\Source\Json.Schema.Field.Booleans.pas', + Json.Schema.Field.DateTimes in '..\..\lib\swagdoc\Source\Json.Schema.Field.DateTimes.pas', + Json.Schema.Field.Enums in '..\..\lib\swagdoc\Source\Json.Schema.Field.Enums.pas', + Json.Schema.Field.Numbers in '..\..\lib\swagdoc\Source\Json.Schema.Field.Numbers.pas', + Json.Schema.Field.Objects in '..\..\lib\swagdoc\Source\Json.Schema.Field.Objects.pas', + Json.Schema.Field in '..\..\lib\swagdoc\Source\Json.Schema.Field.pas', + Json.Schema.Field.Strings in '..\..\lib\swagdoc\Source\Json.Schema.Field.Strings.pas', + Json.Schema in '..\..\lib\swagdoc\Source\Json.Schema.pas', + Swag.Common.Consts in '..\..\lib\swagdoc\Source\Swag.Common.Consts.pas', + Swag.Common.Types.Helpers in '..\..\lib\swagdoc\Source\Swag.Common.Types.Helpers.pas', + Swag.Common.Types in '..\..\lib\swagdoc\Source\Swag.Common.Types.pas', + Swag.Doc.Definition in '..\..\lib\swagdoc\Source\Swag.Doc.Definition.pas', + Swag.Doc.FileLoader in '..\..\lib\swagdoc\Source\Swag.Doc.FileLoader.pas', + Swag.Doc.Info.Contact in '..\..\lib\swagdoc\Source\Swag.Doc.Info.Contact.pas', + Swag.Doc.Info.License in '..\..\lib\swagdoc\Source\Swag.Doc.Info.License.pas', + Swag.Doc.Info in '..\..\lib\swagdoc\Source\Swag.Doc.Info.pas', + Swag.Doc in '..\..\lib\swagdoc\Source\Swag.Doc.pas', + Swag.Doc.Path.Operation in '..\..\lib\swagdoc\Source\Swag.Doc.Path.Operation.pas', + Swag.Doc.Path.Operation.RequestParameter in '..\..\lib\swagdoc\Source\Swag.Doc.Path.Operation.RequestParameter.pas', + Swag.Doc.Path.Operation.Response in '..\..\lib\swagdoc\Source\Swag.Doc.Path.Operation.Response.pas', + Swag.Doc.Path.Operation.ResponseHeaders in '..\..\lib\swagdoc\Source\Swag.Doc.Path.Operation.ResponseHeaders.pas', + Swag.Doc.Path in '..\..\lib\swagdoc\Source\Swag.Doc.Path.pas', + Swag.Doc.SecurityDefinition in '..\..\lib\swagdoc\Source\Swag.Doc.SecurityDefinition.pas', + Swag.Doc.SecurityDefinitionApiKey in '..\..\lib\swagdoc\Source\Swag.Doc.SecurityDefinitionApiKey.pas', + Swag.Doc.SecurityDefinitionBasic in '..\..\lib\swagdoc\Source\Swag.Doc.SecurityDefinitionBasic.pas', + Swag.Doc.SecurityDefinitionOAuth2 in '..\..\lib\swagdoc\Source\Swag.Doc.SecurityDefinitionOAuth2.pas', + Swag.Doc.Tags in '..\..\lib\swagdoc\Source\Swag.Doc.Tags.pas', + \ No newline at end of file diff --git a/packages/common_defines.inc b/packages/common_defines.inc new file mode 100644 index 00000000..5502ebb4 --- /dev/null +++ b/packages/common_defines.inc @@ -0,0 +1,27 @@ +{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO OFF} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS ON} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION OFF} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO ON} +{$SAFEDIVIDE OFF} +{$STACKFRAMES ON} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DEFINE DEBUG} +{$ENDIF IMPLICITBUILDING} +{$DESCRIPTION 'DMVCFramework - Copyright (2010-2021) Daniele Teti and the DMVCFramework Team'} +{$RUNONLY} +{$IMPLICITBUILD ON} diff --git a/packages/common_defines_design.inc b/packages/common_defines_design.inc new file mode 100644 index 00000000..d6d622d2 --- /dev/null +++ b/packages/common_defines_design.inc @@ -0,0 +1,28 @@ +{$R *.res} +{$R *.dres} +{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO OFF} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS ON} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION OFF} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO ON} +{$SAFEDIVIDE OFF} +{$STACKFRAMES ON} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DEFINE DEBUG} +{$ENDIF IMPLICITBUILDING} +{$DESCRIPTION 'DelphiMVCFramework 3.2.2-nitrogen - Design Time Support'} +{$IMPLICITBUILD ON} \ No newline at end of file diff --git a/packages/d100/dmvcframeworkDT.dpk b/packages/d100/dmvcframeworkDT.dpk index fb72a9e3..61c910fe 100644 --- a/packages/d100/dmvcframeworkDT.dpk +++ b/packages/d100/dmvcframeworkDT.dpk @@ -1,34 +1,7 @@ package dmvcframeworkDT; -{$R *.res} -{$R *.dres} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS ON} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION OFF} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO ON} -{$SAFEDIVIDE OFF} -{$STACKFRAMES ON} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE DEBUG} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'DelphiMVCFramework IDE Expert'} +{$I ..\common_defines_design.inc} {$LIBSUFFIX '100'} -{$IMPLICITBUILD ON} requires rtl, diff --git a/packages/d100/dmvcframeworkRT.dpk b/packages/d100/dmvcframeworkRT.dpk index d15f8ed5..c267284c 100644 --- a/packages/d100/dmvcframeworkRT.dpk +++ b/packages/d100/dmvcframeworkRT.dpk @@ -1,34 +1,7 @@ package dmvcframeworkRT; -{$R *.res} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS ON} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION OFF} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO ON} -{$SAFEDIVIDE OFF} -{$STACKFRAMES ON} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE DEBUG} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'DMVCFramework 3.x'} +{$I ..\common_defines.inc} {$LIBSUFFIX '100'} -{$RUNONLY} -{$IMPLICITBUILD ON} requires rtl, @@ -39,15 +12,12 @@ requires FireDACIBDriver, FireDACMySQLDriver, loggerproRT, - FireDACPgDriver; + FireDACPgDriver, + FireDACSqliteDriver; contains - Web.ApacheConst, - Web.Win.IsapiHTTP, - Web.ApacheHTTP, - Web.HTTPDMethods, - Web.HTTPDImpl, - JsonDataObjects in '..\..\sources\JsonDataObjects.pas', +{$I ..\common_contains.inc} + MVCFramework in '..\..\sources\MVCFramework.pas', MVCFramework.ActiveRecord in '..\..\sources\MVCFramework.ActiveRecord.pas', MVCFramework.ActiveRecordController in '..\..\sources\MVCFramework.ActiveRecordController.pas', MVCFramework.ApplicationSession in '..\..\sources\MVCFramework.ApplicationSession.pas', @@ -70,7 +40,6 @@ contains MVCFramework.Middleware.JWT in '..\..\sources\MVCFramework.Middleware.JWT.pas', MVCFramework.Middleware.SecurityHeaders in '..\..\sources\MVCFramework.Middleware.SecurityHeaders.pas', MVCFramework.MultiMap in '..\..\sources\MVCFramework.MultiMap.pas', - MVCFramework in '..\..\sources\MVCFramework.pas', MVCFramework.Patches in '..\..\sources\MVCFramework.Patches.pas', MVCFramework.RESTAdapter in '..\..\sources\MVCFramework.RESTAdapter.pas', MVCFramework.Router in '..\..\sources\MVCFramework.Router.pas', @@ -78,6 +47,7 @@ contains MVCFramework.RQL.AST2InterbaseSQL in '..\..\sources\MVCFramework.RQL.AST2InterbaseSQL.pas', MVCFramework.RQL.AST2MySQL in '..\..\sources\MVCFramework.RQL.AST2MySQL.pas', MVCFramework.RQL.AST2PostgreSQL in '..\..\sources\MVCFramework.RQL.AST2PostgreSQL.pas', + MVCFramework.RQL.AST2SQLite in '..\..\sources\MVCFramework.RQL.AST2SQLite.pas', MVCFramework.RQL.Parser in '..\..\sources\MVCFramework.RQL.Parser.pas', MVCFramework.Rtti.Utils in '..\..\sources\MVCFramework.Rtti.Utils.pas', MVCFramework.Serializer.Abstract in '..\..\sources\MVCFramework.Serializer.Abstract.pas', @@ -87,47 +57,18 @@ contains MVCFramework.Serializer.JsonDataObjects.CustomTypes in '..\..\sources\MVCFramework.Serializer.JsonDataObjects.CustomTypes.pas', MVCFramework.Serializer.JsonDataObjects in '..\..\sources\MVCFramework.Serializer.JsonDataObjects.pas', MVCFramework.Session in '..\..\sources\MVCFramework.Session.pas', - MVCFramework.SQLGenerators.Firebird in '..\..\sources\MVCFramework.SQLGenerators.Firebird.pas', - MVCFramework.SQLGenerators.MySQL in '..\..\sources\MVCFramework.SQLGenerators.MySQL.pas', MVCFramework.SysControllers in '..\..\sources\MVCFramework.SysControllers.pas', MVCFramework.SystemJSONUtils in '..\..\sources\MVCFramework.SystemJSONUtils.pas', MVCFramework.View.Cache in '..\..\sources\MVCFramework.View.Cache.pas', MVCFramework.Controllers.Register in '..\..\sources\MVCFramework.Controllers.Register.pas', - MVCFramework.Swagger.Commons in '..\..\sources\MVCFramework.Swagger.Commons.pas', + MVCFramework.SQLGenerators.Firebird in '..\..\sources\MVCFramework.SQLGenerators.Firebird.pas', MVCFramework.SQLGenerators.Interbase in '..\..\sources\MVCFramework.SQLGenerators.Interbase.pas', + MVCFramework.SQLGenerators.MySQL in '..\..\sources\MVCFramework.SQLGenerators.MySQL.pas', MVCFramework.SQLGenerators.PostgreSQL in '..\..\sources\MVCFramework.SQLGenerators.PostgreSQL.pas', MVCFramework.SQLGenerators.Sqlite in '..\..\sources\MVCFramework.SQLGenerators.Sqlite.pas', - MVCFramework.RQL.AST2SQLite in '..\..\sources\MVCFramework.RQL.AST2SQLite.pas', - Swag.Doc.Tags in '..\..\lib\swagdoc\Source\Swag.Doc.Tags.pas', - Swag.Doc.SecurityDefinitionOAuth2 in '..\..\lib\swagdoc\Source\Swag.Doc.SecurityDefinitionOAuth2.pas', - Swag.Doc.SecurityDefinitionBasic in '..\..\lib\swagdoc\Source\Swag.Doc.SecurityDefinitionBasic.pas', - Swag.Doc.SecurityDefinitionApiKey in '..\..\lib\swagdoc\Source\Swag.Doc.SecurityDefinitionApiKey.pas', - Swag.Doc.SecurityDefinition in '..\..\lib\swagdoc\Source\Swag.Doc.SecurityDefinition.pas', - Swag.Doc.Path in '..\..\lib\swagdoc\Source\Swag.Doc.Path.pas', - Swag.Doc.Path.Operation.ResponseHeaders in '..\..\lib\swagdoc\Source\Swag.Doc.Path.Operation.ResponseHeaders.pas', - Swag.Doc.Path.Operation.Response in '..\..\lib\swagdoc\Source\Swag.Doc.Path.Operation.Response.pas', - Swag.Doc.Path.Operation.RequestParameter in '..\..\lib\swagdoc\Source\Swag.Doc.Path.Operation.RequestParameter.pas', - Swag.Doc.Path.Operation in '..\..\lib\swagdoc\Source\Swag.Doc.Path.Operation.pas', - Swag.Doc in '..\..\lib\swagdoc\Source\Swag.Doc.pas', - Swag.Doc.Info in '..\..\lib\swagdoc\Source\Swag.Doc.Info.pas', - Swag.Doc.Info.License in '..\..\lib\swagdoc\Source\Swag.Doc.Info.License.pas', - Swag.Doc.Info.Contact in '..\..\lib\swagdoc\Source\Swag.Doc.Info.Contact.pas', - Swag.Doc.FileLoader in '..\..\lib\swagdoc\Source\Swag.Doc.FileLoader.pas', - Swag.Doc.Definition in '..\..\lib\swagdoc\Source\Swag.Doc.Definition.pas', - Swag.Common.Types in '..\..\lib\swagdoc\Source\Swag.Common.Types.pas', - Swag.Common.Types.Helpers in '..\..\lib\swagdoc\Source\Swag.Common.Types.Helpers.pas', - Swag.Common.Consts in '..\..\lib\swagdoc\Source\Swag.Common.Consts.pas', - Json.Schema in '..\..\lib\swagdoc\Source\Json.Schema.pas', - Json.Schema.Field.Strings in '..\..\lib\swagdoc\Source\Json.Schema.Field.Strings.pas', - Json.Schema.Field in '..\..\lib\swagdoc\Source\Json.Schema.Field.pas', - Json.Schema.Field.Objects in '..\..\lib\swagdoc\Source\Json.Schema.Field.Objects.pas', - Json.Schema.Field.Numbers in '..\..\lib\swagdoc\Source\Json.Schema.Field.Numbers.pas', - Json.Schema.Field.Enums in '..\..\lib\swagdoc\Source\Json.Schema.Field.Enums.pas', - Json.Schema.Field.DateTimes in '..\..\lib\swagdoc\Source\Json.Schema.Field.DateTimes.pas', - Json.Schema.Field.Booleans in '..\..\lib\swagdoc\Source\Json.Schema.Field.Booleans.pas', - Json.Schema.Field.Arrays in '..\..\lib\swagdoc\Source\Json.Schema.Field.Arrays.pas', - Json.Schema.Common.Types in '..\..\lib\swagdoc\Source\Json.Schema.Common.Types.pas', - Json.Common.Helpers in '..\..\lib\swagdoc\Source\Json.Common.Helpers.pas', + MVCFramework.Swagger.Commons in '..\..\sources\MVCFramework.Swagger.Commons.pas', + MVCFramework.Middleware.Swagger in '..\..\sources\MVCFramework.Middleware.Swagger.pas', + MVCFramework.Middleware.Trace in '..\..\sources\MVCFramework.Middleware.Trace.pas', MVCFramework.Nullables in '..\..\sources\MVCFramework.Nullables.pas', MVCFramework.Serializer.HTML in '..\..\sources\MVCFramework.Serializer.HTML.pas', MVCFramework.LRUCache in '..\..\sources\MVCFramework.LRUCache.pas', @@ -139,3 +80,5 @@ contains end. + + diff --git a/packages/d101/dmvcframeworkDT.dpk b/packages/d101/dmvcframeworkDT.dpk index 60aa8c59..a53de20f 100644 --- a/packages/d101/dmvcframeworkDT.dpk +++ b/packages/d101/dmvcframeworkDT.dpk @@ -1,34 +1,7 @@ package dmvcframeworkDT; -{$R *.res} -{$R *.dres} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS ON} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION OFF} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO ON} -{$SAFEDIVIDE OFF} -{$STACKFRAMES ON} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE DEBUG} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'DelphiMVCFramework IDE Expert'} +{$I ..\common_defines_design.inc} {$LIBSUFFIX '101'} -{$IMPLICITBUILD ON} requires rtl, diff --git a/packages/d101/dmvcframeworkRT.dpk b/packages/d101/dmvcframeworkRT.dpk index c3c1a7b2..cf31613c 100644 --- a/packages/d101/dmvcframeworkRT.dpk +++ b/packages/d101/dmvcframeworkRT.dpk @@ -1,34 +1,7 @@ package dmvcframeworkRT; -{$R *.res} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS ON} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION OFF} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO ON} -{$SAFEDIVIDE OFF} -{$STACKFRAMES ON} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE DEBUG} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'DMVCFramework 3.x'} +{$I ..\common_defines.inc} {$LIBSUFFIX '101'} -{$RUNONLY} -{$IMPLICITBUILD ON} requires rtl, @@ -39,15 +12,12 @@ requires FireDACIBDriver, FireDACMySQLDriver, loggerproRT, - FireDACPgDriver; + FireDACPgDriver, + FireDACSqliteDriver; contains - Web.ApacheConst, - Web.Win.IsapiHTTP, - Web.ApacheHTTP, - Web.HTTPDMethods, - Web.HTTPDImpl, - JsonDataObjects in '..\..\sources\JsonDataObjects.pas', +{$I ..\common_contains.inc} + MVCFramework in '..\..\sources\MVCFramework.pas', MVCFramework.ActiveRecord in '..\..\sources\MVCFramework.ActiveRecord.pas', MVCFramework.ActiveRecordController in '..\..\sources\MVCFramework.ActiveRecordController.pas', MVCFramework.ApplicationSession in '..\..\sources\MVCFramework.ApplicationSession.pas', @@ -70,7 +40,6 @@ contains MVCFramework.Middleware.JWT in '..\..\sources\MVCFramework.Middleware.JWT.pas', MVCFramework.Middleware.SecurityHeaders in '..\..\sources\MVCFramework.Middleware.SecurityHeaders.pas', MVCFramework.MultiMap in '..\..\sources\MVCFramework.MultiMap.pas', - MVCFramework in '..\..\sources\MVCFramework.pas', MVCFramework.Patches in '..\..\sources\MVCFramework.Patches.pas', MVCFramework.RESTAdapter in '..\..\sources\MVCFramework.RESTAdapter.pas', MVCFramework.Router in '..\..\sources\MVCFramework.Router.pas', @@ -78,6 +47,7 @@ contains MVCFramework.RQL.AST2InterbaseSQL in '..\..\sources\MVCFramework.RQL.AST2InterbaseSQL.pas', MVCFramework.RQL.AST2MySQL in '..\..\sources\MVCFramework.RQL.AST2MySQL.pas', MVCFramework.RQL.AST2PostgreSQL in '..\..\sources\MVCFramework.RQL.AST2PostgreSQL.pas', + MVCFramework.RQL.AST2SQLite in '..\..\sources\MVCFramework.RQL.AST2SQLite.pas', MVCFramework.RQL.Parser in '..\..\sources\MVCFramework.RQL.Parser.pas', MVCFramework.Rtti.Utils in '..\..\sources\MVCFramework.Rtti.Utils.pas', MVCFramework.Serializer.Abstract in '..\..\sources\MVCFramework.Serializer.Abstract.pas', @@ -91,46 +61,17 @@ contains MVCFramework.SystemJSONUtils in '..\..\sources\MVCFramework.SystemJSONUtils.pas', MVCFramework.View.Cache in '..\..\sources\MVCFramework.View.Cache.pas', MVCFramework.Controllers.Register in '..\..\sources\MVCFramework.Controllers.Register.pas', - MVCFramework.Swagger.Commons in '..\..\sources\MVCFramework.Swagger.Commons.pas', - MVCFramework.RQL.AST2SQLite in '..\..\sources\MVCFramework.RQL.AST2SQLite.pas', MVCFramework.SQLGenerators.Firebird in '..\..\sources\MVCFramework.SQLGenerators.Firebird.pas', MVCFramework.SQLGenerators.Interbase in '..\..\sources\MVCFramework.SQLGenerators.Interbase.pas', MVCFramework.SQLGenerators.MySQL in '..\..\sources\MVCFramework.SQLGenerators.MySQL.pas', MVCFramework.SQLGenerators.PostgreSQL in '..\..\sources\MVCFramework.SQLGenerators.PostgreSQL.pas', MVCFramework.SQLGenerators.Sqlite in '..\..\sources\MVCFramework.SQLGenerators.Sqlite.pas', - Swag.Doc.Tags in '..\..\lib\swagdoc\Source\Swag.Doc.Tags.pas', - Swag.Doc.SecurityDefinitionOAuth2 in '..\..\lib\swagdoc\Source\Swag.Doc.SecurityDefinitionOAuth2.pas', - Swag.Doc.SecurityDefinitionBasic in '..\..\lib\swagdoc\Source\Swag.Doc.SecurityDefinitionBasic.pas', - Swag.Doc.SecurityDefinitionApiKey in '..\..\lib\swagdoc\Source\Swag.Doc.SecurityDefinitionApiKey.pas', - Swag.Doc.SecurityDefinition in '..\..\lib\swagdoc\Source\Swag.Doc.SecurityDefinition.pas', - Swag.Doc.Path in '..\..\lib\swagdoc\Source\Swag.Doc.Path.pas', - Swag.Doc.Path.Operation.ResponseHeaders in '..\..\lib\swagdoc\Source\Swag.Doc.Path.Operation.ResponseHeaders.pas', - Swag.Doc.Path.Operation.Response in '..\..\lib\swagdoc\Source\Swag.Doc.Path.Operation.Response.pas', - Swag.Doc.Path.Operation.RequestParameter in '..\..\lib\swagdoc\Source\Swag.Doc.Path.Operation.RequestParameter.pas', - Swag.Doc.Path.Operation in '..\..\lib\swagdoc\Source\Swag.Doc.Path.Operation.pas', - Swag.Doc in '..\..\lib\swagdoc\Source\Swag.Doc.pas', - Swag.Doc.Info in '..\..\lib\swagdoc\Source\Swag.Doc.Info.pas', - Swag.Doc.Info.License in '..\..\lib\swagdoc\Source\Swag.Doc.Info.License.pas', - Swag.Doc.Info.Contact in '..\..\lib\swagdoc\Source\Swag.Doc.Info.Contact.pas', - Swag.Doc.FileLoader in '..\..\lib\swagdoc\Source\Swag.Doc.FileLoader.pas', - Swag.Doc.Definition in '..\..\lib\swagdoc\Source\Swag.Doc.Definition.pas', - Swag.Common.Types in '..\..\lib\swagdoc\Source\Swag.Common.Types.pas', - Swag.Common.Types.Helpers in '..\..\lib\swagdoc\Source\Swag.Common.Types.Helpers.pas', - Swag.Common.Consts in '..\..\lib\swagdoc\Source\Swag.Common.Consts.pas', - Json.Schema in '..\..\lib\swagdoc\Source\Json.Schema.pas', - Json.Schema.Field.Strings in '..\..\lib\swagdoc\Source\Json.Schema.Field.Strings.pas', - Json.Schema.Field in '..\..\lib\swagdoc\Source\Json.Schema.Field.pas', - Json.Schema.Field.Objects in '..\..\lib\swagdoc\Source\Json.Schema.Field.Objects.pas', - Json.Schema.Field.Numbers in '..\..\lib\swagdoc\Source\Json.Schema.Field.Numbers.pas', - Json.Schema.Field.Enums in '..\..\lib\swagdoc\Source\Json.Schema.Field.Enums.pas', - Json.Schema.Field.DateTimes in '..\..\lib\swagdoc\Source\Json.Schema.Field.DateTimes.pas', - Json.Schema.Field.Booleans in '..\..\lib\swagdoc\Source\Json.Schema.Field.Booleans.pas', - Json.Schema.Field.Arrays in '..\..\lib\swagdoc\Source\Json.Schema.Field.Arrays.pas', - Json.Schema.Common.Types in '..\..\lib\swagdoc\Source\Json.Schema.Common.Types.pas', - Json.Common.Helpers in '..\..\lib\swagdoc\Source\Json.Common.Helpers.pas', + MVCFramework.Swagger.Commons in '..\..\sources\MVCFramework.Swagger.Commons.pas', + MVCFramework.Middleware.Swagger in '..\..\sources\MVCFramework.Middleware.Swagger.pas', + MVCFramework.Middleware.Trace in '..\..\sources\MVCFramework.Middleware.Trace.pas', MVCFramework.Nullables in '..\..\sources\MVCFramework.Nullables.pas', MVCFramework.Serializer.HTML in '..\..\sources\MVCFramework.Serializer.HTML.pas', - MVCFramework.LRUCache in '..\..\sources\MVCFramework.LRUCache.pas', + MVCFramework.LRUCache in '..\..\sources\MVCFramework.LRUCache.pas', MVCFramework.RESTClient.Commons in '..\..\sources\MVCFramework.RESTClient.Commons.pas', MVCFramework.RESTClient.Indy in '..\..\sources\MVCFramework.RESTClient.Indy.pas', MVCFramework.RESTClient.Intf in '..\..\sources\MVCFramework.RESTClient.Intf.pas', @@ -139,3 +80,5 @@ contains end. + + diff --git a/packages/d102/dmvcframeworkDT.dpk b/packages/d102/dmvcframeworkDT.dpk index 715f0339..57ea31bc 100644 --- a/packages/d102/dmvcframeworkDT.dpk +++ b/packages/d102/dmvcframeworkDT.dpk @@ -1,34 +1,7 @@ package dmvcframeworkDT; -{$R *.res} -{$R *.dres} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS ON} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION OFF} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO ON} -{$SAFEDIVIDE OFF} -{$STACKFRAMES ON} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE DEBUG} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'DelphiMVCFramework IDE Expert'} +{$I ..\common_defines_design.inc} {$LIBSUFFIX '102'} -{$IMPLICITBUILD ON} requires rtl, @@ -53,7 +26,6 @@ contains DMVC.Expert.NewUnitWizardEx in '..\..\ideexpert\DMVC.Expert.NewUnitWizardEx.pas', DMVC.Expert.ProjectWizardEx in '..\..\ideexpert\DMVC.Expert.ProjectWizardEx.pas', DMVC.Expert.Registration in '..\..\ideexpert\DMVC.Expert.Registration.pas', - DMVC.Splash.Registration in '..\..\ideexpert\DMVC.Splash.Registration.pas', - MVCFramework.Controllers.Register in '..\..\sources\MVCFramework.Controllers.Register.pas'; + DMVC.Splash.Registration in '..\..\ideexpert\DMVC.Splash.Registration.pas'; end. diff --git a/packages/d102/dmvcframeworkRT.dpk b/packages/d102/dmvcframeworkRT.dpk index cd22c007..b3511a36 100644 --- a/packages/d102/dmvcframeworkRT.dpk +++ b/packages/d102/dmvcframeworkRT.dpk @@ -1,34 +1,7 @@ package dmvcframeworkRT; -{$R *.res} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS ON} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION OFF} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO ON} -{$SAFEDIVIDE OFF} -{$STACKFRAMES ON} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE DEBUG} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'DMVCFramework 3.x'} +{$I ..\common_defines.inc} {$LIBSUFFIX '102'} -{$RUNONLY} -{$IMPLICITBUILD ON} requires rtl, @@ -39,15 +12,12 @@ requires FireDACIBDriver, FireDACMySQLDriver, loggerproRT, - FireDACPgDriver; + FireDACPgDriver, + FireDACSqliteDriver; contains - Web.ApacheConst, - Web.Win.IsapiHTTP, - Web.ApacheHTTP, - Web.HTTPDMethods, - Web.HTTPDImpl, - JsonDataObjects in '..\..\sources\JsonDataObjects.pas', +{$I ..\common_contains.inc} + MVCFramework in '..\..\sources\MVCFramework.pas', MVCFramework.ActiveRecord in '..\..\sources\MVCFramework.ActiveRecord.pas', MVCFramework.ActiveRecordController in '..\..\sources\MVCFramework.ActiveRecordController.pas', MVCFramework.ApplicationSession in '..\..\sources\MVCFramework.ApplicationSession.pas', @@ -70,7 +40,6 @@ contains MVCFramework.Middleware.JWT in '..\..\sources\MVCFramework.Middleware.JWT.pas', MVCFramework.Middleware.SecurityHeaders in '..\..\sources\MVCFramework.Middleware.SecurityHeaders.pas', MVCFramework.MultiMap in '..\..\sources\MVCFramework.MultiMap.pas', - MVCFramework in '..\..\sources\MVCFramework.pas', MVCFramework.Patches in '..\..\sources\MVCFramework.Patches.pas', MVCFramework.RESTAdapter in '..\..\sources\MVCFramework.RESTAdapter.pas', MVCFramework.Router in '..\..\sources\MVCFramework.Router.pas', @@ -78,6 +47,7 @@ contains MVCFramework.RQL.AST2InterbaseSQL in '..\..\sources\MVCFramework.RQL.AST2InterbaseSQL.pas', MVCFramework.RQL.AST2MySQL in '..\..\sources\MVCFramework.RQL.AST2MySQL.pas', MVCFramework.RQL.AST2PostgreSQL in '..\..\sources\MVCFramework.RQL.AST2PostgreSQL.pas', + MVCFramework.RQL.AST2SQLite in '..\..\sources\MVCFramework.RQL.AST2SQLite.pas', MVCFramework.RQL.Parser in '..\..\sources\MVCFramework.RQL.Parser.pas', MVCFramework.Rtti.Utils in '..\..\sources\MVCFramework.Rtti.Utils.pas', MVCFramework.Serializer.Abstract in '..\..\sources\MVCFramework.Serializer.Abstract.pas', @@ -90,43 +60,15 @@ contains MVCFramework.SysControllers in '..\..\sources\MVCFramework.SysControllers.pas', MVCFramework.SystemJSONUtils in '..\..\sources\MVCFramework.SystemJSONUtils.pas', MVCFramework.View.Cache in '..\..\sources\MVCFramework.View.Cache.pas', - MVCFramework.Swagger.Commons in '..\..\sources\MVCFramework.Swagger.Commons.pas', - MVCFramework.RQL.AST2SQLite in '..\..\sources\MVCFramework.RQL.AST2SQLite.pas', + MVCFramework.Controllers.Register in '..\..\sources\MVCFramework.Controllers.Register.pas', MVCFramework.SQLGenerators.Firebird in '..\..\sources\MVCFramework.SQLGenerators.Firebird.pas', MVCFramework.SQLGenerators.Interbase in '..\..\sources\MVCFramework.SQLGenerators.Interbase.pas', MVCFramework.SQLGenerators.MySQL in '..\..\sources\MVCFramework.SQLGenerators.MySQL.pas', MVCFramework.SQLGenerators.PostgreSQL in '..\..\sources\MVCFramework.SQLGenerators.PostgreSQL.pas', MVCFramework.SQLGenerators.Sqlite in '..\..\sources\MVCFramework.SQLGenerators.Sqlite.pas', - Swag.Doc.Tags in '..\..\lib\swagdoc\Source\Swag.Doc.Tags.pas', - Swag.Doc.SecurityDefinitionOAuth2 in '..\..\lib\swagdoc\Source\Swag.Doc.SecurityDefinitionOAuth2.pas', - Swag.Doc.SecurityDefinitionBasic in '..\..\lib\swagdoc\Source\Swag.Doc.SecurityDefinitionBasic.pas', - Swag.Doc.SecurityDefinitionApiKey in '..\..\lib\swagdoc\Source\Swag.Doc.SecurityDefinitionApiKey.pas', - Swag.Doc.SecurityDefinition in '..\..\lib\swagdoc\Source\Swag.Doc.SecurityDefinition.pas', - Swag.Doc.Path in '..\..\lib\swagdoc\Source\Swag.Doc.Path.pas', - Swag.Doc.Path.Operation.ResponseHeaders in '..\..\lib\swagdoc\Source\Swag.Doc.Path.Operation.ResponseHeaders.pas', - Swag.Doc.Path.Operation.Response in '..\..\lib\swagdoc\Source\Swag.Doc.Path.Operation.Response.pas', - Swag.Doc.Path.Operation.RequestParameter in '..\..\lib\swagdoc\Source\Swag.Doc.Path.Operation.RequestParameter.pas', - Swag.Doc.Path.Operation in '..\..\lib\swagdoc\Source\Swag.Doc.Path.Operation.pas', - Swag.Doc in '..\..\lib\swagdoc\Source\Swag.Doc.pas', - Swag.Doc.Info in '..\..\lib\swagdoc\Source\Swag.Doc.Info.pas', - Swag.Doc.Info.License in '..\..\lib\swagdoc\Source\Swag.Doc.Info.License.pas', - Swag.Doc.Info.Contact in '..\..\lib\swagdoc\Source\Swag.Doc.Info.Contact.pas', - Swag.Doc.FileLoader in '..\..\lib\swagdoc\Source\Swag.Doc.FileLoader.pas', - Swag.Doc.Definition in '..\..\lib\swagdoc\Source\Swag.Doc.Definition.pas', - Swag.Common.Types in '..\..\lib\swagdoc\Source\Swag.Common.Types.pas', - Swag.Common.Types.Helpers in '..\..\lib\swagdoc\Source\Swag.Common.Types.Helpers.pas', - Swag.Common.Consts in '..\..\lib\swagdoc\Source\Swag.Common.Consts.pas', - Json.Schema in '..\..\lib\swagdoc\Source\Json.Schema.pas', - Json.Schema.Field.Strings in '..\..\lib\swagdoc\Source\Json.Schema.Field.Strings.pas', - Json.Schema.Field in '..\..\lib\swagdoc\Source\Json.Schema.Field.pas', - Json.Schema.Field.Objects in '..\..\lib\swagdoc\Source\Json.Schema.Field.Objects.pas', - Json.Schema.Field.Numbers in '..\..\lib\swagdoc\Source\Json.Schema.Field.Numbers.pas', - Json.Schema.Field.Enums in '..\..\lib\swagdoc\Source\Json.Schema.Field.Enums.pas', - Json.Schema.Field.DateTimes in '..\..\lib\swagdoc\Source\Json.Schema.Field.DateTimes.pas', - Json.Schema.Field.Booleans in '..\..\lib\swagdoc\Source\Json.Schema.Field.Booleans.pas', - Json.Schema.Field.Arrays in '..\..\lib\swagdoc\Source\Json.Schema.Field.Arrays.pas', - Json.Schema.Common.Types in '..\..\lib\swagdoc\Source\Json.Schema.Common.Types.pas', - Json.Common.Helpers in '..\..\lib\swagdoc\Source\Json.Common.Helpers.pas', + MVCFramework.Swagger.Commons in '..\..\sources\MVCFramework.Swagger.Commons.pas', + MVCFramework.Middleware.Swagger in '..\..\sources\MVCFramework.Middleware.Swagger.pas', + MVCFramework.Middleware.Trace in '..\..\sources\MVCFramework.Middleware.Trace.pas', MVCFramework.Nullables in '..\..\sources\MVCFramework.Nullables.pas', MVCFramework.Serializer.HTML in '..\..\sources\MVCFramework.Serializer.HTML.pas', MVCFramework.LRUCache in '..\..\sources\MVCFramework.LRUCache.pas', @@ -138,3 +80,5 @@ contains end. + + diff --git a/packages/d103/dmvcframeworkDT.dpk b/packages/d103/dmvcframeworkDT.dpk index 5d34a378..0025f651 100644 --- a/packages/d103/dmvcframeworkDT.dpk +++ b/packages/d103/dmvcframeworkDT.dpk @@ -1,34 +1,7 @@ package dmvcframeworkDT; -{$R *.res} -{$R *.dres} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS ON} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION OFF} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO ON} -{$SAFEDIVIDE OFF} -{$STACKFRAMES ON} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE DEBUG} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'DelphiMVCFramework IDE Expert'} +{$I ..\common_defines_design.inc} {$LIBSUFFIX '103'} -{$IMPLICITBUILD ON} requires rtl, diff --git a/packages/d103/dmvcframeworkRT.dpk b/packages/d103/dmvcframeworkRT.dpk index 88ea7129..f56e84b6 100644 --- a/packages/d103/dmvcframeworkRT.dpk +++ b/packages/d103/dmvcframeworkRT.dpk @@ -1,34 +1,7 @@ package dmvcframeworkRT; -{$R *.res} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS ON} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION OFF} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO ON} -{$SAFEDIVIDE OFF} -{$STACKFRAMES ON} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE DEBUG} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'DMVCFramework 3.x'} +{$I ..\common_defines.inc} {$LIBSUFFIX '103'} -{$RUNONLY} -{$IMPLICITBUILD ON} requires rtl, @@ -39,15 +12,12 @@ requires FireDACIBDriver, FireDACMySQLDriver, loggerproRT, - FireDACPgDriver; + FireDACPgDriver, + FireDACSqliteDriver; contains - Web.ApacheConst in 'c:\program files (x86)\embarcadero\studio\20.0\source\Internet\Web.ApacheConst.pas', - Web.Win.IsapiHTTP in 'c:\program files (x86)\embarcadero\studio\20.0\source\Internet\Web.Win.IsapiHTTP.pas', - Web.ApacheHTTP in 'c:\program files (x86)\embarcadero\studio\20.0\source\Internet\Web.ApacheHTTP.pas', - Web.HTTPDMethods in 'c:\program files (x86)\embarcadero\studio\20.0\source\Internet\Web.HTTPDMethods.pas', - Web.HTTPDImpl, - JsonDataObjects in '..\..\sources\JsonDataObjects.pas', +{$I ..\common_contains.inc} + MVCFramework in '..\..\sources\MVCFramework.pas', MVCFramework.ActiveRecord in '..\..\sources\MVCFramework.ActiveRecord.pas', MVCFramework.ActiveRecordController in '..\..\sources\MVCFramework.ActiveRecordController.pas', MVCFramework.ApplicationSession in '..\..\sources\MVCFramework.ApplicationSession.pas', @@ -70,7 +40,6 @@ contains MVCFramework.Middleware.JWT in '..\..\sources\MVCFramework.Middleware.JWT.pas', MVCFramework.Middleware.SecurityHeaders in '..\..\sources\MVCFramework.Middleware.SecurityHeaders.pas', MVCFramework.MultiMap in '..\..\sources\MVCFramework.MultiMap.pas', - MVCFramework in '..\..\sources\MVCFramework.pas', MVCFramework.Patches in '..\..\sources\MVCFramework.Patches.pas', MVCFramework.RESTAdapter in '..\..\sources\MVCFramework.RESTAdapter.pas', MVCFramework.Router in '..\..\sources\MVCFramework.Router.pas', @@ -99,36 +68,6 @@ contains MVCFramework.SQLGenerators.Sqlite in '..\..\sources\MVCFramework.SQLGenerators.Sqlite.pas', MVCFramework.Swagger.Commons in '..\..\sources\MVCFramework.Swagger.Commons.pas', MVCFramework.Middleware.Swagger in '..\..\sources\MVCFramework.Middleware.Swagger.pas', - Json.Common.Helpers in '..\..\lib\swagdoc\Source\Json.Common.Helpers.pas', - Json.Schema.Common.Types in '..\..\lib\swagdoc\Source\Json.Schema.Common.Types.pas', - Json.Schema.Field.Arrays in '..\..\lib\swagdoc\Source\Json.Schema.Field.Arrays.pas', - Json.Schema.Field.Booleans in '..\..\lib\swagdoc\Source\Json.Schema.Field.Booleans.pas', - Json.Schema.Field.DateTimes in '..\..\lib\swagdoc\Source\Json.Schema.Field.DateTimes.pas', - Json.Schema.Field.Enums in '..\..\lib\swagdoc\Source\Json.Schema.Field.Enums.pas', - Json.Schema.Field.Numbers in '..\..\lib\swagdoc\Source\Json.Schema.Field.Numbers.pas', - Json.Schema.Field.Objects in '..\..\lib\swagdoc\Source\Json.Schema.Field.Objects.pas', - Json.Schema.Field in '..\..\lib\swagdoc\Source\Json.Schema.Field.pas', - Json.Schema.Field.Strings in '..\..\lib\swagdoc\Source\Json.Schema.Field.Strings.pas', - Json.Schema in '..\..\lib\swagdoc\Source\Json.Schema.pas', - Swag.Common.Consts in '..\..\lib\swagdoc\Source\Swag.Common.Consts.pas', - Swag.Common.Types.Helpers in '..\..\lib\swagdoc\Source\Swag.Common.Types.Helpers.pas', - Swag.Common.Types in '..\..\lib\swagdoc\Source\Swag.Common.Types.pas', - Swag.Doc.Definition in '..\..\lib\swagdoc\Source\Swag.Doc.Definition.pas', - Swag.Doc.FileLoader in '..\..\lib\swagdoc\Source\Swag.Doc.FileLoader.pas', - Swag.Doc.Info.Contact in '..\..\lib\swagdoc\Source\Swag.Doc.Info.Contact.pas', - Swag.Doc.Info.License in '..\..\lib\swagdoc\Source\Swag.Doc.Info.License.pas', - Swag.Doc.Info in '..\..\lib\swagdoc\Source\Swag.Doc.Info.pas', - Swag.Doc in '..\..\lib\swagdoc\Source\Swag.Doc.pas', - Swag.Doc.Path.Operation in '..\..\lib\swagdoc\Source\Swag.Doc.Path.Operation.pas', - Swag.Doc.Path.Operation.RequestParameter in '..\..\lib\swagdoc\Source\Swag.Doc.Path.Operation.RequestParameter.pas', - Swag.Doc.Path.Operation.Response in '..\..\lib\swagdoc\Source\Swag.Doc.Path.Operation.Response.pas', - Swag.Doc.Path.Operation.ResponseHeaders in '..\..\lib\swagdoc\Source\Swag.Doc.Path.Operation.ResponseHeaders.pas', - Swag.Doc.Path in '..\..\lib\swagdoc\Source\Swag.Doc.Path.pas', - Swag.Doc.SecurityDefinition in '..\..\lib\swagdoc\Source\Swag.Doc.SecurityDefinition.pas', - Swag.Doc.SecurityDefinitionApiKey in '..\..\lib\swagdoc\Source\Swag.Doc.SecurityDefinitionApiKey.pas', - Swag.Doc.SecurityDefinitionBasic in '..\..\lib\swagdoc\Source\Swag.Doc.SecurityDefinitionBasic.pas', - Swag.Doc.SecurityDefinitionOAuth2 in '..\..\lib\swagdoc\Source\Swag.Doc.SecurityDefinitionOAuth2.pas', - Swag.Doc.Tags in '..\..\lib\swagdoc\Source\Swag.Doc.Tags.pas', MVCFramework.Middleware.Trace in '..\..\sources\MVCFramework.Middleware.Trace.pas', MVCFramework.Nullables in '..\..\sources\MVCFramework.Nullables.pas', MVCFramework.Serializer.HTML in '..\..\sources\MVCFramework.Serializer.HTML.pas', @@ -143,4 +82,3 @@ end. - diff --git a/packages/d104/dmvcframeworkDT.dpk b/packages/d104/dmvcframeworkDT.dpk index 5937ca01..78ca9891 100644 --- a/packages/d104/dmvcframeworkDT.dpk +++ b/packages/d104/dmvcframeworkDT.dpk @@ -1,34 +1,7 @@ package dmvcframeworkDT; -{$R *.res} -{$R *.dres} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS ON} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION OFF} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO ON} -{$SAFEDIVIDE OFF} -{$STACKFRAMES ON} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE DEBUG} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'DelphiMVCFramework IDE Expert'} +{$I ..\common_defines_design.inc} {$LIBSUFFIX '104'} -{$IMPLICITBUILD ON} requires rtl, diff --git a/packages/d104/dmvcframeworkRT.dpk b/packages/d104/dmvcframeworkRT.dpk index 9f58c7b0..388d4e73 100644 --- a/packages/d104/dmvcframeworkRT.dpk +++ b/packages/d104/dmvcframeworkRT.dpk @@ -1,34 +1,7 @@ package dmvcframeworkRT; -{$R *.res} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS ON} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION OFF} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO ON} -{$SAFEDIVIDE OFF} -{$STACKFRAMES ON} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE DEBUG} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'DMVCFramework 3.x'} +{$I ..\common_defines.inc} {$LIBSUFFIX '104'} -{$RUNONLY} -{$IMPLICITBUILD ON} requires rtl, @@ -43,12 +16,8 @@ requires FireDACSqliteDriver; contains - Web.ApacheConst in 'c:\program files (x86)\embarcadero\studio\20.0\source\Internet\Web.ApacheConst.pas', - Web.Win.IsapiHTTP in 'c:\program files (x86)\embarcadero\studio\20.0\source\Internet\Web.Win.IsapiHTTP.pas', - Web.ApacheHTTP in 'c:\program files (x86)\embarcadero\studio\20.0\source\Internet\Web.ApacheHTTP.pas', - Web.HTTPDMethods in 'c:\program files (x86)\embarcadero\studio\20.0\source\Internet\Web.HTTPDMethods.pas', - Web.HTTPDImpl, - JsonDataObjects in '..\..\sources\JsonDataObjects.pas', +{$I ..\common_contains.inc} + MVCFramework in '..\..\sources\MVCFramework.pas', MVCFramework.ActiveRecord in '..\..\sources\MVCFramework.ActiveRecord.pas', MVCFramework.ActiveRecordController in '..\..\sources\MVCFramework.ActiveRecordController.pas', MVCFramework.ApplicationSession in '..\..\sources\MVCFramework.ApplicationSession.pas', @@ -71,7 +40,6 @@ contains MVCFramework.Middleware.JWT in '..\..\sources\MVCFramework.Middleware.JWT.pas', MVCFramework.Middleware.SecurityHeaders in '..\..\sources\MVCFramework.Middleware.SecurityHeaders.pas', MVCFramework.MultiMap in '..\..\sources\MVCFramework.MultiMap.pas', - MVCFramework in '..\..\sources\MVCFramework.pas', MVCFramework.Patches in '..\..\sources\MVCFramework.Patches.pas', MVCFramework.RESTAdapter in '..\..\sources\MVCFramework.RESTAdapter.pas', MVCFramework.Router in '..\..\sources\MVCFramework.Router.pas', @@ -100,36 +68,6 @@ contains MVCFramework.SQLGenerators.Sqlite in '..\..\sources\MVCFramework.SQLGenerators.Sqlite.pas', MVCFramework.Swagger.Commons in '..\..\sources\MVCFramework.Swagger.Commons.pas', MVCFramework.Middleware.Swagger in '..\..\sources\MVCFramework.Middleware.Swagger.pas', - Json.Common.Helpers in '..\..\lib\swagdoc\Source\Json.Common.Helpers.pas', - Json.Schema.Common.Types in '..\..\lib\swagdoc\Source\Json.Schema.Common.Types.pas', - Json.Schema.Field.Arrays in '..\..\lib\swagdoc\Source\Json.Schema.Field.Arrays.pas', - Json.Schema.Field.Booleans in '..\..\lib\swagdoc\Source\Json.Schema.Field.Booleans.pas', - Json.Schema.Field.DateTimes in '..\..\lib\swagdoc\Source\Json.Schema.Field.DateTimes.pas', - Json.Schema.Field.Enums in '..\..\lib\swagdoc\Source\Json.Schema.Field.Enums.pas', - Json.Schema.Field.Numbers in '..\..\lib\swagdoc\Source\Json.Schema.Field.Numbers.pas', - Json.Schema.Field.Objects in '..\..\lib\swagdoc\Source\Json.Schema.Field.Objects.pas', - Json.Schema.Field in '..\..\lib\swagdoc\Source\Json.Schema.Field.pas', - Json.Schema.Field.Strings in '..\..\lib\swagdoc\Source\Json.Schema.Field.Strings.pas', - Json.Schema in '..\..\lib\swagdoc\Source\Json.Schema.pas', - Swag.Common.Consts in '..\..\lib\swagdoc\Source\Swag.Common.Consts.pas', - Swag.Common.Types.Helpers in '..\..\lib\swagdoc\Source\Swag.Common.Types.Helpers.pas', - Swag.Common.Types in '..\..\lib\swagdoc\Source\Swag.Common.Types.pas', - Swag.Doc.Definition in '..\..\lib\swagdoc\Source\Swag.Doc.Definition.pas', - Swag.Doc.FileLoader in '..\..\lib\swagdoc\Source\Swag.Doc.FileLoader.pas', - Swag.Doc.Info.Contact in '..\..\lib\swagdoc\Source\Swag.Doc.Info.Contact.pas', - Swag.Doc.Info.License in '..\..\lib\swagdoc\Source\Swag.Doc.Info.License.pas', - Swag.Doc.Info in '..\..\lib\swagdoc\Source\Swag.Doc.Info.pas', - Swag.Doc in '..\..\lib\swagdoc\Source\Swag.Doc.pas', - Swag.Doc.Path.Operation in '..\..\lib\swagdoc\Source\Swag.Doc.Path.Operation.pas', - Swag.Doc.Path.Operation.RequestParameter in '..\..\lib\swagdoc\Source\Swag.Doc.Path.Operation.RequestParameter.pas', - Swag.Doc.Path.Operation.Response in '..\..\lib\swagdoc\Source\Swag.Doc.Path.Operation.Response.pas', - Swag.Doc.Path.Operation.ResponseHeaders in '..\..\lib\swagdoc\Source\Swag.Doc.Path.Operation.ResponseHeaders.pas', - Swag.Doc.Path in '..\..\lib\swagdoc\Source\Swag.Doc.Path.pas', - Swag.Doc.SecurityDefinition in '..\..\lib\swagdoc\Source\Swag.Doc.SecurityDefinition.pas', - Swag.Doc.SecurityDefinitionApiKey in '..\..\lib\swagdoc\Source\Swag.Doc.SecurityDefinitionApiKey.pas', - Swag.Doc.SecurityDefinitionBasic in '..\..\lib\swagdoc\Source\Swag.Doc.SecurityDefinitionBasic.pas', - Swag.Doc.SecurityDefinitionOAuth2 in '..\..\lib\swagdoc\Source\Swag.Doc.SecurityDefinitionOAuth2.pas', - Swag.Doc.Tags in '..\..\lib\swagdoc\Source\Swag.Doc.Tags.pas', MVCFramework.Middleware.Trace in '..\..\sources\MVCFramework.Middleware.Trace.pas', MVCFramework.Nullables in '..\..\sources\MVCFramework.Nullables.pas', MVCFramework.Serializer.HTML in '..\..\sources\MVCFramework.Serializer.HTML.pas', diff --git a/packages/d110/dmvcframeworkDT.dpk b/packages/d110/dmvcframeworkDT.dpk index f3dd1072..fcef1047 100644 --- a/packages/d110/dmvcframeworkDT.dpk +++ b/packages/d110/dmvcframeworkDT.dpk @@ -1,34 +1,7 @@ package dmvcframeworkDT; -{$R *.res} -{$R *.dres} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS ON} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION OFF} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO ON} -{$SAFEDIVIDE OFF} -{$STACKFRAMES ON} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE DEBUG} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'DelphiMVCFramework 3.x - Design Time Support'} +{$I ..\common_defines_design.inc} {$LIBSUFFIX '110'} -{$IMPLICITBUILD ON} requires rtl, diff --git a/packages/d110/dmvcframeworkDT.dproj b/packages/d110/dmvcframeworkDT.dproj index 58e2778f..257e5ed1 100644 --- a/packages/d110/dmvcframeworkDT.dproj +++ b/packages/d110/dmvcframeworkDT.dproj @@ -13,6 +13,16 @@ true + + true + Base + true + + + true + Base + true + true Base @@ -62,6 +72,16 @@ CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= DelphiMVCFramework IDE Expert + + package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= + Debug + annotation-1.2.0.dex.jar;asynclayoutinflater-1.0.0.dex.jar;billing-4.0.0.dex.jar;browser-1.0.0.dex.jar;cloud-messaging.dex.jar;collection-1.0.0.dex.jar;coordinatorlayout-1.0.0.dex.jar;core-1.5.0-rc02.dex.jar;core-common-2.0.1.dex.jar;core-runtime-2.0.1.dex.jar;cursoradapter-1.0.0.dex.jar;customview-1.0.0.dex.jar;documentfile-1.0.0.dex.jar;drawerlayout-1.0.0.dex.jar;firebase-annotations-16.0.0.dex.jar;firebase-common-20.0.0.dex.jar;firebase-components-17.0.0.dex.jar;firebase-datatransport-18.0.0.dex.jar;firebase-encoders-17.0.0.dex.jar;firebase-encoders-json-18.0.0.dex.jar;firebase-iid-interop-17.1.0.dex.jar;firebase-installations-17.0.0.dex.jar;firebase-installations-interop-17.0.0.dex.jar;firebase-measurement-connector-19.0.0.dex.jar;firebase-messaging-22.0.0.dex.jar;fmx.dex.jar;fragment-1.0.0.dex.jar;google-play-licensing.dex.jar;interpolator-1.0.0.dex.jar;javax.inject-1.dex.jar;legacy-support-core-ui-1.0.0.dex.jar;legacy-support-core-utils-1.0.0.dex.jar;lifecycle-common-2.0.0.dex.jar;lifecycle-livedata-2.0.0.dex.jar;lifecycle-livedata-core-2.0.0.dex.jar;lifecycle-runtime-2.0.0.dex.jar;lifecycle-service-2.0.0.dex.jar;lifecycle-viewmodel-2.0.0.dex.jar;listenablefuture-1.0.dex.jar;loader-1.0.0.dex.jar;localbroadcastmanager-1.0.0.dex.jar;play-services-ads-20.1.0.dex.jar;play-services-ads-base-20.1.0.dex.jar;play-services-ads-identifier-17.0.0.dex.jar;play-services-ads-lite-20.1.0.dex.jar;play-services-base-17.5.0.dex.jar;play-services-basement-17.6.0.dex.jar;play-services-cloud-messaging-16.0.0.dex.jar;play-services-drive-17.0.0.dex.jar;play-services-games-21.0.0.dex.jar;play-services-location-18.0.0.dex.jar;play-services-maps-17.0.1.dex.jar;play-services-measurement-base-18.0.0.dex.jar;play-services-measurement-sdk-api-18.0.0.dex.jar;play-services-places-placereport-17.0.0.dex.jar;play-services-stats-17.0.0.dex.jar;play-services-tasks-17.2.0.dex.jar;print-1.0.0.dex.jar;room-common-2.1.0.dex.jar;room-runtime-2.1.0.dex.jar;slidingpanelayout-1.0.0.dex.jar;sqlite-2.0.1.dex.jar;sqlite-framework-2.0.1.dex.jar;swiperefreshlayout-1.0.0.dex.jar;transport-api-3.0.0.dex.jar;transport-backend-cct-3.0.0.dex.jar;transport-runtime-3.0.0.dex.jar;user-messaging-platform-1.0.0.dex.jar;versionedparcelable-1.1.1.dex.jar;viewpager-1.0.0.dex.jar;work-runtime-2.1.0.dex.jar + + + package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= + Debug + annotation-1.2.0.dex.jar;asynclayoutinflater-1.0.0.dex.jar;billing-4.0.0.dex.jar;browser-1.0.0.dex.jar;cloud-messaging.dex.jar;collection-1.0.0.dex.jar;coordinatorlayout-1.0.0.dex.jar;core-1.5.0-rc02.dex.jar;core-common-2.0.1.dex.jar;core-runtime-2.0.1.dex.jar;cursoradapter-1.0.0.dex.jar;customview-1.0.0.dex.jar;documentfile-1.0.0.dex.jar;drawerlayout-1.0.0.dex.jar;firebase-annotations-16.0.0.dex.jar;firebase-common-20.0.0.dex.jar;firebase-components-17.0.0.dex.jar;firebase-datatransport-18.0.0.dex.jar;firebase-encoders-17.0.0.dex.jar;firebase-encoders-json-18.0.0.dex.jar;firebase-iid-interop-17.1.0.dex.jar;firebase-installations-17.0.0.dex.jar;firebase-installations-interop-17.0.0.dex.jar;firebase-measurement-connector-19.0.0.dex.jar;firebase-messaging-22.0.0.dex.jar;fmx.dex.jar;fragment-1.0.0.dex.jar;google-play-licensing.dex.jar;interpolator-1.0.0.dex.jar;javax.inject-1.dex.jar;legacy-support-core-ui-1.0.0.dex.jar;legacy-support-core-utils-1.0.0.dex.jar;lifecycle-common-2.0.0.dex.jar;lifecycle-livedata-2.0.0.dex.jar;lifecycle-livedata-core-2.0.0.dex.jar;lifecycle-runtime-2.0.0.dex.jar;lifecycle-service-2.0.0.dex.jar;lifecycle-viewmodel-2.0.0.dex.jar;listenablefuture-1.0.dex.jar;loader-1.0.0.dex.jar;localbroadcastmanager-1.0.0.dex.jar;play-services-ads-20.1.0.dex.jar;play-services-ads-base-20.1.0.dex.jar;play-services-ads-identifier-17.0.0.dex.jar;play-services-ads-lite-20.1.0.dex.jar;play-services-base-17.5.0.dex.jar;play-services-basement-17.6.0.dex.jar;play-services-cloud-messaging-16.0.0.dex.jar;play-services-drive-17.0.0.dex.jar;play-services-games-21.0.0.dex.jar;play-services-location-18.0.0.dex.jar;play-services-maps-17.0.1.dex.jar;play-services-measurement-base-18.0.0.dex.jar;play-services-measurement-sdk-api-18.0.0.dex.jar;play-services-places-placereport-17.0.0.dex.jar;play-services-stats-17.0.0.dex.jar;play-services-tasks-17.2.0.dex.jar;print-1.0.0.dex.jar;room-common-2.1.0.dex.jar;room-runtime-2.1.0.dex.jar;slidingpanelayout-1.0.0.dex.jar;sqlite-2.0.1.dex.jar;sqlite-framework-2.0.1.dex.jar;swiperefreshlayout-1.0.0.dex.jar;transport-api-3.0.0.dex.jar;transport-backend-cct-3.0.0.dex.jar;transport-runtime-3.0.0.dex.jar;user-messaging-platform-1.0.0.dex.jar;versionedparcelable-1.1.1.dex.jar;viewpager-1.0.0.dex.jar;work-runtime-2.1.0.dex.jar + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) Debug @@ -179,13 +199,13 @@ true - - + + true - - + + true @@ -1241,6 +1261,8 @@ + False + False False True False diff --git a/packages/d110/dmvcframeworkRT.dpk b/packages/d110/dmvcframeworkRT.dpk index e5677ef2..0e600793 100644 --- a/packages/d110/dmvcframeworkRT.dpk +++ b/packages/d110/dmvcframeworkRT.dpk @@ -1,34 +1,7 @@ package dmvcframeworkRT; -{$R *.res} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS ON} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION OFF} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO ON} -{$SAFEDIVIDE OFF} -{$STACKFRAMES ON} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE DEBUG} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'DMVCFramework - CopyRight (2010-2021) Daniele Teti and the DMVCFramework Team'} +{$I ..\common_defines.inc} {$LIBSUFFIX '110'} -{$RUNONLY} -{$IMPLICITBUILD ON} requires rtl, @@ -43,8 +16,8 @@ requires FireDACSqliteDriver; contains - Web.HTTPDImpl, - JsonDataObjects in '..\..\sources\JsonDataObjects.pas', +{$I ..\common_contains.inc} + MVCFramework in '..\..\sources\MVCFramework.pas', MVCFramework.ActiveRecord in '..\..\sources\MVCFramework.ActiveRecord.pas', MVCFramework.ActiveRecordController in '..\..\sources\MVCFramework.ActiveRecordController.pas', MVCFramework.ApplicationSession in '..\..\sources\MVCFramework.ApplicationSession.pas', @@ -67,7 +40,6 @@ contains MVCFramework.Middleware.JWT in '..\..\sources\MVCFramework.Middleware.JWT.pas', MVCFramework.Middleware.SecurityHeaders in '..\..\sources\MVCFramework.Middleware.SecurityHeaders.pas', MVCFramework.MultiMap in '..\..\sources\MVCFramework.MultiMap.pas', - MVCFramework in '..\..\sources\MVCFramework.pas', MVCFramework.Patches in '..\..\sources\MVCFramework.Patches.pas', MVCFramework.RESTAdapter in '..\..\sources\MVCFramework.RESTAdapter.pas', MVCFramework.Router in '..\..\sources\MVCFramework.Router.pas', @@ -96,36 +68,6 @@ contains MVCFramework.SQLGenerators.Sqlite in '..\..\sources\MVCFramework.SQLGenerators.Sqlite.pas', MVCFramework.Swagger.Commons in '..\..\sources\MVCFramework.Swagger.Commons.pas', MVCFramework.Middleware.Swagger in '..\..\sources\MVCFramework.Middleware.Swagger.pas', - Json.Common.Helpers in '..\..\lib\swagdoc\Source\Json.Common.Helpers.pas', - Json.Schema.Common.Types in '..\..\lib\swagdoc\Source\Json.Schema.Common.Types.pas', - Json.Schema.Field.Arrays in '..\..\lib\swagdoc\Source\Json.Schema.Field.Arrays.pas', - Json.Schema.Field.Booleans in '..\..\lib\swagdoc\Source\Json.Schema.Field.Booleans.pas', - Json.Schema.Field.DateTimes in '..\..\lib\swagdoc\Source\Json.Schema.Field.DateTimes.pas', - Json.Schema.Field.Enums in '..\..\lib\swagdoc\Source\Json.Schema.Field.Enums.pas', - Json.Schema.Field.Numbers in '..\..\lib\swagdoc\Source\Json.Schema.Field.Numbers.pas', - Json.Schema.Field.Objects in '..\..\lib\swagdoc\Source\Json.Schema.Field.Objects.pas', - Json.Schema.Field in '..\..\lib\swagdoc\Source\Json.Schema.Field.pas', - Json.Schema.Field.Strings in '..\..\lib\swagdoc\Source\Json.Schema.Field.Strings.pas', - Json.Schema in '..\..\lib\swagdoc\Source\Json.Schema.pas', - Swag.Common.Consts in '..\..\lib\swagdoc\Source\Swag.Common.Consts.pas', - Swag.Common.Types.Helpers in '..\..\lib\swagdoc\Source\Swag.Common.Types.Helpers.pas', - Swag.Common.Types in '..\..\lib\swagdoc\Source\Swag.Common.Types.pas', - Swag.Doc.Definition in '..\..\lib\swagdoc\Source\Swag.Doc.Definition.pas', - Swag.Doc.FileLoader in '..\..\lib\swagdoc\Source\Swag.Doc.FileLoader.pas', - Swag.Doc.Info.Contact in '..\..\lib\swagdoc\Source\Swag.Doc.Info.Contact.pas', - Swag.Doc.Info.License in '..\..\lib\swagdoc\Source\Swag.Doc.Info.License.pas', - Swag.Doc.Info in '..\..\lib\swagdoc\Source\Swag.Doc.Info.pas', - Swag.Doc in '..\..\lib\swagdoc\Source\Swag.Doc.pas', - Swag.Doc.Path.Operation in '..\..\lib\swagdoc\Source\Swag.Doc.Path.Operation.pas', - Swag.Doc.Path.Operation.RequestParameter in '..\..\lib\swagdoc\Source\Swag.Doc.Path.Operation.RequestParameter.pas', - Swag.Doc.Path.Operation.Response in '..\..\lib\swagdoc\Source\Swag.Doc.Path.Operation.Response.pas', - Swag.Doc.Path.Operation.ResponseHeaders in '..\..\lib\swagdoc\Source\Swag.Doc.Path.Operation.ResponseHeaders.pas', - Swag.Doc.Path in '..\..\lib\swagdoc\Source\Swag.Doc.Path.pas', - Swag.Doc.SecurityDefinition in '..\..\lib\swagdoc\Source\Swag.Doc.SecurityDefinition.pas', - Swag.Doc.SecurityDefinitionApiKey in '..\..\lib\swagdoc\Source\Swag.Doc.SecurityDefinitionApiKey.pas', - Swag.Doc.SecurityDefinitionBasic in '..\..\lib\swagdoc\Source\Swag.Doc.SecurityDefinitionBasic.pas', - Swag.Doc.SecurityDefinitionOAuth2 in '..\..\lib\swagdoc\Source\Swag.Doc.SecurityDefinitionOAuth2.pas', - Swag.Doc.Tags in '..\..\lib\swagdoc\Source\Swag.Doc.Tags.pas', MVCFramework.Middleware.Trace in '..\..\sources\MVCFramework.Middleware.Trace.pas', MVCFramework.Nullables in '..\..\sources\MVCFramework.Nullables.pas', MVCFramework.Serializer.HTML in '..\..\sources\MVCFramework.Serializer.HTML.pas', diff --git a/packages/d110/dmvcframeworkRT.dproj b/packages/d110/dmvcframeworkRT.dproj index 4b9e3682..c1c3b6c7 100644 --- a/packages/d110/dmvcframeworkRT.dproj +++ b/packages/d110/dmvcframeworkRT.dproj @@ -13,6 +13,16 @@ true + + true + Base + true + + + true + Base + true + true Base @@ -57,6 +67,16 @@ CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= DMVCFramework - CopyRight (2010-2020) Daniele Teti and the DMVCFramework Team + + package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= + Debug + annotation-1.2.0.dex.jar;asynclayoutinflater-1.0.0.dex.jar;billing-4.0.0.dex.jar;browser-1.0.0.dex.jar;cloud-messaging.dex.jar;collection-1.0.0.dex.jar;coordinatorlayout-1.0.0.dex.jar;core-1.5.0-rc02.dex.jar;core-common-2.0.1.dex.jar;core-runtime-2.0.1.dex.jar;cursoradapter-1.0.0.dex.jar;customview-1.0.0.dex.jar;documentfile-1.0.0.dex.jar;drawerlayout-1.0.0.dex.jar;firebase-annotations-16.0.0.dex.jar;firebase-common-20.0.0.dex.jar;firebase-components-17.0.0.dex.jar;firebase-datatransport-18.0.0.dex.jar;firebase-encoders-17.0.0.dex.jar;firebase-encoders-json-18.0.0.dex.jar;firebase-iid-interop-17.1.0.dex.jar;firebase-installations-17.0.0.dex.jar;firebase-installations-interop-17.0.0.dex.jar;firebase-measurement-connector-19.0.0.dex.jar;firebase-messaging-22.0.0.dex.jar;fmx.dex.jar;fragment-1.0.0.dex.jar;google-play-licensing.dex.jar;interpolator-1.0.0.dex.jar;javax.inject-1.dex.jar;legacy-support-core-ui-1.0.0.dex.jar;legacy-support-core-utils-1.0.0.dex.jar;lifecycle-common-2.0.0.dex.jar;lifecycle-livedata-2.0.0.dex.jar;lifecycle-livedata-core-2.0.0.dex.jar;lifecycle-runtime-2.0.0.dex.jar;lifecycle-service-2.0.0.dex.jar;lifecycle-viewmodel-2.0.0.dex.jar;listenablefuture-1.0.dex.jar;loader-1.0.0.dex.jar;localbroadcastmanager-1.0.0.dex.jar;play-services-ads-20.1.0.dex.jar;play-services-ads-base-20.1.0.dex.jar;play-services-ads-identifier-17.0.0.dex.jar;play-services-ads-lite-20.1.0.dex.jar;play-services-base-17.5.0.dex.jar;play-services-basement-17.6.0.dex.jar;play-services-cloud-messaging-16.0.0.dex.jar;play-services-drive-17.0.0.dex.jar;play-services-games-21.0.0.dex.jar;play-services-location-18.0.0.dex.jar;play-services-maps-17.0.1.dex.jar;play-services-measurement-base-18.0.0.dex.jar;play-services-measurement-sdk-api-18.0.0.dex.jar;play-services-places-placereport-17.0.0.dex.jar;play-services-stats-17.0.0.dex.jar;play-services-tasks-17.2.0.dex.jar;print-1.0.0.dex.jar;room-common-2.1.0.dex.jar;room-runtime-2.1.0.dex.jar;slidingpanelayout-1.0.0.dex.jar;sqlite-2.0.1.dex.jar;sqlite-framework-2.0.1.dex.jar;swiperefreshlayout-1.0.0.dex.jar;transport-api-3.0.0.dex.jar;transport-backend-cct-3.0.0.dex.jar;transport-runtime-3.0.0.dex.jar;user-messaging-platform-1.0.0.dex.jar;versionedparcelable-1.1.1.dex.jar;viewpager-1.0.0.dex.jar;work-runtime-2.1.0.dex.jar + + + package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= + Debug + annotation-1.2.0.dex.jar;asynclayoutinflater-1.0.0.dex.jar;billing-4.0.0.dex.jar;browser-1.0.0.dex.jar;cloud-messaging.dex.jar;collection-1.0.0.dex.jar;coordinatorlayout-1.0.0.dex.jar;core-1.5.0-rc02.dex.jar;core-common-2.0.1.dex.jar;core-runtime-2.0.1.dex.jar;cursoradapter-1.0.0.dex.jar;customview-1.0.0.dex.jar;documentfile-1.0.0.dex.jar;drawerlayout-1.0.0.dex.jar;firebase-annotations-16.0.0.dex.jar;firebase-common-20.0.0.dex.jar;firebase-components-17.0.0.dex.jar;firebase-datatransport-18.0.0.dex.jar;firebase-encoders-17.0.0.dex.jar;firebase-encoders-json-18.0.0.dex.jar;firebase-iid-interop-17.1.0.dex.jar;firebase-installations-17.0.0.dex.jar;firebase-installations-interop-17.0.0.dex.jar;firebase-measurement-connector-19.0.0.dex.jar;firebase-messaging-22.0.0.dex.jar;fmx.dex.jar;fragment-1.0.0.dex.jar;google-play-licensing.dex.jar;interpolator-1.0.0.dex.jar;javax.inject-1.dex.jar;legacy-support-core-ui-1.0.0.dex.jar;legacy-support-core-utils-1.0.0.dex.jar;lifecycle-common-2.0.0.dex.jar;lifecycle-livedata-2.0.0.dex.jar;lifecycle-livedata-core-2.0.0.dex.jar;lifecycle-runtime-2.0.0.dex.jar;lifecycle-service-2.0.0.dex.jar;lifecycle-viewmodel-2.0.0.dex.jar;listenablefuture-1.0.dex.jar;loader-1.0.0.dex.jar;localbroadcastmanager-1.0.0.dex.jar;play-services-ads-20.1.0.dex.jar;play-services-ads-base-20.1.0.dex.jar;play-services-ads-identifier-17.0.0.dex.jar;play-services-ads-lite-20.1.0.dex.jar;play-services-base-17.5.0.dex.jar;play-services-basement-17.6.0.dex.jar;play-services-cloud-messaging-16.0.0.dex.jar;play-services-drive-17.0.0.dex.jar;play-services-games-21.0.0.dex.jar;play-services-location-18.0.0.dex.jar;play-services-maps-17.0.1.dex.jar;play-services-measurement-base-18.0.0.dex.jar;play-services-measurement-sdk-api-18.0.0.dex.jar;play-services-places-placereport-17.0.0.dex.jar;play-services-stats-17.0.0.dex.jar;play-services-tasks-17.2.0.dex.jar;print-1.0.0.dex.jar;room-common-2.1.0.dex.jar;room-runtime-2.1.0.dex.jar;slidingpanelayout-1.0.0.dex.jar;sqlite-2.0.1.dex.jar;sqlite-framework-2.0.1.dex.jar;swiperefreshlayout-1.0.0.dex.jar;transport-api-3.0.0.dex.jar;transport-backend-cct-3.0.0.dex.jar;transport-runtime-3.0.0.dex.jar;user-messaging-platform-1.0.0.dex.jar;versionedparcelable-1.1.1.dex.jar;viewpager-1.0.0.dex.jar;work-runtime-2.1.0.dex.jar + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) Debug @@ -109,7 +129,7 @@ - + @@ -132,7 +152,6 @@ - @@ -161,36 +180,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -228,12 +217,12 @@ - - + + true - + true @@ -249,13 +238,13 @@ true - - + + true - - + + true @@ -1295,6 +1284,8 @@ + False + False False True False diff --git a/packages/dxe8/dmvcframeworkDT.dpk b/packages/dxe8/dmvcframeworkDT.dpk deleted file mode 100644 index c49dd514..00000000 --- a/packages/dxe8/dmvcframeworkDT.dpk +++ /dev/null @@ -1,58 +0,0 @@ -package dmvcframeworkDT; - -{$R *.res} -{$R *.dres} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS ON} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION OFF} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO ON} -{$SAFEDIVIDE OFF} -{$STACKFRAMES ON} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE DEBUG} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'DelphiMVCFramework IDE Expert'} -{$LIBSUFFIX 'xe8'} -{$IMPLICITBUILD ON} - -requires - rtl, - designide, - ExpertsCreators, - IndySystem, - IndyProtocols, - IndyCore, - dbrtl, - dmvcframeworkRT; - -contains - DMVC.Expert.CodeGen.NewControllerUnit in '..\..\ideexpert\DMVC.Expert.CodeGen.NewControllerUnit.pas', - DMVC.Expert.CodeGen.NewDMVCProject in '..\..\ideexpert\DMVC.Expert.CodeGen.NewDMVCProject.pas', - DMVC.Expert.CodeGen.NewProject in '..\..\ideexpert\DMVC.Expert.CodeGen.NewProject.pas', - DMVC.Expert.CodeGen.NewUnit in '..\..\ideexpert\DMVC.Expert.CodeGen.NewUnit.pas', - DMVC.Expert.CodeGen.NewWebModuleUnit in '..\..\ideexpert\DMVC.Expert.CodeGen.NewWebModuleUnit.pas', - DMVC.Expert.CodeGen.SourceFile in '..\..\ideexpert\DMVC.Expert.CodeGen.SourceFile.pas', - DMVC.Expert.CodeGen.Templates in '..\..\ideexpert\DMVC.Expert.CodeGen.Templates.pas', - DMVC.Expert.Forms.NewProjectWizard in '..\..\ideexpert\DMVC.Expert.Forms.NewProjectWizard.pas' {frmDMVCNewProject}, - DMVC.Expert.Forms.NewUnitWizard in '..\..\ideexpert\DMVC.Expert.Forms.NewUnitWizard.pas' {frmDMVCNewUnit}, - DMVC.Expert.NewUnitWizardEx in '..\..\ideexpert\DMVC.Expert.NewUnitWizardEx.pas', - DMVC.Expert.ProjectWizardEx in '..\..\ideexpert\DMVC.Expert.ProjectWizardEx.pas', - DMVC.Expert.Registration in '..\..\ideexpert\DMVC.Expert.Registration.pas', - DMVC.Splash.Registration in '..\..\ideexpert\DMVC.Splash.Registration.pas'; - -end. diff --git a/packages/dxe8/dmvcframeworkDT.dproj b/packages/dxe8/dmvcframeworkDT.dproj deleted file mode 100644 index ec0d355f..00000000 --- a/packages/dxe8/dmvcframeworkDT.dproj +++ /dev/null @@ -1,1047 +0,0 @@ - - - {84344511-1DC2-41BA-8689-9F36C1D475BE} - dmvcframeworkDT.dpk - 18.8 - None - True - Debug - Win32 - 1 - Package - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - .\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - true - true - System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) - All - dmvcframeworkDT - 1040 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - DelphiMVCFramework IDE Expert - - - None - android-support-v4.dex.jar;cloud-messaging.dex.jar;fmx.dex.jar;google-analytics-v2.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar;google-play-services.dex.jar - rtl;IndySystem;IndyProtocols;IndyCore;dbrtl;$(DCC_UsePackage) - - - package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= - Debug - true - Base - true - None - android-support-v4.dex.jar;cloud-messaging.dex.jar;fmx.dex.jar;google-analytics-v2.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar;google-play-services.dex.jar - rtl;IndySystem;IndyProtocols;IndyCore;dbrtl;$(DCC_UsePackage);$(DCC_UsePackage) - - - rtl;IndySystem;IndyProtocols;IndyCore;dbrtl;$(DCC_UsePackage) - - - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - Debug - true - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - 1033 - rtl;IndySystem;IndyProtocols;IndyCore;dbrtl;dmvcframeworkRT;$(DCC_UsePackage) - DelphiMVCFramework IDE Expert - - - rtl;IndySystem;IndyProtocols;IndyCore;dbrtl;$(DCC_UsePackage) - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - false - true - 1033 - xe8 - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - true - 1033 - - - - MainSource - - - - - - - - - - - - - - - - - -
frmDMVCNewProject
-
- -
frmDMVCNewUnit
-
- - - - - - ICON - DMVCNewProjectIcon - - - ICON - DMVCNewUnitIcon - - - BITMAP - SplashScreen - - - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - Delphi.Personality.12 - Package - - - - dmvcframeworkDT.dpk - - - Embarcadero C++Builder Office 2000 Servers Package - Embarcadero C++Builder Office XP Servers Package - Microsoft Office 2000 Sample Automation Server Wrapper Components - Microsoft Office XP Sample Automation Server Wrapper Components - - - - - - true - - - - - true - - - - - true - - - - - true - - - - - true - - - - - true - - - - - dmvcframeworkDT.bpl - true - - - - - 1 - - - 0 - - - - - classes - 1 - - - classes - 1 - - - - - res\xml - 1 - - - res\xml - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\armeabi - 1 - - - library\lib\armeabi - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\mips - 1 - - - library\lib\mips - 1 - - - - - library\lib\armeabi-v7a - 1 - - - library\lib\arm64-v8a - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\values-v21 - 1 - - - res\values-v21 - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-ldpi - 1 - - - res\drawable-ldpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-xxxhdpi - 1 - - - res\drawable-xxxhdpi - 1 - - - - - res\drawable-small - 1 - - - res\drawable-small - 1 - - - - - res\drawable-normal - 1 - - - res\drawable-normal - 1 - - - - - res\drawable-large - 1 - - - res\drawable-large - 1 - - - - - res\drawable-xlarge - 1 - - - res\drawable-xlarge - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - 1 - - - 1 - - - 0 - - - - - 1 - .framework - - - 1 - .framework - - - 0 - - - - - 1 - .dylib - - - 1 - .dylib - - - 0 - .dll;.bpl - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 0 - .bpl - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - - - - 1 - - - 1 - - - 1 - - - - - - - - Contents\Resources - 1 - - - Contents\Resources - 1 - - - - - library\lib\armeabi-v7a - 1 - - - library\lib\arm64-v8a - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 0 - - - - - library\lib\armeabi-v7a - 1 - - - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - - - - - - - - - - - False - False - False - True - False - - - 12 - - - - -
diff --git a/packages/dxe8/dmvcframeworkDTResource.rc b/packages/dxe8/dmvcframeworkDTResource.rc deleted file mode 100644 index a633f7d9..00000000 --- a/packages/dxe8/dmvcframeworkDTResource.rc +++ /dev/null @@ -1,3 +0,0 @@ -DMVCNewProjectIcon ICON "..\\..\\ideexpert\\DMVC.Expert.NewProject.ico" -DMVCNewUnitIcon ICON "..\\..\\ideexpert\\DMVC.Expert.NewUnit.ico" -SplashScreen BITMAP "..\\..\\ideexpert\\SplashScreen.bmp" diff --git a/packages/dxe8/dmvcframeworkRT.dpk b/packages/dxe8/dmvcframeworkRT.dpk deleted file mode 100644 index 4a1068d9..00000000 --- a/packages/dxe8/dmvcframeworkRT.dpk +++ /dev/null @@ -1,133 +0,0 @@ -package dmvcframeworkRT; - -{$R *.res} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS ON} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION OFF} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO ON} -{$SAFEDIVIDE OFF} -{$STACKFRAMES ON} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE DEBUG} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'DMVCFramework 3.x'} -{$LIBSUFFIX 'xe8'} -{$RUNONLY} -{$IMPLICITBUILD ON} - -requires - rtl, - inet, - dclcommon, - dcldb, - FireDAC, - IndyCore, - IndyProtocols, - FireDACIBDriver, - FireDACMySQLDriver, - loggerproRT, - FireDACPgDriver; - -contains - Web.ApacheConst, - Web.Win.IsapiHTTP, - Web.ApacheHTTP, - Web.HTTPDMethods, - Web.HTTPDImpl, - JsonDataObjects in '..\..\sources\JsonDataObjects.pas', - MVCFramework.ActiveRecord in '..\..\sources\MVCFramework.ActiveRecord.pas', - MVCFramework.ActiveRecordController in '..\..\sources\MVCFramework.ActiveRecordController.pas', - MVCFramework.ApplicationSession in '..\..\sources\MVCFramework.ApplicationSession.pas', - MVCFramework.Cache in '..\..\sources\MVCFramework.Cache.pas', - MVCFramework.Commons in '..\..\sources\MVCFramework.Commons.pas', - MVCFramework.Console in '..\..\sources\MVCFramework.Console.pas', - MVCFramework.DataSet.Utils in '..\..\sources\MVCFramework.DataSet.Utils.pas', - MVCFramework.DuckTyping in '..\..\sources\MVCFramework.DuckTyping.pas', - MVCFramework.FireDAC.Utils in '..\..\sources\MVCFramework.FireDAC.Utils.pas', - MVCFramework.HMAC in '..\..\sources\MVCFramework.HMAC.pas', - MVCFramework.JSONRPC.Client in '..\..\sources\MVCFramework.JSONRPC.Client.pas', - MVCFramework.JSONRPC in '..\..\sources\MVCFramework.JSONRPC.pas', - MVCFramework.JWT in '..\..\sources\MVCFramework.JWT.pas', - MVCFramework.Logger in '..\..\sources\MVCFramework.Logger.pas', - MVCFramework.Middleware.Analytics in '..\..\sources\MVCFramework.Middleware.Analytics.pas', - MVCFramework.Middleware.Authentication in '..\..\sources\MVCFramework.Middleware.Authentication.pas', - MVCFramework.Middleware.Authentication.RoleBasedAuthHandler in '..\..\sources\MVCFramework.Middleware.Authentication.RoleBasedAuthHandler.pas', - MVCFramework.Middleware.Compression in '..\..\sources\MVCFramework.Middleware.Compression.pas', - MVCFramework.Middleware.CORS in '..\..\sources\MVCFramework.Middleware.CORS.pas', - MVCFramework.Middleware.JWT in '..\..\sources\MVCFramework.Middleware.JWT.pas', - MVCFramework.Middleware.SecurityHeaders in '..\..\sources\MVCFramework.Middleware.SecurityHeaders.pas', - MVCFramework.MultiMap in '..\..\sources\MVCFramework.MultiMap.pas', - MVCFramework in '..\..\sources\MVCFramework.pas', - MVCFramework.Patches in '..\..\sources\MVCFramework.Patches.pas', - MVCFramework.RESTAdapter in '..\..\sources\MVCFramework.RESTAdapter.pas', - MVCFramework.RESTClient in '..\..\sources\MVCFramework.RESTClient.pas', - MVCFramework.Router in '..\..\sources\MVCFramework.Router.pas', - MVCFramework.RQL.AST2FirebirdSQL in '..\..\sources\MVCFramework.RQL.AST2FirebirdSQL.pas', - MVCFramework.RQL.AST2InterbaseSQL in '..\..\sources\MVCFramework.RQL.AST2InterbaseSQL.pas', - MVCFramework.RQL.AST2MySQL in '..\..\sources\MVCFramework.RQL.AST2MySQL.pas', - MVCFramework.RQL.AST2PostgreSQL in '..\..\sources\MVCFramework.RQL.AST2PostgreSQL.pas', - MVCFramework.RQL.Parser in '..\..\sources\MVCFramework.RQL.Parser.pas', - MVCFramework.Rtti.Utils in '..\..\sources\MVCFramework.Rtti.Utils.pas', - MVCFramework.Serializer.Abstract in '..\..\sources\MVCFramework.Serializer.Abstract.pas', - MVCFramework.Serializer.Commons in '..\..\sources\MVCFramework.Serializer.Commons.pas', - MVCFramework.Serializer.Defaults in '..\..\sources\MVCFramework.Serializer.Defaults.pas', - MVCFramework.Serializer.Intf in '..\..\sources\MVCFramework.Serializer.Intf.pas', - MVCFramework.Serializer.JsonDataObjects.CustomTypes in '..\..\sources\MVCFramework.Serializer.JsonDataObjects.CustomTypes.pas', - MVCFramework.Serializer.JsonDataObjects in '..\..\sources\MVCFramework.Serializer.JsonDataObjects.pas', - MVCFramework.Session in '..\..\sources\MVCFramework.Session.pas', - MVCFramework.SQLGenerators.Firebird in '..\..\sources\MVCFramework.SQLGenerators.Firebird.pas', - MVCFramework.SQLGenerators.MySQL in '..\..\sources\MVCFramework.SQLGenerators.MySQL.pas', - MVCFramework.SysControllers in '..\..\sources\MVCFramework.SysControllers.pas', - MVCFramework.SystemJSONUtils in '..\..\sources\MVCFramework.SystemJSONUtils.pas', - MVCFramework.View.Cache in '..\..\sources\MVCFramework.View.Cache.pas', - MVCFramework.Controllers.Register in '..\..\sources\MVCFramework.Controllers.Register.pas', - Json.Common.Helpers in '..\..\lib\swagdoc\Source\Json.Common.Helpers.pas', - Json.Schema.Common.Types in '..\..\lib\swagdoc\Source\Json.Schema.Common.Types.pas', - Json.Schema.Field.Arrays in '..\..\lib\swagdoc\Source\Json.Schema.Field.Arrays.pas', - Json.Schema.Field.Booleans in '..\..\lib\swagdoc\Source\Json.Schema.Field.Booleans.pas', - Json.Schema.Field.DateTimes in '..\..\lib\swagdoc\Source\Json.Schema.Field.DateTimes.pas', - Json.Schema.Field.Enums in '..\..\lib\swagdoc\Source\Json.Schema.Field.Enums.pas', - Json.Schema.Field.Numbers in '..\..\lib\swagdoc\Source\Json.Schema.Field.Numbers.pas', - Json.Schema.Field.Objects in '..\..\lib\swagdoc\Source\Json.Schema.Field.Objects.pas', - Json.Schema.Field in '..\..\lib\swagdoc\Source\Json.Schema.Field.pas', - Json.Schema.Field.Strings in '..\..\lib\swagdoc\Source\Json.Schema.Field.Strings.pas', - Json.Schema in '..\..\lib\swagdoc\Source\Json.Schema.pas', - Swag.Common.Consts in '..\..\lib\swagdoc\Source\Swag.Common.Consts.pas', - Swag.Common.Types.Helpers in '..\..\lib\swagdoc\Source\Swag.Common.Types.Helpers.pas', - Swag.Common.Types in '..\..\lib\swagdoc\Source\Swag.Common.Types.pas', - Swag.Doc.Definition in '..\..\lib\swagdoc\Source\Swag.Doc.Definition.pas', - Swag.Doc.FileLoader in '..\..\lib\swagdoc\Source\Swag.Doc.FileLoader.pas', - Swag.Doc.Info.Contact in '..\..\lib\swagdoc\Source\Swag.Doc.Info.Contact.pas', - Swag.Doc.Info.License in '..\..\lib\swagdoc\Source\Swag.Doc.Info.License.pas', - Swag.Doc.Info in '..\..\lib\swagdoc\Source\Swag.Doc.Info.pas', - Swag.Doc in '..\..\lib\swagdoc\Source\Swag.Doc.pas', - Swag.Doc.Path.Operation in '..\..\lib\swagdoc\Source\Swag.Doc.Path.Operation.pas', - Swag.Doc.Path.Operation.RequestParameter in '..\..\lib\swagdoc\Source\Swag.Doc.Path.Operation.RequestParameter.pas', - Swag.Doc.Path.Operation.Response in '..\..\lib\swagdoc\Source\Swag.Doc.Path.Operation.Response.pas', - Swag.Doc.Path.Operation.ResponseHeaders in '..\..\lib\swagdoc\Source\Swag.Doc.Path.Operation.ResponseHeaders.pas', - Swag.Doc.Path in '..\..\lib\swagdoc\Source\Swag.Doc.Path.pas', - Swag.Doc.SecurityDefinition in '..\..\lib\swagdoc\Source\Swag.Doc.SecurityDefinition.pas', - Swag.Doc.SecurityDefinitionApiKey in '..\..\lib\swagdoc\Source\Swag.Doc.SecurityDefinitionApiKey.pas', - Swag.Doc.SecurityDefinitionBasic in '..\..\lib\swagdoc\Source\Swag.Doc.SecurityDefinitionBasic.pas', - Swag.Doc.SecurityDefinitionOAuth2 in '..\..\lib\swagdoc\Source\Swag.Doc.SecurityDefinitionOAuth2.pas', - Swag.Doc.Tags in '..\..\lib\swagdoc\Source\Swag.Doc.Tags.pas', - MVCFramework.Swagger.Commons in '..\..\sources\MVCFramework.Swagger.Commons.pas', - MVCFramework.Utils in '..\..\sources\MVCFramework.Utils.pas'; - -end. - diff --git a/packages/dxe8/dmvcframeworkRT.dproj b/packages/dxe8/dmvcframeworkRT.dproj deleted file mode 100644 index 13a9dc6d..00000000 --- a/packages/dxe8/dmvcframeworkRT.dproj +++ /dev/null @@ -1,1069 +0,0 @@ - - - {96D17257-AF74-48CB-9893-7BCCB56A069D} - dmvcframeworkRT.dpk - 18.8 - None - True - Debug - Win32 - 1 - Package - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - .\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - true - true - System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) - All - dmvcframeworkRT - true - - - None - android-support-v4.dex.jar;cloud-messaging.dex.jar;fmx.dex.jar;google-analytics-v2.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar;google-play-services-ads-7.0.0.dex.jar;google-play-services-analytics-7.0.0.dex.jar;google-play-services-base-7.0.0.dex.jar;google-play-services-gcm-7.0.0.dex.jar;google-play-services-identity-7.0.0.dex.jar;google-play-services-maps-7.0.0.dex.jar;google-play-services-panorama-7.0.0.dex.jar;google-play-services-plus-7.0.0.dex.jar;google-play-services-wallet-7.0.0.dex.jar - - - package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= - Debug - true - Base - true - None - android-support-v4.dex.jar;cloud-messaging.dex.jar;fmx.dex.jar;google-analytics-v2.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar;google-play-services-ads-7.0.0.dex.jar;google-play-services-analytics-7.0.0.dex.jar;google-play-services-base-7.0.0.dex.jar;google-play-services-gcm-7.0.0.dex.jar;google-play-services-identity-7.0.0.dex.jar;google-play-services-maps-7.0.0.dex.jar;google-play-services-panorama-7.0.0.dex.jar;google-play-services-plus-7.0.0.dex.jar;google-play-services-wallet-7.0.0.dex.jar - - - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - Debug - true - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - 1033 - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - C:\DEV\dmscontainer_centrosoftware\bin\DMSContainerService.exe - true - 1033 - 3 - DMVCFramework 3.x - xe8 - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - - MainSource - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - - - - Delphi.Personality.12 - Package - - - - dmvcframeworkRT.dpk - - - Embarcadero C++Builder Office 2000 Servers Package - Embarcadero C++Builder Office XP Servers Package - Microsoft Office 2000 Sample Automation Server Wrapper Components - Microsoft Office XP Sample Automation Server Wrapper Components - - - - - - true - - - - - true - - - - - true - - - - - true - - - - - true - - - - - true - - - - - dmvcframeworkRT.bpl - true - - - - - 1 - - - 0 - - - - - classes - 1 - - - classes - 1 - - - - - res\xml - 1 - - - res\xml - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\armeabi - 1 - - - library\lib\armeabi - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\mips - 1 - - - library\lib\mips - 1 - - - - - library\lib\armeabi-v7a - 1 - - - library\lib\arm64-v8a - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\values-v21 - 1 - - - res\values-v21 - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-ldpi - 1 - - - res\drawable-ldpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-xxxhdpi - 1 - - - res\drawable-xxxhdpi - 1 - - - - - res\drawable-small - 1 - - - res\drawable-small - 1 - - - - - res\drawable-normal - 1 - - - res\drawable-normal - 1 - - - - - res\drawable-large - 1 - - - res\drawable-large - 1 - - - - - res\drawable-xlarge - 1 - - - res\drawable-xlarge - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - 1 - - - 1 - - - 0 - - - - - 1 - .framework - - - 1 - .framework - - - 0 - - - - - 1 - .dylib - - - 1 - .dylib - - - 0 - .dll;.bpl - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 0 - .bpl - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - - - - 1 - - - 1 - - - 1 - - - - - - - - Contents\Resources - 1 - - - Contents\Resources - 1 - - - - - library\lib\armeabi-v7a - 1 - - - library\lib\arm64-v8a - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 0 - - - - - library\lib\armeabi-v7a - 1 - - - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - - - - - - - - - - - False - False - False - True - False - - - 12 - - - - - diff --git a/packages/dxe8/dmvcframework_group.groupproj b/packages/dxe8/dmvcframework_group.groupproj deleted file mode 100644 index 47d55385..00000000 --- a/packages/dxe8/dmvcframework_group.groupproj +++ /dev/null @@ -1,60 +0,0 @@ - - - {EA879EE4-1245-4456-AED9-57FDF63577E5} - - - - - - - ..\..\lib\loggerpro\packages\dxe8\loggerproRT.dproj - - - dmvcframeworkRT.dproj - - - - Default.Personality.12 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/activerecord_showcase/activerecord_showcase.dproj b/samples/activerecord_showcase/activerecord_showcase.dproj index bca44a71..d2c2b04d 100644 --- a/samples/activerecord_showcase/activerecord_showcase.dproj +++ b/samples/activerecord_showcase/activerecord_showcase.dproj @@ -1,7 +1,7 @@  {F8576ED6-649F-4E28-B364-1F60687C75F2} - 19.2 + 19.3 VCL activerecord_showcase.dpr True @@ -135,10 +135,6 @@ - - Cfg_2 - Base - Base @@ -146,6 +142,10 @@ Cfg_1 Cfg_2 + + Cfg_2 + Base + Delphi.Personality.12 @@ -163,6 +163,12 @@ + + + activerecord_showcase.exe + true + + activerecord_showcase.exe @@ -187,12 +193,6 @@ true - - - activerecord_showcase.exe - true - - 1 @@ -205,6 +205,16 @@ 0 + + + classes + 64 + + + classes + 64 + + classes @@ -512,6 +522,11 @@ 1 .framework + + Contents\MacOS + 1 + .framework + 0 @@ -539,6 +554,11 @@ 1 .dylib
+ + Contents\MacOS + 1 + .dylib + 0 .dll;.bpl @@ -567,6 +587,11 @@ 1 .dylib + + Contents\MacOS + 1 + .dylib + 0 .bpl @@ -596,6 +621,10 @@ Contents\Resources\StartUp\ 0 + + Contents\Resources\StartUp\ + 0 + 0 @@ -1177,6 +1206,10 @@ ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 1
+ + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + @@ -1187,6 +1220,10 @@ ..\ 1 + + ..\ + 1 + @@ -1197,6 +1234,10 @@ Contents 1 + + Contents + 1 + @@ -1207,6 +1248,10 @@ Contents\Resources 1 + + Contents\Resources + 1 + @@ -1237,6 +1282,10 @@ Contents\MacOS 1 + + Contents\MacOS + 1 + 0 @@ -1275,17 +1324,18 @@ 1 - - - - - - - - - + + + + + + + + + + True diff --git a/samples/middleware_compression/OutputCompressionSample.dproj b/samples/middleware_compression/OutputCompressionSample.dproj index 953ebddf..a4563a5e 100644 --- a/samples/middleware_compression/OutputCompressionSample.dproj +++ b/samples/middleware_compression/OutputCompressionSample.dproj @@ -13,6 +13,16 @@ true + + true + Base + true + + + true + Base + true + true Base @@ -61,6 +71,16 @@ VCL;$(DCC_Framework) OutputCompressionSample + + package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= + Debug + annotation-1.2.0.dex.jar;asynclayoutinflater-1.0.0.dex.jar;billing-4.0.0.dex.jar;browser-1.0.0.dex.jar;cloud-messaging.dex.jar;collection-1.0.0.dex.jar;coordinatorlayout-1.0.0.dex.jar;core-1.5.0-rc02.dex.jar;core-common-2.0.1.dex.jar;core-runtime-2.0.1.dex.jar;cursoradapter-1.0.0.dex.jar;customview-1.0.0.dex.jar;documentfile-1.0.0.dex.jar;drawerlayout-1.0.0.dex.jar;firebase-annotations-16.0.0.dex.jar;firebase-common-20.0.0.dex.jar;firebase-components-17.0.0.dex.jar;firebase-datatransport-18.0.0.dex.jar;firebase-encoders-17.0.0.dex.jar;firebase-encoders-json-18.0.0.dex.jar;firebase-iid-interop-17.1.0.dex.jar;firebase-installations-17.0.0.dex.jar;firebase-installations-interop-17.0.0.dex.jar;firebase-measurement-connector-19.0.0.dex.jar;firebase-messaging-22.0.0.dex.jar;fmx.dex.jar;fragment-1.0.0.dex.jar;google-play-licensing.dex.jar;interpolator-1.0.0.dex.jar;javax.inject-1.dex.jar;legacy-support-core-ui-1.0.0.dex.jar;legacy-support-core-utils-1.0.0.dex.jar;lifecycle-common-2.0.0.dex.jar;lifecycle-livedata-2.0.0.dex.jar;lifecycle-livedata-core-2.0.0.dex.jar;lifecycle-runtime-2.0.0.dex.jar;lifecycle-service-2.0.0.dex.jar;lifecycle-viewmodel-2.0.0.dex.jar;listenablefuture-1.0.dex.jar;loader-1.0.0.dex.jar;localbroadcastmanager-1.0.0.dex.jar;play-services-ads-20.1.0.dex.jar;play-services-ads-base-20.1.0.dex.jar;play-services-ads-identifier-17.0.0.dex.jar;play-services-ads-lite-20.1.0.dex.jar;play-services-base-17.5.0.dex.jar;play-services-basement-17.6.0.dex.jar;play-services-cloud-messaging-16.0.0.dex.jar;play-services-drive-17.0.0.dex.jar;play-services-games-21.0.0.dex.jar;play-services-location-18.0.0.dex.jar;play-services-maps-17.0.1.dex.jar;play-services-measurement-base-18.0.0.dex.jar;play-services-measurement-sdk-api-18.0.0.dex.jar;play-services-places-placereport-17.0.0.dex.jar;play-services-stats-17.0.0.dex.jar;play-services-tasks-17.2.0.dex.jar;print-1.0.0.dex.jar;room-common-2.1.0.dex.jar;room-runtime-2.1.0.dex.jar;slidingpanelayout-1.0.0.dex.jar;sqlite-2.0.1.dex.jar;sqlite-framework-2.0.1.dex.jar;swiperefreshlayout-1.0.0.dex.jar;transport-api-3.0.0.dex.jar;transport-backend-cct-3.0.0.dex.jar;transport-runtime-3.0.0.dex.jar;user-messaging-platform-1.0.0.dex.jar;versionedparcelable-1.1.1.dex.jar;viewpager-1.0.0.dex.jar;work-runtime-2.1.0.dex.jar + + + package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= + Debug + annotation-1.2.0.dex.jar;asynclayoutinflater-1.0.0.dex.jar;billing-4.0.0.dex.jar;browser-1.0.0.dex.jar;cloud-messaging.dex.jar;collection-1.0.0.dex.jar;coordinatorlayout-1.0.0.dex.jar;core-1.5.0-rc02.dex.jar;core-common-2.0.1.dex.jar;core-runtime-2.0.1.dex.jar;cursoradapter-1.0.0.dex.jar;customview-1.0.0.dex.jar;documentfile-1.0.0.dex.jar;drawerlayout-1.0.0.dex.jar;firebase-annotations-16.0.0.dex.jar;firebase-common-20.0.0.dex.jar;firebase-components-17.0.0.dex.jar;firebase-datatransport-18.0.0.dex.jar;firebase-encoders-17.0.0.dex.jar;firebase-encoders-json-18.0.0.dex.jar;firebase-iid-interop-17.1.0.dex.jar;firebase-installations-17.0.0.dex.jar;firebase-installations-interop-17.0.0.dex.jar;firebase-measurement-connector-19.0.0.dex.jar;firebase-messaging-22.0.0.dex.jar;fmx.dex.jar;fragment-1.0.0.dex.jar;google-play-licensing.dex.jar;interpolator-1.0.0.dex.jar;javax.inject-1.dex.jar;legacy-support-core-ui-1.0.0.dex.jar;legacy-support-core-utils-1.0.0.dex.jar;lifecycle-common-2.0.0.dex.jar;lifecycle-livedata-2.0.0.dex.jar;lifecycle-livedata-core-2.0.0.dex.jar;lifecycle-runtime-2.0.0.dex.jar;lifecycle-service-2.0.0.dex.jar;lifecycle-viewmodel-2.0.0.dex.jar;listenablefuture-1.0.dex.jar;loader-1.0.0.dex.jar;localbroadcastmanager-1.0.0.dex.jar;play-services-ads-20.1.0.dex.jar;play-services-ads-base-20.1.0.dex.jar;play-services-ads-identifier-17.0.0.dex.jar;play-services-ads-lite-20.1.0.dex.jar;play-services-base-17.5.0.dex.jar;play-services-basement-17.6.0.dex.jar;play-services-cloud-messaging-16.0.0.dex.jar;play-services-drive-17.0.0.dex.jar;play-services-games-21.0.0.dex.jar;play-services-location-18.0.0.dex.jar;play-services-maps-17.0.1.dex.jar;play-services-measurement-base-18.0.0.dex.jar;play-services-measurement-sdk-api-18.0.0.dex.jar;play-services-places-placereport-17.0.0.dex.jar;play-services-stats-17.0.0.dex.jar;play-services-tasks-17.2.0.dex.jar;print-1.0.0.dex.jar;room-common-2.1.0.dex.jar;room-runtime-2.1.0.dex.jar;slidingpanelayout-1.0.0.dex.jar;sqlite-2.0.1.dex.jar;sqlite-framework-2.0.1.dex.jar;swiperefreshlayout-1.0.0.dex.jar;transport-api-3.0.0.dex.jar;transport-backend-cct-3.0.0.dex.jar;transport-runtime-3.0.0.dex.jar;user-messaging-platform-1.0.0.dex.jar;versionedparcelable-1.1.1.dex.jar;viewpager-1.0.0.dex.jar;work-runtime-2.1.0.dex.jar + FireDACADSDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;Spring.Data;inetdb;emsedge;dbexpress;IndyCore;dsnap;DataSnapCommon;DataSnapConnectors;bindengine;FireDACOracleDriver;FireDACMySQLDriver;FireDACCommonODBC;DataSnapClient;IndySystem;FireDACDb2Driver;FireDACInfxDriver;emshosting;FireDACPgDriver;FireDACASADriver;FireDACTDataDriver;DbxCommonDriver;DataSnapServer;xmlrtl;DataSnapNativeClient;rtl;DbxClientDriver;CustomIPTransport;bindcomp;dbxcds;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;dbrtl;IndyProtocols;FireDACMongoDBDriver;DataSnapServerMidas;$(DCC_UsePackage) @@ -135,13 +155,14 @@ - - + + + OutputCompressionSample.exe true - - + + true @@ -155,14 +176,13 @@ true - - - OutputCompressionSample.exe + + true - - + + true @@ -1202,6 +1222,8 @@ + False + False False True False diff --git a/sources/MVCFramework.Middleware.Compression.pas b/sources/MVCFramework.Middleware.Compression.pas index 6ea50258..6d94c21d 100644 --- a/sources/MVCFramework.Middleware.Compression.pas +++ b/sources/MVCFramework.Middleware.Compression.pas @@ -80,9 +80,9 @@ var lItem: string; lRespCompressionType: TMVCCompressionType; lTmpItem: string; -{$IF not Defined(ALEXANDRIAORBETTER)} +{.$IF not Defined(ALEXANDRIAORBETTER)} lZStream: TZCompressionStream; -{$ENDIF} +{.$ENDIF} begin if IsLibrary then begin @@ -107,16 +107,16 @@ begin lTmpItem := lItem.Trim; if lTmpItem = 'gzip' then begin -{$IF Defined(ALEXANDRIAORBETTER)} +{.$IF Defined(ALEXANDRIAORBETTER)} { There is a bug in 11 Alexandria with TZCompressionStream, so the gzip compression is not available until the fix. The issue has been created on https://quality.embarcadero.com/browse/RSP-35516 } -{$ELSE} +{.$ELSE} lRespCompressionType := TMVCCompressionType.ctGZIP; break; -{$ENDIF} +{.$ENDIF} end else if lTmpItem = 'deflate' then begin @@ -133,21 +133,31 @@ begin // begin lMemStream := TMemoryStream.Create; try -{$IF Defined(ALEXANDRIAORBETTER)} - ZCompressStream(lContentStream, lMemStream); +{.$IF Defined(ALEXANDRIAORBETTER)} + //ZCompressStream(lContentStream, lMemStream); // use it only for deflate, ZCompressStream (Delphi 11.0) cannot // create gzip compliant streams -{$ELSE} +{.$ELSE} lZStream := TZCompressionStream.Create(lMemStream, TZCompressionLevel.zcDefault, MVC_COMPRESSION_ZLIB_WINDOW_BITS [lRespCompressionType]); try lContentStream.Position := 0; - lZStream.CopyFrom(lContentStream, 0) +// WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! +// WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! +// WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! +// There is a bug in 11 Alexandria with TZCompressionStream, this bug +// raises an exception here and the debugger catches it, but it its "normal" behavior. +// The gzip stream is correctly created. Please, vote for its resolution. +// https://quality.embarcadero.com/browse/RSP-35516 +// WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! +// WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! +// WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! + lZStream.CopyFrom(lContentStream, 0); finally lZStream.Free; end; -{$ENDIF} +{.$ENDIF} except lMemStream.Free; raise; diff --git a/tasks.py b/tasks.py index f6b7b4bb..1aed6880 100644 --- a/tasks.py +++ b/tasks.py @@ -44,13 +44,12 @@ def build_delphi_project( delphi_version=DEFAULT_DELPHI_VERSION, ): delphi_versions = { - "XE7": {"path": "15.0", "desc": "Delphi XE7"}, - "XE8": {"path": "16.0", "desc": "Delphi XE8"}, - "10": {"path": "17.0", "desc": "Delphi 10 Seattle"}, + "10": {"path": "17.0", "desc": "Delphi 10 Seattle"}, "10.1": {"path": "18.0", "desc": "Delphi 10.1 Berlin"}, "10.2": {"path": "19.0", "desc": "Delphi 10.2 Tokyo"}, "10.3": {"path": "20.0", "desc": "Delphi 10.3 Rio"}, "10.4": {"path": "21.0", "desc": "Delphi 10.4 Sydney"}, + "11": {"path": "22.0", "desc": "Delphi 11 Alexandria"} } assert delphi_version in delphi_versions, ( @@ -81,7 +80,7 @@ def build_delphi_project( if r.failed: print(r.stdout) print(r.stderr) - raise Exit("Build failed") + raise Exit("Build failed for " + delphi_versions[delphi_version]["desc"]) def zip_samples(version): diff --git a/unittests/general/Several/LiveServerTestU.pas b/unittests/general/Several/LiveServerTestU.pas index 68c4fa95..25e1ed65 100644 --- a/unittests/general/Several/LiveServerTestU.pas +++ b/unittests/general/Several/LiveServerTestU.pas @@ -806,7 +806,7 @@ begin Assert.areEqual('', lCustomer.ContactFirst); Assert.areEqual('', lCustomer.ContactLast); lCustomer.Logo.SaveToFile('customer_logo_after_received.bmp'); - Assert.areEqual('de2a29ec62fc1f0b3abbb6b74223d214', + Assert.areEqual('9a4e150a92ecb68ad83e8ead27026dcc', THashMD5.GetHashStringFromFile('customer_logo_after_received.bmp')); finally lCustomer.Free; diff --git a/unittests/general/TestServer/TestServer.dpr b/unittests/general/TestServer/TestServer.dpr index 06dbf8c0..10e42f0c 100644 --- a/unittests/general/TestServer/TestServer.dpr +++ b/unittests/general/TestServer/TestServer.dpr @@ -58,11 +58,7 @@ begin TMVCParseAuthentication.OnParseAuthentication; LServer.DefaultPort := APort; LServer.Active := True; - { more info about MaxConnections - http://www.indyproject.org/docsite/html/frames.html?frmname=topic&frmfile=TIdCustomTCPServer_MaxConnections.html } LServer.MaxConnections := 0; - { more info about ListenQueue - http://www.indyproject.org/docsite/html/frames.html?frmname=topic&frmfile=TIdCustomTCPServer_ListenQueue.html } LServer.ListenQueue := 200; Writeln('Press RETURN to stop the server'); WaitForReturn; diff --git a/unittests/general/TestServer/TestServer.dproj b/unittests/general/TestServer/TestServer.dproj index 7c17eab5..43998546 100644 --- a/unittests/general/TestServer/TestServer.dproj +++ b/unittests/general/TestServer/TestServer.dproj @@ -13,6 +13,16 @@ true + + true + Base + true + + + true + Base + true + true Base @@ -54,6 +64,16 @@ $(BDS)\bin\delphi_PROJECTICON.ico $(BDS)\bin\delphi_PROJECTICNS.icns + + package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= + Debug + annotation-1.2.0.dex.jar;asynclayoutinflater-1.0.0.dex.jar;billing-4.0.0.dex.jar;browser-1.0.0.dex.jar;cloud-messaging.dex.jar;collection-1.0.0.dex.jar;coordinatorlayout-1.0.0.dex.jar;core-1.5.0-rc02.dex.jar;core-common-2.0.1.dex.jar;core-runtime-2.0.1.dex.jar;cursoradapter-1.0.0.dex.jar;customview-1.0.0.dex.jar;documentfile-1.0.0.dex.jar;drawerlayout-1.0.0.dex.jar;firebase-annotations-16.0.0.dex.jar;firebase-common-20.0.0.dex.jar;firebase-components-17.0.0.dex.jar;firebase-datatransport-18.0.0.dex.jar;firebase-encoders-17.0.0.dex.jar;firebase-encoders-json-18.0.0.dex.jar;firebase-iid-interop-17.1.0.dex.jar;firebase-installations-17.0.0.dex.jar;firebase-installations-interop-17.0.0.dex.jar;firebase-measurement-connector-19.0.0.dex.jar;firebase-messaging-22.0.0.dex.jar;fmx.dex.jar;fragment-1.0.0.dex.jar;google-play-licensing.dex.jar;interpolator-1.0.0.dex.jar;javax.inject-1.dex.jar;legacy-support-core-ui-1.0.0.dex.jar;legacy-support-core-utils-1.0.0.dex.jar;lifecycle-common-2.0.0.dex.jar;lifecycle-livedata-2.0.0.dex.jar;lifecycle-livedata-core-2.0.0.dex.jar;lifecycle-runtime-2.0.0.dex.jar;lifecycle-service-2.0.0.dex.jar;lifecycle-viewmodel-2.0.0.dex.jar;listenablefuture-1.0.dex.jar;loader-1.0.0.dex.jar;localbroadcastmanager-1.0.0.dex.jar;play-services-ads-20.1.0.dex.jar;play-services-ads-base-20.1.0.dex.jar;play-services-ads-identifier-17.0.0.dex.jar;play-services-ads-lite-20.1.0.dex.jar;play-services-base-17.5.0.dex.jar;play-services-basement-17.6.0.dex.jar;play-services-cloud-messaging-16.0.0.dex.jar;play-services-drive-17.0.0.dex.jar;play-services-games-21.0.0.dex.jar;play-services-location-18.0.0.dex.jar;play-services-maps-17.0.1.dex.jar;play-services-measurement-base-18.0.0.dex.jar;play-services-measurement-sdk-api-18.0.0.dex.jar;play-services-places-placereport-17.0.0.dex.jar;play-services-stats-17.0.0.dex.jar;play-services-tasks-17.2.0.dex.jar;print-1.0.0.dex.jar;room-common-2.1.0.dex.jar;room-runtime-2.1.0.dex.jar;slidingpanelayout-1.0.0.dex.jar;sqlite-2.0.1.dex.jar;sqlite-framework-2.0.1.dex.jar;swiperefreshlayout-1.0.0.dex.jar;transport-api-3.0.0.dex.jar;transport-backend-cct-3.0.0.dex.jar;transport-runtime-3.0.0.dex.jar;user-messaging-platform-1.0.0.dex.jar;versionedparcelable-1.1.1.dex.jar;viewpager-1.0.0.dex.jar;work-runtime-2.1.0.dex.jar + + + package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= + Debug + annotation-1.2.0.dex.jar;asynclayoutinflater-1.0.0.dex.jar;billing-4.0.0.dex.jar;browser-1.0.0.dex.jar;cloud-messaging.dex.jar;collection-1.0.0.dex.jar;coordinatorlayout-1.0.0.dex.jar;core-1.5.0-rc02.dex.jar;core-common-2.0.1.dex.jar;core-runtime-2.0.1.dex.jar;cursoradapter-1.0.0.dex.jar;customview-1.0.0.dex.jar;documentfile-1.0.0.dex.jar;drawerlayout-1.0.0.dex.jar;firebase-annotations-16.0.0.dex.jar;firebase-common-20.0.0.dex.jar;firebase-components-17.0.0.dex.jar;firebase-datatransport-18.0.0.dex.jar;firebase-encoders-17.0.0.dex.jar;firebase-encoders-json-18.0.0.dex.jar;firebase-iid-interop-17.1.0.dex.jar;firebase-installations-17.0.0.dex.jar;firebase-installations-interop-17.0.0.dex.jar;firebase-measurement-connector-19.0.0.dex.jar;firebase-messaging-22.0.0.dex.jar;fmx.dex.jar;fragment-1.0.0.dex.jar;google-play-licensing.dex.jar;interpolator-1.0.0.dex.jar;javax.inject-1.dex.jar;legacy-support-core-ui-1.0.0.dex.jar;legacy-support-core-utils-1.0.0.dex.jar;lifecycle-common-2.0.0.dex.jar;lifecycle-livedata-2.0.0.dex.jar;lifecycle-livedata-core-2.0.0.dex.jar;lifecycle-runtime-2.0.0.dex.jar;lifecycle-service-2.0.0.dex.jar;lifecycle-viewmodel-2.0.0.dex.jar;listenablefuture-1.0.dex.jar;loader-1.0.0.dex.jar;localbroadcastmanager-1.0.0.dex.jar;play-services-ads-20.1.0.dex.jar;play-services-ads-base-20.1.0.dex.jar;play-services-ads-identifier-17.0.0.dex.jar;play-services-ads-lite-20.1.0.dex.jar;play-services-base-17.5.0.dex.jar;play-services-basement-17.6.0.dex.jar;play-services-cloud-messaging-16.0.0.dex.jar;play-services-drive-17.0.0.dex.jar;play-services-games-21.0.0.dex.jar;play-services-location-18.0.0.dex.jar;play-services-maps-17.0.1.dex.jar;play-services-measurement-base-18.0.0.dex.jar;play-services-measurement-sdk-api-18.0.0.dex.jar;play-services-places-placereport-17.0.0.dex.jar;play-services-stats-17.0.0.dex.jar;play-services-tasks-17.2.0.dex.jar;print-1.0.0.dex.jar;room-common-2.1.0.dex.jar;room-runtime-2.1.0.dex.jar;slidingpanelayout-1.0.0.dex.jar;sqlite-2.0.1.dex.jar;sqlite-framework-2.0.1.dex.jar;swiperefreshlayout-1.0.0.dex.jar;transport-api-3.0.0.dex.jar;transport-backend-cct-3.0.0.dex.jar;transport-runtime-3.0.0.dex.jar;user-messaging-platform-1.0.0.dex.jar;versionedparcelable-1.1.1.dex.jar;viewpager-1.0.0.dex.jar;work-runtime-2.1.0.dex.jar + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) Debug @@ -125,6 +145,8 @@ + False + False True True False @@ -137,12 +159,22 @@ true
+ + + true + + sample.png true + + + true + + customers.json @@ -154,16 +186,6 @@ true - - - true - - - - - true - - TestServer diff --git a/unittests/general/TestServer/TestServerControllerU.pas b/unittests/general/TestServer/TestServerControllerU.pas index 9e158cfd..f4e17cab 100644 --- a/unittests/general/TestServer/TestServerControllerU.pas +++ b/unittests/general/TestServer/TestServerControllerU.pas @@ -617,7 +617,7 @@ begin // lCustomer.Logo.SaveToFile('pippo_server_before.bmp'); lCustomer.Name := lCustomer.Name + ' changed'; {$IFNDEF LINUX} - lCustomer.Logo.Canvas.TextOut(10, 10, 'Changed'); + //lCustomer.Logo.Canvas.TextOut(10, 10, 'Changed'); {$ENDIF} // lCustomer.Logo.SaveToFile('pippo_server_after.bmp'); Render(lCustomer, True);