Gradle. www.gradle.org



Podobné dokumenty
WPA - Konfigurace Java EE aplikace (Maven, struktura war arch. kontejnerem Tomcat 8

Project management. Příprava projektu Zahájení High level plánování. Vykonávání Detailní plánování Vykonávání Řízení a monitorování

KMI / TMA Tvorba mobilních aplikací

Evoluce deploye Od FTP po automatický deploy

Workflow sdíleného projektu ve VisualParadigm

Dynamické programovací jazyky

Nástroje a frameworky pro automatizovaný vývoj. Jaroslav Žáček jaroslav.zacek@osu.cz

Maven. Aplikační programování v Javě (BI-APJ) - 2 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha

KMI / TMA Tvorba mobilních aplikací. 2. seminář ZS 2016/2017 Středa 13:15-15:45

Java/QE Akademie - Osnova

Úvod do Groovy pro Java experty

První kroky s METEL IEC IDE

Chyby a výjimky. Chyba. Odkud se chyby berou? Kdo chyby opravuje? Co můžete dělat jako programátor? Dvě hlavní metody práce s chybami.

Ročníkový projekt. Jaroslav Žáček

Ant aneb Ferda Mravenec, práce všeho druhu

1 Nástroje pro správu verzí. 1.1 Pojmy:

Praktické zkušenosti s Azure DevOps

OpenCV & Java Pavel Jetenský

Obecné informace o cvičeních

ANT. Aplikační programování v Javě (BI-APJ) - 1 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha

Ročníkový projekt. Jaroslav Žáček

Návod ke cvičení předmětu BPGA ControlLogix

Apache Cordova (PhoneGap 3)

Tablexia. Vývoj multiplatformních her pomocí opensource technologie libgdx. Matyáš Latner

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

JAVA. Nástroje v JDK

Návod ke cvičení předmětu BPGA SLC 500

1 Návod na instalaci prostředí LeJOS-NXJ a přehrání firmwaru NXT kostky

Uživatelská příručka Autor: Martin Fiala

Úvod do programování v jazyce Java

Testování SOA systémů v Oracle SOA Suite

Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01

Nástroje pro průběžnou integraci a testování

Monitorování a diagnostika aplikací v produkčním prostředí Michael Juřek

Statická analýza kódu - za kód bez chyb

eduroam.cz správa a deployment pomocí Ansible

SNAPARC Stahování archivů z řídicích stanic

RUP - Disciplíny. Jaroslav Žáček jaroslav.zacek@osu.cz

Přechod na Firebird 3. Popis migrační utility

POKYNY K INSTALACI JAVA PLUGINU A ELEKTRONICKÉHO PODPISU V SYSTÉMU ELZA. Stav ke dni verze 1.0

Ruby on Rails: zapomeňte na Javu

Programátorská příručka

Úvod do programování v jazyce Java

ISZR Referenční agent JAVA

Vývoj řízený testy Test Driven Development

SonarQube - statická analýza kódu a její zapojení v CI. Babu Červenková Big Data developer - Java Fulltext - Robot tým

Obsah. Kapitola 1. Kapitola 2

ŠKOLENÍ PROGRAMOVACÍHO JAZYKA JAVA JAVA - ZÁKLADY

Programovací jazyk Java

Změna vlastností kódem

Groovy agilní Java. Pavel Kříž Filip Malý

JAVA Unit testing Java, zimní semestr

Nové vývojové nástroje i5/os Rational Developer for System i V7.1

Nástroje pro vývoj software

Úvod. Únor Fakulta informačních technologií VUT. Radek Kočí Seminář Java Úvod 1/ 23

Základy programovaní 3 (Java)

1 Uživatelská dokumentace

Knot DNS workshop. CZ.NIC Labs Daniel Salzman / daniel.salzman@nic.cz Jan Kadlec / jan.kadlec@nic.cz

1 Správce licencí Správce licencí Správce licencí Start > Všechny programy > IDEA StatiCa > Správce licencí Soubor > Správce licencí Licence

Práce s knihovnami. Karel Richta a kol. katedra počítačů FEL ČVUT v Praze. Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016

Testovací metoda. Testovací metoda. public class SimpleTest {

Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám.

Ing. Petr Ferschmann SoftEU s.r.o. Ing. Jindřich Vimr HSF s.r.o.

Nastavení CADprofi pro CAD, aktivace a registrace CADprofi

Fakulta elektrotechnická. Tutoriál k softwarovému projektu. Michal Ciasnocha, Stanislav Kokaisl, Jan Mathauser, Milan Molda, Daniel Puncman

Příručka aplikace KMix. Gaurav Chaturvedi Vývojář: Christian Esken Vývojář: Helio Chissini de Castro Vývojář: Brian Hanson

Envis LIMS Klient distribučního portálu

Nápověda k aplikaci EA Script Engine

Instalace programu ProVIS

TECHNICKÁ PODPORA. Systémové požadavky Instalace Licencování a aktivace Náplň technické podpory Formy předplatného Kontakty

České vysoké učení technické v Praze

T-Mobile Internet. Manager. pro Mac OS X NÁVOD PRO UŽIVATELE

Rocrail. Nejprve: Obecný úvod. Instalace

Správa projektů a testování

GIT hands-on. Mgr. Šimon Tóth. 12. dubna () GIT hands-on 12. dubna / 25

Java aplety. Předávání parametrů z HTML

Distribuce IT systému z důvodu minimalizace rizik a nasazení platformy linux

STŘEDOŠKOLSKÁ ODBORNÁ ČINNOST. Obor SOČ: 18. Informatika. Školní sdílení PC obrazovek. School sharing PC screens

1. Instalace MySQL Serveru Konfigurace MySql Serveru Vytvoření struktury databáze...3

Untitled 04/02/2018, 17:47

Windows a real-time. Windows Embedded

Poznámky k verzi Remote support platform 3.1

SQL Server Data Tools (SSDT) RNDr. David Gešvindr MVP: Azure MCSE: Data Platform MCSD: Windows Store

Servlety a JSP. Petr Adámek, petr.adamek@ibacz.eu

Informační systémy 2008/2009. Radim Farana. Obsah. Základní principy XML

PŘIDÁNÍ SOUBORŮ DO OBLASTI PŘIPRAVENÝCH ZMĚN

2.2 Acronis True Image 19

Novinky v IBM Notes a Domino. CubeTeam Dan Vrána

TIA na dosah. Upgrade systému na verzi PCS Jan Kváč. SIMATIC PCS 7 Promoter. Tel:

3 Vývojová prostředí, základní prvky jazyka Java, konvence jazyka Java

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Testovací protokol. 1 Informace o testování. 2 Testovací prostředí. 3 Vlastnosti generátoru klíčů. Příloha č. 11. Testovaný generátor: Portecle 1.

Obsah. Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13

v Praze Fakulta elektrotechnická Květen 2015 Vedoucí práce: Ing. Macek Ondřej, Ph.D.

Předměty. Algoritmizace a programování Seminář z programování. Verze pro akademický rok 2012/2013. Verze pro akademický rok 2012/2013

ProjectWise V8 XM Edition

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou

Obsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody

Transkript:

Gradle www.gradle.org

Gradle Vzal si to dobré z Antu a z Mavenu Navíc DSL Groovy Závislosti mezi projekty, ale i tasky Jako Ant, ale lepší Groovy má přímou podporu ANTu Zpětná kompatibilita z 0.9 do 2.4 bez velkých problémů Build není jen o vytvoření jar nebo war souboru

Spolupráce s ostatním SW Jenkins, plugin spouští vybrané tasky Archiva Stahování závislostí Maven publish plugin release, vytvoří pom Podporuje I IVY repozitáře a Maven 1 repozitáře Ide Intellij Idea používám jen nahrání projektu Eclipse podporován Netbeans? Sonar podporován přímo SonarQube

Gradle u nás 10 vývojářů v týmu rebelové, v Mavenu 2 by TO bylo jednodušší Špatně se hlídá konzistence buildu mezi projekty Zatím dva projekty používají Gradle Migrace z maven 1 na Gradle 0.9 Bez podpůrných sh/cmd souborů Mnohem rychlejší Přes IVY využíváme repozitář společný s Maven 1.0 Jednodušší protlačit, než přechod na GIT

Zrychlujeme build Daemon místo startu běží na pozadí a čeká na příkaz k buildu --parallel spustit tasky souběžně pokud nejsou závislé Máme 'tasky' na které se 'přidávají' další Build BuildBeforeCommit BuildInstaller etc. Podmínky == vynecháme části buildu, které nejsou potřeba Identifikace nezměněných souborů + parallel + Daemon Build zrychlený na polovinu!!!, pokud změna jen v jednom war souboru, tak třeba in na desetinu!!! času celého buildu

Wrapper Zjednoduší spouštění./gradlew - pokud není gradle nainstalován, sám vše stáhne a nainstaluje,pro daný projekt Různé projekty různé verze gradelu Zjednodušší upgrade na novou verzi

Pluginy Mohou být součástí projektu buildsrc adresář Java nebo groovy evoluce nové funcionality task plugin v projektu samostatný plugin narozdíl od Mavenu 1 si píšeme vlastní pluginy

3 fáze Init inicializace projektů Configure konfigurace Execute spuštění tasků task buildbeforecommit{ dolast{ logger.info project.name + ' is built before commit' } } buildbeforecommit.dependson('build')

Configure task buildbeforecommit{ dolast{ logger.info project.name + ' is built before commit' } } buildbeforecommit.dependson('build')

Novinky, co dál? Debugovani tasku v Intellij Idea Unit testy build scriptu Lepší rozpoznávání změn (moje pluginy a tasky)

Execute task buildbeforecommit{ dolast{ logger.info project.name + ' is built before commit' } } buildbeforecommit.dependson('build')

Kopírování souborů copy { from ziptree(project(':eswebapi').war.archivepath) exclude('web-inf/web.xml') exclude('web-inf/weblogic.xml') exclude('web-inf/security_eswebapp.xml') into "$ {project.builddir.path}/espubliccombined/" }

Na co Gradle nepoužívat Je to přece programovací jazyk -> dá se udělat vše Deployment Ansible etc.

Legrácky dependencies { compile project(':ismartcommon') compile project(':ismartcache') compile project(':ismartdbcommon') compile project(':ismartediting') try{ testcompile project(':ismarttestcommon') }catch (Exception ex){ testcompile libraries.ismart_testcommon } } testcompile libraries.dbunit testcompile libraries.log4j

Legrácky War soubory volitelné závislosti mezi tasky Spustit proces Spustit ant exec Kopírování souborů Iterace projektů

Legrácky Používejte logger.info logger.debug logger.error místo Ant.echo Proměnné prostředí Project Při kopírování souborů je kontext adresář projektu

Legrácky Definice zavislosti je pole! Definujte si závislosti ve svém projektu, bez POM souborů v repozitáři (Maven 1.0) def springsecurityversion = '3.2.5.RELEASE' libraries.spring_security_ldap = '... -security-ldap:' + springsecurityversion; libraries.spring_security_core = '...-security-core:' + springsecurityversion;... libraries.spring_securitywithdependencies = [ libraries.spring_security_ldap,... libraries.ldapsdk ]

Knihy Gradle in Action by Benjamin Muschko Publisher: Manning Publications Published: February 2014 Mastering Gradle by Mainak Mitra Publisher: Packt Publishing Published: July 2015