diff options
Diffstat (limited to 'app/assets/javascripts/packages/details')
5 files changed, 63 insertions, 9 deletions
diff --git a/app/assets/javascripts/packages/details/components/maven_installation.vue b/app/assets/javascripts/packages/details/components/maven_installation.vue index b9532cb7e72..6974de99344 100644 --- a/app/assets/javascripts/packages/details/components/maven_installation.vue +++ b/app/assets/javascripts/packages/details/components/maven_installation.vue @@ -28,10 +28,15 @@ export default { 'mavenSetupXml', 'gradleGroovyInstalCommand', 'gradleGroovyAddSourceCommand', + 'gradleKotlinInstalCommand', + 'gradleKotlinAddSourceCommand', ]), showMaven() { return this.instructionType === 'maven'; }, + showGroovy() { + return this.instructionType === 'groovy'; + }, }, i18n: { xmlText: s__( @@ -47,8 +52,9 @@ export default { trackingActions: { ...TrackingActions }, TrackingLabels, installOptions: [ - { value: 'maven', label: s__('PackageRegistry|Show Maven commands') }, - { value: 'groovy', label: s__('PackageRegistry|Show Gradle Groovy DSL commands') }, + { value: 'maven', label: s__('PackageRegistry|Maven XML') }, + { value: 'groovy', label: s__('PackageRegistry|Gradle Groovy DSL') }, + { value: 'kotlin', label: s__('PackageRegistry|Gradle Kotlin DSL') }, ], }; </script> @@ -107,7 +113,7 @@ export default { </template> </gl-sprintf> </template> - <template v-else> + <template v-else-if="showGroovy"> <code-instruction class="gl-mb-5" :label="s__('PackageRegistry|Gradle Groovy DSL install command')" @@ -125,5 +131,23 @@ export default { multiline /> </template> + <template v-else> + <code-instruction + class="gl-mb-5" + :label="s__('PackageRegistry|Gradle Kotlin DSL install command')" + :instruction="gradleKotlinInstalCommand" + :copy-text="s__('PackageRegistry|Copy Gradle Kotlin DSL install command')" + :tracking-action="$options.trackingActions.COPY_KOTLIN_INSTALL_COMMAND" + :tracking-label="$options.TrackingLabels.CODE_INSTRUCTION" + /> + <code-instruction + :label="s__('PackageRegistry|Add Gradle Kotlin DSL repository command')" + :instruction="gradleKotlinAddSourceCommand" + :copy-text="s__('PackageRegistry|Copy add Gradle Kotlin DSL repository command')" + :tracking-action="$options.trackingActions.COPY_KOTLIN_ADD_TO_SOURCE_COMMAND" + :tracking-label="$options.TrackingLabels.CODE_INSTRUCTION" + multiline + /> + </template> </div> </template> diff --git a/app/assets/javascripts/packages/details/components/npm_installation.vue b/app/assets/javascripts/packages/details/components/npm_installation.vue index 18f15e2c63e..6b0fcf5e4fe 100644 --- a/app/assets/javascripts/packages/details/components/npm_installation.vue +++ b/app/assets/javascripts/packages/details/components/npm_installation.vue @@ -14,6 +14,11 @@ export default { GlLink, GlSprintf, }, + data() { + return { + instructionType: 'npm', + }; + }, computed: { ...mapState(['npmHelpPath']), ...mapGetters(['npmInstallationCommand', 'npmSetupCommand']), @@ -29,6 +34,9 @@ export default { yarnSetupCommand() { return this.npmSetupCommand(NpmManager.YARN); }, + showNpm() { + return this.instructionType === 'npm'; + }, }, i18n: { helpText: s__( @@ -37,16 +45,23 @@ export default { }, trackingActions: { ...TrackingActions }, TrackingLabels, - installOptions: [{ value: 'npm', label: s__('PackageRegistry|Show NPM commands') }], + installOptions: [ + { value: 'npm', label: s__('PackageRegistry|Show NPM commands') }, + { value: 'yarn', label: s__('PackageRegistry|Show Yarn commands') }, + ], }; </script> <template> <div> - <installation-title package-type="npm" :options="$options.installOptions" /> + <installation-title + package-type="npm" + :options="$options.installOptions" + @change="instructionType = $event" + /> <code-instruction - :label="s__('PackageRegistry|npm command')" + v-if="showNpm" :instruction="npmCommand" :copy-text="s__('PackageRegistry|Copy npm command')" :tracking-action="$options.trackingActions.COPY_NPM_INSTALL_COMMAND" @@ -54,7 +69,7 @@ export default { /> <code-instruction - :label="s__('PackageRegistry|yarn command')" + v-else :instruction="yarnCommand" :copy-text="s__('PackageRegistry|Copy yarn command')" :tracking-action="$options.trackingActions.COPY_YARN_INSTALL_COMMAND" @@ -64,7 +79,7 @@ export default { <h3 class="gl-font-lg">{{ __('Registry setup') }}</h3> <code-instruction - :label="s__('PackageRegistry|npm command')" + v-if="showNpm" :instruction="npmSetup" :copy-text="s__('PackageRegistry|Copy npm setup command')" :tracking-action="$options.trackingActions.COPY_NPM_SETUP_COMMAND" @@ -72,7 +87,7 @@ export default { /> <code-instruction - :label="s__('PackageRegistry|yarn command')" + v-else :instruction="yarnSetupCommand" :copy-text="s__('PackageRegistry|Copy yarn setup command')" :tracking-action="$options.trackingActions.COPY_YARN_SETUP_COMMAND" diff --git a/app/assets/javascripts/packages/details/components/package_files.vue b/app/assets/javascripts/packages/details/components/package_files.vue index c5e929fe2a4..103d1f489bd 100644 --- a/app/assets/javascripts/packages/details/components/package_files.vue +++ b/app/assets/javascripts/packages/details/components/package_files.vue @@ -92,6 +92,7 @@ export default { <template #cell(commit)="{ item }"> <gl-link + v-if="item.pipeline && item.pipeline.project" :href="item.pipeline.project.commit_url" class="gl-text-gray-500" data-testid="commit-link" diff --git a/app/assets/javascripts/packages/details/constants.js b/app/assets/javascripts/packages/details/constants.js index f0300ee29b4..cd34b1ad45a 100644 --- a/app/assets/javascripts/packages/details/constants.js +++ b/app/assets/javascripts/packages/details/constants.js @@ -38,6 +38,9 @@ export const TrackingActions = { COPY_GRADLE_INSTALL_COMMAND: 'copy_gradle_install_command', COPY_GRADLE_ADD_TO_SOURCE_COMMAND: 'copy_gradle_add_to_source_command', + + COPY_KOTLIN_INSTALL_COMMAND: 'copy_kotlin_install_command', + COPY_KOTLIN_ADD_TO_SOURCE_COMMAND: 'copy_kotlin_add_to_source_command', }; export const NpmManager = { diff --git a/app/assets/javascripts/packages/details/store/getters.js b/app/assets/javascripts/packages/details/store/getters.js index fb9b7d61fd2..ae273e26d6a 100644 --- a/app/assets/javascripts/packages/details/store/getters.js +++ b/app/assets/javascripts/packages/details/store/getters.js @@ -126,4 +126,15 @@ export const gradleGroovyAddSourceCommand = ({ mavenPath }) => url '${mavenPath}' }`; +export const gradleKotlinInstalCommand = ({ packageEntity }) => { + const { + app_group: group = '', + app_name: name = '', + app_version: version = '', + } = packageEntity.maven_metadatum; + return `implementation("${group}:${name}:${version}")`; +}; + +export const gradleKotlinAddSourceCommand = ({ mavenPath }) => `maven("${mavenPath}")`; + export const groupExists = ({ groupListUrl }) => groupListUrl.length > 0; |