summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/packages/details
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/packages/details')
-rw-r--r--app/assets/javascripts/packages/details/components/maven_installation.vue30
-rw-r--r--app/assets/javascripts/packages/details/components/npm_installation.vue27
-rw-r--r--app/assets/javascripts/packages/details/components/package_files.vue1
-rw-r--r--app/assets/javascripts/packages/details/constants.js3
-rw-r--r--app/assets/javascripts/packages/details/store/getters.js11
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;