opinionated or not

Opinionated framework on top of an unopinionated toolkit. If I had to choose my favorite engineering principle behind Gradle, there you go.

Sticking to the principle is challenging. Imagine a subdomain where the are no clear conventions, no popular, easy-to-harvest patterns. How do you come of with the “opinion” in such a field? We gather use cases and then try to resolve them in the best way we can. Sometimes the convention emerges organically and we can unanimously rejoice. Sometimes several conventions emerge and we are not quite sure which one to pick. We might choose the one most fitting or wait until we gather more knowledge, more use cases. Sometimes, we don’t see any reasonable conventions and we refrain from the opinion for the time being.

Good old ant doesn’t have many opinions. It is a toolkit. It lets me script the project automation in an imperative fashion. Kick starting a new software project almost always started with taking the build.xml from the previous project. The level of copy-paste in the build.xmls is legendary. Yet, back in the days, I loved ant as it allowed me to do amazing automation in projects. Thank you ant!

Maven delivers plenty opinions. It is a framework. However if my context does not quite fit maven’s opinion then I might be in trouble. It was a great technological leap from ant to maven. I can still remember my feverish efforts advocating maven2, pulling my conservative team mates into the new era of declarative dependencies and convention-over-configuration. Thanks, maven!

We want Gradle to offer the inspiring technological leap you might remember when you migrated your first project from ant to maven. This time, though, you will taste it when upgrading from maven. Some of you have enjoyed that feeling already and I am so glad to have you on board. Some of you will come along at some point I’m sure. We want to deliver opinionated conventions so that you can build your standard projects with a one-liner build scripts. We also want to provide an unopinionated toolkit so that you are never lock down with the design choices we have made.

I’ve just got back to Krakow from the amazing city of Berlin. I had a pleasure to brainstorm, debate and drink cytrynowka with the fellow Gradle gang members. Among many things that are crystal clear to me now is this one: The question is not IF Gradle will dominate the space of project automation but WHEN. Have a great weekend everybody :)

About these ads

8 Responses to opinionated or not

  1. gradle is just great (I could wrote it in Polish ;-) ). I just convinced people at my company to use it. One drawback is OSGI support, other developers complain that tycho + maven should be better … What would you say?

    • szczepiq says:

      Glad to have you on board :) I cannot give feedback on the tycho part – haven’t used that and I’m not sure how Gradle fits this specific use case. Good luck!

      • Emma says:

        Hi Lars,Thanks for this tutorial, I am sure it will be heplful to lots of people.I’d just like to share an opinion about publishing done via Maven: I’ve worked on several projects, and have always found automating publication of p2 repo via Maven in pom.xml is not the best approach.Indeed you link strongly the build to a URL that you’ll always have to change when version change, or when branching If find it much easier to keep publication step out of Maven and pom.xml, for example to make it part of another Job step in Jenkins, or simply to do it manually.Putting target URLs to publish in pom.xml introduce a lot of maintenance efforts.

    • Pasindu says:

      You’ll have to use whatever mecnahism your OS provides to access remote directories. Assuming that you are under Windows, this means mapping the remote folder to some unused drive letter, such as Z:. The rest of the procedure would then be the same as what is described here.If that does not work on your system, you should consider installing a Maven proxy on your remote machine, such as Nexus or Artifactory. In fact, that would be the recommended way of doing it.

  2. vet salary says:

    Putting him out on dry lot for at least part of the day will be necessary.
    The vet suspected cancer and scheduled surgery for three weeks later; she said she
    would check the mouth tumor then, while the dog was under anesthetic.

    First off, there is no law saying you have to keep one vet all of
    your dog’s life.

  3. Shobe says:

    I myself make full use of No Hands Seo to set up back links to my site delivers great for me! Automated BacklinksThanks.

  4. Hі, just wanted tо saƴ, I liked this аrticle.

    It was іnspiring. Keep on pοsting!

  5. รวมจวบจวนไอพีแอดมากหลายรสชาติของอีเมล์ปลอมแปลงก็อยู่ที่ชาติบ้านเมืองไนจีเรียเพื่อทั้งนี้ สมัครอีเมล์ ผู้ต้องหาทั้ง ราย คว้าไม่ยอมตลอดคำกล่าวโทษ เพราะว่าหัวหน้าคนงานจอห์นทวงสิทธิเตือน สมัครอีเมล์ มีอยู่เพื่อนเล่นจะหน้าสั้นสตางค์มาสู่สละให้ จึงสละให้หมายเลขบัญชีจากไปเพียงนั้น ไม่ประกอบด้วยแดนรู้เหตุการณ์หัวเรื่องแฮกเกอร์อีเมล์เก๊ http://www.live-travel-blog.com/2013/12/18/life-made-brighter-with-bright-house-tv/ หรือว่ามูลเหตุของเงินตราดุ ดำรงฐานะการลวงมาหาทิ้งห้างร้านญี่ปุ่น สมัครอีเมล์ กับไม่ดองพร้อมด้วยสิ่งมีชีวิตแหล่งไนจีเรียแต่ประการใด

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 38 other followers

%d bloggers like this: