googlesamples / unity-jar-resolver

Unity plugin which resolves Android & iOS dependencies and performs version management
Other
1.21k stars 337 forks source link

[FR] Assembly Definition File for EDM Unity Package Manager. #564

Closed SCastanedaMunoz closed 1 year ago

SCastanedaMunoz commented 1 year ago

[READ] Guidelines

When filing a feature request please make sure the issue title starts with "FR:".

Feature proposal

It would be ideal if the EDM for Unity follow Unity's standards for UPM package by including assembly definition files. As seen in the following link & link 2.

Right now, since the EDM is distributed as dlls, they can be loaded into other projects; however, this is not an ideal scenario/ setup since it is not possible to add the EDM as an optional compiling dependency to only enable such areas of code when the EDM is present as a package. This can be ideal for making sure developers can utilize the available APIs in the best way possible without breaking development environments.

chkuang-g commented 1 year ago

Hi @SCastanedaMunoz

From your link 2

Assembly definition files are the Unity equivalent to a C# project in the .NET ecosystem

Also, I believe .asmdef is only used if we ship EDM4U as .cs scripts instead of .dlls.

it is not possible to add the EDM as an optional compiling dependency to only enable such areas of code when the EDM is present as a package.

I feel .asmdef is not gonna make your life easier to do so. Conditional Compilation is probably better solution for you so that you can just do the following instead of using Reflection.

#ifdef EDM4U
  // Do something when EDM4U is in the project
  Google.PlayServiceResolver.ForceResolve();
  ...
#endif

BTW, Reflection and Assembly checking should be working now since we actually build EDM4U using .NET C# project, ex. AndroidResolver.csproj and its AssemblyInfo.cs.

That is, you should be able to use something like Assembly.GetAssembly(), Assembly.Load(), or Type.GetType() to check if the namespace/class/method you need from EDM4U is loaded or not.

Let me know if this helps with your situation.

Shawn

google-oss-bot commented 1 year ago

Hey @SCastanedaMunoz. We need more information to resolve this issue but there hasn't been an update in 5 weekdays. I'm marking the issue as stale and if there are no new updates in the next 5 days I will close it automatically.

If you have more information that will help us get to the bottom of this, just add a comment!

google-oss-bot commented 1 year ago

Since there haven't been any recent updates here, I am going to close this issue.

@SCastanedaMunoz if you're still experiencing this problem and want to continue the discussion just leave a comment here and we are happy to re-open this.