Skip to content

Commit 8bc55f9

Browse files
authored
Merge branch 'develop' into feature-segmented_widget_vertical
2 parents 1681b4d + 0ac9a12 commit 8bc55f9

583 files changed

Lines changed: 19917 additions & 3535 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Installer/package.txt

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
// LiveCode
2727

2828
installer LiveCode
29+
if BaseEdition is Commercial then
30+
additional manifest "../Installer/commercial-package.txt"
2931
include Misc
3032
include Toolset
3133
include Plugins
@@ -86,8 +88,6 @@ installer LiveCode
8688
if TargetEdition is Business then
8789
desktop icon "private:engine/rsrc/Business/android-notify-icon.png" as "runrev-[[ProductTag]]-[[TargetArchitecture]]"
8890
include Uninstaller
89-
if BaseEdition is Commercial then
90-
additional manifest "../Installer/commercial-package.txt"
9191
if TargetEdition is Indy then
9292
include Commercial.IndyComponents
9393
if TargetEdition is Business then
@@ -98,7 +98,15 @@ component Runtime
9898

9999
component Externals
100100
include Externals.[[TargetPlatform]]
101+
if TargetEdition is "Business" then
102+
include Commercial.BusinessExternals
103+
if TargetEdition is "Indy" then
104+
include Commercial.IndyExternals
101105
include Databases.[[TargetPlatform]]
106+
if TargetEdition is "Business" then
107+
include Commercial.BusinessDatabases
108+
if TargetEdition is "Indy" then
109+
include Commercial.IndyDatabases
102110
if TargetPlatform is Linux then
103111
include Externals.CEF.Linux
104112
if TargetPlatform is Windows then
@@ -378,8 +386,12 @@ component Documentation
378386
file "repo:LiveCode[[TargetEdition]]UserGuide-[[EscapedVersionTag]].pdf" as "LiveCode User Guide.pdf"
379387

380388
component Extensions
389+
into [[ToolsFolder]]/Extensions place
390+
rfolder macosx:packaged_extensions/com.livecode.widget.native.mac.button
381391
into [[ToolsFolder]]/Extensions place
382392
rfolder macosx:packaged_extensions/com.livecode.widget.native.android.button
393+
into [[ToolsFolder]]/Extensions place
394+
rfolder macosx:packaged_extensions/com.livecode.widget.native.android.field
383395
into [[ToolsFolder]]/Extensions place
384396
rfolder macosx:packaged_extensions/com.livecode.widget.browser
385397
into [[ToolsFolder]]/Extensions place
@@ -727,13 +739,12 @@ component Externals.MacOSX
727739
component Externals.CEF.Linux
728740
into [[TargetFolder]]/Externals/CEF place
729741
executable linux-[[TargetArchitecture]]:Externals/CEF/libcef.so
730-
executable linux-[[TargetArchitecture]]:Externals/CEF/libffmpegsumo.so
731-
executable linux-[[TargetArchitecture]]:Externals/CEF/libpdf.so
732742
rfolder linux-[[TargetArchitecture]]:Externals/CEF/locales
733743
file linux-[[TargetArchitecture]]:Externals/CEF/cef.pak
734744
file linux-[[TargetArchitecture]]:Externals/CEF/cef_100_percent.pak
735745
file linux-[[TargetArchitecture]]:Externals/CEF/cef_200_percent.pak
736746
file linux-[[TargetArchitecture]]:Externals/CEF/cef_extensions.pak
747+
737748
// Horrible workaround for a libCEF bug
738749
into [[TargetFolder]] place
739750
file linux-[[TargetArchitecture]]:icudtl.dat
@@ -748,12 +759,9 @@ component Externals.CEF.Windows
748759
executable windows:revbrowser-cefprocess.exe
749760
executable windows:CEF/libcef.dll
750761
executable windows:CEF/d3dcompiler_43.dll
751-
executable windows:CEF/d3dcompiler_46.dll
752762
executable windows:CEF/d3dcompiler_47.dll
753-
executable windows:CEF/ffmpegsumo.dll
754763
executable windows:CEF/libEGL.dll
755764
executable windows:CEF/libGLESv2.dll
756-
executable windows:CEF/pdf.dll
757765
rfolder windows:CEF/locales
758766
file windows:CEF/cef.pak
759767
file windows:CEF/cef_100_percent.pak
@@ -778,8 +786,6 @@ component Databases.Linux
778786
declare dbdriver "ODBC" using dbodbc.so
779787
declare dbdriver "PostgreSQL" using dbpostgresql.so
780788
declare dbdriver "SqLite" using dbsqlite.so
781-
ifnot TargetEdition is "Community" then
782-
declare dbdriver "Oracle" using dboracle.so
783789

784790
//////////
785791

@@ -791,15 +797,11 @@ component Databases.Windows
791797
executable windows:dbodbc.dll
792798
executable windows:dbpostgresql.dll
793799
executable windows:dbsqlite.dll
794-
ifnot TargetEdition is "Community" then
795-
executable private:oracle_libraries/dboracle.dll
796800
declare external "Database" using revdb.dll
797801
declare dbdriver "MySQL" using dbmysql.dll
798802
declare dbdriver "ODBC" using dbodbc.dll
799803
declare dbdriver "PostgreSQL" using dbpostgresql.dll
800804
declare dbdriver "SqLite" using dbsqlite.dll
801-
ifnot TargetEdition is "Community" then
802-
declare dbdriver "Oracle" using dboracle.dll
803805

804806
//////////
805807

@@ -811,15 +813,11 @@ component Databases.MacOSX
811813
executable macosx:dbodbc.bundle
812814
executable macosx:dbpostgresql.bundle
813815
executable macosx:dbsqlite.bundle
814-
ifnot TargetEdition is "Community" then
815-
executable private:oracle_libraries/dboracle.bundle
816816
declare external "Database" using revdb.bundle
817817
declare dbdriver "MySQL" using dbmysql.bundle
818818
declare dbdriver "ODBC" using dbodbc.bundle
819819
declare dbdriver "PostgreSQL" using dbpostgresql.bundle
820820
declare dbdriver "SqLite" using dbsqlite.bundle
821-
ifnot TargetEdition is "Community" then
822-
declare dbdriver "Oracle" using dboracle.bundle
823821

824822
////////////////////////////////////////////////////////////////////////////////
825823

@@ -835,6 +833,7 @@ component Toolset
835833
stack ide-support:revsaveasiosstandalone.livecodescript
836834
stack ide-support:revsaveasstandalone.livecodescript
837835
stack ide-support:revsblibrary.livecodescript
836+
stack ide-support:revhtml5urllibrary.livecodescript
838837
file ide-support:revdocsparser.livecodescript
839838
file ide-support:revliburl.livecodescript
840839
file repo:extensions/script-libraries/dropbox/dropbox.livecodescript
@@ -843,5 +842,7 @@ component Toolset
843842
file repo:extensions/script-libraries/mime/mime.livecodescript
844843
file repo:extensions/script-libraries/diff/diff.livecodescript
845844
file repo:extensions/script-libraries/messageauthentication/messageauthentication.livecodescript
845+
file repo:extensions/script-libraries/httpd/httpd.livecodescript
846+
file repo:extensions/script-libraries/qr/qr.livecodescript
846847

847848
////////////////////////////////////////////////////////////////////////////////

buildbot.mk

Lines changed: 52 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,17 @@ dist-upload-files.txt sha1sum.txt:
214214
-o -name 'LiveCode*Docs-*.zip' \
215215
-o -name '*-bin.tar.xz' \
216216
-o -name '*-bin.tar.bz2' \
217-
> dist-upload-files.txt; \
217+
-o -name 'LiveCodeForFM-Mac-Solution.zip' \
218+
-o -name 'LiveCodeForFM-Mac-Plugin.zip' \
219+
-o -name 'LiveCodeForFM-Win-x86-Solution.zip' \
220+
-o -name 'LiveCodeForFM-Win-x86-Plugin.zip' \
221+
-o -name 'LiveCodeForFM-Win-x86_64-Solution.zip' \
222+
-o -name 'LiveCodeForFM-Win-x86_64-Plugin.zip' \
223+
-o -name 'LiveCodeForFM-All-Solutions.zip' \
224+
-o -name 'LiveCodeForFM-All-Plugins.zip' \
225+
-o -name 'LiveCodeForFM-Solution.zip' \
226+
-o -name 'LiveCodeForFM.zip' \
227+
> dist-upload-files.txt; \
218228
if test "${UPLOAD_RELEASE_NOTES}" = "yes"; then \
219229
find . -maxdepth 1 -name 'LiveCodeNotes*.pdf' >> dist-upload-files.txt; \
220230
find . -maxdepth 1 -name 'LiveCodeNotes*.html' >> dist-upload-file; \
@@ -253,11 +263,50 @@ dist-upload: dist-upload-files.txt dist-upload-mkdir
253263
# resulting archive gets transferred to a Mac for signing and
254264
# conversion to a DMG.
255265
distmac-archive:
266+
set -e; \
256267
find . -maxdepth 1 -name 'LiveCode*Installer-*-Mac.app' -print0 \
257-
| xargs -0 tar -Jcvf mac-installer.tar.xz
268+
| xargs -0 tar -cvf mac-installer.tar; \
269+
cd mac-bin; \
270+
find . -maxdepth 1 -name 'livecodeforfm-*.fmplugin' -print0 \
271+
| xargs -0 tar --append --file=../mac-installer.tar; \
272+
cd ..; \
273+
cd win-x86-bin; \
274+
find . -maxdepth 1 -name 'livecodeforfm-*.fmx' -print0 \
275+
| xargs -0 tar --append --file=../mac-installer.tar; \
276+
cd ..; \
277+
cd win-x86_64-bin; \
278+
find . -maxdepth 1 -name 'livecodeforfm-*.fmx64' -print0 \
279+
| xargs -0 tar --append --file=../mac-installer.tar; \
280+
cd ..; \
281+
bzip2 -c mac-installer.tar > mac-installer.tar.xz
258282

259283
distmac-extract:
260-
tar -xvf mac-installer.tar.xz
284+
set -e; \
285+
tar -xvf mac-installer.tar.xz; \
286+
cp -r ${private_dir}/filemaker/solutions/LiveCodeForFM.fmp12 . ; \
287+
$(buildtool_command) --platform mac --stage fmpackage --debug; \
288+
$(buildtool_command) --platform win-x86 --stage fmpackage --debug; \
289+
$(buildtool_command) --platform win-x86_64 --stage fmpackage --debug; \
290+
$(buildtool_command) --platform universal --stage fmpackage --debug; \
291+
find . -maxdepth 1 -name 'LiveCodeForFM-Mac-*.fmp12' -print0 \
292+
| xargs -0 zip -r LiveCodeForFM-Mac-Solution.zip; \
293+
find . -maxdepth 1 -name 'LiveCodeForFM-Win-x86-*.fmp12' -print0 \
294+
| xargs -0 zip -r LiveCodeForFM-Win-x86-Solution.zip; \
295+
find . -maxdepth 1 -name 'LiveCodeForFM-Win-x86_64-*.fmp12' -print0 \
296+
| xargs -0 zip -r LiveCodeForFM-Win-x86_64-Solution.zip; \
297+
find . -maxdepth 1 -name 'LiveCodeForFM-[1-9]*.fmp12' -print0 \
298+
| xargs -0 zip -r LiveCodeForFM.zip; \
299+
find . -maxdepth 1 -name 'livecodeforfm-*.*' -print0 \
300+
| xargs -0 zip -r LiveCodeForFM-All-Plugins.zip; \
301+
find . -maxdepth 1 -name 'livecodeforfm-*.fmplugin' -print0 \
302+
| xargs -0 zip -r LiveCodeForFM-Mac-Plugin.zip; \
303+
find . -maxdepth 1 -name 'livecodeforfm-*.fmx' -print0 \
304+
| xargs -0 zip -r LiveCodeForFM-Win-x86-Plugin.zip; \
305+
find . -maxdepth 1 -name 'livecodeforfm-*.fmx64' -print0 \
306+
| xargs -0 zip -r LiveCodeForFM-Win-x86_64-Plugin.zip; \
307+
find . -maxdepth 1 -name 'LiveCodeForFM.fmp12' -print0 \
308+
| xargs -0 zip -r LiveCodeForFM-Solution.zip
309+
261310

262311
# Final installer creation for Mac
263312
distmac-disk-%: distmac-bundle-%

builder/builder_tool.livecodescript

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,26 +25,32 @@ on startup
2525
put "community" into tEdition
2626
put "stable" into tBuild
2727

28-
local tEngineDir, tPrivateDir, tOutputDir, tWorkDir, tDocsDir, tBuiltDocsDir
28+
local tEngineDir, tPrivateDir, tOutputDir, tWorkDir, tDocsDir, tBuiltDocsDir, tArch
2929

3030
put 1 into tArgIndex
3131
repeat while tArgIndex is among the keys of tArgs
3232
if tArgs[tArgIndex] is "--platform" then
3333
get tArgs[tArgIndex + 1]
34-
if it is not among the items of "windows,win,macosx,mac,linux,linux-x86,linux-x86_64" then
34+
if it is not among the items of "windows,win,win-x86,win-x86_64,macosx,mac,linux,linux-x86,linux-x86_64,universal" then
3535
__builderLog "error", "Unknown platform '" & tArgs[tArgIndex + 1] & "'"
3636
end if
37+
-- Hack the arch from the platform. This should really use
38+
-- triples.
39+
set the itemdelimiter to "-"
40+
put item -1 of it into tArch
41+
set the itemdelimiter to comma
42+
3743
if it is "linux" then
3844
put true into tPlatforms["linux-x86"]
3945
put true into tPlatforms["linux-x86_64"]
4046
else
41-
if it is "win" then get "windows"
47+
if it begins with "win" then get "windows"
4248
if it is "mac" then get "macosx"
4349
put true into tPlatforms[it]
4450
end if
4551
add 1 to tArgIndex
4652
else if tArgs[tArgIndex] is "--stage" then
47-
if tArgs[tArgIndex + 1] is not among the items of "environment,tools,bundle,server,notes,docs,disk,guide" then
53+
if tArgs[tArgIndex + 1] is not among the items of "environment,tools,bundle,server,notes,docs,disk,guide,fmpackage" then
4854
__builderLog "error", "Unknown stage '" & tArgs[tArgIndex + 1] & "'"
4955
end if
5056
put tArgs[tArgIndex + 1] into tStage
@@ -121,6 +127,10 @@ on startup
121127

122128
set the name of this stack to "Builder"
123129

130+
if tArch is not empty then
131+
builderSetTargetArch tArch
132+
end if
133+
124134
if tEngineDir is not empty then
125135
builderSetEngineDir tEngineDir
126136
end if

builder/builder_utilities.livecodescript

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ local sOutputDir
99
local sPrivateDir
1010
local sDocsDir
1111
local sBuiltDocsDir
12+
local sTargetArch
1213

1314
////////////////////////////////////////////////////////////////////////////////
1415

@@ -52,6 +53,10 @@ command builderSetOutputDir pDir
5253
put pDir into sOutputDir
5354
end builderSetOutputDir
5455

56+
command builderSetTargetArch pArch
57+
put pArch into sTargetArch
58+
end builderSetTargetArch
59+
5560
////////////////////////////////////////////////////////////////////////////////
5661

5762
on builderBuild pWhich, pPlatforms, pEdition, pType
@@ -101,6 +106,15 @@ on builderBuild pWhich, pPlatforms, pEdition, pType
101106
put builderGetBuildNumber() into tBuildNumber
102107
dispatch "archiveBuilderRun" to stack builderArchiveBuilderStack() with tVersion, tBuildNumber, pType
103108
break
109+
case "FMPackage"
110+
local tGitRevision, tOutputFolder, tPrivateRepo, tTargetArch
111+
put builderOutputFolder() into tOutputFolder
112+
put builderGetGitFullHash() into tGitRevision
113+
put builderPrivateRepoFolder() into tPrivateRepo
114+
put builderTargetArch() into tTargetArch
115+
repeat for each line tPlatform in pPlatforms
116+
dispatch "fmPackageBuilderRun" to stack builderFMPackageBuilderStack() with tPlatform, tPrivateRepo, tOutputFolder, tGitRevision, tTargetArch
117+
end repeat
104118
end switch
105119

106120
builderFinalize
@@ -227,6 +241,10 @@ end copyFolder
227241

228242
////////////////////////////////////////////////////////////////////////////////
229243

244+
function builderTargetArch
245+
return sTargetArch
246+
end builderTargetArch
247+
230248
-- Returns the folder of the repository
231249
function builderRepoFolder
232250
set the itemDelimiter to slash
@@ -392,6 +410,10 @@ function builderArchiveBuilderStack
392410
return builderSystemPrivateFolder() & slash & "archive_builder.livecodescript"
393411
end builderArchiveBuilderStack
394412

413+
function builderFMPackageBuilderStack
414+
return builderSystemPrivateFolder() & slash & "package_solution.livecodescript"
415+
end builderFMPackageBuilderStack
416+
395417
function builderModuleInterfaceFolder
396418
builderFetchEngine "", "macosx"
397419
return the result & slash & "modules" & slash & "lci"
@@ -486,6 +508,16 @@ end builderGetBuildNumber
486508

487509
////////////////////////////////////////////////////////////////////////////////
488510

511+
function builderGetGitShortHash
512+
return word 1 of shell("git --git-dir=../.git rev-parse --short HEAD")
513+
end builderGetGitShortHash
514+
515+
function builderGetGitFullHash
516+
return word 1 of shell("git --git-dir=../.git rev-parse HEAD")
517+
end builderGetGitFullHash
518+
519+
////////////////////////////////////////////////////////////////////////////////
520+
489521
function getExecutableArchs pInput
490522
get shell("lipo -info" && quote & pInput & quote)
491523
set the itemDelimiter to ":"

builder/docs_builder.livecodescript

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2055,25 +2055,37 @@ end docsFileGetUTF8Contents
20552055
-- Find all lcdoc files in pFolder and add them to the list of docs
20562056
-- data in xLibraryA
20572057
private command addToDictionaryFromFolder pFolder, @xLibraryA
2058-
local tDefaultFolder
2059-
put the defaultFolder into tDefaultFolder
2060-
20612058
docsBuilderProgressUpdate "", "Building dictionary from folder" && pFolder
2062-
set the defaultfolder to pFolder
2063-
get the files
2059+
get files(pFolder)
20642060
filter it with "*.lcdoc"
20652061
repeat for each line tFile in it
2066-
local tText, tParsedA
2062+
local tText, tParsedA, tDisplayName, tSynonymA
20672063
wait 0 with messages
20682064
put docsFileGetUTF8Contents(pFolder & slash & tFile, true) into tText
20692065
put revDocsParseDocText(tText) into tParsedA
20702066
repeat for each element tDoc in tParsedA["doc"]
2067+
put tDoc["display name"] into tDisplayName
20712068
-- TODO: Work out why something empty is returned
2072-
if tDoc["display name"] is empty then next repeat
2069+
if tDisplayName is empty then next repeat
20732070
addToList tDoc, xLibraryA
2071+
-- BWM fix for Bug 18305
2072+
-- add an additional entry to dictionary for each synonym to allow keyword search
2073+
if tDoc["Synonyms"] is not empty then
2074+
put tDoc["Synonyms"] into tSynonymA
2075+
repeat for each element tSynonymName in tSynonymA
2076+
local tSynonymDoc
2077+
if tSynonymName is tDisplayName then next repeat -- glossary entries include themselves
2078+
put tDoc into tSynonymDoc
2079+
put tSynonymName into tSynonymDoc["display name"]
2080+
if tDoc["Type"] is not "glossary" then
2081+
put " (Synonym of " & tDisplayName & ")" after tSynonymDoc["display name"]
2082+
end if
2083+
addToList tSynonymDoc, xLibraryA
2084+
end repeat
2085+
end if
2086+
-- end fix for Bug 18305
20742087
end repeat
20752088
end repeat
2076-
set the defaultFolder to tDefaultFolder
20772089
end addToDictionaryFromFolder
20782090

20792091
/*

builder/engine_builder.livecodescript

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ private command engineBuilderBuildEnvironment pEdition, pVersion
189189
local tKeyFile
190190
put the tempName into tKeyFile
191191
put tPubKey into URL ("binfile:" & tKeyFile)
192-
get shell(builderSystemFolder() & "/public_key_setter -ui" && builderCommercialFolder() & "/src/Environment.rev" && tKeyFile)
192+
get shell(builderSystemFolder() & "/public_key_setter -ui" && builderCommercialFolder() & "/src/environment.livecode" && tKeyFile)
193193
builderLog "message", it
194194
delete file tKeyFile
195195

builder/installer.livecode

46.2 KB
Binary file not shown.

builder/installer.rev

-127 KB
Binary file not shown.

0 commit comments

Comments
 (0)