require_relative('./dependencies.rb')
class Artifacts < Hash
def initialize
# gem, dev_tasks-0.0.7.gem
Dir.glob('*.gemspec') {|f|
spec=Gem::Specification.load(f)
self[spec.name]="#{spec.name}-#{spec.version.to_s}.gem"
}
# C# dll, bin/Net4.0/QcNet.dll
Dir.glob("*.csproj").each{|p|
text = File.read(p)
# extract AssemblyName of form: MyLibrary.Test
assemblyName=text[/([\w\.]+),1]
outputPath=text[/Release[.\w\W]+([\w\.\\]+),1]
if(!assemblyName.nil? && !outputPath.nil? && !assemblyName.include?("Test"))
cs_dll = "#{outputPath}\\#{assemblyName}.dll".gsub("\\\\","\\").gsub('/','\\').gsub('\\','/')
self[assemblyName]=cs_dll
# add in file dependencies
deps = Dependencies.get_dependencies_from_file f
if(deps.has_key?(:file))
deps[:file].each {|d|
name=d.split('/\\').last.gsub('.dll','')
self["#{assemblyName} #{name}"] = d
}
end
end
}
end
end