Coupure prévue mardi 3 Août au matin pour maintenance du serveur. Nous faisons au mieux pour que celle-ci soit la plus brève possible.

Commit 53a16e8e authored by hvernier's avatar hvernier
Browse files

maj java python 3.9

parent e9b978c9
## Demo Video
![Video](https://icube-forge.unistra.fr/lafabregue/Mustic/-/wikis/uploads/f8acb00bfa0804a2388a513849d4f3c5/MultIcubeVIDEO.mp4)
## MutIcube Install :<a id="install_guide"></a>
### Requirements :<a id="requirements"></a>
You will need java jre 1.8 or above (jdk is recommended) and git installed.
Note that all commands are designed to work with unix bash.
### Installation :<a id="install"></a>
##### Create a MutIcube directory and clone the four git project in it : <a id="cloneGit"></a>
```bash
mkdir MultIcube
cd MultIcube
git clone https://icube-forge.unistra.fr/lafabregue/MultiCubeTools.git
git clone https://icube-forge.unistra.fr/lafabregue/JCL.git
git clone https://icube-forge.unistra.fr/lafabregue/JSL.git
git clone https://icube-forge.unistra.fr/lafabregue/Mustic.git
```
##### Open your favourite java IDE but it is recommended to use eclipse. The following instruction will be based on eclipse interface.
* Change your workspace to the MultiCube directory
* Import the previous four projects into your IDE :
* Import > General > Projects from Folder or Archive
* Choose for each four projects the corresponding folder
* For each projet change its build path :
* JCL : add project MultiCubeTools
* JSL : add project MultiCubeTools
* Mustic :
* add project MultiCubeTools
* add project JCL
* add project JSL
* add the directory « resources » as Class Folder in Libraries build path
* change the Order of importation of ressources in the Order and Export tab to have
the two highlighted libraries on top :
![image 1](doc/img/image1.png)
* Add gdal external jars to the Mustic project :
![image 2](doc/img/image2.png)
* Run the mustic project :
Run > Java Application >
choose «MultiCube - mustic » among the different Main class
Use the Mustic/src/mustic/MultiCube.java if you don’t use eclipse
* Change the Run Configuration :
* add the two following Environment variables :
* Name : GDAL_DATA => Value: *../MultiCubeTools/share/*
* ***for linux only :***
* Name : LD_LIBRARY_PATH => Value: *../MultiCubeTools/lib:./lib*
* ***for Windows and MacOS :***
* add the following VM argument : -Djava.library.path=../MultiCubeTools/lib:./lib
* it is also recommended to change the memory allocated, by adding the VM arguments :
* -Xms<your_min_memory_to_use>m -Xmx<your_max_memory_available>m
On x64 unix platfrom you should normally be able to launch Mustic.
But if you import a picture and still have an error, or you want to use the project on MacOS
Windows, or x32 Unix you will have to change the dynamic libraries :
* For Windows : copy paste content of MultiCubeTools/lib/Windows/xx, xx beeing 64 or 32
depending of your architecture
* For MacOS : copy paste content of MultiCubeTools/lib/MacOS
If it does not fix your problem, you need to get the gdal binaries with java bidings :
* for Windows, you can refer to :
https://trac.osgeo.org/gdal/wiki/DownloadingGdalBinaries
* for Linux, you need to compile GDAL with the –with-java option, make the gdal-*/swig/java
sub-projet, and copy the resulting .so files and jar. For more details, you can refer to :
https://github.com/VertNet/reproject/wiki/GDAL-Java-Bindings (note that now there only one
.so file generated)
* for MacOS, the homebrew build no longer support the –with-java option, you need to
compile it yourself with the –with-java option, make the gdal-*/swig/java sub-projet, and
copy the resulting .so files and jar. For more details, you can refer to :
http://www.ecgs.lu/gilles/enabling-gdal-java-binding-for-geoserver-on-macos/
<skin xmlns="http://weblookandfeel.com/XmlSkinExtension">
<!-- Extension settings -->
<id>weblaf.demo.dark.extension</id>
<class>mustic.Test</class>
<extends>weblaf.dark.skin</extends>
<!-- Icon sets -->
<iconSet>mustic.Test2</iconSet>
<!-- Empty central area panel -->
<style type="panel" id="emptycontent" padding="10">
<painter>
<decorations>
<decoration>
<BoundsShape />
<PresetTextureBackground preset="darkWashedWall" />
</decoration>
</decorations>
</painter>
<!-- Empty content labels -->
<style type="styledlabel" id="emptycontent">
<component>
<iconTextGap>10</iconTextGap>
</component>
<painter>
<decorations>
<decoration>
<LabelLayout>
<StyledLabelText shadow="true" shadowColor="50,50,50" />
</LabelLayout>
</decoration>
</decorations>
</painter>
</style>
<style type="styledlabel" id="emptycontent-info" extends="emptycontent">
<component>
<foreground>240,240,240</foreground>
</component>
</style>
<style type="styledlabel" id="emptycontent-warn" extends="emptycontent">
<component>
<foreground>255,150,150</foreground>
</component>
</style>
</style>
<!-- Tree -->
<style type="tree" id="examples" extends="extree-non-opaque">
<painter>
<!-- Row background painter -->
<rowPainter>
<decorations>
<decoration states="even">
<BoundsShape />
<ColorBackground color="111,115,112" />
</decoration>
</decorations>
</rowPainter>
</painter>
<!-- Example nodes renderer -->
<style type="styledlabel" id="renderer" padding="4,4,4,6">
<!--<painter>
<decorations>
<decoration states="beta">
<LabelLayout>
<StyledLabelText constraints="text" color="245,190,190" />
</LabelLayout>
</decoration>
<decoration states="release">
<LabelLayout>
<StyledLabelText constraints="text" color="190,245,190" />
</LabelLayout>
</decoration>
<decoration states="common">
<LabelLayout>
<StyledLabelText constraints="text" color="245,245,245" />
</LabelLayout>
</decoration>
<decoration states="updated">
<LabelLayout>
<StyledLabelText constraints="text" color="190,190,245" />
</LabelLayout>
</decoration>
<decoration states="deprecated">
<LabelLayout>
<StyledLabelText constraints="text" color="80,80,80" />
</LabelLayout>
</decoration>
</decorations>
</painter>-->
</style>
</style>
<!-- Panel with all previews -->
<style type="panel" id="previews">
<painter>
<decorations>
<decoration>
<WebShape round="0" />
<WebShadow type="inner" width="10" />
<PresetTextureBackground preset="darkWashedWall" />
</decoration>
</decorations>
</painter>
</style>
<!-- Dark preview panel -->
<style type="panel" id="preview" extends="preview-base">
<painter>
<decorations>
<decoration>
<ColorBackground color="77,81,83" />
</decoration>
<decoration states="beta">
<FeatureStateBackground color="245,190,190" />
</decoration>
<decoration states="release">
<FeatureStateBackground color="190,245,190" />
</decoration>
<decoration states="common">
<FeatureStateBackground color="245,245,245" />
</decoration>
<decoration states="updated">
<FeatureStateBackground color="190,190,245" />
</decoration>
<decoration states="deprecated">
<FeatureStateBackground color="80,80,80" />
</decoration>
</decorations>
</painter>
<!-- Preview title label -->
<style type="styledlabel" id="title" padding="15,25,15,15">
<component>
<foreground>245,245,245</foreground>
</component>
</style>
<!-- Preview title and content separator -->
<style type="separator" id="separator">
<painter>
<decorations>
<decoration>
<SeparatorStripes>
<Stripe>
<color>160,160,160</color>
</Stripe>
</SeparatorStripes>
</decoration>
</decorations>
</painter>
</style>
</style>
<!-- Placeholder label -->
<style type="label" id="placeholder" padding="10,15,10,15">
<painter>
<decorations>
<decoration>
<WebShape round="0" />
<LineBorder color="darkGray" stroke="basic;1;round;round;0;4,5" />
<ColorBackground color="106,110,112" />
</decoration>
</decorations>
</painter>
</style>
<style type="styledlabel" id="placeholder" padding="10,15,10,15">
<painter>
<decorations>
<decoration>
<WebShape round="0" />
<LineBorder color="darkGray" stroke="basic;1;round;round;0;4,5" />
<ColorBackground color="106,110,112" />
</decoration>
</decorations>
</painter>
</style>
</skin>
<IconSet id="weblaf-demo" nearClass="com.alee.demo.skin.DarkIconSet" base="icons/" xmlns="http://weblookandfeel.com/XmlIconSet">
<!-- Example frame icons -->
<SvgIcon id="examples16" path="frames/examples.svg" size="16,16">
<SvgFill selector="svg" color="240,240,240" />
</SvgIcon>
<!-- Style frame icons -->
<SvgIcon id="style16" path="general/style.svg" size="16,16">
<SvgFill selector="svg" color="240,240,240" />
</SvgIcon>
<!-- Source frame icons -->
<SvgIcon id="source16" path="general/source.svg" size="16,16">
<SvgFill selector="svg" color="240,240,240" />
</SvgIcon>
<!-- Inspector frame icons -->
<SvgIcon id="inspector16" path="frames/inspector.svg" size="16,16">
<SvgFill selector="svg" color="240,240,240" />
</SvgIcon>
<!-- Type icons -->
<ImageIcon id="group16" path="types/group.png" />
<!-- General purpose 36x36 icons -->
<SvgIcon id="compass36" path="general/compass.svg" size="36,36">
<SvgFill selector="svg" color="240,240,240" />
</SvgIcon>
<SvgIcon id="bug36" path="general/bug.svg" size="36,36">
<SvgFill selector="svg" color="255,150,150" />
</SvgIcon>
<SvgIcon id="github36" path="general/github.svg" size="36,36">
<SvgFill selector="svg" color="240,240,240" />
</SvgIcon>
<!-- General purpose 19x19 icons -->
<SvgIcon id="java19" path="general/java.svg" size="19,19">
<SvgFill selector="svg" color="white" />
</SvgIcon>
<SvgIcon id="github19" path="general/github.svg" size="19,19">
<SvgFill selector="svg" color="240,240,240" />
</SvgIcon>
<SvgIcon id="gitter19" path="general/gitter.svg" size="19,19">
<SvgFill selector="svg" color="240,240,240" />
</SvgIcon>
<!-- General purpose 16x16 icons -->
<SvgIcon id="java16" path="general/java.svg" size="16,16">
<SvgFill selector="svg" color="white" />
</SvgIcon>
<SvgIcon id="legend16" path="general/legend.svg" size="16,16">
<SvgFill selector="svg" color="130,210,130" />
</SvgIcon>
<SvgIcon id="menu16" path="general/menu.svg" size="16,16">
<SvgFill selector="svg" color="240,240,240" />
</SvgIcon>
<SvgIcon id="brush16" path="general/brush.svg" size="16,16">
<SvgFill selector="svg" color="240,240,240" />
</SvgIcon>
<SvgIcon id="github16" path="general/github.svg" size="16,16">
<SvgFill selector="svg" color="240,240,240" />
</SvgIcon>
<SvgIcon id="settings16" path="general/settings.svg" size="16,16">
<SvgFill selector="svg" color="240,240,240" />
</SvgIcon>
<SvgIcon id="key16" path="general/key.svg" size="16,16">
<SvgFill selector="svg" color="228,202,44" />
</SvgIcon>
<SvgIcon id="dollar16" path="general/dollar.svg" size="16,16">
<SvgFill selector="svg" color="240,240,240" />
</SvgIcon>
<SvgIcon id="phone16" path="general/phone.svg" size="16,16">
<SvgFill selector="svg" color="240,240,240" />
</SvgIcon>
<SvgIcon id="hourglass16" path="general/hourglass.svg" size="16,16">
<SvgFill selector="svg" color="240,240,240" />
</SvgIcon>
<SvgIcon id="fire16" path="general/fire.svg" size="16,16">
<SvgFill selector="svg" color="240,240,240" />
</SvgIcon>
<SvgIcon id="magnifier16" path="general/magnifier.svg" size="16,16">
<SvgFill selector="svg" color="240,240,240" />
</SvgIcon>
<SvgIcon id="cursor16" path="general/cursor.svg" size="16,16">
<SvgFill selector="svg" color="240,240,240" />
</SvgIcon>
<SvgIcon id="enabled16" path="general/enabled.svg" size="16,16">
<SvgFill selector="svg" color="240,240,240" />
</SvgIcon>
<SvgIcon id="disabled16" path="general/disabled.svg" size="16,16">
<SvgFill selector="svg" color="240,240,240" />
</SvgIcon>
<SvgIcon id="ltr16" path="general/ltr.svg" size="16,16">
<SvgFill selector="svg" color="240,240,240" />
</SvgIcon>
<SvgIcon id="rtl16" path="general/ltr.svg" size="16,16">
<SvgFill selector="svg" color="240,240,240" />
<SvgTransform selector="svg" rotate="180" />
</SvgIcon>
<SvgIcon id="play16" path="general/play.svg" size="16,16">
<SvgFill selector="svg" color="240,240,240" />
</SvgIcon>
<SvgIcon id="pause16" path="general/pause.svg" size="16,16">
<SvgFill selector="svg" color="240,240,240" />
</SvgIcon>
<SvgIcon id="indeterminate16" path="general/indeterminate.svg" size="16,16">
<SvgFill selector="svg" color="240,240,240" />
</SvgIcon>
<!-- Social 16x16 icons -->
<SvgIcon id="facebook16" path="social/facebook.svg" size="16,16">
<SvgFill selector="svg" color="69,97,157" />
</SvgIcon>
<SvgIcon id="twitter16" path="social/twitter.svg" size="16,16">
<SvgFill selector="svg" color="85,172,238" />
</SvgIcon>
<SvgIcon id="googleplus16" path="social/googleplus.svg" size="16,16">
<SvgFill selector="svg" color="219,68,55" />
</SvgIcon>
<SvgIcon id="linkedin16" path="social/linkedin.svg" size="16,16">
<SvgFill selector="svg" color="0,119,181" />
</SvgIcon>
<SvgIcon id="pinterest16" path="social/pinterest.svg" size="16,16">
<SvgFill selector="svg" color="188,33,37" />
</SvgIcon>
<SvgIcon id="youtube16" path="social/youtube.svg" size="16,16">
<SvgFill selector="svg" color="230,33,23" />
</SvgIcon>
<SvgIcon id="vimeo16" path="social/vimeo.svg" size="16,16">
<SvgFill selector="svg" color="0,173,239" />
</SvgIcon>
<!-- Sample icons -->
<SvgIcon id="win16" path="sample/win.svg" size="16,16">
<SvgFill selector="svg" color="240,240,240" />
</SvgIcon>
<SvgIcon id="mac16" path="sample/mac.svg" size="16,16">
<SvgFill selector="svg" color="240,240,240" />
</SvgIcon>
<SvgIcon id="unix16" path="sample/unix.svg" size="16,16">
<SvgFill selector="svg" color="240,240,240" />
</SvgIcon>
<SvgIcon id="solaris16" path="sample/solaris.svg" size="16,16">
<SvgFill selector="svg" color="240,240,240" />
</SvgIcon>
</IconSet>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
<path d="m2 3v2h12v-2h-12m0 6h12v-2h-12v2m0 4h12v-2h-12v2" />
</svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 47 47">
<path d="m17.567 15.938l-2.859-2.702c.333-.605.539-1.29.539-2.029 0-2.342-1.897-4.239-4.24-4.239-2.343 0-4.243 1.896-4.243 4.239 0 2.343 1.9 4.241 4.243 4.241.826 0 1.59-.246 2.242-.654l2.855 2.699c.432-.571.919-1.094 1.463-1.555" />
<path d="m29.66 15.6l3.799-6.393c.374.107.762.184 1.169.184 2.347 0 4.244-1.898 4.244-4.241 0-2.342-1.897-4.239-4.244-4.239-2.343 0-4.239 1.896-4.239 4.239 0 1.163.469 2.214 1.227 2.981l-3.787 6.375c.651.295 1.265.663 1.831 1.094" />
<path d="m42.762 20.952c-1.824 0-3.369 1.159-3.968 2.775l-5.278-.521c0 .04.006.078.006.117 0 .688-.076 1.36-.213 2.01l5.276.521c.319 2.024 2.062 3.576 4.177 3.576 2.342 0 4.238-1.896 4.238-4.238 0-2.341-1.896-4.239-4.238-4.239" />
<path d="m28.2 37.624l-1.18-5.156c-.666.232-1.359.398-2.082.481l1.182 5.157c-1.355.709-2.29 2.11-2.29 3.746 0 2.342 1.896 4.237 4.243 4.237 2.342 0 4.238-1.896 4.238-4.237.003-2.299-1.829-4.16-4.111-4.228" />
<path d="m14.357 25.37l-6.57 2.201c-.758-1.158-2.063-1.926-3.548-1.926-2.343 0-4.239 1.897-4.239 4.239 0 2.345 1.896 4.242 4.239 4.242 2.341 0 4.242-1.897 4.242-4.242 0-.098-.021-.188-.029-.284l6.591-2.207c-.297-.641-.533-1.316-.686-2.023" />
<circle cx="23.83" cy="23.323" r="7.271" />
</svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
<path d="m9.708 7.443c-2.046-1.503-5.36.936-6.106 4.227-.574 2.536-3.234 2.432-3.197 2.771s5.978.882 8.125-.898c2-1.664 3.422-4.451 1.178-6.1m1.762-6.237l-2.69 4.125c.882.143 2.908 1.508 3.297 2.487l3.517-3.397c-.421-1.202-2.75-3.075-4.123-3.215" />
</svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
<path d="m32 18v-2h-6.04c-.183-2.271-.993-4.345-2.24-6.01h5.061l2.189-8.758-1.94-.485-1.811 7.242h-5.459c-.028-.022-.056-.043-.084-.064.21-.609.324-1.263.324-1.944 0-3.305-2.686-5.984-6-5.984s-6 2.679-6 5.984c0 .68.114 1.334.324 1.944-.028.021-.056.043-.084.064h-5.459l-1.811-7.242-1.94.485 2.189 8.758h5.061c-1.246 1.663-2.056 3.736-2.24 6.01h-6.04v2h6.04c.119 1.427.485 2.775 1.051 3.992h-3.875l-2.189 8.757 1.94.485 1.811-7.243h3.511c1.834 2.439 4.606 3.992 7.708 3.992s5.874-1.554 7.708-3.992h3.511l1.811 7.243 1.94-.485-2.189-8.757h-3.875c.567-1.217.932-2.565 1.051-3.992h6.04" />
</svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
<path d="m16 0c-8.837 0-16 7.163-16 16s7.163 16 16 16 16-7.163 16-16-7.163-16-16-16m-13 16c0-7.18 5.82-13 13-13 3.424 0 6.538 1.325 8.86 3.488l-12.86 5.512-5.512 12.86c-2.164-2.322-3.488-5.436-3.488-8.86m15.286 2.286l-8 3.43 3.43-8 4.573 4.573m-2.286 10.714c-3.424 0-6.539-1.325-8.86-3.488l12.86-5.512 5.512-12.86c2.164 2.322 3.488 5.436 3.488 8.86 0 7.18-5.82 13-13 13" />
</svg>
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment