class Raykit::AutoSetup

def self.run

def self.run
  # Default subdirectories

  DEFAULT_SUBDIRECTORIES.each do |subdirectory|
    puts "  RAYKIT_AUTO_SETUP: creating #{subdirectory}" unless Dir.exist?(subdirectory)
    FileUtils.mkdir_p(subdirectory) unless Dir.exist?(subdirectory)
  end
  puts "  RAYKIT_AUTO_SETUP: creating .gitignore" unless File.exist?(".gitignore")
  # Default .gitignore

  File.write(".gitignore", DEFAULT_GITIGNORE_CONTENT) unless File.exist?(".gitignore")
  # C# class libs

  if (defined?(RAYKIT_CSHARPCLASSLIBS))
    RAYKIT_CSHARPCLASSLIBS.each do |csharpclasslib|
      Raykit::DotNet::initialize_csharp_razorclasslib csharpclasslib
    end
  end
  # Razor class libs

  if (defined?(RAYKIT_RAZORCLASSLIBS))
    RAYKIT_RAZORCLASSLIBS.each do |razorclasslib|
      Raykit::DotNet::initialize_csharp_razorclasslib razorclasslib
    end
  end
  # Blazor server apps

  if (defined?(RAYKIT_BLAZORSERVERAPPS))
    RAYKIT_BLAZORSERVERAPPS.each do |app|
      Raykit::DotNet::initialize_csharp_blazorserver app
    end
  end
  # Blazor server example apps

  if (defined?(RAYKIT_BLAZORSERVER_EXAMPLE_APPS))
    RAYKIT_BLAZORSERVER_EXAMPLE_APPS.each do |app|
      Raykit::DotNet::initialize_csharp_blazorserver_example app
    end
  end
end