441 Commits

Author SHA1 Message Date
j.spijker@ultimaker.com
6b51753973 Renamed folder structure to venv structure
Contributes to CURA-9365
2022-06-30 09:39:21 +02:00
j.spijker@ultimaker.com
d47635c0f9 Removed requirement install from deploy steps.
I'm gonna repurpose the VirtualPythonEnv for this

Contributes to CURA-9365
2022-06-30 09:37:17 +02:00
j.spijker@ultimaker.com
a837827bf3 Added extra Uranium cases
Contributes to CURA-9365
2022-06-29 15:56:18 +02:00
j.spijker@ultimaker.com
1bb1efd429 Store generators in build folder
Contributes to CURA-9365
2022-06-29 15:32:24 +02:00
j.spijker@ultimaker.com
5062d704c2 Add deploy functionality
Contributes to CURA-9365
2022-06-29 15:12:51 +02:00
j.spijker@ultimaker.com
32ed0619b0 Set the runenv for deploy
Contributes to CURA-9365
2022-06-29 04:53:26 +02:00
j.spijker@ultimaker.com
5a61c4ea38 Fix uranium deploy
Contributes to CURA-9365
2022-06-28 16:57:54 +02:00
j.spijker@ultimaker.com
cdc8fd759b Don't use CuraVersion.py options to calc package_id
The following options shouldn't be used to determine the hash, since these are only used to set the CuraVersion.py
which will als be generated by the deploy method during the `conan install cura/5.1.0@_/_`

Contributes to CURA-9365
2022-06-28 15:08:07 +02:00
j.spijker@ultimaker.com
0cea013e2f Move venv creation to UMBaseConanfile
Contributes to CURA-9365
2022-06-28 15:07:01 +02:00
j.spijker@ultimaker.com
da00707ead Add requirements.txt as user_info
Something similar should be done for Uranium

Contributes to CURA-9365
2022-06-28 07:43:00 +02:00
j.spijker@ultimaker.com
705231d56a Copy resources to to correct paths
Still WIP, but needs to be committed due to not copying sources (1gb saving)

Contributes to CURA-9365
2022-06-28 07:43:00 +02:00
j.spijker@ultimaker.com
62aacc5946 Initial set-up of deploy functionality
Contributes to CURA-9365
2022-06-27 13:51:50 +02:00
j.spijker@ultimaker.com
815160f45f
Build CPython shared
Contributes to CURA-9365
2022-06-25 18:56:13 +02:00
j.spijker@ultimaker.com
5f6d59c63d
Only build Arcus, Savitar and pynest2d shared
Contributes to CURA-9365
2022-06-25 18:40:27 +02:00
j.spijker@ultimaker.com
30135072de Compile cpython dependencies statically
Contributes to CURA-9365
2022-06-23 12:58:09 +02:00
j.spijker@ultimaker.com
803858c4e9 Cheating with Arcus
Contributes to CURA-9365
2022-06-22 11:04:12 +02:00
j.spijker@ultimaker.com
ee87a2e3a4 use umbase 0.1.1 or higher
Contributes to CURA-9365
2022-06-22 09:28:52 +02:00
j.spijker@ultimaker.com
a31124673b Compile libffi and mpdecimal statically on Windows
Contributes to CURA-9365
2022-06-19 19:08:24 +02:00
j.spijker@ultimaker.com
05191af96f set mpdecimal cxx option to false on windows
the combination of compiling it shared and with cxx is invalid
on Windows. We don't use the cxx capabilities of mpdecimal

Contributes to CURA-9365
2022-06-19 14:34:26 +02:00
j.spijker@ultimaker.com
ac6f939db3 Use Conan CPython package
Now all our deps are compiled with the same flags.
This should help to make it more agnostic over the
systems.

Contributes to CURA-9365
2022-06-18 16:44:07 +02:00
j.spijker@ultimaker.com
29ddfe1352 Make the entrypoint and icon path relative from source
Contributes to CURA-9365
2022-06-18 11:39:49 +02:00
j.spijker@ultimaker.com
dfc0f9b31f Use UMBaseConanfile for reusable functions
Added a recipe in the conan-ultimaker-index repo,
which contains a conanrecipe that can be loaded
as a python_requires.

This allows us to reuse python code over multiple
recipes, see: https://docs.conan.io/en/latest/extending/python_requires.html

Contributes to CURA-9365
2022-06-18 11:35:20 +02:00
j.spijker@ultimaker.com
eb8e119e5c Using node-semver to validate version in conandata
Still not sure if this is the best approach.

Contributes to CURA-9365
2022-06-18 00:29:15 +02:00
j.spijker@ultimaker.com
aaed543a22 Add entrypoint info to conandata
With the new PyCharmRunEnv generate conan
should automatically create a pycahrm run
target, setting the paths correctly.

Usage as: `conan instal ....... -g PyCharmRunEnv`

Contributes to CURA-9365
2022-06-17 18:12:22 +02:00
j.spijker@ultimaker.com
f9447edf47 Remove materials before import
This ensures that there won't be any old materials present
if they're deleted between versions.

Contributes to CURA-9365
2022-06-17 08:22:30 +02:00
j.spijker@ultimaker.com
e6bfea7c81 import fdm_materials
Contributes to CURA-9365
2022-06-17 07:59:05 +02:00
j.spijker@ultimaker.com
2044ff2d6a import the fdm_materials
Contributes to CURA-9365
2022-06-17 07:32:18 +02:00
j.spijker@ultimaker.com
6cbc9aaa38 Use only pip in conan requirements
No longer download and mess with sources from
other repo's.

Created Conan packages for cura-binary-data,
fdm_materials and uranium.

Charon is installed with pip. I had to create
a separate requirement file for that since
you can't mix and match git and hashes.

Contributes to CURA-9365
2022-06-16 19:55:56 +02:00
j.spijker@ultimaker.com
ffca22971e Use different icon formats depending on OS
Contributes to CURA-9365
2022-06-14 11:37:43 +02:00
j.spijker@ultimaker.com
3e67566aad Use relative path for the entrypoint
Contributes to CURA-9365
2022-06-14 09:18:08 +02:00
j.spijker@ultimaker.com
4ac4190eae Make VirtualPythonEnv optional
Contributes to CURA-9365
2022-06-14 07:41:16 +02:00
j.spijker@ultimaker.com
3ff1dec631 Use dev version as no version is set
Contributes to CURA-9365
2022-06-14 07:23:15 +02:00
j.spijker@ultimaker.com
f193a7ce1f Don't use buildmetadata for conandata version
Contributes to CURA-9365
2022-06-13 19:15:27 +02:00
j.spijker@ultimaker.com
9ec39a9c7e Moved handling of the sources to the generate function
When running `conan source .` on ubuntu the `.git` folder
was removed, happens with cona 1.47 ... 1.49
This seems to be a bug in Conan, I will try to reproduce
it and create an issue in their repo.

Contributes to CURA-9365
2022-06-13 17:03:41 +02:00
j.spijker@ultimaker.com
5190742850 Add relative uranium, libcharon and cura to PYTHONPATH
Needed because not everything is a conan package yet

Contributes to CURA-9365
2022-06-13 15:46:10 +02:00
j.spijker@ultimaker.com
22e17dd040 Generate the pyinstaller spec file
This will be generated if you do a conan install with devtools

It assumes that the projects `cura-binary-data`, `fdm_materials`,
`uranium`, `libcharon` are installed along side the `cura` project.

It will automatically install the fdm_materials when running
conan source.

The pyinstall dist can be created with:

```
# Windows Powershell
conan install . -pr:b cura_build.jinja -pr:h cura_release.jinja --build=missing --update -o cura:devtools=True
conan source .
.\venv\Scripts\Activate.ps1
pyinstaller Ultimaker-Cura.spec
```

```
# bash
conan install . -pr:b cura_build.jinja -pr:h cura_release.jinja --build=missing --update -o cura:devtools=True
conan source .
source venv\bin\activate
pyinstaller Ultimaker-Cura.spec
```

Contributes to CURA-9365
2022-06-13 15:15:09 +02:00
j.spijker@ultimaker.com
04f16bfcad Use dev as development version
Since we're no longer running from `master` branch
It is more fitting to rename it to either dev or
main. This version is only used when running from
source when the CURA_VERSION variable isn't set
while performing the `conan install`

Contributes to CURA-9365
2022-06-13 15:08:00 +02:00
j.spijker@ultimaker.com
8d7732353f Allow using lower case true, false options
Workaround for Github Actions passing a lowercase boolean as a string

Contributes to CURA-9365
2022-06-12 23:54:50 +02:00
j.spijker@ultimaker.com
2cab988c63 Manage deps with the conan_data
Contributes to CURA-9365
2022-06-12 20:18:41 +02:00
j.spijker@ultimaker.com
5d740d7368 Set the CuraVersion with the conan options
Contributes to CURA-9365
2022-06-12 19:09:22 +02:00
j.spijker@ultimaker.com
e1c384cd92 Add a conanfile
This file should take care of downloading the C++ and Python binding
dependencies. It uses the PythonVirtualRunEnv to generate a Virtual
Python Environment, setting the Paths and installing the requirements
specified in the requirements.txt

Contributes to CURA-9365
2022-06-12 17:30:38 +02:00