Skip to content
This repository was archived by the owner on Aug 31, 2021. It is now read-only.

Commit 7354194

Browse files
committed
Merge branch 'develop' into develop-js
2 parents 8d598f4 + 1a95bc6 commit 7354194

Some content is hidden

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

76 files changed

+2483
-403
lines changed

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727

2828
# Declare files that will always have LF line endings on checkout.
2929
*.sh text eol=lf
30+
*.inc text eol=lf
3031

3132
# Denote all files that are truly binary and should not be modified.
3233
*.png binary

Installer/application.desktop

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
[Desktop Entry]
2+
Version=1.0
3+
Encoding=UTF-8
4+
Type=Application
5+
Name=[[ProductTitle]]
6+
Comment=IDE for creating and editing LiveCode applications.
7+
Icon=runrev-[[ProductTag]]
8+
Exec="[[TargetFolder]]/[[ProductName]].[[TargetArchitecture]]" %U
9+
Categories=Development;IDE;
10+
StartupWMClass=[[ProductTag]]

Installer/application.png

1.03 KB
Loading

Installer/description.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
LiveCode lets you create apps from one code base that run on every major device and platform.
2+
3+
In a recent survey, our customers told us that LiveCode enabled them to get their projects done in less than half the time, compared to the best alternative.
4+
5+
You can achieve your project goals in a fraction of the time with our compile-free workflow. Make iterative, agile changes changes in real time. Plus, use LiveCode to write code that makes sense. LiveCode's natural programming language is far easier to learn and use than Java, Objective-C, and other traditional languages.
6+
7+
LiveCode allows you to write once and deploy everywhere: iOS, Android, Windows, Mac, Linux, Web and Server.

Installer/document.png

2.07 KB
Loading

Installer/package.txt

Lines changed: 968 additions & 0 deletions
Large diffs are not rendered by default.

buildbot.mk

Lines changed: 34 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,8 @@ BUILDTOOL_STACK = builder/builder_tool.livecodescript
8585

8686
WKHTMLTOPDF ?= $(shell which wkhtmltopdf 2>/dev/null)
8787

88+
BUILD_EDITION ?= community
89+
8890
# Those directories are given to the tool builder, and they might get passed
8991
# (like private-dir) to engine functions, to which a path relative to this file
9092
# becomes invalid).
@@ -94,15 +96,18 @@ output_dir=${top_src_dir}
9496
work_dir=${top_src_dir}/_cache/builder_tool
9597
private_dir=${top_src_dir}/..
9698
bin_dir = ${top_src_dir}/$(BUILD_PLATFORM)-bin
99+
docs_source_dir = ${top_src_dir}/docs
100+
docs_private_source_dir = ${private_dir}/docs
101+
docs_build_dir = ${top_src_dir}/_build/docs-build
97102

98103
ifeq ($(BUILD_PLATFORM),mac)
99104
LIVECODE = $(bin_dir)/LiveCode-Community.app/Contents/MacOS/LiveCode-Community
100105
buildtool_platform = mac
101106
else ifeq ($(BUILD_PLATFORM),linux-x86)
102-
LIVECODE = $(bin_dir)/livecode-community
107+
LIVECODE = $(bin_dir)/LiveCode-Community
103108
buildtool_platform = linux
104109
else ifeq ($(BUILD_PLATFORM),linux-x86_64)
105-
LIVECODE = $(bin_dir)/livecode-community
110+
LIVECODE = $(bin_dir)/LiveCode-Community
106111
buildtool_platform = linux
107112
endif
108113

@@ -118,8 +123,26 @@ UPLOAD_SERVER ?= meg.on-rev.com
118123
UPLOAD_PATH = staging/$(BUILD_LONG_VERSION)/$(GIT_VERSION)
119124
UPLOAD_MAX_RETRIES = 50
120125

121-
dist-docs:
122-
$(buildtool_command) --platform $(buildtool_platform) --stage docs
126+
dist-docs: dist-docs-community
127+
128+
ifeq ($(BUILD_EDITION),commercial)
129+
dist-docs: dist-docs-commercial
130+
endif
131+
132+
dist-docs-community:
133+
mkdir -p $(docs_build_dir)
134+
cp -R $(docs_source_dir) $(docs_build_dir)/raw-community
135+
$(buildtool_command) --platform $(buildtool_platform) --stage docs \
136+
--docs-dir $(docs_build_dir)/raw-community \
137+
--built-docs-dir $(docs_build_dir)/cooked-community
138+
139+
dist-docs-commercial:
140+
mkdir -p $(docs_build_dir)
141+
cp -R $(docs_source_dir) $(docs_build_dir)/raw-commercial
142+
rsync -a $(docs_private_source_dir)/ $(docs_build_dir)/raw-commercial/
143+
$(buildtool_command) --platform $(buildtool_platform) --stage docs \
144+
--docs-dir $(docs_build_dir)/raw-commercial \
145+
--built-docs-dir $(docs_build_dir)/cooked-commercial
123146

124147
dist-notes:
125148
WKHTMLTOPDF=$(WKHTMLTOPDF) \
@@ -141,16 +164,20 @@ dist-server-commercial:
141164

142165
ifeq ($(BUILD_EDITION),commercial)
143166
dist-tools: dist-tools-commercial
144-
distmac-disk: distmac-disk-commercial
167+
distmac-disk: distmac-disk-indy distmac-disk-business
145168
endif
146169

147170
dist-tools: dist-tools-community
148171
distmac-disk: distmac-disk-community
149172

150173
dist-tools-community:
151-
$(buildtool_command) --platform linux --platform mac --platform win --stage tools --edition community
174+
$(buildtool_command) --platform mac --platform win --platform linux --stage tools --edition community \
175+
--built-docs-dir $(docs_build_dir)/cooked-community
152176
dist-tools-commercial:
153-
$(buildtool_command) --platform linux --platform mac --platform win --stage tools --edition commercial
177+
$(buildtool_command) --platform mac --platform win --platform linux --stage tools --edition indy \
178+
--built-docs-dir $(docs_build_dir)/cooked-commercial
179+
$(buildtool_command) --platform mac --platform win --platform linux --stage tools --edition business \
180+
--built-docs-dir $(docs_build_dir)/cooked-commercial
154181

155182
# Make a list of installers to be uploaded to the distribution server
156183
dist-upload-files.txt:

builder/builder_tool.livecodescript

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ on startup
2222
put "community" into tEdition
2323
put "stable" into tBuild
2424

25-
local tEngineDir, tPrivateDir, tOutputDir, tWorkDir
25+
local tEngineDir, tPrivateDir, tOutputDir, tWorkDir, tDocsDir, tBuiltDocsDir
2626

2727
put 1 into tArgIndex
2828
repeat while tArgIndex is among the keys of tArgs
@@ -47,7 +47,7 @@ on startup
4747
put tArgs[tArgIndex + 1] into tStage
4848
add 1 to tArgIndex
4949
else if tArgs[tArgIndex] is "--edition" then
50-
if tArgs[tArgIndex + 1] is not among the items of "community,commercial" then
50+
if tArgs[tArgIndex + 1] is not among the items of "community,indy,business,commercial" then
5151
__builderLog "error", "Unknown edition '" & tArgs[tArgIndex + 1] & "'"
5252
end if
5353
put tArgs[tArgIndex + 1] into tEdition
@@ -82,6 +82,18 @@ on startup
8282
end if
8383
put tArgs[tArgIndex + 1] into tWorkDir
8484
add 1 to tArgIndex
85+
else if tArgs[tArgIndex] is "--docs-dir" then
86+
if tArgs[tArgIndex + 1] is empty then
87+
__builderLog "error", "No path specified for --docs-dir argument"
88+
end if
89+
put tArgs[tArgIndex + 1] into tDocsDir
90+
add 1 to tArgIndex
91+
else if tArgs[tArgIndex] is "--built-docs-dir" then
92+
if tArgs[tArgIndex + 1] is empty then
93+
__builderLog "error", "No path specified for --built-docs-dir argument"
94+
end if
95+
put tArgs[tArgIndex + 1] into tBuiltDocsDir
96+
add 1 to tArgIndex
8597
else if tArgs[tArgIndex] is "--warn-as-error" then
8698
put true into sWarnAsError
8799
end if
@@ -92,6 +104,10 @@ on startup
92104
__builderLog "error", "No platforms specified"
93105
end if
94106

107+
if tEdition is "commercial" and tStage is not "server" then
108+
__builerLog "error", "Commercial is only a valid edition for server packages"
109+
end if
110+
95111
if tStage is "environment" then
96112
put empty into tPlatforms
97113
put true into tPlatforms["environment"]
@@ -116,6 +132,14 @@ on startup
116132
builderSetWorkDir tWorkDir
117133
end if
118134

135+
if tDocsDir is not empty then
136+
builderSetDocsDir tDocsDir
137+
end if
138+
139+
if tBuiltDocsDir is not empty then
140+
builderSetBuiltDocsDir tBuiltDocsDir
141+
end if
142+
119143
builderBuild tStage, the keys of tPlatforms, tEdition, tBuild
120144

121145
quit 0

builder/builder_utilities.livecodescript

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ local sEngineDir
33
local sWorkDir
44
local sOutputDir
55
local sPrivateDir
6+
local sDocsDir
7+
local sBuiltDocsDir
68

79
////////////////////////////////////////////////////////////////////////////////
810

@@ -34,6 +36,14 @@ command builderSetWorkDir pDir
3436
put pDir into sWorkDir
3537
end builderSetWorkDir
3638

39+
command builderSetDocsDir pDir
40+
put pDir into sDocsDir
41+
end builderSetDocsDir
42+
43+
command builderSetBuiltDocsDir pDir
44+
put pDir into sBuiltDocsDir
45+
end builderSetBuiltDocsDir
46+
3747
command builderSetOutputDir pDir
3848
put pDir into sOutputDir
3949
end builderSetOutputDir
@@ -243,10 +253,16 @@ function builderGuideFolder
243253
end builderGuideFolder
244254

245255
function builderDocsFolder
256+
if sDocsDir is not empty then
257+
return sDocsDir
258+
end if
246259
return builderRepoFolder() & slash & "docs"
247260
end builderDocsFolder
248261

249262
function builderBuiltDocsFolder
263+
if sBuiltDocsDir is not empty then
264+
return sBuiltDocsDir
265+
end if
250266
return builderRepoFolder() & slash & "_build/docs"
251267
end builderBuiltDocsFolder
252268

builder/package_compiler.livecodescript

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,35 @@ private command compilerParse @self, pScript
359359
put "RootFolder" into tCommand["variable"]
360360
put empty into tCommand["value"]
361361
break
362+
case "additional"
363+
-- Ensure that the following word is "manifest" and that there is
364+
-- a final word containing the file to use
365+
if the number of words of tLine is not 3 or word 2 of tLine is not "manifest" then
366+
compilerSyntaxError self, "Invalid command, syntax is 'additional manifest <file>'", tLineNumber
367+
end if
368+
369+
-- Get the manifest file name and parse it too
370+
local tExtraManifest
371+
local tExtraManifestName
372+
put word 3 of tLine into tExtraManifestName
373+
if char 1 of tExtraManifestName is quote and char -1 of tExtraManifestName is quote then
374+
put char 2 to -2 of tExtraManifestName into tExtraManifestName
375+
end if
376+
put url ("file:" & builderRepoFolder() & slash & tExtraManifestName) into tExtraManifest
377+
if the result is not empty then
378+
compilerSyntaxError self, "Could not open additional manifest" && builderRepoFolder() & slash & tExtraManifestName, tLineNumber
379+
end if
380+
try
381+
compilerParse self, tExtraManifest
382+
catch tException
383+
-- Rethrow with some additional context information
384+
throw "In additional manifest" && tExtraManifestName & ":" && tException
385+
end try
386+
387+
-- Note that no executable commands are added beyond those that
388+
-- were added from the manifest file that was just included
389+
put "nop" into tCommand["type"]
390+
break
362391
case "include"
363392
-- Ensure that there are two words
364393
if the number of words of tLine is not 2 then
@@ -688,6 +717,8 @@ private command compilerExecute @self, pCommands
688717
case "desktop"
689718
compilerExecuteDesktop self, tCommand
690719
break
720+
case "nop"
721+
break
691722
default
692723
throw "Unknown command -" && tCommand["type"]
693724
end switch

0 commit comments

Comments
 (0)