Class: Pindo::TaskSystem::NugetBuildTask

Inherits:
NugetTask show all
Defined in:
lib/pindo/module/task/model/nuget/nuget_build_task.rb

Instance Attribute Summary

Attributes inherited from NugetTask

#project_path

Attributes inherited from PindoTask

#callbacks_setup, #context, #created_at, #dependencies, #error, #finished_at, #id, #max_retry_count, #metadata, #name, #priority, #result, #retry_count, #retry_delay, #retry_mode, #skip_count, #started_at, #status, #task_key, #task_manager, #type

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from NugetTask

#required_resources, task_type

Methods inherited from PindoTask

#before_retry, #cancel, #cancelled?, #check_cancelled!, #data_param, default_retry_count, default_retry_delay, default_retry_mode, #do_task, #execution_time, #finished?, #get_all_data_params, #get_all_data_params_by_key, #get_all_dependencies_results, #get_data_param, #get_data_param_by_key, #get_dependency_result, #get_dependency_task, #on, #primary_data_param, #release_resource, #release_resources, #required_resources, #reset_for_retry, #retryable?, #running?, #should_retry?, task_type, #validate, #with_resource, #with_resources

Constructor Details

#initialize(project_path:) ⇒ NugetBuildTask

Returns a new instance of NugetBuildTask.



12
13
14
# File 'lib/pindo/module/task/model/nuget/nuget_build_task.rb', line 12

def initialize(project_path:)
  super("NugetBuild", project_path: project_path)
end

Class Method Details

.task_keyObject



8
9
10
# File 'lib/pindo/module/task/model/nuget/nuget_build_task.rb', line 8

def self.task_key
  :nuget_build
end

Instance Method Details

#do_workObject



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/pindo/module/task/model/nuget/nuget_build_task.rb', line 16

def do_work
  puts
  puts "📦 [Task] 开始执行 Nuget 打包..."

  # 1. 获取 nuspec 文件 (初始化已在 packbuild 命令中完成)
  nuspec_file = Pindo::Unity::NugetHelper.find_nuspec_file(@project_path)
  unless nuspec_file
      raise Informative, "未找到 .nuspec 文件,打包无法继续"
  end

  # 2. 执行打包 (Release Notes 已在 packbuild 命令中预先生成)
  nupkg_file = Pindo::Unity::NugetHelper.pack_nupkg(@project_path)

  # 3. 返回结果 (生成的 nupkg 文件路径)
  {
      nupkg_file: nupkg_file
  }
end