Why Gradle? in the Beginning, the Only Build Tool Available for Java Projects Was Make

Total Page:16

File Type:pdf, Size:1020Kb

Why Gradle? in the Beginning, the Only Build Tool Available for Java Projects Was Make Free Sample Mastering LibGDX Game Development Mastering LibGDX Game Development LibGDX is a Java-based framework developed with a heavy emphasis on performance, which includes cross-platform What you will learn from this book support out of the box (Windows, OS X, Linux, iOS, Android, and HTML5) as well as providing all the low-level Develop characters with stat attributes, functionality so that you can focus on developing your game player movement, animation, physics, and not battling the platform. and collision detection This book will start with explaining the entire development Create interactive NPC characters with speech windows and build immersion via dialog trees process of creating an RPG video game using LibGDX. Build inventory management system UIs with First, this book will introduce you to the features drag-and-drop items to sell, buy, and equip specifi c to RPG games, as well as an overview of game architecture. Then, you will create map locations, develop Design a quest system to expand the content character movement, add animation, integrate collision of your game detection, and develop a portal system. Next, you will learn and develop a HUD and other UI components, as well as an Form interesting enemies with battle Community Experience Distilled inventory management system. Finally, you will add the fi nal mechanics and spawn points polish with sound, music, and lighting effects. Devise scripted cutscenes to add an element of story and drama Who this book is written for Develop save and load game profi les If you are an intermediate-level game developer who wants Mastering LibGDX to create an RPG video game, but fi nds the creation process Create special effects to give the game overwhelming, either through the lack of tutorials or by extra "juiciness" and polish, and help build getting lost in a sea of game-related technologies, engines, the atmosphere or frameworks, then this book is for you. Patrick Hoey Game Development $ 49.99 US £ 31.99 UK Leverage the power of LibGDX to create a fully functional, customizable RPG game for your own commercial title Prices do not include community experience distilled local sales tax or VAT PUBLISHING where applicable Visit www.PacktPub.com for books, eBooks, code, downloads, and PacktLib. Patrick Hoey In this package, you will find: The author biography A preview chapter from the book, Chapter 1 'As the Prophecy Foretold, a Hero is Born' A synopsis of the book’s content More information on Mastering LibGDX Game Development About the Author Patrick Hoey is a software engineer with over 15 years of professional experience, contributing to the success of organizations from Fortune 500 companies to startups. While working full time, he completed his master's degree in computer science and then went on to graduate from law school, passed the bar exam, and became a licensed attorney. He has also donated his services as a director at a non-profi t company. Patrick started developing video games from the age of 12. The fi rst video game that he created was a crude hangman game for the Atari 800 home computer written in Atari BASIC. He has developed demo programs throughout the years that demonstrate certain features or exercise certain APIs of interest at the time, such as OpenGL, DirectX, SDL, Allegro, Cocos2d-x, and recently LibGDX. For entrepreneurial endeavors, Patrick ported video games to mobile phone platforms. His latest adventure with LibGDX started in 2013, creating a game that he always wanted to play called CityPunk: A Hacker's Story. Patrick's research interests include game development, graphics programming, intellectual property case law, data visualization, microcontrollers for embedded devices, and machine learning. Patrick loves photography, hiking, traveling, and creating short fi lms. Find out more about Patrick on his personal blog at http://www.patrickhoey.com. Preface "It is pitch black. You are likely to be eaten by a grue." - Zork Some of my fondest video game memories belong to text-based adventure games. Zork was my gateway game into the realm of role-playing games on the computer. RPGs offered excitement and challenges of adventuring into unknown lands ripe with unknown dangers, and helped fuel my imagination. This book is a testament to that imagination, one which refused to be extinguished by age or experience. My hope is that your RPG will keep the burning fl ames of imagination alive and provide an experience with memories that will last for a lifetime. The theory, implementation, and lessons taught within these pages should help guide you through the development process of creating your own RPG game. There are many moving parts that add to the complexity of developing a video game, especially RPGs, but the intent of this book is to provide you with a step- by-step guide to the development process. I developed BludBourne, the reference implementation game for this book, at the same time I was writing this book. If there were any issues that I came across during development, or if I found a nice design pattern that solved a problem, I made sure to document the experience in this book so that you would not have to deal with the same pitfalls. You may have heard about various engines and frameworks, and even tried them, but instead of creating a complete commercial game, you ended up in disappointment, lost in a sea of technologies. Maybe you always wanted to create an RPG, but found the creation process overwhelming. Maybe you would visit forums and post questions, but all you ever got were common replies of derision, such as "Just create your game in RPG Maker." This book simplifi es this approach by walking you through the process so that you can extend and customize BludBourne for your own commercial release. The framework that will allow us to bridge the gap from conception of an idea to an actual playable game is LibGDX. Preface LibGDX is a Java-based framework developed with a heavy emphasis on performance, and it includes cross-platform support out of the box (Windows, OS X, Linux, iOS, Android, and HTML5), and provides all the low-level functionality you need so that you can focus on developing your game instead of battling with the platform. LibGDX also has an engaged and responsive community, active maintenance, and is available for free without a prohibitive license. There are many beginner tutorials using LibGDX, but the aim of this book is to make use of LibGDX libraries for more advanced, complex features used in video games. By the end of this book, you will have a foundation in game development principles and a set of tools that will help you realize your dreams. What this book covers Chapter 1, As the Prophecy Foretold, a Hero is Born, introduces you to the fundamentals and specifi c features of RPG video games, and discusses how this book will help build foundational knowledge for a commercial RPG. This chapter will also walk you through the basics of video game architecture, with a high-level overview of the component layout and application lifecycle in LibGDX. Finally, after learning about setting up your development and build environment, you will run your fi rst demo application. Chapter 2, Welcome to the Land of BludBourne, initially discusses how to create maps for BludBourne with a tile editor and how to load them using asset management classes. You will then implement your main render loop with a camera for displaying your loaded maps. We will then discuss some features specifi c to maps, including spawn points and a portal system. Finally, you will learn about adding animation to your player sprite and implementing input handling so that your player can move around the game world. Chapter 3, It's Pretty Lonely in BludBourne…, discusses how to implement the Entity Component System design pattern for BludBourne. We will then cover scripting support using JSON to defi ne NPC properties. Finally, we will implement a physics component with collision detection and an input component for the NPCs' movement. Chapter 4, Where Do I Put My Stuff?, covers HUD layouts with skins. We will learn about integrating player stats into the UI. We will then apply this knowledge by implementing a drag and drop inventory system for your player. Finally, we will discuss how to persist player state with save and load game profi les. Preface Chapter 5, Time to Breathe Some Life into This Town, discusses the theory behind dialog trees and implements an interactive speech system for the NPC characters. Finally, we will develop shop store UIs for the player with item and money transactions. Chapter 6, So Many Quests, So Little Time…, discusses quest systems, including dependency graph theory and implementation. Finally, we will create a quest log UI, including the steps involved with creating scripts for quests. Chapter 7, Time to Show These Monsters Who's the Boss, discusses how to implement a battle system with a UI including enemy NPC battle mechanics. We will then look at how we can connect HUD updates to state changes in BludBourne. We will cover a few tricks for implementing the consumption of items from the player's inventory. Finally, we will develop a leveling system for the player. Chapter 8, Oh, No! Looks Like Drama!, discusses how to integrate sound and music into the world of BludBourne. We will also look at how to create cutscenes and integrate them into the game. Chapter 9, Time to Set the Mood, covers an assorted list of special effects that can give your RPG some nice polish. We will fi rst learn about creating transitions between screens.
Recommended publications
  • Maksym Govorischev
    Maksym Govorischev E-mail : [email protected] Skills & Tools Programming and Scripting Languages: Java, Groovy, Scala Programming metodologies: OOP, Functional Programming, Design Patterns, REST Technologies and Frameworks: - Application development: Java SE 8 Spring Framework(Core, MVC, Security, Integration) Java EE 6 JPA/Hibernate - Database development: SQL NoSQL solutions - MongoDB, OrientDB, Cassandra - Frontent development: HTML, CSS (basic) Javascript Frameworks: JQuery, Knockout - Build tools: Gradle Maven Ant - Version Control Systems: Git SVN Project Experience Project: JUL, 2016 - OCT, 2016 Project Role: Senior Developer Description: Project's aim was essentially to create a microservices architecture blueprint, incorporating business agnostic integrations with various third-party Ecommerce, Social, IoT and Machine Learning solutions, orchestrating them into single coherent system and allowing a particular business to quickly build rich online experience with discussions, IoT support and Maksym Govorischev 1 recommendations engine, by just adding business specific services layer on top of accelerator. Participation: Played a Key developer role to implement integration with IoT platform (AWS IoT) and recommendation engine (Prediction IO), by building corresponding integration microservices. Tools: Maven, GitLab, SonarQube, Jenkins, Docker, PostgreSQL, Cassandra, Prediction IO Technologies: Java 8, Scala, Spring Boot, REST, Netflix Zuul, Netflix Eureka, Hystrix Project: Office Space Management Portal DEC, 2015 - FEB, 2016
    [Show full text]
  • Gradle User Guide
    Gradle User Guide Version 2.2.1 Copyright © 2007-2012 Hans Dockter, Adam Murdoch Copies of this document may be made for your own use and for distribution to others, provided that you do not charge any fee for such copies and further provided that each copy contains this Copyright Notice, whether distributed in print or electronically. Table of Contents 1. Introduction 1.1. About this user guide 2. Overview 2.1. Features 2.2. Why Groovy? 3. Tutorials 3.1. Getting Started 4. Installing Gradle 4.1. Prerequisites 4.2. Download 4.3. Unpacking 4.4. Environment variables 4.5. Running and testing your installation 4.6. JVM options 5. Troubleshooting 5.1. Working through problems 5.2. Getting help 6. Build Script Basics 6.1. Projects and tasks 6.2. Hello world 6.3. A shortcut task definition 6.4. Build scripts are code 6.5. Task dependencies 6.6. Dynamic tasks 6.7. Manipulating existing tasks 6.8. Shortcut notations 6.9. Extra task properties 6.10. Using Ant Tasks 6.11. Using methods 6.12. Default tasks 6.13. Configure by DAG 6.14. Where to next? 7. Java Quickstart 7.1. The Java plugin 7.2. A basic Java project 7.3. Multi-project Java build 7.4. Where to next? 8. Dependency Management Basics 8.1. What is dependency management? 8.2. Declaring your dependencies 8.3. Dependency configurations 8.4. External dependencies 8.5. Repositories 8.6. Publishing artifacts 8.7. Where to next? 9. Groovy Quickstart 9.1. A basic Groovy project 9.2.
    [Show full text]
  • Apple IOS Game Development Engines P
    SWE578 2012S 1 Apple IOS Game Development Engines Abstract—iOS(formerly called iPhone OS) is Apple's section we make comparison and draw our conclusion. mobile operating system that is used on the company's mobile device series such as iPhone, iPod Touch and iPad which II. GAME ENGINE ANATOMY have become quite popular since the first iPhone launched. There are more than 100,000 of the titles in the App Store are A common misconception is that a game engine only games. Many of the games in the store are 2D&3D games and draws the graphics that we see on the screen. This is of it can be said that in order to develop a complicated 3D course wrong, for a game engine is a collection of graphical game, using games engines is inevitable. interacting software that together makes a single unit that runs an actual game. The drawing process is one of the I. INTRODUCTION subsystems that could be labeled as the rendering With its unique features such as multitouch screen and engine[3]. accelerometer and graphics capabilities iOS devices has Game engines provide a visual development tools in become one of the most distinctive mobile game addition to software components. These tools are provided platforms. More than 100,000 of the titles in the App Store in an integrated development environment in order to are games. With the low development cost and ease of create games rapidly. Game developers attempt to "pre- publishing all make very strange but new development invent the wheel” elements while creating games such as opportunity for developers.[2]Game production is a quite graphics, sound, physics and AI functions.
    [Show full text]
  • Android Programming Cookbook I
    Android Programming Cookbook i Android Programming Cookbook Android Programming Cookbook ii Contents 1 Android Tutorial For Beginners 1 1.1 What is Android?...................................................1 1.2 Installing Android Studio...............................................1 1.3 Android versions and Android SDK Manager....................................7 1.4 Supporting different screen sizes...........................................7 1.5 Android Project Structure...............................................8 1.6 Create "Hello Android World" application......................................9 1.6.1 Create a New Android Studio Project....................................9 1.6.2 Create the source code of a simple FirstAndroidApplication Activity.................... 13 1.6.3 Create the layout of the project........................................ 14 1.6.4 Android Manifest............................................... 14 1.6.5 Edit the FirstAndroidApplication dimensions................................ 15 1.6.6 Edit the FirstAndroidApplication strings................................... 15 1.6.7 Add the drawable for every screen density.................................. 15 1.6.8 Build, compile and run............................................ 16 1.7 Download the Android Studio Project........................................ 18 1.8 How to continue?................................................... 18 2 Android Project migration from Eclipse to Android Studio 19 2.1 Why to use Android Studio over Eclipse ADT?..................................
    [Show full text]
  • Faculteit Bedrijf En Organisatie Unity 5 Versus
    Faculteit Bedrijf en Organisatie Unity 5 versus Unreal Engine 4: Artificiële intelligentie van 3D vijanden voor een HTML5 project Matthias Caryn Scriptie voorgedragen tot het bekomen van de graad van Bachelor in de toegepaste informatica Promotor: Joeri Van Herreweghe Co-promotor: Steven Delrue Academiejaar: 2015-2016 Derde examenperiode Faculteit Bedrijf en Organisatie Unity 5 versus Unreal Engine 4: Artificiële intelligentie van 3D vijanden voor een HTML5 project Matthias Caryn Scriptie voorgedragen tot het bekomen van de graad van Bachelor in de toegepaste informatica Promotor: Joeri Van Herreweghe Co-promotor: Steven Delrue Academiejaar: 2015-2016 Derde examenperiode Samenvatting Rusty Bolt is een Belgische indie studio. Deze studio wilt een nieuw project starten voor een 3D spel in een HyperText Markup Language 5 (HTML5) browser die intensief gebruik zal maken van artificiële intelligentie (AI) en Web Graphics Library (WebGL). Na onderzoek via een requirements-analyse van verschillende mogelijkheden van game engines komen we terecht bij twee opties namelijk Unity 5, die Rusty Bolt al reeds gebruikt, of de Unreal Engine 4, wat voor hen onbekend terrein is. Qua features zijn ze enorm verschillend, maar ze voldoen elk niet aan één voorwaarde die Rusty Bolt verwacht van een game engine. Zo biedt Unity Technologies wel een mogelijkheid om software te bouwen in de cloud. De broncode van Unity wordt niet openbaar gesteld, tenzij men er extra voor betaalt. Deze game engine is dus niet volledig open source in tegenstelling tot Unreal Engine 4. We vergelijken dan verder ook deze twee engines, namelijk Unity 5 en Unreal Engine 4. We tonen aan dat deze engines visueel verschillen van features, maar ook een andere implementatie van de AI hanteren.
    [Show full text]
  • Game Programming Algorithms and Techniques This Page Intentionally Left Blank Game Programming Algorithms and Techniques
    Game Programming Algorithms and Techniques This page intentionally left blank Game Programming Algorithms and Techniques A Platform-Agnostic Approach Sanjay Madhav Upper Saddle River, NJ • Boston • Indianapolis • San Francisco New York • Toronto • Montreal • London • Munich • Paris • Madrid Capetown • Sydney • Tokyo • Singapore • Mexico City Many of the designations used by manufacturers and sellers to distinguish their Editor-in-Chief products are claimed as trademarks. Where those designations appear in this book, Mark Taub and the publisher was aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals. E x e c u t i v e E d i t o r Laura Lewin The author and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors D e v e l o p m e n t E d i t o r or omissions. No liability is assumed for incidental or consequential damages in Chris Zahn connection with or arising out of the use of the information or programs contained M a n a g i n g E d i t o r herein. Kristy Hart For information about buying this title in bulk quantities, or for special sales opportunities (which may include electronic versions; custom cover designs; and P r o j e c t E d i t o r content particular to your business, training goals, marketing focus, or branding Elaine Wiley interests), please contact our corporate sales department at corpsales@pearsoned.
    [Show full text]
  • Modern Web Development with Kotlin a Concise and Practical Step-By-Step Guide
    Modern Web Development with Kotlin A concise and practical step-by-step guide Denis Kalinin This book is for sale at http://leanpub.com/modern-web-development-with-kotlin This version was published on 2019-06-04 This is a Leanpub book. Leanpub empowers authors and publishers with the Lean Publishing process. Lean Publishing is the act of publishing an in-progress ebook using lightweight tools and many iterations to get reader feedback, pivot until you have the right book and build traction once you do. © 2016 - 2019 Denis Kalinin Contents Preface ...................................................... 1 Build tools ................................................... 4 Command line .............................................. 4 Gradle ................................................... 5 Editing source files .............................................. 9 Using Atom ................................................ 9 Using IntelliJ IDEA ............................................ 11 Language fundamentals ........................................... 13 Using the REPL .............................................. 13 Defining values .............................................. 13 Lambdas .................................................. 15 Type hierarchy .............................................. 16 Nullable types ............................................... 17 Collections ................................................. 18 Defining classes .............................................. 20 Defining objects ............................................
    [Show full text]
  • Razvoj Neodvisnih Video Iger Run&Roll
    Univerza v Ljubljani Fakulteta za racunalniˇ ˇstvo in informatiko Rok Creˇsnikˇ Razvoj neodvisnih video iger Run&Roll DIPLOMSKO DELO NA UNIVERZITETNEM STUDIJUˇ RACUNALNIˇ STVAˇ IN INFORMATIKE, SMER INFORMATIKA Ljubljana 2013 University of Ljubljana Faculty of Computer and Information Science Rok Creˇsnikˇ Indie Game Development Run&Roll THESIS FACULTY OF COMPUTER AND INFORMATION SCIENCE, DEPARTMENT OF INFORMATICS Mentor: doc. dr. Rok Rupnik Ljubljana 2013 Univerza v Ljubljani Fakulteta za racunalniˇ ˇstvo in informatiko Rok Creˇsnikˇ Razvoj neodvisnih video iger Run&Roll DIPLOMSKO DELO NA UNIVERZITETNEM STUDIJUˇ RACUNALNIˇ STVAˇ IN INFORMATIKE, SMER INFORMATIKA Mentor: doc. dr. Rok Rupnik Ljubljana 2013 The results of the thesis are the intellectual property of the author, and the Faculty of Computer and Information Science, University of Ljubljana. For publishing or exploitation of the results of the thesis the written consent of the author, Faculty of Computer and Information Science and the mentor is needed. Namesto te strani vstavite original izdane teme diplomskega dela s pod- pisom mentorja in dekana ter ˇzigomfakultete, ki ga diplomant dvigne v ˇstudentskem referatu, preden odda izdelek v vezavo! Izjava o avtorstvu diplomskega dela Spodaj podpisani Rok Cresnik, z vpisno ˇstevilko 63050021, sem avtor di- plomskega dela z naslovom: Indi Game Development S svojim podpisom zagotavljam, da: • sem diplomsko delo izdelal samostojno pod mentorstvom doc. dr. Roka Rupnika. • so elektronska oblika diplomskega dela, naslov (slov., angl.), povzetek (slov., angl.) ter kljuˇcnebesede (slov., angl.) identiˇcnis tiskano obliko diplomskega dela • soglaˇsamz javno objavo elektronske oblike diplomskega dela v zbirki "Dela FRI". V Ljubljani, dne 15. oktober 2013 Podpis avtorja: Thank you! Contents Povzetek 1 Abstract 5 Prologue: The Hero is Born: iOS & Objective-C 7 0.1 iOS .
    [Show full text]
  • A Case Study on One-Source Multi-Platform Mobile Game Development Using Cocos2d-X
    International Journal of Engineering and Applied Sciences (IJEAS) ISSN: 2394-3661, Volume-3, Issue-11, November 2016 A Case Study on One-Source Multi-Platform Mobile Game Development Using Cocos2d-x Jinseok Seo, Hun Choi Abstract— In this paper, by introducing a case study on of "ResourceMaker", a tool developed for efficient game development of a first-person shooter game “Biosis” playable in resource sharing and management. This chapter also both iOS and Android platforms, we present guidelines for describes the level engine implemented to reflect the game developing one-source multi-platform mobile games using designers’ intention freely. Finally, Chapter V concludes the cocos2d-x game engine. This paper also describes the paper. “ResourceMaker” implemented to share and manage game assets efficiently in our multi-targeted development environment and the level engine by using which game planners can easily apply their designs to game levels. We expect that the presented guidelines will help game developers reduce the time and cost for development in the mobile game ecosystem, the life-cycle of which is very short. Index Terms—cocos2d-x, mobile game, multi-platform I. INTRODUCTION Recently, as the mobile platforms including smart phones have achieved popular success, the size of the mobile game market is also rapidly increasing [1]. As the market grows, more and more types of smart devices are emerging. Even on platforms that support the same operating system, many various types of devices with different screen resolutions are being announced. Therefore, it is inevitable that the cost required to develop a game for various platforms and display types as described above is greatly increased.
    [Show full text]
  • Code Smell Prediction Employing Machine Learning Meets Emerging Java Language Constructs"
    Appendix to the paper "Code smell prediction employing machine learning meets emerging Java language constructs" Hanna Grodzicka, Michał Kawa, Zofia Łakomiak, Arkadiusz Ziobrowski, Lech Madeyski (B) The Appendix includes two tables containing the dataset used in the paper "Code smell prediction employing machine learning meets emerging Java lan- guage constructs". The first table contains information about 792 projects selected for R package reproducer [Madeyski and Kitchenham(2019)]. Projects were the base dataset for cre- ating the dataset used in the study (Table I). The second table contains information about 281 projects filtered by Java version from build tool Maven (Table II) which were directly used in the paper. TABLE I: Base projects used to create the new dataset # Orgasation Project name GitHub link Commit hash Build tool Java version 1 adobe aem-core-wcm- www.github.com/adobe/ 1d1f1d70844c9e07cd694f028e87f85d926aba94 other or lack of unknown components aem-core-wcm-components 2 adobe S3Mock www.github.com/adobe/ 5aa299c2b6d0f0fd00f8d03fda560502270afb82 MAVEN 8 S3Mock 3 alexa alexa-skills- www.github.com/alexa/ bf1e9ccc50d1f3f8408f887f70197ee288fd4bd9 MAVEN 8 kit-sdk-for- alexa-skills-kit-sdk- java for-java 4 alibaba ARouter www.github.com/alibaba/ 93b328569bbdbf75e4aa87f0ecf48c69600591b2 GRADLE unknown ARouter 5 alibaba atlas www.github.com/alibaba/ e8c7b3f1ff14b2a1df64321c6992b796cae7d732 GRADLE unknown atlas 6 alibaba canal www.github.com/alibaba/ 08167c95c767fd3c9879584c0230820a8476a7a7 MAVEN 7 canal 7 alibaba cobar www.github.com/alibaba/
    [Show full text]
  • Basic Elements and Characteristics of Game Engine
    Global Journal of Computer Sciences: Theory and Research Volume 8, Issue 3, (2018) 126-131 www.gjcs.eu Basic elements and characteristics of game engine Ramiz Salama*, Near East University, Department of Computer Engineering, Nicosia 99138, Cyprus Mohamed ElSayed, Near East University, Department of Computer Engineering, Nicosia 99138, Cyprus Suggested Citation: Salama, R. & ElSayed, M. (2018). Basic elements and characteristics of game engine. Global Journal of Computer Sciences: Theory and Research. 8(3), 126–131. Received from March 11, 2018; revised from July 15, 2018; accepted from November 13, 2018. Selection and peer review under responsibility of Prof. Dr. Dogan Ibrahim, Near East University, Cyprus. ©2018 SciencePark Research, Organization & Counseling. All rights reserved. Abstract Contemporary game engines are invaluable tools for game development. There are many engines available, each of them which excel in certain features. Game Engines is a continuous series that helps us to make and design beautiful games in the simplest and least resource way. Game drives support a wide variety of play platforms that can translate the game into a game that can be played on different platforms such as PlayStation, PC, Xbox, Android, IOS, Nintendo and others. There is a wide range of game engines that suit every programmer and designed to work on Unity Game Engine, Unreal Game Engine and Construct Game Engine. In the research paper, we discuss the basic elements of the game engine and how to make the most useful option among Game Engines depending on your different needs and needs of your game. Keywords: Game engine, game engine element, basics of game engine.
    [Show full text]
  • Maven Vs Gradle
    Maven vs Gradle This is a working document on the topic of converting from gradle to maven. If you add items / questions / etc, please tag and maybe color it (e.g., <dl>...) to make it easier to track things. Open questions / issues are in red. At a high level the motivations are: improve consumability of Edgent by users add publishing of signed Edgent binary release artifacts (JAR, WAR) in maven repos ultimately cease creating signed binary release bundles (tgz) simplify the build tooling the gradle scripting has some non-standard / complicated processing either out of ignorance or to achieve certain things TODO add the "why the complications" note here. (manifest classpath, binary bundle tgz with transitive deps, ...) Suspect that to simplify maven based tooling we'd need to eliminate some of those things (which would also simplify gradle stuff) Chris Dutz created PR-309 for working on a maven based system. PR-309 now includes a maven wrapper (mvnw). Set JAVA_HOME and then use "mvnw" instead of "mvn" below and you don't have to manually install maven. Or, to manually install maven https://maven.apache.org/download.cgi https://maven.apache.org/install.html Maven concepts: lifecycles, phases, goals, plugins High level building and testing mvn clean install # builds and tests add -DskipTests to omit testing, --fail-at-end for "continue"-like mvn clean package # a bit fewer phases than install mvn clean compile # even fewer/faster mvn site:site site:staging # see target/stagingindex.html mvn dependency:copy-dependencies # copies all dep
    [Show full text]