wooga / atlas-paket

Paket plugin for gradle
https://wooga.github.io/atlas-paket/
Apache License 2.0
0 stars 2 forks source link

Support for UPM Packages & Paket nuget cache sharing the same directory [ATLAS-1450] #100

Closed pletoss closed 1 year ago

pletoss commented 1 year ago

Description

Reconcile making paket package cache working in the same directory as unity’s UPM Packages directory.

In order to separate the Paket nugets from the UPM packages, we rename the UPM package directories to be called after the upm package id's (reverse domain name notation).

Because now the paket nugets and upm packages co-exist, in order to properly do a clean in non-incremental mode, we need to make sure to not delete any of the paket nugets, but also none of the user-preinstalled upm packages that were in unity's Packages/ folder already. We do so by configuration of the paket plugin. It will delete all upm packages from Packages/ folder, EXCEPT the ones defined in paket.preInstalledUpmPackages.

⚠️ NOTE: Special care had to be taken, to make sure that mixing case-sensitive & non-case-sensitive FS & gradle-API works as expected. Tests weren't written to specifically test this however many of the added tests would technically fail in case this would not be handled, and did so during development.

Changes