refactor(DependenciesResolver): pass workspace parameter to DependenciesResolver and update directory references

Signed-off-by: 孙振宇 <>
This commit is contained in:
孙振宇 2025-02-04 12:48:46 +08:00
parent 805b051c26
commit 00063babb9
3 changed files with 8 additions and 6 deletions

View File

@ -7,8 +7,9 @@ class DependenciesResolver {
def language def language
def cachingEnabled def cachingEnabled
def mgr def mgr
def workspace
DependenciesResolver(steps, language) { DependenciesResolver(steps, language, workspace) {
this.steps = steps this.steps = steps
this.language = language this.language = language
} }
@ -53,13 +54,13 @@ class DependenciesResolver {
def packageJsonFile = configurations.npmPackageJsonFile def packageJsonFile = configurations.npmPackageJsonFile
if (cachingEnabled) { if (cachingEnabled) {
steps.dir(steps.env.workspace) { steps.dir(workspace) {
steps.cache(maxCacheSize: 512, caches: [[$class: 'ArbitraryFileCache', excludes: '', includes: '**/*', path: '.npm-cache']]) { steps.cache(maxCacheSize: 512, caches: [[$class: 'ArbitraryFileCache', excludes: '', includes: '**/*', path: '.npm-cache']]) {
steps.sh "npm install --cache .npm-cache" steps.sh "npm install --cache .npm-cache"
} }
} }
} else { } else {
steps.dir(steps.env.workspace) { steps.dir(workspace) {
steps.sh "npm install" steps.sh "npm install"
} }
} }
@ -73,13 +74,13 @@ class DependenciesResolver {
def packageJsonFile = configurations.yarnPackageJsonFile def packageJsonFile = configurations.yarnPackageJsonFile
if (cachingEnabled) { if (cachingEnabled) {
steps.dir(steps.env.workspace) { steps.dir(workspace) {
steps.cache(maxCacheSize: 512, caches: [[$class: 'ArbitraryFileCache', excludes: '', includes: '**/*', path: '.yarn-cache']]) { steps.cache(maxCacheSize: 512, caches: [[$class: 'ArbitraryFileCache', excludes: '', includes: '**/*', path: '.yarn-cache']]) {
steps.sh "yarn install --cache-folder .yarn-cache" steps.sh "yarn install --cache-folder .yarn-cache"
} }
} }
} else { } else {
steps.dir(steps.env.workspace) { steps.dir(workspace) {
steps.sh "yarn install" steps.sh "yarn install"
} }
} }

View File

@ -14,6 +14,7 @@ executeFreeleapsPipeline {
root: 'frontend', root: 'frontend',
language: 'javascript', language: 'javascript',
dependenciesManager: 'npm', dependenciesManager: 'npm',
npmPackageJsonFile: 'package.json'
buildAgentImage: 'node:lts-alpine', buildAgentImage: 'node:lts-alpine',
buildCacheEnabled: true, buildCacheEnabled: true,
buildCommand: 'npm run build', buildCommand: 'npm run build',

View File

@ -168,7 +168,7 @@ spec:
def depManager = DependenciesManager.parse(component.dependenciesManager) def depManager = DependenciesManager.parse(component.dependenciesManager)
def dependenciesResolver = new DependenciesResolver(this, language) def dependenciesResolver = new DependenciesResolver(this, language, env.workspace + "/" + component.root + "/")
dependenciesResolver.useManager(depManager) dependenciesResolver.useManager(depManager)
if (component.buildCacheEnabled) { if (component.buildCacheEnabled) {