আমি শেফে মাভেন শিল্পকর্মগুলি কীভাবে ডাউনলোড করতে পারি?


9

আমি একটি শেফ রেসিপিতে এই জাতীয় কিছু করতে চাই:

maven_artifact "/opt/foo/my.jar" do
  source "com.foo:my:0.1:jar"
end

তবে আমি কোনও কুকবুক খুঁজে পাই না যা এটি সরবরাহ করে। আমি এমন কিছু লিখেছি যা মূলত এটি করে তবে এটি স্ন্যাপশটগুলি পরিচালনা করে না, যার জন্য maven-metadata.xML পার্সিংয়ের প্রয়োজন p আমি এটিতে ডুবে যাওয়ার আগে, আমি নিশ্চিত হতে চেয়েছিলাম যে আমি স্পষ্টত কিছু মিস করছি না কারণ এটি একটি বেসিক ব্যবহারের মতো বলে মনে হচ্ছে।


উত্তর:


4

এ্যাপাচি Buildr কোডের উপর ভিত্তি করে: http://svn.apache.org/repos/asf/buildr/trunk/lib/buildr/packaging/artifact.rb

আপনি এর মতো কিছু করতে পারেন:

def snapshot?
  version =~ /-SNAPSHOT$/
end

if snapshot?
    metadata_path = "#{group_path}/#{id}/#{version}/maven-metadata.xml"
    metadata_xml = StringIO.new
    URI.download repo_url + metadata_path, metadata_xml
    metadata = REXML::Document.new(metadata_xml.string).root
    timestamp = REXML::XPath.first(metadata, '//timestamp')
    build_number = REXML::XPath.first(metadata, '//buildNumber')
    snapshot_of = version[0, version.size - 9]
    classifier_snippet = (classifier != nil) ? "-#{classifier}" : ""
    repo_url + "#{group_path}/#{id}/#{version}/#{id}-#{snapshot_of}-#{timestamp.text}-#{build_number.text}#{classifier_snippet}.#{type}"
end


3

আপনি যদি কারিগরীটিকে আপনার মেভেন সংগ্রহস্থল হিসাবে ব্যবহার করেন তবে আরও মার্জিত সমাধান হাতে রয়েছে।

সংস্করণ ২.6.০ থেকে শুরু করে একটি অনন্য-অনন্য শিল্পকর্মের জন্য একটি অনুরোধ সর্বশেষতম উপলব্ধ স্ন্যাপশটটি ফিরিয়ে দিতে পারে ।

এই বৈশিষ্ট্যটি ব্যবহার করতে, প্রথমে লক্ষ্য সংগ্রহস্থলটি একটি অনন্য স্ন্যাপশট নীতি দ্বারা সংজ্ঞায়িত হয়েছে তা নিশ্চিত করুন , তারপরে একটি অনন্য-অনন্য স্ন্যাপশট সংস্করণ ব্যবহার করে পছন্দসই নিদর্শনটির জন্য অনুরোধ করুন:

সংস্থা / হস্তনির্মিত বস্তু / 1.0-স্ন্যাপশট / হস্তনির্মিত বস্তু-1.0-SNAPSHOT.jar

আর এর সর্বশেষ অনন্য স্ন্যাপশট হস্তনির্মিত বস্তু একটি বেস সংস্করণ সঙ্গে 1.0 ফেরত পাঠানো হবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.