SDKMAN!

Программные средства разработки

Модераторы: Olej, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 16461
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

SDKMAN!

Непрочитанное сообщение Olej » 25 май 2017, 16:37

SDKMAN! - тул менеджмента SDK для разработчика на Java/Groovy/Kotlin/Scala и связанных фреймворков
Каждому разработчику, билд-инженеру и просто DevOps-у так или иначе приходится устанавливать и обновлять JDK/Ceylon/Groovy/Kotlin/Scala и Grails/Griffon/Springframewrork, а также связанные с ними системы сборки Ant/Maven/Gradle/Kobalt/sbt и проч.
Устанавливается так:

Код: Выделить всё

[olej@dell ~]$ curl -s https://get.sdkman.io | bash
                                                               		         
Thanks for using...                                            		         
                                                               		         
                                                               		         
     SSSSSSSSSSSSSSS DDDDDDDDDDDDD       KKKKKKKKK    KKKKKKK                  
   SS:::::::::::::::SD::::::::::::DDD    K:::::::K    K:::::K                  
  S:::::SSSSSS::::::SD:::::::::::::::DD  K:::::::K    K:::::K                  
  S:::::S     SSSSSSSDDD:::::DDDDD:::::D K:::::::K   K::::::K                  
  S:::::S              D:::::D    D:::::DKK::::::K  K:::::KKK                  
  S:::::S              D:::::D     D:::::D K:::::K K:::::K                     
   S::::SSSS           D:::::D     D:::::D K::::::K:::::K                      
    SS::::::SSSSS      D:::::D     D:::::D K:::::::::::K                       
      SSS::::::::SS    D:::::D     D:::::D K:::::::::::K                       
         SSSSSS::::S   D:::::D     D:::::D K::::::K:::::K                      
              S:::::S  D:::::D     D:::::D K:::::K K:::::K                     
              S:::::S  D:::::D    D:::::DKK::::::K  K:::::KKK                  
  SSSSSSS     S:::::SDDD:::::DDDDD:::::D K:::::::K   K::::::K                  
  S::::::SSSSSS:::::SD:::::::::::::::DD  K:::::::K    K:::::K                  
  S:::::::::::::::SS D::::::::::::DDD    K:::::::K    K:::::K                  
   SSSSSSSSSSSSSSS   DDDDDDDDDDDDD       KKKKKKKKK    KKKKKKK                  
                                                                               
                                                                               
                      mmmmmmm    mmmmmmm     aaaaaaaaaaaaa  nnnn  nnnnnnnn     
                    mm:::::::m  m:::::::mm   a::::::::::::a n:::nn::::::::nn   
                   m::::::::::mm::::::::::m  aaaaaaaaa:::::an::::::::::::::nn  
                   m::::::::::::::::::::::m           a::::ann:::::::::::::::n 
                   m:::::mmm::::::mmm:::::m    aaaaaaa:::::a  n:::::nnnn:::::n 
                   m::::m   m::::m   m::::m  aa::::::::::::a  n::::n    n::::n 
                   m::::m   m::::m   m::::m a::::aaaa::::::a  n::::n    n::::n 
                   m::::m   m::::m   m::::ma::::a    a:::::a  n::::n    n::::n 
                   m::::m   m::::m   m::::ma::::a    a:::::a  n::::n    n::::n 
                   m::::m   m::::m   m::::ma:::::aaaa::::::a  n::::n    n::::n 
                   m::::m   m::::m   m::::m a::::::::::aa:::a n::::n    n::::n 
                   mmmmmm   mmmmmm   mmmmmm  aaaaaaaaaa  aaaa nnnnnn    nnnnnn 
            								                                     
            								                                     
                                                 Now attempting installation...
                                                                               
Looking for a previous installation of SDKMAN...
Looking for unzip...
Looking for zip...
Looking for curl...
Looking for sed...
Installing SDKMAN scripts...
Create distribution directories...
Getting available candidates...
Prime the config file...
Download script archive...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
100 20838  100 20838    0     0  11718      0  0:00:01  0:00:01 --:--:-- 11718
Extract script archive...
Install scripts...
Set version to 5.5.9+231 ...
Attempt update of bash profiles...
Updated existing /home/olej/.bash_profile
Updated existing /home/olej/.bashrc
Attempt update of zsh profiles...
Created and initialised /home/olej/.zshrc



All done!


Please open a new terminal, or run the following in the existing one:

    source "/home/olej/.sdkman/bin/sdkman-init.sh"

Then issue the following command:

    sdk help

Enjoy!!!
После этого инсталляция прописывает:

Код: Выделить всё

[olej@dell ~]$ tail -n3 .bashrc
#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
export SDKMAN_DIR="/home/olej/.sdkman"
[[ -s "/home/olej/.sdkman/bin/sdkman-init.sh" ]] && source "/home/olej/.sdkman/bin/sdkman-init.sh"

Код: Выделить всё

[olej@dell ~]$ sdk --help
Invalid command: --help

Usage: sdk <command> [candidate] [version]
       sdk offline <enable|disable>

   commands:
       install   or i    <candidate> [version]
       uninstall or rm   <candidate> <version>
       list      or ls   [candidate]
       use       or u    <candidate> [version]
       default   or d    <candidate> [version]
       current   or c    [candidate]
       upgrade   or ug   [candidate]
       version   or v
       broadcast or b
       help      or h
       offline           [enable|disable]
       selfupdate        [force]
       flush             <candidates|broadcast|archives|temp>

   candidate  :  the SDK to install: groovy, scala, grails, gradle, kotlin, etc.
                 use list command for comprehensive list of candidates
                 eg: $ sdk list

   version    :  where optional, defaults to latest stable if not provided
                 eg: $ sdk install groovy

Аватара пользователя
Olej
Писатель
Сообщения: 16461
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: SDKMAN!

Непрочитанное сообщение Olej » 25 май 2017, 16:39

Последующие инсталляции делаются так (пример для установки SDK языка Kotlin):

Код: Выделить всё

[olej@dell ~]$ sdk install kotlin

Downloading: kotlin 1.1.2-2

In progress...

######################################################################## 100,0%

Installing: kotlin 1.1.2-2
Done installing!


Setting kotlin 1.1.2-2 as default.
И после такой инсталляции в каждом последующем запуске bash будет:

Код: Выделить всё

[olej@dell ~]$ echo $PATH
/home/olej/.sdkman/candidates/kotlin/current/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/home/olej/.local/bin:/home/olej/bin

Код: Выделить всё

[olej@dell ~]$ which kotlin
~/.sdkman/candidates/kotlin/current/bin/kotlin

Аватара пользователя
Olej
Писатель
Сообщения: 16461
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: SDKMAN!

Непрочитанное сообщение Olej » 25 май 2017, 16:48

Olej писал(а): И после такой инсталляции в каждом последующем запуске bash будет:
Т.е. SDKMAN! создаёт дерево каталогов в $HOME/.sdkman + все SDK из числа группы поддерживаемых инструментов устанавливается туда внутрь:

Код: Выделить всё

[olej@dell ~]$ tree .sdkman
.sdkman
├── archives
│   └── kotlin-1.1.2-2.zip
├── bin
│   └── sdkman-init.sh
├── candidates
│   └── kotlin
│       ├── 1.1.2-2
│       │   ├── bin
│       │   │   ├── kotlin
│       │   │   ├── kotlin.bat
│       │   │   ├── kotlinc
│       │   │   ├── kotlinc.bat
│       │   │   ├── kotlinc-js
│       │   │   ├── kotlinc-js.bat
│       │   │   ├── kotlinc-jvm
│       │   │   └── kotlinc-jvm.bat
│       │   ├── build.txt
│       │   ├── lib
│       │   │   ├── allopen-compiler-plugin.jar
│       │   │   ├── android-extensions-compiler.jar
│       │   │   ├── kotlin-annotation-processing.jar
│       │   │   ├── kotlin-ant.jar
│       │   │   ├── kotlin-build-common-test.jar
│       │   │   ├── kotlin-compiler-client-embeddable.jar
│       │   │   ├── kotlin-compiler.jar
│       │   │   ├── kotlin-daemon-client.jar
│       │   │   ├── kotlin-jslib.jar
│       │   │   ├── kotlin-jslib-sources.jar
│       │   │   ├── kotlin-preloader.jar
│       │   │   ├── kotlin-reflect.jar
│       │   │   ├── kotlin-runner.jar
│       │   │   ├── kotlin-runtime.jar
│       │   │   ├── kotlin-runtime-sources.jar
│       │   │   ├── kotlin-script-runtime.jar
│       │   │   ├── kotlin-script-runtime-sources.jar
│       │   │   ├── kotlin-stdlib.jar
│       │   │   ├── kotlin-stdlib-js.jar
│       │   │   ├── kotlin-stdlib-js-sources.jar
│       │   │   ├── kotlin-stdlib-sources.jar
│       │   │   ├── kotlin-test.jar
│       │   │   ├── kotlin-test-js.jar
│       │   │   ├── noarg-compiler-plugin.jar
│       │   │   ├── sam-with-receiver-compiler-plugin.jar
│       │   │   └── source-sections-compiler-plugin.jar
│       │   └── license
│       │       ├── LICENSE.txt
│       │       ├── NOTICE.txt
│       │       └── third_party
│       │           ├── args4j_LICENSE.txt
│       │           ├── asm_license.txt
│       │           ├── closure-compiler_LICENSE.txt
│       │           ├── dart_LICENSE.txt
│       │           ├── jshashtable_license.txt
│       │           ├── json_LICENSE.txt
│       │           ├── maven_LICENSE.txt
│       │           ├── pcollections_LICENSE.txt
│       │           ├── prototype_license.txt
│       │           ├── rhino_LICENSE.txt
│       │           ├── scala_license.txt
│       │           ├── trove_license.txt
│       │           └── trove_readme_license.txt
│       └── current -> /home/olej/.sdkman/candidates/kotlin/1.1.2-2
├── etc
│   └── config
├── ext
├── src
│   ├── sdkman-availability.sh
│   ├── sdkman-broadcast.sh
│   ├── sdkman-current.sh
│   ├── sdkman-default.sh
│   ├── sdkman-env-helpers.sh
│   ├── sdkman-flush.sh
│   ├── sdkman-help.sh
│   ├── sdkman-install.sh
│   ├── sdkman-list.sh
│   ├── sdkman-main.sh
│   ├── sdkman-offline.sh
│   ├── sdkman-path-helpers.sh
│   ├── sdkman-selfupdate.sh
│   ├── sdkman-uninstall.sh
│   ├── sdkman-upgrade.sh
│   ├── sdkman-use.sh
│   ├── sdkman-utils.sh
│   └── sdkman-version.sh
├── tmp
│   ├── hook_post_kotlin_1.1.2-2.sh
│   ├── hook_pre_kotlin_1.1.2-2.sh
│   ├── out
│   ├── res-5.5.9+231.zip
│   └── stage
└── var
    ├── broadcast
    ├── broadcast_id
    ├── candidates
    ├── delay_upgrade
    └── version

17 directories, 79 files

Ответить

Вернуться в «Инструменты программирования»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя