This commit is contained in:
parent
95b95b848d
commit
96ad5101d9
7 changed files with 62 additions and 11 deletions
|
@ -40,9 +40,7 @@ jobs:
|
||||||
- name: Build package
|
- name: Build package
|
||||||
run: |
|
run: |
|
||||||
basex scripts/install.bxs
|
basex scripts/install.bxs
|
||||||
cp dist/pdfbox-3.0.4.fat.jar /usr/local/basex/lib/custom/
|
|
||||||
echo "PWS" $PWD
|
|
||||||
ls -l /usr/local/basex/lib/custom
|
|
||||||
- name: run tests
|
- name: run tests
|
||||||
run: |
|
run: |
|
||||||
basex -Wt src/test
|
basex -Wt src/test
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
30/1/2025.................
|
30/1/2025.................
|
||||||
..lgnfjfggfgxhcsxwnndc
|
..lgnfjfggfgxhcsxwnndcc
|
|
@ -26,7 +26,7 @@ return
|
||||||
@remark
|
@remark
|
||||||
:)
|
:)
|
||||||
declare function build:fatjar-with-lib($input-dir as xs:string,$manifest-jar as xs:string)
|
declare function build:fatjar-with-lib($input-dir as xs:string,$manifest-jar as xs:string)
|
||||||
{
|
as xs:base64Binary{
|
||||||
let $bin :=file:read-binary($input-dir || $manifest-jar)
|
let $bin :=file:read-binary($input-dir || $manifest-jar)
|
||||||
|
|
||||||
let $lib:=file:list($input-dir || "lib/", false(), "*.jar")!concat("lib/",.)
|
let $lib:=file:list($input-dir || "lib/", false(), "*.jar")!concat("lib/",.)
|
||||||
|
@ -55,6 +55,32 @@ as xs:base64Binary{
|
||||||
archive:update($jar,$name,$file)
|
archive:update($jar,$name,$file)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
declare function build:xar-create($base as xs:string)
|
||||||
|
as xs:base64Binary{
|
||||||
|
let $entries:=
|
||||||
|
build:xar-add(map{},file:resolve-path("jars/",$base),"content/")
|
||||||
|
=>build:xar-add(file:resolve-path("src/Pdfbox3.xqm",$base),"content/")
|
||||||
|
=>build:xar-add(file:resolve-path("src/metadata/",$base),"")
|
||||||
|
return archive:create($entries?name, $entries?content,
|
||||||
|
map { "format" : "zip", "algorithm" : "deflate" })
|
||||||
|
};
|
||||||
|
|
||||||
|
(:~ zip data for $dir
|
||||||
|
:)
|
||||||
|
declare function build:xar-add($map as map(*),$src as xs:string,$xar-dir as xs:string)
|
||||||
|
as map(*){
|
||||||
|
let $_:=trace(count($map?name),"size ")
|
||||||
|
let $names:=if(file:is-dir($src))
|
||||||
|
then file:children($src)
|
||||||
|
else $src
|
||||||
|
return map:merge((
|
||||||
|
$map,
|
||||||
|
map{"name":$names!concat($xar-dir,file:name(.)),
|
||||||
|
"content":$names!file:read-binary( .)}
|
||||||
|
),
|
||||||
|
map{"duplicates":"combine"}
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
(:~ download $files from $urls to $destdir:)
|
(:~ download $files from $urls to $destdir:)
|
||||||
declare variable $build:REPO as xs:string external :="https://repo1.maven.org/maven2/";
|
declare variable $build:REPO as xs:string external :="https://repo1.maven.org/maven2/";
|
||||||
|
@ -68,7 +94,7 @@ as empty-sequence(){
|
||||||
=>trace("Download: ")))
|
=>trace("Download: ")))
|
||||||
};
|
};
|
||||||
|
|
||||||
(:~ write-binary but create dir if required :)
|
(:~ write-binary, creating dir if required :)
|
||||||
declare function build:write-binary($dest as xs:string,$contents)
|
declare function build:write-binary($dest as xs:string,$contents)
|
||||||
as empty-sequence(){
|
as empty-sequence(){
|
||||||
file:create-dir(file:parent($dest)),
|
file:create-dir(file:parent($dest)),
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
# run query
|
# run query
|
||||||
XQUERY "make fat jar.."
|
XQUERY "make fat jar.."
|
||||||
RUN make-fat-jar.xq
|
RUN make-xar.xq
|
||||||
XQUERY "Repo install.."
|
XQUERY "Repo install.."
|
||||||
REPO INSTALL dist/pdfbox-3.0.4.fat.jar
|
REPO INSTALL dist/pdfbox.xar
|
||||||
REPO LIST
|
REPO LIST
|
||||||
XQUERY "add-to-custom.."
|
|
||||||
RUN add-to-custom.xq
|
|
||||||
#TEST src/test
|
|
||||||
|
|
8
scripts/make-xar.xq
Normal file
8
scripts/make-xar.xq
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
|
||||||
|
import module namespace build = 'urn:quodatum:build1' at 'build.xqm';
|
||||||
|
|
||||||
|
declare variable $base:= file:resolve-path("../",static-base-uri())=>trace("base ");
|
||||||
|
let $xar:=build:xar-create($base)
|
||||||
|
let $output-file := file:resolve-path("dist/pdfbox.xar",$base)
|
||||||
|
return (build:write-binary($output-file, $xar),
|
||||||
|
trace($output-file,"zar: "))
|
7
src/metadata/basex.xml
Normal file
7
src/metadata/basex.xml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
<package xmlns="http://www.basex.org/modules/pkg">
|
||||||
|
<jar>pdfbox-3.0.4.jar</jar>
|
||||||
|
<jar>pdfbox-io-3.0.4.jar</jar>
|
||||||
|
<jar>fontbox-3.0.4.jar</jar>
|
||||||
|
<jar>commons-logging-1.3.4.jar</jar>
|
||||||
|
<class>org.apache.pdfbox.pdmodel.PDDocument</class>
|
||||||
|
</package>
|
13
src/metadata/expath-pkg.xml
Normal file
13
src/metadata/expath-pkg.xml
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
<package xmlns="http://expath.org/ns/pkg"
|
||||||
|
name="org.expkg_zone58.Pdfbox3"
|
||||||
|
abbrev="pdfbox"
|
||||||
|
version="0.1.0"
|
||||||
|
spec="1.0">
|
||||||
|
|
||||||
|
<title>BaseX interface to Pdfbox (https://pdfbox.apache.org/) version 3</title>
|
||||||
|
<dependency processor="basex" name="value"/>
|
||||||
|
<xquery>
|
||||||
|
<namespace>org.expkg_zone58.Pdfbox3</namespace>
|
||||||
|
<file>Pdfbox3.xqm</file>
|
||||||
|
</xquery>
|
||||||
|
</package>
|
Loading…
Add table
Reference in a new issue