wooga / atlas-paket

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

PaketUnityInstall groovy only solution #21

Closed marcolink closed 6 years ago

marcolink commented 6 years ago

Description

To get more controllable and maintainable sources, we now execute all paket unity operations directly via groovy, without the use of paket.unity3d.exe

Changes

the new framework property: starting with this changes we respect the optional property framework of paket dependencies. more details on how it works can be found here. When copying dependencies into the unity project, we respect this property for all *.dll files.

If no framework restrictions are defined, we fallback to net35 only. We might extend this in the future. for now, we're reflecting the old behavior of paket.unity3d.exe.

Pro:

Contra:

doubleday commented 6 years ago

No real review yet but just to give my 5c already: I like were this is going and I don't see a problem in making gradle mandatory because in my view it is already.

Larusso commented 6 years ago

Ok since nobody really cares about this I want to explain why we want some more buy in for this particular change.

I created the first gradle plugins as a kind of extension to the current build tools used. The idea was to have a wrapper that can initialize and execute the toolchain in an easy way but with backwards compatibility in mind. Means you could still use your shell scripts etc.

This change would shift away from this approach. @marcolink implemented the new framework support already in the gradle only solution and we have no plans to update Paket.Unity3D. And we want to add more features. That will force any team with the desire to use a newer c# runtime support and external libraries or one of the new features we have in mind to shift to gradle as the main build tool. @doubleday already gave his blessing to move in this direction (even though he didn't accept this pr 🤣 ).

So are all ok with this direction?

skrohn commented 6 years ago

So what would I do instead of paket.unity3d install ? Or what is the proposed workflow to update/install packages?

marcolink commented 6 years ago

@skrohn use gradle for all operations related to dependency management. AND this package! If you already use it, your workflow won't change at all.

skrohn commented 6 years ago

We are not using it so far. So I'd need some insights into the workflow at some point. I also don't see an issue with adding a dependency on gradle since everyone needs it for Android anyway. There should just be super easy instructions on how to setup your project for this. (there probably is, but i don't know where...)

Larusso commented 6 years ago

@skrohn We're working on the documentation part. You could look at my side branch in your repo. run ./gradlew tasks and you can see what it has to offer.