স্কেলা প্রকল্পে এসবিটি বনাম মাভেন ব্যবহারের পেশাদার এবং বিধিগুলি [বন্ধ]


138

স্কালার জন্য কোন বিল্ড টুল সেরা? এগুলির প্রত্যেকের উপকারিতা এবং কনস কী? কোন প্রকল্পে তাদের কোনটি ব্যবহার করবেন তা আমি কীভাবে নির্ধারণ করব?


5
আমি স্কেল প্রকল্পের জন্য মাভেন থেকে গ্রেডলে স্থানান্তরিত করেছি, মাল্টি-মডিউল বিল্ডগুলির জন্য এটির উচ্চতর সমর্থনের কারণে। এসবিটি-র সাথে টুইটারের অভিজ্ঞতা তাদের দ্বারা "অন্ধ ব্যথা" হিসাবে বর্ণনা করা হয়েছে এবং তারা এটি থেকে দূরে সরে যাওয়ার চেষ্টা করছেন (ম্যাভেনের সাথে সেই প্রক্রিয়াটির একটি থামের ব্যবধান হিসাবে)।
বেন ম্যানস

24
আর একটি দুর্দান্ত বন্ধ প্রশ্ন ...
সিড্রিক এইচ

14
অনেক ভাল প্রশ্ন আমি দেখতে পাচ্ছি যে সবে বন্ধ আছে; আমি জানি না কে এই লোকগুলিকে কোনও প্রশ্ন বন্ধ করার সিদ্ধান্ত নেবে বাছাই করার ক্ষমতা দেয়। এমনকি তারা আরও নিকটে কিনা সেদিকেও আমি মনোযোগ দিচ্ছি না।
ব্যবহারকারী 1888243

2
একমত। ভাগ্যক্রমে এই প্রশ্নটি বন্ধ হওয়ার আগে আমাদের কাছে 2 টি উত্তর রয়েছে। যারা এই প্রশ্নটি বন্ধ করতে ভোট দেয় তাদের পক্ষে দরিদ্র ...
এইচটিচটি

উত্তর:


83

আমরা মাভেনকে স্কেলে প্রকল্পগুলি তৈরি করতে ব্যবহার করছি কারণ এটি আমাদের সিআই সার্ভারের সাথে ভাল সংহত করে। আমরা অবশ্যই একটি বিল্ডটি বন্ধ করতে শেল স্ক্রিপ্টটি চালাতে পারি, অবশ্যই, তবে আমরা মাভেনের কাছ থেকে অন্যান্য তথ্য পেয়েছি যা আমরা সিআইতে যেতে চাই। এটিই কেবলমাত্র আমি স্কেল প্রকল্পের জন্য মাভেনকে ব্যবহার করার কথা ভাবতে পারি about

অন্যথায়, কেবল এসবিটি ব্যবহার করুন। আপনি একই নির্ভরতার অ্যাক্সেস পান (ম্যাভেন সম্পর্কে সত্যই সেরা অংশ, আইএমএইচও)। আপনি ইনক্রিমেন্টাল সংকলনও পাবেন যা বিশাল। আপনার প্রকল্পের ভিতরে একটি শেল শুরু করার ক্ষমতা, যা দুর্দান্ত।

স্কালামক কেবল এসবিটি-র সাথে কাজ করে এবং আপনি সম্ভবত এটি জাভা বিদ্রূপের লাইব্রেরির চেয়ে বরং এটি ব্যবহার করতে চাইছেন। যে উপরে, এটা অনেক SBT প্রসারিত করতে যেহেতু আপনি বিল্ড ফাইলে পূর্ণ Scala কোড লিখতে পারেন, তাই আপনি যদি একটি মোজো লেখার সব rigamarole মধ্য দিয়ে যেতে হবে না সহজ।

সংক্ষেপে, আপনার সিআই সার্ভারের সাথে সত্যই যদি সংকীর্ণতার প্রয়োজন না হয় কেবল এসবিটি ব্যবহার করুন।


21
আমি উপরের কোনওটির সাথে একমত নই, তবে কেবল এটিই উল্লেখ করতে চেয়েছিলাম যে আমি স্ক্যালামক 3 লেখার প্রক্রিয়ায় আছি , যার অন্যতম প্রাথমিক লক্ষ্য অন্যান্য বিল্ড সিস্টেমকে সমর্থন করা আরও সহজ।
পল কসাই

1
কেবল সম্পূর্ণতার জন্য, এটি উল্লেখ করার মতো যে স্কেলমক 2 কোনও বিল্ড সিস্টেমের সাথে ঠিক কাজ করে (এটি কেবল একটি জার) যতক্ষণ না আপনার উত্সাহিত মক ব্যবহার করতে হবে না (যেমন আপনার কেবলমাত্র বৈশিষ্ট্য / ইন্টারফেসের উপহাস করার প্রয়োজন নেই) )।
পল কসাই


3
তারা কেন কেবল মাভেনের জন্য একটি ইনক্রিমেন্টাল সংকলন লিখেনি? এই প্রোগ্রামটিতে, SBT একটি চিকিত্সা না NIH এ সিন্ড্রোম একজন archexample হচ্ছে ...
CPT। সেনকফাস

1
এসবিটির কারণে সিআইয়ের সমস্যা কেন?
ড্যানিয়েল

21

প্রশ্নটি কেবল প্রচুর মতামত তৈরির বিপদে রয়েছে; প্রয়োজনীয়তার একটি পরিষ্কার তালিকা বা আপনার পরিবেশ, পূর্বের জ্ঞান ইত্যাদির বিবরণ দেওয়া ভাল হবে would

FWIW, এই স্কেল মেলিং তালিকার থ্রেডে আরও মতামত রয়েছে ।

আমার 2 সি হ'ল: আপনার নির্দিষ্ট প্রয়োজনীয়তা না থাকলে এসবিটি সহ যান

  • সাধারণ প্রকল্পগুলির জন্য, এটি সম্পূর্ণ অনায়াসে (আপনার নির্ভরতা না হওয়া পর্যন্ত আপনার বিল্ড ফাইলেরও দরকার নেই)
  • এটি সাধারণত স্কেলা ওপেন সোর্স প্রকল্পগুলিতে ব্যবহৃত হয়। আপনি সহজেই অন্য ব্যক্তির প্রকল্পগুলিতে উঁকি দিয়ে কনফিগারেশন সম্পর্কে শিখতে পারেন। এছাড়াও অনেকগুলি প্রকল্প ধরে নিচ্ছে যে আপনি এসবিটি ব্যবহার করেন এবং আপনার প্রকল্পের নির্ভরতা হিসাবে যুক্ত করার জন্য আপনাকে রেডিমেড কপি + পেস্ট নির্দেশ সরবরাহ করে।
  • আপনি যদি ইন্টেলিজ আইডিইএ ব্যবহার করেন তবে এটি সম্পূর্ণ সংহত হতে পারে। আপনি করতে পারেন ধারণা ব্যবহার SBT আছে বিপরীতভাবে আপনি দ্রুত করতে SBT ব্যবহার করতে পারেন একটানা আপনার প্রকল্পের কম্পাইল করার, এবং ভাইস ধারণা প্রকল্প উৎপন্ন । সর্বশেষটি যদি আপনার নিজের লাইব্রেরির উপর নির্ভর করে যে কোনও ছোটখাটো সংস্করণ থেকে অপ্রাপ্ত সংস্করণে আবদ্ধ হয় তার উপর নির্ভর করে 'স্ন্যাপশট' চক্রটিতে থাকেন তবে এটি সর্বশেষে কার্যকর - কেবলমাত্র প্রকল্পটি বন্ধ করুন, বিল্ড ফাইলে সংস্করণটি আপডেট করুন, আবার চালনা করুন gen-ideaটাস্ক, এবং প্রকল্পটি পুনরায় খুলুন: আপডেটগুলি সম্পন্ন হয়েছে।
  • সবচেয়ে কর্ম আপনি প্রয়োজন হবে (সঙ্গে প্রস্তুত আসে compile, test, run, doc, publish-local, console) - consoleভাল বৈশিষ্ট্য অন্যতম।
  • কিছু লোকেরা বৈশিষ্ট্যটি হাইলাইট করে যে নির্ভরতাগুলি সরাসরি গিটহাব থেকে ধরে নেওয়া উত্সের সংগ্রহস্থল হতে পারে। আমি এটি ব্যবহার করি নি তাই এখানে মন্তব্য করতে পারি না।

কিছু লোক এসবিটি ঘৃণা করে কারণ এটি নির্ভরতা পরিচালনার জন্য আইভি ব্যবহার করে (আমি এর উপকারিতা এবং মতামত সম্পর্কে মন্তব্য করতে পারি না, তবে বেশিরভাগ সময় এটি একটি নন-ইস্যু হয়), কিছু লোক এসবিটি ঘৃণা করে কারণ আপনি বিল্ড ফাইলটি একটি শর্তে নির্দিষ্ট করেছেন এক্সএমএলের পরিবর্তে স্কালা ডিএসএল। কিছু লোক হতাশ হয়েছিল যে এসবিটির ফর্ম্যাটটি v0.7 থেকে v0.10 এ পরিবর্তিত হয়েছে, তবে স্পষ্টতই, আপনি স্ক্র্যাচ থেকে শুরু করলে মাইগ্রেশন আপনাকে প্রভাবিত করবে না।


27
আমি এসবিটি ঘৃণা করি কারণ এর প্রতীকী অপারেটরগুলির অপব্যবহার এবং কিছু বোকামি সিদ্ধান্ত, যেমন .sbt এবং .scala সংজ্ঞা ফর্ম্যাট উভয়ই সমর্থন করে তবে সেগুলিকে বিভিন্ন স্থানে রাখে, এবং .sbt এ বিবৃতিগুলি অবশ্যই কমপক্ষে খালি লাইন দ্বারা পৃথক করা উচিত, ইত্যাদি documents এসবিটি উন্নতি করছে তবে এই মুহুর্তে যথেষ্ট ভাল নয়। আমি যেটি সবচেয়ে বেশি মিস করি তা হ'ল কিছু সম্পূর্ণ (রিয়েল-ওয়ার্ল্ড কমপ্লেক্স থেকে ন্যূনতম) .sbt / .scala স্যাম্পল ফাইলগুলি সমস্ত এসবিটি বৈশিষ্ট্যগুলি আবরণ করে রেখার দ্বারা লাইন দ্বারা ব্যাখ্যা করা। বলেছিল, আমি প্রতিদিন এসবিটি ব্যবহার করি কারণ মাভেন আরও বেশি চুষে ফেলে।
xiefei

6
খুব খারাপ যে এই প্রশ্নটি বন্ধ ছিল, আমি নিশ্চিত যে বাস্তবের পার্থক্যগুলিও রয়েছে: উদাহরণস্বরূপ এসবিটি সম্পর্কে ম্যানিংয়ের বইয়ের এই উদ্ধৃতি: "যদি ম্যাভেন গোলগুলির মধ্যে নির্ভরতা থাকে (বলুন যে একটি লক্ষ্য একটি ফাইল তৈরি করে যা অন্যজন গ্রাস করে)" তারপরে আপনি মাভেনের সাথে আপনার বিল্ডের সমান্তরাল করতে পারবেন না। এসবিটি দিয়ে, আপনাকে কার্যগুলির মধ্যে একটি সুস্পষ্ট নির্ভরতা নির্দিষ্ট করতে হবে This এটি ডিফল্টের সমান্তরালভাবে কাজগুলি চালাতে এসবিটি সক্ষম করে task যদি টাস্কটি বি এর উপর নির্ভর করে, এবং সিও বি এর উপর নির্ভর করে, তবে এসবিটি রান টাস্ক বি এবং তারপরে সমান্তরালে এ এবং সি চালায়। " আশা করি এই মন্তব্যটি কিছু পাঠককে সহায়তা করবে।
jhegedus

19
আমি এই থ্রেডটি খুব দরকারী বলে মনে করি। আমি প্রায়শই মনে করি স্ট্যাকওভারফ্লো মডারেটরগুলি খুব আগ্রহ নিয়ে থ্রেডগুলি বন্ধ করে দেয়। ব্যবহারকারীরা যখন প্রায়শই ঠিক কীভাবে খুঁজছেন (এবং ওয়েব অনুসন্ধানের মাধ্যমে সন্ধান করেন) তখন তারা "বিষয়বস্তুতে" থাকলে কে কে পাত্তা দেয় না। এটি স্ট্যাকওভারফ্লো মোডগুলি ইচ্ছাকৃতভাবে xkcd 979 পুনরায় তৈরি করার চেষ্টা করছে ।
ভিল

3
@ ভিল আমার চিন্তাভাবনাও। ডাউনভোটিং, সম্পাদনা এবং সমাপ্তি খুব আক্রমণাত্মক হয়ে উঠেছে।
ankush981

2
যে কেউ এখন এটি দেখার জন্য, @ xiefei এর অভিযোগগুলি সমাধান করা হয়েছে। এসবিটি আরও অনেক বেশি কাস্টম অপারেটর / সিনট্যাক্স ফেলেছে এবং / এসবিটি ফাইলগুলিতে বিবৃতিগুলির জন্য আর শ্বেতস্পেস পৃথককরণের প্রয়োজন নেই।
গ্রোগস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.