diff --git a/clion/archive/clean.sls b/clion/archive/clean.sls index f9884a6..fdadbd7 100644 --- a/clion/archive/clean.sls +++ b/clion/archive/clean.sls @@ -9,4 +9,4 @@ clion-package-archive-clean-file-absent: file.absent: - names: - {{ clion.pkg.archive.path }} - - /usr/local/jetbrains/clion-{{ clion.edition }}-* + - /usr/local/jetbrains/clion-* diff --git a/clion/config/clean.sls b/clion/config/clean.sls index 8f2b95d..7c91fae 100644 --- a/clion/config/clean.sls +++ b/clion/config/clean.sls @@ -26,7 +26,7 @@ clion-config-clean-file-absent: {%- if grains.kernel|lower == 'linux' %} - {{ clion.linux.desktop_file }} {%- elif grains.os == 'MacOS' %} - - {{ clion.dir.homes }}/{{ clion.identity.user }}/Desktop/{{ clion.pkg.name }}{{ ' %sE'|format(clion.edition) if clion.edition else '' }} # noqa 204 + - {{ clion.dir.homes }}/{{ clion.identity.user }}/Desktop/{{ clion.pkg.name }}{{ '' if 'edition' not in clion else ' %sE'|format(clion.edition) }} # noqa 204 {%- endif %} - require: - sls: {{ sls_package_clean }} diff --git a/clion/config/environ.sls b/clion/config/environ.sls index 441bb6e..3c5278c 100644 --- a/clion/config/environ.sls +++ b/clion/config/environ.sls @@ -28,7 +28,7 @@ clion-config-file-file-managed-environ_file: - template: jinja - context: {%- if clion.pkg.use_upstream_macapp %} - path: '/Applications/{{ clion.pkg.name }}{{ '\ %sE'|format(clion.edition) }}.app/Contents/MacOS' + path: '/Applications/{{ clion.pkg.name }}{{ '' if 'edition' not in clion else '\ %sE'|format(clion.edition) }}.app/Contents/MacOS' # noqa 204 {%- else %} path: {{ clion.pkg.archive.path }}/bin {%- endif %} diff --git a/clion/config/shortcut.sls b/clion/config/shortcut.sls index 6289456..f55ad0e 100644 --- a/clion/config/shortcut.sls +++ b/clion/config/shortcut.sls @@ -28,7 +28,7 @@ clion-config-file-file-managed-desktop-shortcut_file: - template: jinja - context: appname: {{ clion.pkg.name }} - edition: {{ clion.edition|json }} + edition: {{ '' if 'edition' not in clion else clion.edition|json }} command: {{ clion.command|json }} {%- if clion.pkg.use_upstream_macapp %} path: {{ clion.pkg.macapp.path }} diff --git a/clion/files/default/shortcut.desktop.jinja b/clion/files/default/shortcut.desktop.jinja index 444ba98..e816edc 100644 --- a/clion/files/default/shortcut.desktop.jinja +++ b/clion/files/default/shortcut.desktop.jinja @@ -1,7 +1,7 @@ [Desktop Entry] Encoding=UTF-8 -Name={{ appname }}{{ ' %sE'|format(edition) if edition else '' }} -Comment={{ appname }}{{ ' %sE'|format(edition) if edition else '' }} +Name={{ appname }}{{ '' if not edition else ' %sE'|format(edition) }} +Comment={{ appname }}{{ '' if not edition else ' %sE'|format(edition) }} Icon={{ path }}/{{ command.split('.')[0] }}.png Exec={{ path }}/{{ command }} Terminal=false diff --git a/clion/files/mac_shortcut.sh b/clion/files/mac_shortcut.sh index 518c1a1..9bfdf0f 100755 --- a/clion/files/mac_shortcut.sh +++ b/clion/files/mac_shortcut.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -Source="/Applications/{{ appname }}{{ ' %sE'|format(edition) if edition else '' }}.app" +Source="/Applications/{{ appname }}{{ '' if not edition else ' %sE'|format(edition) }}.app" Destination="{{ homes }}/{{ user }}/Desktop" /usr/bin/osascript -e "tell application \"Finder\" to make alias file to POSIX file \"$Source\" at POSIX file \"$Destination\"" diff --git a/clion/macapp/clean.sls b/clion/macapp/clean.sls index 9d72617..ebc37b3 100644 --- a/clion/macapp/clean.sls +++ b/clion/macapp/clean.sls @@ -10,7 +10,7 @@ clion-macos-app-clean-files: file.absent: - names: - {{ clion.dir.tmp }} - - /Applications/{{ clion.pkg.name }}{{ ' %sE'|format(clion.edition) if clion.edition else '' }}.app + - /Applications/{{ clion.pkg.name }}{{ '' if not edition else ' %sE'|format(edition) }}.app {%- else %} diff --git a/clion/macapp/install.sls b/clion/macapp/install.sls index 1b6cb68..ac0f548 100644 --- a/clion/macapp/install.sls +++ b/clion/macapp/install.sls @@ -55,7 +55,7 @@ clion-macos-app-install-macpackage: - template: jinja - context: appname: {{ clion.pkg.name }} - edition: {{ clion.edition }} + edition: {{ '' if 'edition' not in clion else clion.edition }} user: {{ clion.identity.user }} homes: {{ clion.dir.homes }} cmd.run: diff --git a/clion/map.jinja b/clion/map.jinja index bf5c05d..223d810 100644 --- a/clion/map.jinja +++ b/clion/map.jinja @@ -15,24 +15,28 @@ ) ) %} -{%- set clion = salt['grains.filter_by']( {'defaults': defaults}, default='defaults', merge=_config) %} +{%- set c = salt['grains.filter_by']( {'defaults': defaults}, default='defaults', merge=_config) %} -{%- set pcode = clion.product ~ clion.edition if clion.edition else clion.product %} -{%- set jdata = salt['cmd.run']('curl -s -L {0}{1}'.format(clion.pkg.archive.uri, pcode))|load_yaml %} -{%- do clion.update({ 'version': jdata[ pcode ][0]['version'] }) %} +{%- set edition = '' if 'edition' not in c else c.edition %} +{%- set pcode = c.product ~ edition %} +{%- set jdata = salt['cmd.run']('curl -s -L {0}{1}'.format(c.pkg.archive.uri, pcode))|load_yaml %} +{%- do c.update({ 'version': jdata[ pcode ][0]['version'] }) %} -{%- set dirname = 'clion-%s-%s'|format( clion.edition if clion.edition else '', clion.version) %} -{%- set url = jdata[ pcode ][0]['downloads'][ clion.flavour ]['link'] %} -{%- set hash = salt['cmd.run']('curl -L -s {0}'.format( jdata[ pcode ][0]['downloads'][ clion.flavour ]['checksumLink'])).split(' ')[0] %} # noqa 204 +{%- set dirname = 'c-%s-%s'|format( edition, c.version) %} +{%- set url = jdata[ pcode ][0]['downloads'][ c.flavour ]['link'] %} +{%- set hash = salt['cmd.run']('curl -L -s {0}'.format( jdata[ pcode ][0]['downloads'][ c.flavour ]['checksumLink'])).split(' ')[0] %} # noqa 204 -{%- if clion.pkg.use_upstream_archive %} - {%- do clion.pkg.archive.update({'name': clion.dir.archive ~ '/' ~ dirname, - 'path': clion.dir.archive ~ '/' ~ dirname, - 'source': url, - 'source_hash': hash }) %} +{%- if c.pkg.use_upstream_archive %} + {%- do c.pkg.archive.update({'name': c.dir.archive ~ '/' ~ dirname, + 'path': c.dir.archive ~ '/' ~ dirname, + 'source': url, + 'source_hash': hash }) %} {%- endif %} - -{%- if clion.pkg.use_upstream_macapp %} - {%- do clion.pkg.macapp.update({ - 'name': '/Applications', 'path': '/Applications', 'source': url, 'source_hash': hash }) %} +{%- if c.pkg.use_upstream_macapp %} + {%- do c.pkg.macapp.update({'name': '/Applications', + 'path': '/Applications', + 'source': url, + 'source_hash': hash }) %} {%- endif %} + +{%- set clion = c %} diff --git a/docs/README.rst b/docs/README.rst index 2d80ade..b4655a5 100644 --- a/docs/README.rst +++ b/docs/README.rst @@ -55,7 +55,7 @@ Available states :local: ``clion`` -^^^^^^^ +^^^^^^^^^ *Meta-state (This is a state that includes other states)*. @@ -64,28 +64,28 @@ manages Clion configuration file and then configures the development environment. ``clion.archive`` -^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^ This state will install Clion from archive only. ``clion.macapp`` -^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^ This state will install Clion from source only. ``clion.config`` -^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^ This state will configure npmrc and/or environment and has a dependency on ``clion.install`` via include list. ``clion.linuxenv`` -^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^ This state will install some Clion linux-alternatives on GNU/Linux. ``clion.clean`` -^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^ *Meta-state (This is a state that includes other states)*. @@ -94,25 +94,25 @@ removes the configuration file and then uninstalls the package. ``clion.config.clean`` -^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^ This state will remove the configuration of Clion and has a dependency on ``clion.package.clean`` via include list. ``clion.archive.clean`` -^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^ This state will remove Clion package and has a dependency on ``clion.config.clean`` via include list. ``clion.macapp.clean`` -^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^ This state will remove Clion package and has a dependency on ``clion.config.clean`` via include list. ``clion.linuxenv.clean`` -^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^ This state will remove Clion linux-alternatives on GNU/Linux.