This is a step-by-step tutorial enriched with practical examples and the necessary screenshots for easy and quick learning. This book is for you if you are a Java developer or a Team Manager familiar with Java and want to ensure the quality of your code using Sonar. You should have a background with Java and unit testing in general.
Summary SonarQube in Action shows developers how to use the SonarQube platform to help them continuously improve their source code. The book presents SonarQube's core Seven Axes of Quality: design/architecture, duplications, comments, unit tests, complexity, potential bugs, and coding rules. You'll find simple, easy-to-follow discussion and examples as you learn to integrate SonarQube into your development process. About the Technology SonarQube is a powerful open source tool for continuous inspection, a process that makes code quality analysis and reporting an integral part of the development lifecycle. Its unique dashboards, rule-based defect analysis, and tight build integration result in improved code quality without disruption to developer workflow. It supports many languages, including Java, C, C++, C#, PHP, and JavaScript. About the Book SonarQube in Action teaches you how to effectively use SonarQube following the continuous inspection model. This practical book systematically explores SonarQube's core Seven Axes of Quality (design, duplications, comments, unit tests, complexity, potential bugs, and coding rules). With well-chosen examples, it helps you learn to use SonarQube's review functionality and IDE integration to implement continuous inspection best practices in your own quality management process. The book's Java-based examples translate easily to other development languages. No prior experience with SonarQube or continuous delivery practice is assumed Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. What's Inside Gather meaningful quality metrics Integrate with Ant, Maven, and Jenkins Write your own plugins Master the art of continuous inspection About the Authors Ann Campbellb and Patroklos Papapetrou are experienced developers and team leaders. Both actively contribute to the SonarQube community. Table of Contents PART 1 WHAT THE NUMBERS ARE TELLING YOU An introduction to SonarQube Issues and coding standards Ensuring that your code is doing things right Working with duplicate code Optimizing source code documentation Keeping your source code files elegant Improving your application design PART 2 SETTLING IN WITH SONARQUBE Planning a strategy and expanding your insight Continuous Inspection with SonarQube Letting SonarQube drive code reviews IDE integration PART 3 ADMINISTERING AND EXTENDING Security: users, groups, and roles Rule profile administration Making SonarQube fit your needs Managing your projects Writing your own plugins
Summary SonarQube in Action shows developers how to use the SonarQube platform to help them continuously improve their source code. The book presents SonarQube's core Seven Axes of Quality: design/architecture, duplications, comments, unit tests, complexity, potential bugs, and coding rules. You'll find simple, easy-to-follow discussion and examples as you learn to integrate SonarQube into your development process. About the Technology SonarQube is a powerful open source tool for continuous inspection, a process that makes code quality analysis and reporting an integral part of the development lifecycle. Its unique dashboards, rule-based defect analysis, and tight build integration result in improved code quality without disruption to developer workflow. It supports many languages, including Java, C, C++, C#, PHP, and JavaScript. About the Book SonarQube in Action teaches you how to effectively use SonarQube following the continuous inspection model. This practical book systematically explores SonarQube's core Seven Axes of Quality (design, duplications, comments, unit tests, complexity, potential bugs, and coding rules). With well-chosen examples, it helps you learn to use SonarQube's review functionality and IDE integration to implement continuous inspection best practices in your own quality management process. The book's Java-based examples translate easily to other development languages. No prior experience with SonarQube or continuous delivery practice is assumed Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. What's Inside Gather meaningful quality metrics Integrate with Ant, Maven, and Jenkins Write your own plugins Master the art of continuous inspection About the Authors Ann Campbellb and Patroklos Papapetrou are experienced developers and team leaders. Both actively contribute to the SonarQube community. Table of Contents PART 1 WHAT THE NUMBERS ARE TELLING YOU An introduction to SonarQube Issues and coding standards Ensuring that your code is doing things right Working with duplicate code Optimizing source code documentation Keeping your source code files elegant Improving your application design PART 2 SETTLING IN WITH SONARQUBE Planning a strategy and expanding your insight Continuous Inspection with SonarQube Letting SonarQube drive code reviews IDE integration PART 3 ADMINISTERING AND EXTENDING Security: users, groups, and roles Rule profile administration Making SonarQube fit your needs Managing your projects Writing your own plugins
Summary Gradle in Action is a comprehensive guide to end-to-end project automation with Gradle. Starting with the basics, this practical, easy-to-read book discusses how to build a full-fledged, real-world project. Along the way, it touches on advanced topics like testing, continuous integration, and monitoring code quality. You'll also explore tasks like setting up your target environment and deploying your software. About the Technology Gradle is a general-purpose build automation tool. It extends the usage patterns established by its forerunners, Ant and Maven, and allows builds that are expressive, maintainable, and easy to understand. Using a flexible Groovy-based DSL, Gradle provides declarative and extendable language elements that let you model your project's needs the way you want. About the Book Gradle in Action is a comprehensive guide to end-to-end project automation with Gradle. Starting with the basics, this practical, easy-to-read book discusses how to establish an effective build process for a full-fledged, real-world project. Along the way, it covers advanced topics like testing, continuous integration, and monitoring code quality. You'll also explore tasks like setting up your target environment and deploying your software. The book assumes a basic background in Java, but no knowledge of Groovy. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. Whats Inside A comprehensive guide to Gradle Practical, real-world examples Transitioning from Ant and Maven In-depth plugin development Continuous delivery with Gradle About the Author Benjamin Muschko is a member of the Gradleware engineering team and the author of several popular Gradle plugins. Table of Contents PART 1 INTRODUCING GRADLE Introduction to project automation Next-generation builds with Gradle Building a Gradle project by example PART 2 MASTERING THE FUNDAMENTALS Build script essentials Dependency management Multiproject builds Testing with Gradle Extending Gradle Integration and migration PART 3 FROM BUILD TO DEPLOYMENT IDE support and tooling Building polyglot projects Code quality management and monitoring Continuous integration Artifact assembly and publishing Infrastructure provisioning and deployment
Master the fundamentals of Gradle using real-world projects with this quick and easy-to-read guide About This Book Write beautiful build scripts for various types of projects effortlessly Become more productive by harnessing the power and elegance of the Gradle DSL Learn how to use Gradle quickly and effectively with this step-by-step guide Who This Book Is For This book is for Java and other JVM-based language developers who want to use Gradle or are already using Gradle on their projects. No prior knowledge of Gradle is required, but some familiarity with build-related terminologies and an understanding of the Java language would help. What You Will Learn Master the Gradle DSL by identifying the building blocks Learn just enough Groovy for Gradle Set up tests and reports for your projects to make them CI ready Create library, stand-alone, and web projects Craft multi-module projects quickly and efficiently Migrate existing projects to a modern Gradle build Extract common build logic into plugins Write builds for languages like Java, Groovy, and Scala In Detail Gradle is an advanced and modern build automation tool. It inherits the best elements of the past generation of build tools, but it also differs and innovates to bring terseness, elegance, simplicity, and the flexibility to build. Right from installing Gradle and writing your first build file to creating a fully-fledged multi-module project build, this book will guide you through its topics in a step-by-step fashion. You will get your hands dirty with a simple Java project built with Gradle and go on to build web applications that are run with Jetty or Tomcat. We take a unique approach towards explaining the DSL using the Gradle API, which makes the DSL more accessible and intuitive. All in all, this book is a concise guide to help you decipher the Gradle build files, covering the essential topics that are most useful in real-world projects. With every chapter, you will learn a new topic and be able to readily implement your build files. Style and approach This step-by-step guide focuses on being productive with every chapter. When required, topics are explained in-depth to give you a good foundation of the Gradle fundamentals. The book covers most aspects of builds required for conventional JVM-based projects, and when necessary, points you towards the right resources.
With Gradle, you can efficiently build automation framework along with some flexible alternatives to customized build logic. This book starts with sound basics about build automation and how Gradle fits into this automation. It then moves on to give you a good exposure on Groovy—a scripting language used to write Gradle—and helps you understand a key elements of Groovy programming language. In the following chapters, you will deal with task management and learn how to integrate Ant tasks into build scripts. Furthermore, you will learn dependency management, plugin management, and its configuration techniques in Gradle. You will also get hands-on with building and testing projects using Gradle. You will then begin to cover diverse topics, such as Continuous Integration with Jenkins and TeamCity, Migration strategies, and Deployment, which enables you to learn concepts useful for Agile software development. Finally, you will also learn how to create a simple mobile application using Android and explore how Gradle can help you to build and test the application.
Design, implement, and execute continuous delivery pipelines with a level of flexibility, control, and ease of maintenance that was not possible with Jenkins before. With this practical book, build administrators, developers, testers, and other professionals will learn how the features in Jenkins 2 let you define pipelines as code, leverage integration with other key technologies, and create automated, reliable pipelines to simplify and accelerate your DevOps environments. Author Brent Laster shows you how Jenkins 2 is significantly different from the more traditional, web-only versions of this popular open source automation platform. If you’re familiar with Jenkins and want to take advantage of the new technologies to transform your legacy pipelines or build new modern, automated continuous delivery environments, this is your book. Create continuous delivery pipelines as code with the Jenkins domain-specific language Get practical guidance on how to migrate existing jobs and pipelines Harness best practices and new methods for controlling access and security Explore the structure, implementation, and use of shared pipeline libraries Learn the differences between declarative syntax and scripted syntax Leverage new and existing project types in Jenkins Understand and use the new Blue Ocean graphical interface Take advantage of the capabilities of the underlying OS in your pipeline Integrate analysis tools, artifact management, and containers
A superior primer on software testing and quality assurance, from integration to execution and automation This important new work fills the pressing need for a user-friendly text that aims to provide software engineers, software quality professionals, software developers, and students with the fundamental developments in testing theory and common testing practices. Software Testing and Quality Assurance: Theory and Practice equips readers with a solid understanding of: Practices that support the production of quality software Software testing techniques Life-cycle models for requirements, defects, test cases, and test results Process models for units, integration, system, and acceptance testing How to build test teams, including recruiting and retaining test engineers Quality Models, Capability Maturity Model, Testing Maturity Model, and Test Process Improvement Model Expertly balancing theory with practice, and complemented with an abundance of pedagogical tools, including test questions, examples, teaching suggestions, and chapter summaries, this book is a valuable, self-contained tool for professionals and an ideal introductory text for courses in software testing, quality assurance, and software engineering.
Interested in the Genetic Algorithm? Simulated Annealing? Ant Colony Optimization? Essentials of Metaheuristics covers these and other metaheuristics algorithms, and is intended for undergraduate students, programmers, and non-experts. The book covers a wide range of algorithms, representations, selection and modification operators, and related topics, and includes 71 figures and 135 algorithms great and small. Algorithms include: Gradient Ascent techniques, Hill-Climbing variants, Simulated Annealing, Tabu Search variants, Iterated Local Search, Evolution Strategies, the Genetic Algorithm, the Steady-State Genetic Algorithm, Differential Evolution, Particle Swarm Optimization, Genetic Programming variants, One- and Two-Population Competitive Coevolution, N-Population Cooperative Coevolution, Implicit Fitness Sharing, Deterministic Crowding, NSGA-II, SPEA2, GRASP, Ant Colony Optimization variants, Guided Local Search, LEM, PBIL, UMDA, cGA, BOA, SAMUEL, ZCS, XCS, and XCSF.
Gradle is the project automation tool that is taking the Java world by storm. This text shows you how to use Gradle for building and testing software written in Java and other JVM languages. It covers transitioning to Gradle from Maven, integration with IDEs such as Eclipse, and more.