Skip to content

[Bug] mainTemplate.gradle and ProjectSettings/AndroidResolverDependencies.xml change when switching between building Android build and exporting Android project #537

Closed
@marekzd

Description

@marekzd

[REQUIRED] Please fill in the following fields:

  • Unity editor version: 2020.3.17f1
  • External Dependency Manager version: 1.2.171
  • Source you installed EDM4U: .unitypackage
  • Features in External Dependency Manager in use: Android Resolver
  • Plugins SDK in use: Firebase, Facebook
  • Platform you are using the Unity editor on: Mac

[REQUIRED] Please describe the issue here:

  1. Open Unity project

  2. Switch to Android target

  3. Build for Android

    mainTemplate.gradle will look like this:

    def unityProjectPath = $/file:///**DIR_UNITYPROJECT**/$.replace("\\", "/")
    maven {
        url (unityProjectPath + "/Assets/GeneratedLocalRepo/Firebase/m2repository") // Assets/Firebase/Editor/AnalyticsDependencies.xml:18, Assets/Firebase/Editor/AppDependencies.xml:22, Assets/Firebase/Editor/CrashlyticsDependencies.xml:20, Assets/Firebase/Editor/DynamicLinksDependencies.xml:20
    }

    and generated unityLibrary/build.gradle will look like this:

    def unityProjectPath = $/file:////Users/marekzd/Documents/projects/unity-project/$.replace("\\", "/")
    maven {
        url (unityProjectPath + "/Assets/GeneratedLocalRepo/Firebase/m2repository") // Assets/Firebase/Editor/AnalyticsDependencies.xml:18, Assets/Firebase/Editor/AppDependencies.xml:22, Assets/Firebase/Editor/CrashlyticsDependencies.xml:20, Assets/Firebase/Editor/DynamicLinksDependencies.xml:20
    }

    additionally ProjectSettings/AndroidResolverDependencies.xml will change to:

    <setting name="projectExportEnabled" value="False" />
  4. Export Android project to Android Studio

    mainTemplate.gradle will change to:

    def unityProjectPath = $/file:///**DIR_UNITYPROJECT**/$.replace("\\", "/")
    maven {
        url "file:////Users/marekzd/Documents/projects/unity-project/Assets/GeneratedLocalRepo/Firebase/m2repository" // Assets/Firebase/Editor/AnalyticsDependencies.xml:18, Assets/Firebase/Editor/AppDependencies.xml:22, Assets/Firebase/Editor/CrashlyticsDependencies.xml:20, Assets/Firebase/Editor/DynamicLinksDependencies.xml:20
    }

    and unityLibrary/build.gradle in exported project will look like this:

    def unityProjectPath = $/file:////Users/marekzd/Documents/projects/unity-project/$.replace("\\", "/")
    maven {
        url "file:////Users/marekzd/Documents/projects/unity-project/Assets/GeneratedLocalRepo/Firebase/m2repository" // Assets/Firebase/Editor/AnalyticsDependencies.xml:18, Assets/Firebase/Editor/AppDependencies.xml:22, Assets/Firebase/Editor/CrashlyticsDependencies.xml:20, Assets/Firebase/Editor/DynamicLinksDependencies.xml:20
    }

    additionally ProjectSettings/AndroidResolverDependencies.xml will change to:

    <setting name="projectExportEnabled" value="True" />
  5. When you will build for Android once again mainTemplate.gradle and ProjectSettings/AndroidResolverDependencies.xml will change once again.

Would it be possible to avoid changing these files during building ?
These changes frequently ends up in random commits and obscure them.

Would it be possible to always use unityProjectPath in mainTemplate.gradle generated code ?

Here seems to be a code responsible for these changes in mainTemplate.gradle.

Please answer the following, if applicable:

What's the issue repro rate? (eg 100%, 1/5 etc)
100%

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions