Giter Site home page Giter Site logo

atlas-unity-version-manager's People

Contributors

azurelol avatar joaquimmnetto avatar larusso avatar sebu avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

isabella232

atlas-unity-version-manager's Issues

Mappings from BuildTarget enum or string won't scale over different version of Unity

Description

The idea behind this code is inherently broken. We can't really decuce the components from the selected build target. There are only a handfull of targets which have been stable over the last few years (ios, android, webgl).

The BuildTarget enum in Unity is changing or can change from version to version. Even worth, the component values are also bound to a Unity version. So one Unity has the component windows-mono the next one uses a different name.

static Component buildTargetToComponent(String target) {
Component component = Component.unknown
switch (target.toLowerCase()) {
case "android":
component = Component.android
break
case "ios":
component = Component.ios
break
case "tvos":
component = Component.tvOs
break
case "webgl":
component = Component.webGl
break
case "linux":
case "linux64":
case "linuxuniversal":
component = Component.linux
break
case "lumin":
component = Component.lumin
break
case 'osxuniversal':
component = Component.mac
break
case "win32":
case "win64":
if (!System.getProperty("os.name").toLowerCase().startsWith("windows")) {
component = Component.windows
}
break
}
component
}

task of type UvmInstallUnity should never be up-to-date

Description

A custom task derived from UvmInstallUnity can become up-to-date. This leads issues when the desired Unity installation got removed after the last run of the task or components got deleted.

Steps to reproduce

  1. create custom task based on UvmInstallUnity
  2. run task and install a unity Editor version
  3. delete installation
  4. run task again

Expected behavior

task installs unity again

Actual behavior

task claims to be up-to-date

Install Android SKD/NDK/JDK when installing Android Component

Description

Unity >2019 ships with bundled android sdk, android ndk and java jdk components. These components are still optional but to find the correct version for each unity version is hard.
As an example Unity 2019 needs android ndk r16b and Unity 2019.3 needs r19.
We should make sure to also install these components.

There is ongoing work in https://github.com/Larusso/unity-version-manager to support a better installation routine by providing a list of module ids. These ids are not listable at the moment so this is a blocker.

The unity modules.json marks these support modules with a parent and sync key. The value for parent android which is the module id for the android build support component. All other modules have a common sync key. It should be possible to fetch a list of all modules based on parent, sync keys.

excerpt modules.json

{
  "id": "android-sdk-ndk-tools",
  "name": "Android SDK & NDK Tools",
  "description": "Android SDK & NDK Tools 26.1.1",
  "downloadUrl": "https://dl.google.com/android/repository/sdk-tools-darwin-4333796.zip",
  "category": "Platforms",
  "installedSize": 174000000,
  "downloadSize": 148000000,
  "visible": true,
  "sync": "Android Build Support",
  "selected": true,
  "destination": "{UNITY_PATH}/PlaybackEngines/AndroidPlayer/SDK",
  "parent": "android",
  "eulaUrl1": "https://dl.google.com/dl/android/repository/repository2-1.xml",
  "eulaLabel1": "Android SDK and NDK License Terms from Google",
  "eulaMessage": "Please review and accept the license terms before downloading and installing Android's SDK and NDK."
}, {
  "id": "android-sdk-platform-tools",
  "name": "Android SDK Platform Tools",
  "description": "Android SDK Platform Tools 28.0.1",
  "downloadUrl": "https://dl.google.com/android/repository/platform-tools_r28.0.1-darwin.zip",
  "category": "Platforms",
  "installedSize": 15700000,
  "downloadSize": 4550000,
  "visible": false,
  "sync": "android-sdk-ndk-tools",
  "selected": true,
  "destination": "{UNITY_PATH}/PlaybackEngines/AndroidPlayer/SDK"
}, {
  "id": "android-sdk-build-tools",
  "name": "Android SDK Build Tools",
  "description": "Android SDK Build Tools 28.0.3",
  "downloadUrl": "https://dl.google.com/android/repository/build-tools_r28.0.3-macosx.zip",
  "category": "Platforms",
  "installedSize": 120000000,
  "downloadSize": 52600000,
  "visible": false,
  "sync": "android-sdk-ndk-tools",
  "selected": true,
  "destination": "{UNITY_PATH}/PlaybackEngines/AndroidPlayer/SDK/build-tools",
  "renameTo": "{UNITY_PATH}/PlaybackEngines/AndroidPlayer/SDK/build-tools/28.0.3",
  "renameFrom": "{UNITY_PATH}/PlaybackEngines/AndroidPlayer/SDK/build-tools/android-9"
}, {
  "id": "android-sdk-platforms",
  "name": "Android SDK Platforms",
  "description": "Android SDK Platforms 28",
  "downloadUrl": "https://dl.google.com/android/repository/platform-28_r06.zip",
  "category": "Platforms",
  "installedSize": 121000000,
  "downloadSize": 60600000,
  "visible": false,
  "sync": "android-sdk-ndk-tools",
  "selected": true,
  "destination": "{UNITY_PATH}/PlaybackEngines/AndroidPlayer/SDK/platforms",
  "renameTo": "{UNITY_PATH}/PlaybackEngines/AndroidPlayer/SDK/platforms/android-28",
  "renameFrom": "{UNITY_PATH}/PlaybackEngines/AndroidPlayer/SDK/platforms/android-9"
}, {
  "id": "android-ndk",
  "name": "Android NDK",
  "description": "Android NDK r19",
  "downloadUrl": "https://dl.google.com/android/repository/android-ndk-r19-darwin-x86_64.zip",
  "category": "Platforms",
  "installedSize": 2700000000,
  "downloadSize": 770000000,
  "visible": false,
  "sync": "android-sdk-ndk-tools",
  "selected": true,
  "destination": "{UNITY_PATH}/PlaybackEngines/AndroidPlayer/NDK",
  "renameTo": "{UNITY_PATH}/PlaybackEngines/AndroidPlayer/NDK",
  "renameFrom": "{UNITY_PATH}/PlaybackEngines/AndroidPlayer/NDK/android-ndk-r19"
}, {
  "id": "android-open-jdk",
  "name": "OpenJDK",
  "description": "Android Open JDK 8u172-b11",
  "downloadUrl": "http://download.unity3d.com/download_unity/open-jdk/open-jdk-mac-x64/jdk8u172-b11_4be8440cc514099cfe1b50cbc74128f6955cd90fd5afe15ea7be60f832de67b4.zip",
  "category": "Platforms",
  "installedSize": 72700000,
  "downloadSize": 165000000,
  "visible": true,
  "selected": true,
  "parent": "android",
  "sync": "Android Build Support",
  "destination": "{UNITY_PATH}/PlaybackEngines/AndroidPlayer/OpenJDK"
}

This should be generic for other platforms as well.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.