diff --git a/BUILD.md b/BUILD.md new file mode 100644 index 0000000..6e73a06 --- /dev/null +++ b/BUILD.md @@ -0,0 +1,26 @@ + +===== How to build this project ? ===== + +This project was done in java so it requires a java compiler to be build under an executable form. + +It is expected you already obtained content of source since you are readeing this BUILD.md + +within same directory as this BUILD.md : + +``` +./init.sh +# will create build scripts from artlog_toolbox +# ./doit.sh +# depends on sharedrawweb for stl export +./fetch_dependencies.sh +ant dist +``` + + +Then create de .zip + +``` +source ./specificdoit.sh; create_zip_package +``` + +you ccan then provide and copy laby.zip to install it. \ No newline at end of file diff --git a/README b/README index b7e1822..16975a9 100644 --- a/README +++ b/README @@ -9,28 +9,36 @@ After years i finaly printed one maze, find it at https://www.thingiverse.com/th This is the very first usable part. It was developped under debian 7/8 but since it is java based it might be very easily recompiled or even just copied on other platform. -there is a console gui menu base with ./doit.sh +There is a console gui menu based with ./doit.sh requirement : you need a java jdk environment installed ( java + javac ) and ant ex ubuntu : sudo apt-get install default-jdk ant -run it by : +===== BUILD ===== -________Linux distribution_____________________ +See BUILD.md + + +===== INSTALL ===== + +obtain laby.zip directly build or from you own build ( see BUILD above ). + +``` +unzip laby.zip +``` + +it will create a artloglaby directory. + +===== RUN ===== + +run it on a Linux distribution with : + + +``` +cd artloglaby ; ./laby.sh +``` -mkdir github -cd github -git clone https://github.com/artlog/labystl.git -cd labystl -./init.sh -# will create build scripts from artlog_toolbox -# ./doit.sh -# depends on sharedrawweb for stl export -./fetch_dependencies.sh -ant dist -source ./specificdoit.sh; create_zip_package -unzip laby.zip; cd artloglaby ; ./laby.sh _______________________________________________ Save raw will actualy create a stl file diff --git a/build.xml b/build.xml index 68a5e9d..9a0b638 100644 --- a/build.xml +++ b/build.xml @@ -23,10 +23,12 @@ - + + + - + diff --git a/fetch_dependencies.sh b/fetch_dependencies.sh index 4f8d6fe..f76e958 100755 --- a/fetch_dependencies.sh +++ b/fetch_dependencies.sh @@ -1,9 +1,23 @@ #!/bin/bash +log_any() +{ + echo "$@" >&2 +} + +log_error() +{ + log_any "[ERROR] $@" +} + +log_info() +{ + log_any "[INFO] $@" +} + fetch_jackson_databind() { - libversion_jackson_databind=2.12.0 lib_jackson_databind=jackson-databind-${libversion_jackson_databind}.jar if [[ ! -e libs/$lib_jackson_databind ]] then @@ -20,15 +34,22 @@ fetch_zstd-jni() echo "compiled from https://github.com/luben/zstd-jni commit 54d3d50c16d96bd8a30e2d4c0a9648001a52d6f9" # had to hack through jar generation ... # cp ~/artisanlogiciel/ext_projects/java/zstd-jni/target/zstd-jni-1.5.2-2.jar . - libversion_zstdjni=1.5.2-2 pushd libs wget https://repo1.maven.org/maven2/com/github/luben/zstd-jni/${libversion_zstdjni}/zstd-jni-${libversion_zstdjni}.jar popd } +libversion_zstdjni=1.5.2-2 +libversion_jackson_databind=2.12.0 +sharedrawweb_git_url="ssh://philippe@www4.artisanlogiciel.net:2023/home/philippe/artisanlogiciel/code/sharedrawweb" +libversion_artgaphic=0.2.0 +lib_artgaphic=artgaphics-${libversion_artgaphic}.jar + + if [[ ! -d ../sharedrawweb ]] then - echo "[ERROR] expected a sharedrawweb project parent ( for exports )" >&2 + log_error "expected a sharedrawweb project parent ( for exports ). Please clone related project." + log_info "cd ..; git clone $sharedrawweb_git_url" fi if [[ ! -d libs ]] @@ -36,11 +57,16 @@ then mkdir libs fi -libversion_artgaphic=0.2.0 -lib_artgaphic=artgaphics-${libversion_artgaphic}.jar if [[ ! -e libs/$lib_artgaphic ]] then - ln -s ../../sharedrawweb/dist/lib/$lib_artgaphic libs/ + lib_artgaphic_source_file=../sharedrawweb/dist/lib/$lib_artgaphic + if [[ -f $lib_artgaphic_source_file ]] + then + # ../ since libs is one level below current project + ln -s ../$lib_artgaphic_source_file libs/ + else + log_error "Missing $lib_artgaphic_source_file. It is require to build it sharedrawweb project first" + fi fi if [[ -n $use_jackson ]] @@ -48,4 +74,7 @@ then fetch_jackson_databind fi -fetch_zstd-jni +if [[ -n $use_zstd ]] +then + fetch_zstd-jni +fi diff --git a/init.sh b/init.sh index 099a116..a7fb5e2 100755 --- a/init.sh +++ b/init.sh @@ -1,11 +1,46 @@ #!/bin/bash -if [[ ! -d artlog_toolbox ]] -then - git clone https://github.com/artlog/artlog_toolbox.git artlog_toolbox -fi -pushd artlog_toolbox -git checkout master -popd -artlog_toolbox/deploy.sh -./doit.sh +setup() +{ + artlog_toolbox_path=../artlog_toolbox + if [[ ! -d $artlog_toolbox_path ]] + then + git clone $artlog_toolbox_remote_origin_url $artlog_toolbox_path + pushd $artlog_toolbox_path + git checkout + popd + fi + $artlog_toolbox_path/deploy.sh +} + +# parses project.gitref +project= +gitref=project.gitref + +while read line +do + if [[ $line =~ \[([_a-z]*)\] ]] + then + project=${BASH_REMATCH[1]} + elif [[ $line =~ remote.origin.url=(.*) ]] + then + remote_origin_url=${BASH_REMATCH[1]} + echo "$project $remote_origin_url" + case $project in + sharedrawweb) + sharedrawweb_remote_origin_url=$remote_origin_url + ;; + artloglaby) + artloglaby_remote_origin_url=$remote_origin_url + ;; + artlog_toolbox) + artlog_toolbox_remote_origin_url=$remote_origin_url + ;; + *) + echo "ERROR unrecognized project='$project' line='$line'" + ;; + esac + fi +done <$gitref + +setup diff --git a/project.gitref b/project.gitref new file mode 100644 index 0000000..3256b03 --- /dev/null +++ b/project.gitref @@ -0,0 +1,15 @@ +# +# root.absolute=/home/plhardy/artisanlogiciel/testbed/laby +# date=ven. 28 juil. 2023 11:59:40 CEST +[artloglaby] +path=. +remote.origin.url=ssh://philippe@www4.artisanlogiciel.net:2023/home/philippe/artisanlogiciel/code/laby +head=a22a2fd1b6eec74cd4a37f086ff01d46a50d8a9b +[sharedrawweb] +path=../sharedrawweb +remote.origin.url=ssh://philippe@www4.artisanlogiciel.net:2023/home/philippe/artisanlogiciel/code/sharedrawweb +head=c217d96129b5f83c26c041f766718b6bdf93a2d6 +[artlog_toolbox] +path=../artlog_toolbox +remote.origin.url=ssh://philippe@www4.artisanlogiciel.net:2023/home/philippe/artisanlogiciel/code/artlog_toolbox +head=ea7e49c578d89ec4c7f41fd5b526e3ef4a8dbb37