Skip to content

Commit

Permalink
Improve script and default config handling for distribution.
Browse files Browse the repository at this point in the history
For scripts, migrate gen_nsis.lua to dist/gen_nsis.py since Python can
be run in stock AppVeyor environments whereas Lua is more challenging.
Edit the script to filter out plugin directories containing "_" or
"debug" which are not meant for release. Use the output of this script
directly when building the installer instead of copy-pasting it. Update
the zip command for Mac distributions to perform the same filtering on
the set of included scripts.

For the default config, move it to an explicit file instead of
generating it inline in the .nsi script, and bundle it on Mac as well.
Update the code to read from the default config if no config is present.

See mrichards42#40
  • Loading branch information
jpd236 committed Feb 10, 2020
1 parent 28ecbd9 commit 6ae002b
Show file tree
Hide file tree
Showing 12 changed files with 40 additions and 147 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
/bin
/build
/lib
/dist/scripts.nsi
/dist/XWord-Windows.exe
/dist/packages
/doc/chm
Expand Down
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ script:

# For deployed Mac builds, zip the .app folder
before_deploy:
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then pushd bin/$CONFIGURATION && zip -r XWord-macOS.zip XWord.app/ -x *.fbp && popd; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then pushd bin/$CONFIGURATION && zip -r XWord-macOS.zip XWord.app/ -x *.fbp -x "*/scripts/_*" -x "*/scripts/*debug*" && popd; fi

# Deploy tagged release builds to GitHub Releases
# TODO(#40): Deployment for Linux.
Expand Down
2 changes: 1 addition & 1 deletion appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ build_script:
- msbuild build/vs2010/XWord.sln /p:Configuration=%CONFIGURATION%
# For release builds, also build docs and run dist steps.
- IF %CONFIGURATION%==Release pushd doc & make_help.cmd & popd
- IF %CONFIGURATION%==Release pushd dist & "%ProgramFiles(x86)%\NSIS\makensis.exe" /V4 XWord.nsi & popd
- IF %CONFIGURATION%==Release pushd dist & python gen_nsis.py > scripts.nsi & "%ProgramFiles(x86)%\NSIS\makensis.exe" /V4 XWord.nsi & popd

# Zip the full build folder and make it available as an artifact.
after_build:
Expand Down
8 changes: 8 additions & 0 deletions default_config.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[Layouts]
Full\ View=layout2|name=Logger;caption=Logger;state=18875390;dir=1;layer=0;row=6;pos=0;prop=100000;bestw=350;besth=540;minw=-1;minh=-1;maxw=-1;maxh=-1;floatx=105;floaty=177;floatw=350;floath=540|name=Grid;caption=Grid;state=0;dir=5;layer=0;row=0;pos=0;prop=100000;bestw=638;besth=619;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=272;floath=647|name=Clue;caption=Clue Prompt;state=18874620;dir=1;layer=2;row=0;pos=0;prop=100000;bestw=638;besth=75;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=272;floath=75|name=Notes;caption=Notes;state=18876415;dir=4;layer=0;row=0;pos=0;prop=100000;bestw=365;besth=288;minw=15;minh=15;maxw=-1;maxh=-1;floatx=331;floaty=206;floatw=365;floath=288|name=/Metadata/Author;caption=Author;state=18874620;dir=1;layer=3;row=0;pos=1;prop=99614;bestw=251;besth=34;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=87;floath=20|name=/Metadata/Copyright;caption=Copyright;state=18874620;dir=3;layer=0;row=1;pos=0;prop=83228;bestw=638;besth=34;minw=15;minh=15;maxw=-1;maxh=-1;floatx=13;floaty=801;floatw=87;floath=49|name=/Metadata/Title;caption=Title;state=18874620;dir=1;layer=3;row=0;pos=0;prop=153658;bestw=387;besth=34;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=86;floath=20|name=ClueList1;caption=Across;state=18875388;dir=4;layer=5;row=0;pos=0;prop=100000;bestw=395;besth=760;minw=15;minh=15;maxw=-1;maxh=-1;floatx=280;floaty=194;floatw=300;floath=322|name=ClueList2;caption=Down;state=18875388;dir=4;layer=4;row=0;pos=0;prop=100000;bestw=395;besth=760;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-12;floaty=517;floatw=300;floath=323|name=00520f304e5da8570000014700000007;caption=Notes;state=18876414;dir=4;layer=0;row=0;pos=1;prop=100000;bestw=-1;besth=-1;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=250;floath=250|dock_size(5,0,0)=22|dock_size(1,3,0)=34|dock_size(1,2,0)=75|dock_size(4,4,0)=223|dock_size(4,5,0)=223|dock_size(3,0,1)=34|frame_size=808,543|
Floating\ Clues=layout2|name=Logger;caption=Logger;state=18875390;dir=1;layer=0;row=6;pos=0;prop=100000;bestw=350;besth=540;minw=-1;minh=-1;maxw=-1;maxh=-1;floatx=105;floaty=177;floatw=350;floath=540|name=Grid;caption=Grid;state=0;dir=5;layer=0;row=0;pos=0;prop=100000;bestw=1440;besth=619;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=272;floath=647|name=Clue;caption=Clue Prompt;state=18874620;dir=1;layer=2;row=0;pos=0;prop=100000;bestw=1440;besth=75;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=272;floath=75|name=Notes;caption=Notes;state=18876415;dir=4;layer=0;row=0;pos=0;prop=100000;bestw=365;besth=288;minw=15;minh=15;maxw=-1;maxh=-1;floatx=331;floaty=206;floatw=365;floath=288|name=/Metadata/Author;caption=Author;state=18874620;dir=1;layer=3;row=0;pos=1;prop=99614;bestw=567;besth=34;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=87;floath=20|name=/Metadata/Copyright;caption=Copyright;state=18874620;dir=3;layer=0;row=1;pos=0;prop=83228;bestw=1440;besth=34;minw=15;minh=15;maxw=-1;maxh=-1;floatx=13;floaty=801;floatw=87;floath=49|name=/Metadata/Title;caption=Title;state=18874620;dir=1;layer=3;row=0;pos=0;prop=153658;bestw=873;besth=34;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=86;floath=20|name=ClueList1;caption=Across;state=18875389;dir=4;layer=5;row=0;pos=0;prop=100000;bestw=409;besth=760;minw=15;minh=15;maxw=-1;maxh=-1;floatx=163;floaty=187;floatw=300;floath=322|name=ClueList2;caption=Down;state=18875389;dir=4;layer=4;row=0;pos=0;prop=100000;bestw=409;besth=760;minw=15;minh=15;maxw=-1;maxh=-1;floatx=422;floaty=470;floatw=300;floath=323|name=00520f304e5da8570000014700000007;caption=Notes;state=18876414;dir=4;layer=0;row=0;pos=1;prop=100000;bestw=-1;besth=-1;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=250;floath=250|dock_size(5,0,0)=22|dock_size(1,3,0)=34|dock_size(1,2,0)=75|dock_size(3,0,1)=34|frame_size=1440,762|
Side\ Clues=layout2|name=Logger;caption=Logger;state=18875390;dir=1;layer=0;row=6;pos=0;prop=100000;bestw=350;besth=540;minw=-1;minh=-1;maxw=-1;maxh=-1;floatx=105;floaty=177;floatw=350;floath=540|name=Grid;caption=Grid;state=0;dir=5;layer=0;row=0;pos=0;prop=100000;bestw=420;besth=401;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=272;floath=647|name=Clue;caption=Clue Prompt;state=18874620;dir=1;layer=2;row=0;pos=0;prop=100000;bestw=420;besth=75;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=272;floath=75|name=Notes;caption=Notes;state=18876415;dir=4;layer=0;row=0;pos=0;prop=100000;bestw=365;besth=288;minw=15;minh=15;maxw=-1;maxh=-1;floatx=331;floaty=206;floatw=365;floath=288|name=/Metadata/Author;caption=Author;state=18874620;dir=1;layer=3;row=0;pos=1;prop=99614;bestw=166;besth=34;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=87;floath=20|name=/Metadata/Copyright;caption=Copyright;state=18874620;dir=3;layer=0;row=1;pos=0;prop=83228;bestw=420;besth=28;minw=15;minh=15;maxw=-1;maxh=-1;floatx=13;floaty=801;floatw=87;floath=49|name=/Metadata/Title;caption=Title;state=18874620;dir=1;layer=3;row=0;pos=0;prop=153658;bestw=254;besth=34;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=86;floath=20|name=ClueList1;caption=Across;state=18875388;dir=4;layer=4;row=0;pos=0;prop=100000;bestw=188;besth=536;minw=15;minh=15;maxw=-1;maxh=-1;floatx=237;floaty=770;floatw=300;floath=322|name=ClueList2;caption=Down;state=18875388;dir=2;layer=4;row=0;pos=0;prop=100000;bestw=188;besth=536;minw=15;minh=15;maxw=-1;maxh=-1;floatx=501;floaty=773;floatw=300;floath=323|name=00520f304e5da8570000014700000007;caption=Notes;state=18876414;dir=4;layer=0;row=0;pos=1;prop=100000;bestw=-1;besth=-1;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=250;floath=250|dock_size(5,0,0)=22|dock_size(1,3,0)=34|dock_size(1,2,0)=75|dock_size(3,0,1)=28|dock_size(4,4,0)=190|dock_size(2,4,0)=190|frame_size=808,543|
Stacked\ Clues\ \(Left\)=layout2|name=Logger;caption=Logger;state=18875390;dir=1;layer=0;row=6;pos=0;prop=100000;bestw=350;besth=540;minw=-1;minh=-1;maxw=-1;maxh=-1;floatx=105;floaty=177;floatw=350;floath=540|name=Grid;caption=Grid;state=0;dir=5;layer=0;row=0;pos=0;prop=100000;bestw=457;besth=458;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=272;floath=647|name=Clue;caption=Clue Prompt;state=18874620;dir=1;layer=2;row=0;pos=0;prop=100000;bestw=457;besth=75;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=272;floath=75|name=Notes;caption=Notes;state=18876415;dir=4;layer=0;row=0;pos=0;prop=100000;bestw=365;besth=288;minw=15;minh=15;maxw=-1;maxh=-1;floatx=331;floaty=206;floatw=365;floath=288|name=/Metadata/Author;caption=Author;state=18874620;dir=1;layer=3;row=0;pos=1;prop=99614;bestw=180;besth=34;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=87;floath=20|name=/Metadata/Copyright;caption=Copyright;state=18874620;dir=3;layer=0;row=1;pos=0;prop=83228;bestw=457;besth=29;minw=15;minh=15;maxw=-1;maxh=-1;floatx=13;floaty=801;floatw=87;floath=49|name=/Metadata/Title;caption=Title;state=18874620;dir=1;layer=3;row=0;pos=0;prop=153658;bestw=277;besth=34;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=86;floath=20|name=ClueList1;caption=Across;state=18875388;dir=4;layer=5;row=0;pos=0;prop=100000;bestw=345;besth=294;minw=15;minh=15;maxw=-1;maxh=-1;floatx=280;floaty=194;floatw=300;floath=322|name=ClueList2;caption=Down;state=18875388;dir=4;layer=5;row=0;pos=1;prop=100000;bestw=345;besth=294;minw=15;minh=15;maxw=-1;maxh=-1;floatx=414;floaty=81;floatw=300;floath=323|name=00520f304e5da8570000014700000007;caption=Notes;state=18876414;dir=4;layer=0;row=0;pos=1;prop=100000;bestw=-1;besth=-1;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=250;floath=250|dock_size(5,0,0)=22|dock_size(1,3,0)=34|dock_size(1,2,0)=75|dock_size(4,5,0)=336|dock_size(3,0,1)=29|frame_size=808,596|
Stacked\ Clues\ \(Right\)=layout2|name=Logger;caption=Logger;state=18875390;dir=1;layer=0;row=6;pos=0;prop=100000;bestw=350;besth=540;minw=-1;minh=-1;maxw=-1;maxh=-1;floatx=105;floaty=177;floatw=350;floath=540|name=Grid;caption=Grid;state=0;dir=5;layer=0;row=0;pos=0;prop=100000;bestw=490;besth=458;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=272;floath=647|name=Clue;caption=Clue Prompt;state=18874620;dir=1;layer=2;row=0;pos=0;prop=100000;bestw=490;besth=75;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=272;floath=75|name=Notes;caption=Notes;state=18876415;dir=4;layer=0;row=0;pos=0;prop=100000;bestw=365;besth=288;minw=15;minh=15;maxw=-1;maxh=-1;floatx=331;floaty=206;floatw=365;floath=288|name=/Metadata/Author;caption=Author;state=18874620;dir=1;layer=3;row=0;pos=1;prop=99614;bestw=193;besth=34;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=87;floath=20|name=/Metadata/Copyright;caption=Copyright;state=18874620;dir=3;layer=0;row=1;pos=0;prop=83228;bestw=490;besth=29;minw=15;minh=15;maxw=-1;maxh=-1;floatx=13;floaty=801;floatw=87;floath=49|name=/Metadata/Title;caption=Title;state=18874620;dir=1;layer=3;row=0;pos=0;prop=153658;bestw=297;besth=34;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=86;floath=20|name=ClueList1;caption=Across;state=18875388;dir=2;layer=4;row=0;pos=0;prop=100000;bestw=312;besth=294;minw=15;minh=15;maxw=-1;maxh=-1;floatx=253;floaty=209;floatw=300;floath=322|name=ClueList2;caption=Down;state=18875388;dir=2;layer=4;row=0;pos=1;prop=100000;bestw=312;besth=294;minw=15;minh=15;maxw=-1;maxh=-1;floatx=250;floaty=509;floatw=300;floath=323|name=00520f304e5da8570000014700000007;caption=Notes;state=18876414;dir=4;layer=0;row=0;pos=1;prop=100000;bestw=-1;besth=-1;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=250;floath=250|dock_size(5,0,0)=22|dock_size(1,3,0)=34|dock_size(1,2,0)=75|dock_size(3,0,1)=29|dock_size(2,4,0)=323|frame_size=808,596|
Clues\ Below=layout2|name=Logger;caption=Logger;state=18875390;dir=1;layer=0;row=6;pos=0;prop=100000;bestw=350;besth=540;minw=-1;minh=-1;maxw=-1;maxh=-1;floatx=105;floaty=177;floatw=350;floath=540|name=Grid;caption=Grid;state=0;dir=5;layer=0;row=0;pos=0;prop=100000;bestw=1438;besth=572;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=272;floath=647|name=Clue;caption=Clue Prompt;state=18874620;dir=1;layer=2;row=0;pos=0;prop=100000;bestw=1438;besth=73;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=272;floath=75|name=Notes;caption=Notes;state=18876415;dir=4;layer=0;row=0;pos=0;prop=100000;bestw=365;besth=288;minw=15;minh=15;maxw=-1;maxh=-1;floatx=331;floaty=206;floatw=365;floath=288|name=/Metadata/Author;caption=Author;state=18874620;dir=1;layer=3;row=0;pos=1;prop=99614;bestw=563;besth=32;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=87;floath=20|name=/Metadata/Copyright;caption=Copyright;state=18874620;dir=3;layer=0;row=1;pos=0;prop=83228;bestw=1438;besth=26;minw=15;minh=15;maxw=-1;maxh=-1;floatx=13;floaty=801;floatw=87;floath=49|name=/Metadata/Title;caption=Title;state=18874620;dir=1;layer=3;row=0;pos=0;prop=153658;bestw=869;besth=32;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=86;floath=20|name=ClueList1;caption=Across;state=18875388;dir=3;layer=1;row=0;pos=0;prop=100000;bestw=716;besth=33;minw=15;minh=15;maxw=-1;maxh=-1;floatx=163;floaty=187;floatw=300;floath=322|name=ClueList2;caption=Down;state=18875388;dir=3;layer=1;row=0;pos=1;prop=100000;bestw=716;besth=33;minw=15;minh=15;maxw=-1;maxh=-1;floatx=422;floaty=470;floatw=300;floath=323|name=00520f304e5da8570000014700000007;caption=Notes;state=18876414;dir=4;layer=0;row=0;pos=1;prop=100000;bestw=-1;besth=-1;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=250;floath=250|dock_size(5,0,0)=22|dock_size(1,3,0)=34|dock_size(1,2,0)=75|dock_size(3,0,1)=28|dock_size(3,1,0)=35|frame_size=1440,762|
Clues\ Above=layout2|name=Logger;caption=Logger;state=18875390;dir=1;layer=0;row=6;pos=0;prop=100000;bestw=350;besth=540;minw=-1;minh=-1;maxw=-1;maxh=-1;floatx=105;floaty=177;floatw=350;floath=540|name=Grid;caption=Grid;state=0;dir=5;layer=0;row=0;pos=0;prop=100000;bestw=1440;besth=585;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=272;floath=647|name=Clue;caption=Clue Prompt;state=18874620;dir=1;layer=2;row=0;pos=0;prop=100000;bestw=1440;besth=75;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=272;floath=75|name=Notes;caption=Notes;state=18876415;dir=4;layer=0;row=0;pos=0;prop=100000;bestw=365;besth=288;minw=15;minh=15;maxw=-1;maxh=-1;floatx=331;floaty=206;floatw=365;floath=288|name=/Metadata/Author;caption=Author;state=18874620;dir=1;layer=3;row=0;pos=1;prop=99614;bestw=567;besth=34;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=87;floath=20|name=/Metadata/Copyright;caption=Copyright;state=18874620;dir=3;layer=0;row=1;pos=0;prop=83228;bestw=1440;besth=28;minw=15;minh=15;maxw=-1;maxh=-1;floatx=13;floaty=801;floatw=87;floath=49|name=/Metadata/Title;caption=Title;state=18874620;dir=1;layer=3;row=0;pos=0;prop=153658;bestw=873;besth=34;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=86;floath=20|name=ClueList1;caption=Across;state=18875388;dir=1;layer=4;row=0;pos=0;prop=100000;bestw=716;besth=34;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-2;floaty=86;floatw=300;floath=322|name=ClueList2;caption=Down;state=18875388;dir=1;layer=4;row=0;pos=1;prop=100000;bestw=716;besth=34;minw=15;minh=15;maxw=-1;maxh=-1;floatx=7;floaty=798;floatw=300;floath=323|name=00520f304e5da8570000014700000007;caption=Notes;state=18876414;dir=4;layer=0;row=0;pos=1;prop=100000;bestw=-1;besth=-1;minw=15;minh=15;maxw=-1;maxh=-1;floatx=-1;floaty=-1;floatw=250;floath=250|dock_size(5,0,0)=22|dock_size(1,3,0)=34|dock_size(1,2,0)=75|dock_size(3,0,1)=28|dock_size(1,4,0)=32|frame_size=1440,762|
Loading

0 comments on commit 6ae002b

Please sign in to comment.