wooga / atlas-paket

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

Adds custom upm unwrapping task extensions to paket [ATLAS-950] #86

Closed pletoss closed 1 year ago

pletoss commented 1 year ago

Description

Until we switch to UPM, we need to be able to provision UPM packages in this way from Paket, and also be able to control the version.

This is done by having a custom Paket unwrapper that untars an official UPM that was wrapped inside an WDK Paket. Then it copies this into the local upm override directory Packages/. That instructs the Unity UPM system to use this as a local override instead of the version that is defined in the UPM manifest. This give us control over the version back to Paket.

The file naming conventions for contents of the (published) Wrapped Paket is as follows:

{PackageName}/lib/paket.upm.wrapper.reference
{PackageName}/lib/{upm_lib}.tgz

The reference file contains 2 entries separated by ;:

com.unity.nuget.newtonsoft-json-3.0.2.tgz;com.unity.nuget.newtonsoft-json@3.0.2 is basically: {upm_lib}.tgz;{destination_name_in_unity}

1st Entry = filename of the tarred UPM package from inside the WDK 2nd Entry = destination where this should be installed in the local UPM package override in the {Unity3D project}/Packages directory. This should coincide with the official Unity UPM package naming convention.

Changes