Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FR] Please provide firebase package with UPM git url #1052

Open
Thaina opened this issue May 21, 2021 · 13 comments
Open

[FR] Please provide firebase package with UPM git url #1052

Thaina opened this issue May 21, 2021 · 13 comments
Labels
blocked-by-dependencies Issues which is blocked by native Android/iOS SDK, backend or third-party dependencies. type: feature request unity-editor Issues related to Firebase usage in Unity editor

Comments

@Thaina
Copy link
Contributor

Thaina commented May 21, 2021

Feature proposal

With Game Package Registry by Google was shut down as of #1028. We understand the complication but the UPM system to include package still allow direct git dependency

With that, Google should create git repo for firebase package in github, maybe making a Release folder in this repo directly, and allow us to include all firebase package with this method in addition to .tgz

FYI, UPM has feature to include with path for pointing to specific subfolder https://docs.unity3d.com/Manual/upm-git.html#subfolder so we could only have one repo for all firebase module and point it to separate subfolder

@google-oss-bot
Copy link

I found a few problems with this issue:

  • I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.
  • This issue does not seem to follow the issue template. Make sure you provide all the required information.

@Thaina
Copy link
Contributor Author

Thaina commented May 21, 2021

Also by releasing with git repo, firebase should not need to build dll for it's module anymore. Please just release the firebase for unity raw source code (even it auto generate it should still be able to release that isn't it?), it better for unity system and also allow firebase to target specific version with preprocessor directives. We could also debug and fix bug with it or fork it when needed

@Thaina
Copy link
Contributor Author

Thaina commented May 21, 2021

There is official comment from unity that using git url in UPM are not related to their new terms. It should be considered that using git url with UPM are no difference from using tgz

https://forum.unity.com/threads/updates-to-our-terms-of-service-and-new-package-guidelines.999940/#post-7158721

@paulinon paulinon added edm4u Issue related to External Dependency Manager for Unity and removed needs-triage new New issue. labels May 21, 2021
@chkuang-g chkuang-g added api: core blocked-by-dependencies Issues which is blocked by native Android/iOS SDK, backend or third-party dependencies. unity-editor Issues related to Firebase usage in Unity editor and removed api: core edm4u Issue related to External Dependency Manager for Unity labels May 21, 2021
@HanzaRu
Copy link

HanzaRu commented May 21, 2021

Hi, we set up all the packages (latest version) on https://github.com/GameWorkstore/ to support our CI's worldwide.

When Google listen to us and set up an official way where we don't need to download every single tgz and duplicate them over thousands of Repos, I redirect the GitHub Repos to the correct UPM distribution method 👍

While this, up-voting this issue.
+1

@snorrsi
Copy link

snorrsi commented May 23, 2021

Hi, we set up all the packages (latest version) on https://github.com/GameWorkstore/ to support our CI's worldwide.

When Google listen to us and set up an official way where we don't need to download every single tgz and duplicate them over thousands of Repos, I redirect the GitHub Repos to the correct UPM distribution method 👍

While this, up-voting this issue.
+1

That's pretty neat @john-rosa-playkids .. however one thing that would make it better is to include the version number in branch name we could refer to. As I like to make direct reference to package and version for easier version management.

@HanzaRu
Copy link

HanzaRu commented May 23, 2021

Hi, we set up all the packages (latest version) on https://github.com/GameWorkstore/ to support our CI's worldwide.
When Google listen to us and set up an official way where we don't need to download every single tgz and duplicate them over thousands of Repos, I redirect the GitHub Repos to the correct UPM distribution method 👍
While this, up-voting this issue.
+1

That's pretty neat @john-rosa-playkids .. however one thing that would make it better is to include the version number in branch name we could refer to. As I like to make direct reference to package and version for easier version management.

I added a Release/Tag on upm branch with the current version on each package, so you can set the version at the end (ex. git://github.com/GameWorkstore/com.google.play.common#1.4.0) if you get afraid of undesired updates (although unity upm for git already locks packages in the git commit ref, at packages-lock.json, even if you don't specify the version).

@Thaina
Copy link
Contributor Author

Thaina commented Jul 27, 2021

8.1 was out. Please support this

@lufinkey
Copy link

Is there any word on this? The analytics sdk adds over 100mb to the repo size

@snorrsi
Copy link

snorrsi commented Apr 27, 2022

Google Play Unity Plugins have all their available as UPM packages from github. Please support this for Firebase Unity SDK, it's a bit silly having to fetch this from 3rd party repository as the .tgz have the same content as a UPM package needs.

@felipemullen
Copy link

July/2022 Update

Using git:// links provided in the mentioned issue #1028 (comment) is no longer working, since github removed git:// support at the end of 2021:

https://github.blog/2021-09-01-improving-git-protocol-security-github/

In order to make this work

You can still use the git urls, but the only way I was able to make them work was by manually modifying manifest.json, I was not able to use any form of github url in the unity editor gui (note the use of git+https://):

{
    "dependencies": {
    ...
    "com.google.external-dependency-manager": "git+https://github.com/GameWorkstore/com.google.external-dependency-manager#1.2.172",
    "com.google.firebase.app": "git+https://github.com/GameWorkstore/com.google.firebase.app#9.1.0",
    "com.google.firebase.auth": "git+https://github.com/GameWorkstore/com.google.firebase.auth#9.1.0"
  }
}

@HanzaRu
Copy link

HanzaRu commented Jul 11, 2022

July/2022 Update

Using git:// links provided in the mentioned issue #1028 (comment) is no longer working, since github removed git:// support at the end of 2021:

https://github.blog/2021-09-01-improving-git-protocol-security-github/

In order to make this work

You can still use the git urls, but the only way I was able to make them work was by manually modifying manifest.json, I was not able to use any form of github url in the unity editor gui (note the use of git+https://):

{
    "dependencies": {
    ...
    "com.google.external-dependency-manager": "git+https://github.com/GameWorkstore/com.google.external-dependency-manager#1.2.172",
    "com.google.firebase.app": "git+https://github.com/GameWorkstore/com.google.firebase.app#9.1.0",
    "com.google.firebase.auth": "git+https://github.com/GameWorkstore/com.google.firebase.auth#9.1.0"
  }
}

@felipemullen better you use anonymous checkout:

{
"dependencies": {
...
"com.google.external-dependency-manager": "https://github.com/GameWorkstore/com.google.external-dependency-manager.git#1.2.172",
"com.google.firebase.app": "https://github.com/GameWorkstore/com.google.firebase.app.git#8.9.0",
"com.google.firebase.auth": "https://github.com/GameWorkstore/com.google.firebase.auth.git#8.9.0",
}
}

Cheers o/

@HanzaRu
Copy link

HanzaRu commented Jul 11, 2022

Again, if google team host an official git repo for install using UPM would be better for the entire community. While they don't move we need to figure out our own way :/

@snorrsi
Copy link

snorrsi commented Jul 11, 2022

@HanzaRu that's one to solve it.. except I use macos.. so I downloaded the tgz file and took a look.

I checked out the bundle file using otool
otool -L FirebaseCppApp-x86-64-9_1_0.bundle

I saw it included both x86_64 and arm64 architecture.
After copying the original I tried splitting them up using lipo
cp FirebaseCppApp-9_1_0.bundle FirebaseCppApp-arm64-9_1_0.bundle
cp FirebaseCppApp-9_1_0.bundle FirebaseCppApp-x86_64-9_1_0.bundle
lipo -remove x86_64 FirebaseCppApp-arm64-9_1_0.bundle -o FirebaseCppApp-arm64-9_1_0.bundle
lipo -remove arm64 FirebaseCppApp-x86_64-9_1_0.bundle -o FirebaseCppApp-x86_64-9_1_0.bundle

.. and that should solve our issue as each file is 70mb or so.. to do this automatically on Github we just need new meta file/files, that is if we can use lipo on Github or I can do it manually.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked-by-dependencies Issues which is blocked by native Android/iOS SDK, backend or third-party dependencies. type: feature request unity-editor Issues related to Firebase usage in Unity editor
Projects
None yet
Development

No branches or pull requests

8 participants