Skip to content
Snippets Groups Projects
  1. Jun 07, 2019
    • Stewart Miles's avatar
      Version 1.2.116 · 2fff2285
      Stewart Miles authored
      * Android Resolver: Fixed resolution of Android dependencies without version
        specifiers.
      * Android Resolver: Fixed Maven repo not found warning in Android Resolver.
      * Android Resolver: Fixed Android Player directory not found exception in
        Unity 2019.x when the Android Player isn't installed.
      
      Change-Id: Idd553b1920975797ae9ffe97c8792b6fd7e2c5a9
      v1.2.116
      2fff2285
    • Stewart Miles's avatar
      Convert path separators for Windows command line paths. · dee1639d
      Stewart Miles authored
      Executing commands with POSIX paths fail on Windows, this
      modifies the CommandLine module to converts path separators for the
      tool (not the tool's arguments).
      
      https://github.com/firebase/quickstart-unity/issues/379
      
      Bug: 134758901
      Change-Id: If591a21ab2c02f5e0005a10d554f4fbbf1dae799
      dee1639d
    • Stewart Miles's avatar
      Fixed resolution of Android dependencies without version specifiers. · 8e0dd4d6
      Stewart Miles authored
      Android Resolver's artifact downloader script was failing if a
      dependency in the graph did not specify a version for an artifact.
      This commit makes it possible to handle empty version specifications
      in dependencies.
      
      In addition, this adds more information to conflicting package log
      messages and eliminates the creation of copy tasks for output
      files that already exist.
      
      Fixes #227
      Bug: 134571587
      
      Change-Id: I81d52d40c2447b6a6bfba68621fbd4b254570850
      8e0dd4d6
    • Stewart Miles's avatar
      Fixed Maven repo not found warning in Android Resolver. · a1ce88b4
      Stewart Miles authored
      It was printing out "Repo directory %s not found" rather than
      including the missing directory name in the message.
      
      Change-Id: I5777450ffd1aaa6be8bdb5cefe73d0edc3b32430
      a1ce88b4
  2. Jun 06, 2019
    • Stewart Miles's avatar
      Only poll build properties for auto-resolution with Android build target. · cc09f55d
      Stewart Miles authored
      Unity 2019.x throws an exception when
      BuildPipeline.GetPlaybackEngineDirectory() is called and the Android player
      isn't installed.  The Android build target can't be selected if it's not
      installed, so we shouldn't be polling the build system if the build target
      isn't Android.  This patch disables build system property polling on assembly
      load if the build target isn't Android.
      
      Fixes #220
      Bug: 134665717
      
      Change-Id: I147e51a9c7740d2e21fdd376abd7e6b2e7cdc7dc
      cc09f55d
  3. May 31, 2019
    • Stewart Miles's avatar
      Version 1.2.115 · 7feb88da
      Stewart Miles authored
      * Android Resolver: Fixed exception due to Unity 2019.3.0a4 removing
        x86 from the set of supported ABIs.
      
      Change-Id: I8a8f3fd91083b7c20fe66b48dc53c19eb5d73f0e
      v1.2.115
      7feb88da
    • Stewart Miles's avatar
      More gracefully handle removal of supported ABIs. · 8766298c
      Stewart Miles authored
      Unity 2019.3.0a4 removes support for x86_64 builds, removing the enum
      value UnityEditor.AndroidArchitecture.  This results in an exception
      being thrown during resolution.
      
      Bug: 134137796
      Fixes #224
      
      Change-Id: I210c05d1f4bc9aa521b9ed61ed13159e504dac42
      8766298c
  4. May 28, 2019
    • Stewart Miles's avatar
      Version 1.2.114 · 321017d0
      Stewart Miles authored
      * Android Resolver: Added support for ABI stripping when using
        mainTemplate.gradle. This only works with AARs stored in repos
        on the local filesystem.
      
      Change-Id: I2e1f00d09e365ab3204767010931530ac3ef985a
      v1.2.114
      321017d0
    • Stewart Miles's avatar
      Added support for ABI stripping in AARs pulled in from local repos. · 45202c58
      Stewart Miles authored
      This will does not support removing libraries for unused ABIs in
      AARs fetched from remote repos when using Android Gradle plugin
      2.x.x.
      
      Also, fixed handling moved maven repos in the project.
      
      Bug: 133528579
      Change-Id: I7a6fd807a03c0de7393fa6ce0f116817b9252794
      45202c58
  5. May 24, 2019
    • Ryan Meier's avatar
      Changing RunOnMainThread to public. · cea8035e
      Ryan Meier authored
      Change-Id: Ib83668dcec58429df602d0acc27d0a46283e9f10
      cea8035e
    • Stewart Miles's avatar
      Exposed RunOnMainThread from VersionHandlerImpl. · a7bd4a07
      Stewart Miles authored
      VersionHandlerImpl.RunOnMainThread() is pretty handy for editor
      plugins so this exposes it.
      
      Bug: 133495435
      Change-Id: I8c5f38bf5f53efb53bf4071fdcc264105d1fcccc
      a7bd4a07
    • Stewart Miles's avatar
      Version 1.2.113 · 7795294f
      Stewart Miles authored
      * Android Resolver: If local repos are moved, the plugin will search the
        project for matching directories in an attempt to correct the error.
      * Version Handler: Files can be now targeted to multiple build targets
        using multiple "gvh_" asset labels.
      * Android Resolver: "implementation" or "compile" are now added correctly
        to mainTemplate.gradle in Unity versions prior to 2019.
      
      Bug: 112525947
      Bug: 133243196
      Bug: 131903659
      Change-Id: I63de34783612d12cee4031033c0693ab3be289e5
      v1.2.113
      7795294f
    • Stewart Miles's avatar
      More gracefully handle Maven repos being moved in a project. · 2d167d85
      Stewart Miles authored
      Some developers move plugins around in the project breaking local
      maven repo paths.  This commit falls back to searching for local
      maven repos if the directory isn't found, warning the user of the
      file referencing the broken directory link along with the new
      path.
      
      Bug: 112525947
      Change-Id: Ibfc2bc231904ccf93919edd9b5c78d0814e3d28b
      2d167d85
    • Stewart Miles's avatar
      Added compatible way to get the AndroidPlayer directory. · 1001c153
      Stewart Miles authored
      BuildPipeline.GetPlaybackEngineDirectory() was added in Unity 2019
      to get the playback engine directory.  The Android playback engine
      directory is required to determine the version of Gradle shipped
      with the plugin so this does not work in Unity < 2019.
      
      This patch adds a compatible but slower way to retrieve the
      AndroidPlayer directory which also fixes the generation of Gradle
      dependency inclusion statements in Unity < 2019
      
      Fixes #213
      Bug: 133243196
      Change-Id: I455ec6de28900a31ea414bd1ff657404e611b0fb
      1001c153
  6. May 23, 2019
  7. May 22, 2019
    • Stewart Miles's avatar
      Version 1.2.112 · b97a80b3
      Stewart Miles authored
      * Android Resolver: Added option to disable addition of dependencies to
        mainTemplate.gradle.
        See `Assets > Play Services Resolver > Android Resolver > Settings`.
      * Android Resolver: Made paths to local maven repositories in
        mainTemplate.gradle relative to the Unity project when a project is not
        being exported.
      * Android Resolver: Fixed builds with mainTemplate.gradle integration in
        Unity 2019.
      * Android Resolver: Changed dependency inclusion in mainTemplate.gradle to
        use "implementation" or "compile" depending upon the version of Gradle
        included with Unity.
      * Android Resolver: Gracefully handled exceptions if the console encoding
        can't be modified.
      * Android Resolver: Now gracefully fails if the AndroidPlayer directory
        can't be found.
      
      Change-Id: Ib9db961c1b41eddf817b9e1827da9206c01ca6ef
      v1.2.112
      b97a80b3
    • Stewart Miles's avatar
      Version 1.2.112 · 17b49b6a
      Stewart Miles authored
      * Android Resolver: Added option to disable addition of dependencies to
        mainTemplate.gradle.
        See `Assets > Play Services Resolver > Android Resolver > Settings`.
      * Android Resolver: Made paths to local maven repositories in
        mainTemplate.gradle relative to the Unity project when a project is not
        being exported.
      * Android Resolver: Fixed builds with mainTemplate.gradle integration in
        Unity 2019.
      * Android Resolver: Changed dependency inclusion in mainTemplate.gradle to
        use "implementation" or "compile" depending upon the version of Gradle
        included with Unity.
      * Android Resolver: Gracefully handled exceptions if the console encoding
        can't be modified.
      * Android Resolver: Now gracefully fails if the AndroidPlayer directory
        can't be found.
      
      Bug: 127302270
      Bug: 132915636
      Bug: 133232328
      Bug: 133243196
      Bug: 133247696
      Bug: 133261012
      Bug: 133275965
      Change-Id: If3f91d1d2f094fb117f9c35b53e86c287c598702
      17b49b6a
    • Stewart Miles's avatar
      Fixed Gradle template builds in Unity 2019 · 90e73703
      Stewart Miles authored
      Unity 2019 changes the developer's Android project to a library when built by
      Gradle.  The application project is now a launcher which includes this library.
      However, when the application is built it doesn't include the repositories of
      the developer's library project causing any repos added by the Android Resolver
      to be ignored.  This commit fixes the issue by adding all Android Resolver
      specified repositories to all top level Gradle projects.
      
      In addition, this commit adds support for relative repo paths in
      mainTemplate.gradle.
      
      Bug: 133275965
      Bug: 133261012
      Change-Id: I863640bada62bd671bb68ebb1469490dba280311
      90e73703
    • Stewart Miles's avatar
      Patch mainTemplate.gradle using "implementation" when supported. · aac43698
      Stewart Miles authored
      This commit detects Gradle version redistributed by the Unity
      and either includes dependencies using the "compile" statement or
      "implementation" depending upon what is supported.
      
      Fixes #213
      
      Bug: 133243196
      Change-Id: I5d6940b1c432196fe92e2df7163d676af1b05745
      aac43698
  8. May 21, 2019
    • Stewart Miles's avatar
      Handle exceptions when trying to restore console encoding. · 7789bc77
      Stewart Miles authored
      In some cases the console encoding can't be set
      see c5335e2c .  In some versions
      of Unity / Mono even setting a console encoding to it's current
      value (i.e should do nothing) will throw an exception.  This
      patch handles exceptions when trying restore console encoding.
      
      Fixed #214
      Bug: 127302270
      
      Change-Id: I5869ddf00999a93f02a81343c18d2a5c68e5d599
      7789bc77
    • Stewart Miles's avatar
      Fixed mainTemplate.gradle patching with library templates. · 9819c37a
      Stewart Miles authored
      Unity 2019 uses the 'com.android.library' plugin rather than
      'com.android.application' which breaks the injection of maven repos
      for referenced artifacts.  This commit fixes the issue by injecting
      repos after either plugin statement is present in a gradle file.
      
      Bug: 133247696
      Change-Id: Ieda7c8c65a3eaecfdfefcd63655b086e0ec2a136
      9819c37a
    • Stewart Miles's avatar
      Added Android Resolver option to disable mainTemplate.gradle patching. · a61a3c3d
      Stewart Miles authored
      Some users want to use the old way of including dependencies when a
      mainTemplate.gradle file is included in their Unity project.  This adds
      an settings option to disable patching mainTemplate.gradle on
      resolution.
      
      Fixes #210
      
      Bug: 132915636
      Change-Id: Id75158333fdb4ad6a9ac97f11465458637968da9
      a61a3c3d
    • Stewart Miles's avatar
      Worked around missing AndroidPlayer directory. · 562d0a7d
      Stewart Miles authored
      In some cases developers have imported the Android resolver into
      a Unity project where the install doesn't have an Android player
      installed causing AndroidPlaybackEngineDirectory to continually
      report an error.
      
      Fixed #220
      
      Bug: 133232328
      Change-Id: I9f4a5973ec9e061bf50422e203c09d8fe7943ea3
      562d0a7d
  9. May 09, 2019
    • Stewart Miles's avatar
      Version 1.2.111 · e703601c
      Stewart Miles authored
      * Version Handler: Fixed invocation of methods with named arguments.
      * Version Handler: Fixed occasional hang when the editor is compiling
        while activating plugins.
      
      Change-Id: I208ab1058ceaf20f8e4c2efc9985f703ef1809ac
      v1.2.111
      e703601c
    • Stewart Miles's avatar
      Fixed occasional hang when configuring VersionHandler in batch mode. · 9caa4da0
      Stewart Miles authored
      Change-Id: Ia1f705b40cf57a2e1bda5d433b0276dd8a6ba0a9
      9caa4da0
    • Stewart Miles's avatar
      Fixed InvokeMethod() regression introduced by ea3e8d81 · e71269b2
      Stewart Miles authored
      InvokeMethod() was modified in ea3e8d81 to support method overloads
      distiguished by type.  However, this change broke the lookup of methods
      with named arguments.
      
      Fixes #209
      Bug: 132342024
      
      Change-Id: I151fe5c893fbbc9b7feb0cf371b0e693a91e17bc
      e71269b2
    • Stewart Miles's avatar
      Fixed incremental test execution. · 0a443fa4
      Stewart Miles authored
      The Unity test execution task did not depend upon the test input
      files so it would not execute unless the output log file did not
      exist.  This change will execute Unity tests when the input files
      are newer than the output log file.
      
      Bug: 132354085
      Change-Id: Ib3e2cf0809ee872f246b5bf176b8e2ea5a57c5e5
      0a443fa4
  10. May 07, 2019
    • Stewart Miles's avatar
      Version 1.2.110 · d8d6cbf0
      Stewart Miles authored
      * Android Resolver: Fixed inclusion of some srcaar artifacts in
        builds with Gradle builds when using mainTemplate.gradle.
      
      Bug: 132168073
      Change-Id: I3f0f6a16dbbb73709abdeb31a74794df19f8e489
      v1.2.110
      d8d6cbf0
    • Stewart Miles's avatar
      Embed release notes and download link in release tags. · 4de5a991
      Stewart Miles authored
      Bug: 132188969
      Change-Id: Ic21075f8c06a1157b7e5491858fceac9e1b4fe1a
      4de5a991
    • Stewart Miles's avatar
      Remove stale comment in Gradle template resolver. · 4bdc8d82
      Stewart Miles authored
      Change-Id: I22953be27d216cf8210531ce540b354e929c16af
      4bdc8d82
    • Stewart Miles's avatar
      Fixed up maven repos embedded in Unity projects when in Gradle builds. · eef40bb8
      Stewart Miles authored
      When resolving Android dependencies using Gradle and a mainTemplate.gradle
      file, srcaar artifacts in maven repos embedded in the Unity project are
      renamed to aar so they can be included in the Android build process.
      
      However, some plugins (like Google Play Games) ship with Maven POMs that
      refrence the srcaar artifacts directly rather than the aar artifacts.
      This results in the renamed aar files being ignored in the Android build
      process.
      
      This commit patches Maven POMs so they reference the correct artifact
      when the packaging is changed by the Gradle Android Resolution step.
      If libraries are removed, the POMs are updated to point at the packaging
      for the artifact in the directory (e.g srcaar).
      
      Fixes #208
      Bug: 132168073
      
      Change-Id: I357c6a1197d4fc15cc924b5a4d9e4d7c79be922d
      eef40bb8
  11. May 06, 2019
    • Stewart Miles's avatar
      Fixed compile error with old C# compilers. · 595ea685
      Stewart Miles authored
      Change-Id: I2205a22a6f8a9a3d689716d307bcc72eceeb71bc
      595ea685
    • Stewart Miles's avatar
      Version 1.2.109 · 70d186f3
      Stewart Miles authored
      * Added links to documentation from menu.
      * Android Resolver: Added option to auto-resolve Android libraries on build.
      * Android Resolver: Added support for packaging specs of Android libraries.
      * Android Resolver: Pop up a window when displaying Android dependencies.
      
      Change-Id: If5980724e63d0a5b118cc3902a44c1ef3974f297
      v1.2.109
      70d186f3
    • Stewart Miles's avatar
      Support for Unity 2019 Android SDK and JDK install locations · ea3e8d81
      Stewart Miles authored
      Unity 2019 adds support for installation of the Android SDK and JDK in
      the AndroidPlayer directory making it easier for developers to configure
      the Android build environment.  Unfortunately, Unity does not update
      the JdkPath and AndroidSdkRoot editor preferences when the Android SDK
      and JDK are installed with the AndroidPlayer.
      
      This change searches for the Android SDK and JDK if JdkPath and
      AndroidSdkRoot are not set.
      
      Fixes #188
      
      Bug: 132072681
      Change-Id: If01f642ff81570d9c28552fab6957bc88cf4dac1
      ea3e8d81
    • Stewart Miles's avatar
      Baked version into each plugin and surfaced via settings menus. · 1805c2ba
      Stewart Miles authored
      Bug: 132072231
      Change-Id: I4d6de053e515ff94cff4b86b08366d323b45b046
      1805c2ba
    • Stewart Miles's avatar
      Added links to documentation from the menu. · 7746d370
      Stewart Miles authored
      Menu links to per-component and project documentation.
      
      Bug: 132072231
      Change-Id: Id47da9e8e8d85955fb95535a2de28ea2830be0cf
      7746d370
    • Stewart Miles's avatar
      Re-enable AAR explosion if internal builds are enabled. · 6858f735
      Stewart Miles authored
      With AAR explosion disabled, builds are very likely to fail with Unity's
      internal build system.  This patch re-enables AAR explosion on resolution
      when the internal build system is used.
      
      Fixes #100
      
      Bug: 132070411
      Change-Id: Ib2858910e3497c43eb9b1c9e06f7ec632227d8f0
      6858f735
    • Stewart Miles's avatar
      Added option to auto-resolve Android libraries on build. · fdcbb363
      Stewart Miles authored
      *If* Callbacks.PostProcessSceneAttribute(0) is called before the Android build
      (Unity version specific) Android auto-resolution will run if it's enabled.
      This adds a setting to that will enable / disable resolution during the build
      process without affecting interactive auto-resolution.
      
      Fixes #196
      
      Bug: 132072419
      Change-Id: Idba8ffa249952b2288adc6653f11458b5089725f
      fdcbb363
    • Stewart Miles's avatar
      Gracefully handle exceptions on file deletion. · a7a76d73
      Stewart Miles authored
      Some users are seeing exceptions when the Android Resolver creates and
      deletes temporary files.  This *may* be caused by anti-virus, Unity
      re-indexing directories or all other manner of processes on machines.
      
      This patch catches any exceptions related to file deletion and simply
      bubbles up any failures via a list that the caller can optionally report.
      
      Fixes #198
      
      Bug: 132071174
      Change-Id: I7985d4045e190222511ea3ba20ac30b4d6a78654
      a7a76d73