Sha256: 8345fd38bb0b87d22149884bfc435cfd9014fb1afe6602b7acd339bb9f64b4ec

Contents?: true

Size: 912 Bytes

Versions: 1

Compression:

Stored size: 912 Bytes

Contents

require 'albacore/project'

module Physique
  module ProjectPathResolver
    extend self

    DEFAULT_PROJECT_FOLDER = 'src'

    @@project_folder = DEFAULT_PROJECT_FOLDER

    def project_dir
      @@project_folder
    end

    def project_dir=(val)
      @@project_folder = val
    end

    def resolve(name, ext = 'cs')
      return name if is_full_path name
      "#{@@project_folder}/#{name}/#{name}.#{ext}proj"
    end

    private

    def is_full_path(name)
      name =~ /^.*\.(cs|fs|vb)proj$/i
    end
  end
end

module Albacore
  class Project
    def add_compile_node(folder, name)
      if folder == :root
        add_include :Compile, "#{name}"
      else
        add_include :Compile, "#{folder.to_s}\\#{name}"
      end
    end

    def add_include(type, value)
      @proj_xml_node.xpath("//xmlns:ItemGroup[xmlns:#{type.to_s}]").first << "<#{type.to_s} Include=\"#{value}\" />"
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
physique-0.4.0 lib/physique/project_path_resolver.rb