Class: Makit::DotNet::CLI
- Inherits:
-
Object
- Object
- Makit::DotNet::CLI
- Defined in:
- lib/makit/dotnet/cli.rb
Class Method Summary collapse
-
.generate_docs ⇒ Object
generate docs/DotNet.md.
- .is_installed? ⇒ Boolean
- .new_solution(name) ⇒ Object
- .sln_add_projects(sln_name) ⇒ Object
Class Method Details
.generate_docs ⇒ Object
generate docs/DotNet.md
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/makit/dotnet/cli.rb', line 36 def self.generate_docs content = "# DotNet\n\n" content += "## Projects\n\n" # scan for .csproj files in src directory src_projects = Dir.glob("src/**/*.csproj") src_projects.each do |project_path| File.basename(project_path, ".csproj") # "dotnet tool update --global dotnet-aspnet-codegenerator".run # "dotnet aspnet-codegenerator controller --name #{project_name}Controller --output ~/Projects/makit/src/makit/Controllers --controllerName #{project_name}Controller --useAsyncActions --relativeFolderPath Controllers".run end content += "## Packages\n\n" # scan for packages.config files in src directory src_packages = Dir.glob("src/**/packages.config") src_packages.each do |packages_path| File.basename(packages_path, ".packages.config") end content += "## References\n\n" # scan for project.json files in src directory src_references = Dir.glob("src/**/project.json") src_references.each do |references_path| File.basename(references_path, ".project.json") end # write content to docs/DotNet.md file if File.exist?("docs/DotNet.md") existing_content = File.read("docs/DotNet.md") File.write("docs/DotNet.md", content) if existing_content != content else File.write("docs/DotNet.md", content) end end |
.is_installed? ⇒ Boolean
6 7 8 |
# File 'lib/makit/dotnet/cli.rb', line 6 def self.is_installed? File.exist?(Makit::Environment.which("dotnet")) end |
.new_solution(name) ⇒ Object
10 11 12 13 14 15 16 |
# File 'lib/makit/dotnet/cli.rb', line 10 def self.new_solution(name) if File.exist? "#{name}.sln" # puts "Solution #{name}.sln already exists".colorize(:yellow) else "dotnet new sln --name #{name}".run end end |
.sln_add_projects(sln_name) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/makit/dotnet/cli.rb', line 18 def self.sln_add_projects(sln_name) raise "Solution #{sln_name}.sln does not exist" unless File.exist? "#{sln_name}.sln" sln_path = "#{sln_name}.sln" sln_content = File.read(sln_path) Dir.glob("**/*.csproj").each do |project_path| project_name = File.basename(project_path, ".csproj") if sln_content.include?("\"#{project_name}\"") # puts " #{project_name}".colorize(:green) + " is in ".colorize(:grey) + "#{sln_path}".colorize(:green) else "dotnet sln #{sln_path} add #{project_path}".run end end end |