lib/makit/dotnet.rb in makit-0.0.31 vs lib/makit/dotnet.rb in makit-0.0.32
- old
+ new
@@ -14,16 +14,46 @@
#puts "Directory #{output} already exists".colorize(:yellow)
else
"dotnet new #{template} --name #{name} --output #{output}".run
end
end
+
+ def find_project(project_hint)
+ matches = []
+ Dir.glob("**/*.csproj").each do |project_path|
+ project_name = File.basename(project_path, ".csproj")
+ if project_name.include?(project_hint)
+ matches << project_path
+ end
+ end
+ if matches.length == 1
+ return matches.first
+ elsif matches.length > 1
+ raise "Multiple projects found matching #{project_hint}".colorize(:red)
+ end
+ raise "No project found matching #{project_hint}".colorize(:red)
+ end
def self.add_package(project_path, package_name)
+ if(!File.exist?(project_path))
+ actual_project_path = find_project(project_path)
+ if(!File.exist?(actual_project_path))
+ raise "Project #{project_path} does not exist".colorize(:red)
+ else
+ project_path = actual_project_path
+ end
+ end
project_content = File.read(project_path)
if (!project_content.include?("\"#{package_name}\""))
"dotnet add #{project_path} package #{package_name}".run
else
#puts " package ".colorize(:grey) + "#{package_name}".colorize(:yellow) + " is in ".colorize(:grey) + "#{project_path}".colorize(:yellow)
+ end
+ end
+
+ def self.add_packages(project_path, packages)
+ packages.each do |package|
+ add_package(project_path, package)
end
end
def self.add_reference(project_path, reference_path)
project_content = File.read(project_path)