diff --git a/build.cmd b/build.cmd index 1f5cca9..7714052 100644 --- a/build.cmd +++ b/build.cmd @@ -83,7 +83,7 @@ echo Generate docs echo ======================================================================== echo. echo "%~dp0.\README.md" --^> "%~dp0.\README.html" -"%PANDOC_DIR%\pandoc.exe" --verbose -f markdown-implicit_figures -t html5 --standalone --ascii --toc --toc-depth=2 --css="etc/style/gh-pandoc.css" -o "%~dp0.\README.html" "%~dp0.\README.yaml" "%~dp0.\README.md" +"%PANDOC_DIR%\pandoc.exe" --verbose -f markdown-implicit_figures -t html5 --standalone --ascii --toc --toc-depth=2 --css="etc/css/gh-pandoc.css" -o "%~dp0.\README.html" "%~dp0.\README.yaml" "%~dp0.\README.md" echo. echo. diff --git a/etc/style/gh-pandoc.css b/etc/css/gh-pandoc.css similarity index 100% rename from etc/style/gh-pandoc.css rename to etc/css/gh-pandoc.css diff --git a/etc/utils/7-zip/7za.exe b/etc/utils/7-zip/7za.exe new file mode 100644 index 0000000..2bdd57d Binary files /dev/null and b/etc/utils/7-zip/7za.exe differ diff --git a/etc/utils/7-zip/License.txt b/etc/utils/7-zip/License.txt new file mode 100644 index 0000000..48dc6c6 --- /dev/null +++ b/etc/utils/7-zip/License.txt @@ -0,0 +1,31 @@ + 7-Zip Extra + ~~~~~~~~~~~ + License for use and distribution + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Copyright (C) 1999-2019 Igor Pavlov. + + 7-Zip Extra files are under the GNU LGPL license. + + + Notes: + You can use 7-Zip Extra on any computer, including a computer in a commercial + organization. You don't need to register or pay for 7-Zip. + + + GNU LGPL information + -------------------- + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You can receive a copy of the GNU Lesser General Public License from + http://www.gnu.org/ + diff --git a/etc/utils/7-zip/readme.txt b/etc/utils/7-zip/readme.txt new file mode 100644 index 0000000..a54a313 --- /dev/null +++ b/etc/utils/7-zip/readme.txt @@ -0,0 +1,124 @@ +7-Zip Extra 19.00 +----------------- + +7-Zip Extra is package of extra modules of 7-Zip. + +7-Zip Copyright (C) 1999-2019 Igor Pavlov. + +7-Zip is free software. Read License.txt for more information about license. + +Source code of binaries can be found at: + http://www.7-zip.org/ + +This package contains the following files: + +7za.exe - standalone console version of 7-Zip with reduced formats support. +7za.dll - library for working with 7z archives +7zxa.dll - library for extracting from 7z archives +License.txt - license information +readme.txt - this file + +Far\ - plugin for Far Manager +x64\ - binaries for x64 + + +All 32-bit binaries can work in: + Windows 2000 / 2003 / 2008 / XP / Vista / 7 / 8 / 10 + and in any Windows x64 version with WoW64 support. +All x64 binaries can work in any Windows x64 version. + +All binaries use msvcrt.dll. + +7za.exe +------- + +7za.exe - is a standalone console version of 7-Zip with reduced formats support. + + Extra: 7za.exe : support for only some formats of 7-Zip. + 7-Zip: 7z.exe with 7z.dll : support for all formats of 7-Zip. + +7za.exe and 7z.exe from 7-Zip have same command line interface. +7za.exe doesn't use external DLL files. + +You can read Help File (7-zip.chm) from 7-Zip package for description +of all commands and switches for 7za.exe and 7z.exe. + +7za.exe features: + + - High compression ratio in 7z format + - Supported formats: + - Packing / unpacking: 7z, xz, ZIP, GZIP, BZIP2 and TAR + - Unpacking only: Z, lzma, CAB. + - Highest compression ratio for ZIP and GZIP formats. + - Fast compression and decompression + - Strong AES-256 encryption in 7z and ZIP formats. + +Note: LZMA SDK contains 7zr.exe - more reduced version of 7za.exe. +But you can use 7zr.exe as "public domain" code. + + + +DLL files +--------- + +7za.dll and 7zxa.dll are reduced versions of 7z.dll from 7-Zip. +7za.dll and 7zxa.dll support only 7z format. +Note: 7z.dll is main DLL file that works with all archive types in 7-Zip. + +7za.dll and 7zxa.dll support the following decoding methods: + - LZMA, LZMA2, PPMD, BCJ, BCJ2, COPY, 7zAES, BZip2, Deflate. + +7za.dll also supports 7z encoding with the following encoding methods: + - LZMA, LZMA2, PPMD, BCJ, BCJ2, COPY, 7zAES. + +7za.dll and 7zxa.dll work via COM interfaces. +But these DLLs don't use standard COM interfaces for objects creating. + +Look also example code that calls DLL functions (in source code of 7-Zip): + + 7zip\UI\Client7z + +Another example of binary that uses these interface is 7-Zip itself. +The following binaries from 7-Zip use 7z.dll: + - 7z.exe (console version) + - 7zG.exe (GUI version) + - 7zFM.exe (7-Zip File Manager) + +Note: The source code of LZMA SDK also contains the code for similar DLLs +(DLLs without BZip2, Deflate support). And these files from LZMA SDK can be +used as "public domain" code. If you use LZMA SDK files, you don't need to +follow GNU LGPL rules, if you want to change the code. + + + + +License FAQ +----------- + +Can I use the EXE or DLL files from 7-Zip in a commercial application? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Yes, but you are required to specify in documentation for your application: + (1) that you used parts of the 7-Zip program, + (2) that 7-Zip is licensed under the GNU LGPL license and + (3) you must give a link to www.7-zip.org, where the source code can be found. + + +Can I use the source code of 7-Zip in a commercial application? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Since 7-Zip is licensed under the GNU LGPL you must follow the rules of that license. +In brief, it means that any LGPL'ed code must remain licensed under the LGPL. +For instance, you can change the code from 7-Zip or write a wrapper for some +code from 7-Zip and compile it into a DLL; but, the source code of that DLL +(including your modifications / additions / wrapper) must be licensed under +the LGPL or GPL. +Any other code in your application can be licensed as you wish. This scheme allows +users and developers to change LGPL'ed code and recompile that DLL. That is the +idea of free software. Read more here: http://www.gnu.org/. + + + +Note: You can look also LZMA SDK, which is available under a more liberal license. + + +--- +End of document diff --git a/package.cmd b/package.cmd index ae7a9cd..94e1081 100644 --- a/package.cmd +++ b/package.cmd @@ -18,30 +18,6 @@ if "%ISO_DATE%"=="" ( goto:eof ) -set "OUTFILE=%~dp0.\out\launch5j-bin.%ISO_DATE%.zip" - -REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -REM Clean-up -REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -mkdir "%~dp0.\out" 2> NUL -del /F "%OUTFILE%" 2> NUL - -if exist "%OUTFILE%" ( - echo Failed to delete existing "%OUTFILE%" file! - pause - goto:eof -) - -set "PACK_PATH=%~dp0.\out\~package%RANDOM%" -rmdir /Q /S "%PACK_PATH%" 2> NUL - -if exist "%PACK_PATH%" ( - echo Failed to delete existing "%PACK_PATH%" directory! - pause - goto:eof -) - REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ REM Build! REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -59,25 +35,49 @@ REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ REM Copy binaries REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +set "PACK_PATH=%~dp0.\out\~pkg%RANDOM%" +rmdir /Q /S "%PACK_PATH%" 2> NUL + mkdir "%PACK_PATH%" mkdir "%PACK_PATH%\x64" mkdir "%PACK_PATH%\etc" mkdir "%PACK_PATH%\etc\img" -mkdir "%PACK_PATH%\etc\style" +mkdir "%PACK_PATH%\etc\css" mkdir "%PACK_PATH%\example" copy /Y "%~dp0.\*.txt" "%PACK_PATH%" copy /Y "%~dp0.\*.html" "%PACK_PATH%" copy /Y "%~dp0.\bin\launch5j_x86*.exe" "%PACK_PATH%" copy /Y "%~dp0.\bin\launch5j_amd64*.exe" "%PACK_PATH%\x64" -copy /Y "%~dp0.\etc\style\*.css" "%PACK_PATH%\etc\style" copy /Y "%~dp0.\etc\img\*.png" "%PACK_PATH%\etc\img" +copy /Y "%~dp0.\etc\css\*.css" "%PACK_PATH%\etc\css" copy /Y /B "%~dp0.\bin\launch5j_x86_wrapped_registry.exe" + "%~dp0.\src\example\dist\example.jar" "%PACK_PATH%\example\example.exe" copy /Y "%~dp0.\src\example\src\com\muldersoft\l5j\example\Main.java" "%PACK_PATH%\example\example.java" attrib +R "%PACK_PATH%\*.*" /S +REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +REM Output file +REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +mkdir "%~dp0.\out" 2> NUL + +set /A COUNT=1 +set "OUTFILE=%~dp0.\out\launch5j-bin.%ISO_DATE%" + +:outfile_loop +if exist "%OUTFILE%.zip" goto:outfile_next +if exist "%OUTFILE%.7z" goto:outfile_next +goto:outfile_done + +:outfile_next +set /A COUNT=%COUNT%+1 +set "OUTFILE=%~dp0.\out\launch5j-bin.%ISO_DATE%.r%COUNT%" +goto:outfile_loop + +:outfile_done + REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ REM Create ZIP package REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -89,21 +89,41 @@ if not "%ERRORLEVEL%"=="0" ( goto:eof ) +echo. echo ======================================================================== echo Creating ZIP echo ======================================================================== echo. -"%~dp0.\etc\utils\info-zip\zip.exe" -r -9 "%OUTFILE%" "*.*" +"%~dp0.\etc\utils\info-zip\zip.exe" -r -9 "%OUTFILE%.zip" "*.*" if not "%ERRORLEVEL%"=="0" ( pause goto:eof ) +attrib +R "%OUTFILE%.zip" + +echo. +echo ======================================================================== +echo Creating 7z +echo ======================================================================== +echo. +"%~dp0.\etc\utils\7-zip\7za.exe" a -t7z -r "%OUTFILE%.7z" "*.*" + +if not "%ERRORLEVEL%"=="0" ( + pause + goto:eof +) + +attrib +R "%OUTFILE%.7z" + +REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +REM Clean up +REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + popd rmdir /Q /S "%PACK_PATH%" 2> NUL -attrib +R "%OUTFILE%" echo. echo PACKAGE COMPLETED.