Build Management Tool?

Ähnliche Dokumente
Build Management Tool?

Build Management Tool

Dominik Helleberg inovex GmbH. Auf Augenhöhe mit Android Studio und Gradle

Kurzanleitung Eclipse

Persönliche Build-Höllen für Jedermann Andreas Hartmann & Dr. Halil-Cem Gürsoy

Programmieren II. Exkurs: Apache Maven. Institut für Angewandte Informatik. KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Das neue Android Build System

Maven 2 Softwareprojekte mit Kultur

CI von Eclipse RCP Anwendungen mit Gradle/Jenkins

Programmieren in Java

Buildsystem. Maven & Scons. Controls Entwicklungsforum Januar 2012

Softwareprojekte mit Kultur

Composing Shops. Modulinstallation und andere coole Composer Features. (auch) für den OXID eshop... und ein bisschen Shopware ;)

Referat. Continuous Integration. mit Maven und Jenkins. Benjamin Keeser. Hochschule für angewandte Wissenschaften München FB 07 Informatik (Master)

Das Build Tool Ant. Sebastian Mancke,

Buildwerkzeuge für Javaprojekte. Christian Bunse Institut für Informatik

Installationsanleitung

Eclipse und Java Einheit 06: Building Eclipse Projete mit Ant

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Maven Einführung. Dipl.-Inform. Alex Maier

Software-Engineering Grundlagen des Software-Engineering

ANT. Kurzvortrag von Manuel Schulze.

Software build (-erstellung), deployment(-verteilung) und execution(-ausführung)

Artem Eger. Build-Systeme in java Maven & ANT

Apps-Entwicklung mit Netbeans

7 Erweiterung von Gradle

SEW Übung EMFText. 1 Aufgabe. 2 Domänenbeschreibung. 3 Installation von Eclipse/EMFText. 4 Schritt-für-Schritt Anleitung. 4.

Builddreikampf: Ant, Maven und Gradle. Sven Bunge / Carl Düvel

Eclipse 3.0 (Windows)

Automatisierte Entwickler VMs works on my machine zählt nicht mehr ;-)

Continuous Integration in JBF. Johannes Kellner

Eclipse Tutorial.doc

1 Vorraussetzungen. 2 Installiere Eclipse. FS 2015 Herausgabe: Dr. A. L. Schüpbach, D. Sidler, Z. István Departement Informatik, ETH Zurich

NetBeans Installation für Handy-Programmierung

Die Scala Entwicklungsumgebung. L. Piepmeyer: Funktionale Programmierung - Die Scala Entwicklungsumgebung

How To: Wie entwickle ich mit SharpDevelop Anwendungen für die PocketPC-Platform

JCoverage. Uni Kassel Projektarbeit Software Engineering Markus Pilsl & Marko Medved

Der Weisheit letzter Schluss:

Apps-Entwicklung mit Eclipse

B) Klassenbibliotheken Turtle und Util (GPanel, Console) installieren Ein Unterverzeichnis classes auf der Festplatte erstellen, z.b.

B) Klassenbibliotheken Turtle und Util (GPanel, Console) installieren Ein Unterverzeichnis classes auf der Festplatte erstellen, z.b.

Martin. Spiller. Maven 3. Konfigurationsmanagement mit Java

Was kann man in APEX automatisieren?

JDroidLib mit Eclipse (Mac/Linux/Windows)

Renée Bäcker. Perl $foo Magazin

Neue Wege mit Contao 4

Continuous Integration (CI) Workshop

Java: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder

Kurzanleitung zu XML2DB

3.5 Arten von Modulen

Continuous Integration mit TravisCI u.a. Jan Steemann

Einführung in das Programmieren

Informatik II Übung 1

OSGi. The Next Generation Java Service Platform. SOA - The Java Way or My classpath is killing me. Michael Greifeneder

Umstieg auf OSGi - aber wie? Martin Lippert & Matthias Lübken akquinet it-agile

Build Management. Präsentation von Daniel Mies

Martin Spiller. Maven 2. Konfigurationsmanagement mit Java

Vom lokalen Build zum Deployment

(1)Einführung in Eclipse

Eclipse Tomcat Plugin Starthilfe

Welches hätten Sie denn gerne? Markus Stäuble, CTO, namics (deutschland) GmbH

Einführung in Maven und GWT

Modulare Anwendungen und die Lookup API. Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team

Installation von Zope, Plone, exam auf OSS

Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung

Programmieren I. Dokumentation mit javadoc Heusch 10.4 Ratz Institut für Angewandte Informatik

Erhöhe den Nutzen deines Dienstes

Wir implementieren Lösungen. + DevOps-in-the-Box. Rainer Heinold VP Technology and Services

Installationsbeschreibung

Maven 2.0. DRV Jahrestagung Java Würzburg Rainer Vehns, codecentric GmbH codecentric GmbH

Composer für Contao Entwickler

Scripting Framework PowerShell Toolkit Quick-Install a Workplace for Packaging and Test

Continuous Everything

Dies ist der zweite Artikel einer Serie über Electron.

APEX OOS TOOLS & HELFER

Seminar - Bericht. Maven Project Management & Comprehension. Fachhochschargau Departement Technik Studiengang Informatik. Gruppe Jonas Weibel

Merkblatt System-C Installation Linux

Das Build-Tool ANT ETIS SS05

Transkript:

Build Management Tool? Funktionen Dependency Management Kompiliert den Sourcecode in Binaries Führt automatisierte Tests aus Installiert Software oder Lädt sie in Repositories Erstellt eine Dokumentation Erstellt Software Pakete (Releases/Distributionen) Vertreter Make Ant Maven Gradle

Gradle Project Structure Im wesentlichen von Maven Module home entliehen src: source files main: java Klassen mit resources test: test java Klassen mit resources build: compilierte files NICHT in die Versionskontrolle Wird automatisch erstellt wenn benötigt build build.gradle

Java Modules vs Packages Package: Dient der Einordnung von Java Klassen in Namespaces um Rechte/Sichtbarkeit zu organisieren Module: Einheit die als eigenständiges JAR zur Verfuegung stehen soll Einteilung in use cases Welche teile meiner software/library moechte ich einzeln bereitstellen Bsp.: API konkrete Implementierungen Der interessante Organisationsmechanismus fuer das Build-System

Begrife: Repository (Versionskontrolle) Zentraler Server der eure Versionskontrolle bereitstellt Repository / Artifactory Zentraler Server der libraries (jars) öffentlich bereitstellt Artifact (debloy, publish) Einheit/Archiv/Library/Jar in einem Repository Distribution (debloy, publish) Paket das an User ausgeliefert wird Starter, Manual, Libs, Installer, Lizenzen

Gradle Build System / Build Management Tool DSL (Domain-specific language) die auf Groovy Basiert Man schreibt scripte und keine Config files (Maven xml)

Gradle build.gradle (Module Root) Sind die eigentlichen build scripte Beinhalten tasks und deren configuration Erben tasks und configs von obermodulen Hier kann gradle ausgefuehrt werde setting.gradle (Project Root) Definiert module die von gradle gebaut werden sollen Einige globale optionen

Minimales Projekt build.gradle group 'de.unijena.bioinf.teaching.20[year].grp[number]' version '1.0-SNAPSHOT' settings.gradle (Optional: sonst wird Verzeichnisname verwendet) rootproject.name = 'projectname'

Tasks Tasks (gradle -q tasks) Aufgaben die Gradle erledigen kann Verschiedene Typen von Tasks Koennen Abhängigkeiten haben Gradle bringt grundlegende tasks (Sprachenunabhängig) mit Weitere Tasks Ueber Plugins (zb. java, maven) Selbst definieren Beispiel: gradle test

Java Plugin Java spezifsche tasks Was muss ich tun? build.gradle apply plugin: 'java' Konsole gradle build Was bekomme ich?

Java Plugin Java spezifsche tasks Das Projekt wird kompiliert Javadoc wird erzeugt Die Test werden ausgeführt Jar wird erzeugt und im Ordner moduleroot/build gespeichert Javadoc Konsole gradle javadoc Clean Konsole gradle clean Welche Taks gibt es? Konsole gradle tasks

Tasks Konfgurieren dependencies { compile group: 'org.slf4j', name: 'slf4j-api', version:'1.21' testcompile group: 'junit', name: 'junit', version: '4.12' } jar { basename = 'fancy-app' manifest { attributes 'Main-Class': 'package.path.to.your.mainclass' } } Konfiguriere dependencies erzeugt das Jar mit dem Namen fancy-app-0.2.1.jar erzeugt ausführbares Jar

Repositories build.gradle repositories{ mavencentral() mavenlocal() maven { url http://repo.xyz.de/maven2 } }

Eine Anwendung starten build.gradle apply plugin: 'application' mainclassname = de.fsu.example.test applicationdefaultjvmargs = [ -Xmx4G ] /src/main/java/de/fsu/example.java package de.fsu.example; public class Test { } public static void main(string[] args){ System.out.println("Programm gestartet");} Konsole > gradle run :compilejava UP-TO-DATE :processresources UP-TO-DATE :classes UP-TO-DATE :run Programm gestartet BUILD SUCCESSFUL Total time: 4.55 secs

Projekt ins lokale Repository packen build.gradle apply plugin: 'maven' Konsole > gradle install

Installationen Was brauchen wir: Java Installation (JDK) Test: java -version Groovy installation Test: groovy -v Gradle installation Test: gradle -v

Installation von Groovy Siehe auch http://groovy-lang.org/install.html (5.Install binary) Groovy 2.4.X herunterladen und in geeignetes Verzeichnis entpacken Anpassungen in ~/.bashrc oder ~/.profile: export GROOVY_HOME="/path/to/groovy-2.4.X/" export PATH="${PATH}:${GROOVY_HOME}/bin"

Installation von Gradle Siehe auch http://www.gradle.org/installation (Install manually) Gradle 3.x.x herunterladen und in geeignetes Verzeichnis entpacken Anpassungen in ~/.bashrc oder ~/.profile: export GRADLE_HOME="/path/to/gradle-3.4/" export PATH="${PATH}:${GRADLE_HOME}/bin"