Building and Testing With Gradle (英語) ペーパーバック – 2011/7/13
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
Build and test software written in Java and many other languages with Gradle, the open source project automation tool that's getting a lot of attention. This concise introduction provides numerous code examples to help you explore Gradle, both as a build tool and as a complete solution for automating the compilation, test, and release process of simple and enterprise-level applications.
Discover how Gradle improves on the best ideas of Ant, Maven, and other build tools, with standards for developers who want them and lots of flexibility for those who prefer less structure.
- Use Gradle with Groovy, Clojure, Scala, and languages beyond the JVM, such as Flex and C
- Get started building a simple Java program using Gradle's command line tooling and a small build script
- Learn how to configure and construct tasks, Gradle's fundamental unit of build activity
- Take advantage of Gradle's integration with Ant
- Use Gradle to integrate with or transition from Maven, and to build software more cleanly
- Perform application unit and integration tests using JUnit, TestNG, Spock, and Geb
Tim is a full-stack generalist and passionate teacher who loves coding, presenting, and working with people. He is founder and principal software developer at the August Technology Group, a technology consulting firm focused on the JVM. He is a speaker internationally and on the No Fluff Just Stuff tour in the United States, co-presenter of the best-selling O'Reilly Git Master Class, and is co-president of the Denver Open Source User Group. He has recently been exploring build automation, non-relational data stores, and abstract ideas like how to make software architecture look more like an ant colony. He lives in Littleton, CO with the wife of his youth and their three children.
Matthew McCullough is an energetic 15-year veteran of enterprise software development, world-traveling open source educator, and co-founder of Ambient Ideas, LLC, a US consultancy. Matthew currently is a trainer for Gradleware, educator for GitHub.com, author of the Git Master Class series for O'Reilly, speaker on the No Fluff Just Stuff tour, author of three of the top 10 DZone RefCards, including the Git RefCard, and President of the Denver Open Source Users Group.
His current topics of research center around project automation, including: build tools (Gradle, Leiningen, Maven, Ant), distributed version control (Git, Mercurial), testing frameworks (Geb, Spock, JUnit, TestNG, Mockito), continuous integration (Jenkins, Hudson, Bamboo) and code quality metrics (Sonar, CodeNarc, PMD).
I would recommend this book only to individuals who don't have any prior Ant / Maven / Gradle experience and prefer reading a book than reading the on-line documentation. For everyone else I'd recommend reading the on-line documentation thoroughly, downloading Gradle and becoming familiar with the samples that are packaged with the standard distribution.
In my case, I had already been using Gradle for a couple of months and had a solid understanding of the basics, so I was a bit disappointed to find most of my intermediate / advanced questions were not addressed. Gradle is capable of offering a lot more than building and testing but there's virtually nothing in this book addressing topics like configuration, deployment or integration testing.
I was also surprised to find that there's virtually no coverage of some of the more popular plug-ins such as war, ear, jetty, tomcat, cobertura, etc. The only plug-in that is covered extensively is the Maven plug-in - there's an entire chapter devoted to it. The testing chapter covers junit, testng, spock, easyb and geb -- albeit very very basic information is provided.
In short, chances are that if you're looking for a Gradle book you already know a the basics. You've done a little research and compared it to Ant, Maven and Buildr. You're past the hello world examples and are looking for something with a bit more depth. And if that's your case, then you're like me and will probably not benefit much from this book.
But even as an introductory volume the book falls short: it assumes the reader has familiarity with current build tools (Maven and Ant with Ivy) and knows how to use them. For the reader who does meet these criteria, Gradle's own online documentation provides much more useful information about getting started than this book does. For the reader who has very little previous build tool experience, the book assumes too much to be useful. In this way it fails to provide a proper introduction to Gradle and should probably be avoided.