Sha256: db79b64f01e698ef6c00e64e2b14bdf8fb9f8c925ff6993a0dcdb8d8df610f9e

Contents?: true

Size: 1.18 KB

Versions: 9

Compression:

Stored size: 1.18 KB

Contents

module Ecic

  class ProjectGenerator < Thor::Group
    include Thor::Actions
    desc 'Generate a new chip project'
  
    def self.source_root
      File.dirname(__FILE__) + '/../../templates/project'
    end

    def create_base_files
      copy_file 'gitignore', '.gitignore'
      copy_file 'config/project.rb', 'src/config/project.rb'
      copy_file 'config/libraries.rb', 'src/config/libraries.rb'
      copy_file 'config/ecic.rb', 'src/config/ecic.rb'
      @ruby_version = '2.4.4'
      template("Gemfile.tt","Gemfile")
    end

    def create_output_directories
      empty_directory 'src/design'
      create_file 'src/design/.gitkeep' if Dir.empty?("#{destination_root}/src/design")
      empty_directory 'src/testbench'
      create_file 'src/testbench/.gitkeep' if Dir.empty?("#{destination_root}/src/testbench")
      empty_directory 'src/verification'
      create_file 'src/verification/.gitkeep' if Dir.empty?("#{destination_root}/src/verification")
      empty_directory 'src/external_packages'
      create_file 'src/external_packages/.gitkeep' if Dir.empty?("#{destination_root}/src/external_packages")
    end

    def git_init
      run 'git init ' + destination_root
    end
  end

end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
ecic-0.6.2 lib/ecic/project_generator.rb
ecic-0.6.1 lib/ecic/project_generator.rb
ecic-0.6.0 lib/ecic/project_generator.rb
ecic-0.5.0 lib/ecic/project_generator.rb
ecic-0.4.0 lib/ecic/project_generator.rb
ecic-0.3.0 lib/ecic/project_generator.rb
ecic-0.2.2 lib/ecic/project_generator.rb
ecic-0.2.1 lib/ecic/project_generator.rb
ecic-0.2.0 lib/ecic/project_generator.rb