Apache Buildr Keine Verlinkung Im Text

Total Page:16

File Type:pdf, Size:1020Kb

Apache Buildr Keine Verlinkung Im Text Buildr Tools Die Maven-Alternative? Wohin mit dem Logo? Apache Buildr Keine Verlinkung im Text. Die Automatisierung der Build-Prozesse ist eine feine und wichtige Sache. In der Regel freut man sich, wenn ein Projekt Apache Maven verwendet und man dank der Konvention das Projekt sofort bauen kann. Doch mit der Zeit stellt sich in der Regel Ernüchterung ein: Der Build schlägt plötzlich fehl, weil ein Artefakt nicht mehr in den bekannten Repositories gefunden werden kann, die Ergebnisse sind nicht exakt reproduzierbar oder für eine kleine Erweiterung des Prozesses müssen erst aufwändig Plug-ins entwickelt und verteilt werden. Muss das so sein? Apache Buildr hat sich zu einer mächtigen Alternative entwickelt, indem es den deklarativen Ansatz von Maven mit dem imperativen einer Skript- sprache kombiniert. von Tammo van Lessen sind die Konfigurationsoptionen verschiedener Plug-ins nicht immer selbsterklärend und ändern sich mitunter Die Ursprünge von Buildr [1] liegen in der BPEL-Engine zwischen Plug-in-Versionen. In der Praxis führt dies zu Apache ODE [2]. ODE ist ein komplexes Middleware- schwer aufzuspürenden Problemen und zu nicht repro- Projekt, das sehr hohe Anforderungen an das Build- duzierbaren Builds. Scherzhaft sprach man sogar vom System stellt. So besteht es aus über fünfunddreißig „Maven Uncertainty Principle“, in Anlehnung an Hei- Modulen, unterstützt neun Datenbanken, wird in drei senbergs Unschärferelation. verschiedenen Editionen paketiert und hängt von über hundertzwanzig Bibliotheken ab. Die Datenbankanbin- Notausgänge dung erfolgt wahlweise über OpenJPA oder Hibernate Dass dies besser gehen muss, steht außer Frage – aber – beide müssen im Build-Prozess berücksichtigt werden. wo genau liegt eigentlich das Problem? Maven verfolgt Die Datenbankskripte sollen nicht nur für eine Daten- einen rein deklarativen Ansatz mithilfe einer XML-ba- bank, sondern gleichzeitig für alle neun erzeugt werden. sierten DSL. Diese DSL ist allerdings ausschließlich in Zusätzlich werden XML-Parser und -Serializer mittels der Lage, das „Was“ zu beschreiben, nicht jedoch das XMLBeans generiert und eigene Annotations-Prozesso- „Wie“. Für die tatsächliche Implementierung der ge- ren für die Codegenerierung verwendet. Dazu kommen wünschten Funktionalität sind die Plug-ins verantwort- weitere „Kleinigkeiten“, wie die Anforderung, dass alle lich. Sie allein bestimmen also das „Wie“. Die einzige ausgelieferten Textdateien, auch die generierten, die Möglichkeit, Einfluss darauf zu nehmen, ist die Konfigu- Apache-Lizenz im Kopf führen müssen. ration der Plug-ins (im Rahmen der angebotenen Funk- tionalität) oder ein Notausgang. Ein solcher könnten „Maven Uncertainty Principle“ z. B. ein selbst geschriebenes Maven-Plug-in, der Aufruf Nach den guten Erfahrungen, die das ODE-Projektteam eines Ant-Scripts oder, wie in Maven 1, ein Jelly-Script mit Maven 1 gemacht hatte, war man optimistisch, auch sein. Die Lösung kann also nur die bessere Verbindung diese Anforderungen mit Maven – diesmal in Version 2 – der deklarativen und imperativen Ansätze sein, die eine umsetzen zu können. Das war auch tatsächlich möglich, nahtlose Integration von Notausgängen erlaubt [3]. allerdings mit deutlich höherem Aufwand als erwartet. Buildr hat sich genau das zum Ziel gesetzt und setzt Für eine so einfache Aufgabe wie das Zusammenführen dabei auf bewährte Mittel. So sollen die guten Eigen- von zwei SQL-Dateien benötigt man beispielsweise 34 schaften von Maven, wie z. B. die Abhängigkeitsverwal- Zeilen XML. Die SQL-Skripte für alle Datenbanken zu tung, beibehalten werden. Als Basis für die DSL wird erzeugen, war mit Maven und Plug-ins gar nicht mög- aber auf XML verzichtet und stattdessen Ruby einge- lich, sodass man an dieser Stelle auf Ant-Skripte aus- setzt. Dadurch hat man jederzeit die Möglichkeit, die weichen musste. Im Ergebnis war die Build-Logik von Mächtigkeit der Skriptsprache als Notausgang zu ver- Apache ODE um insgesamt 6739 Zeilen XML-Code wenden, wenn die deklarativen Elemente nicht mehr gewachsen, verteilt auf 53 Dateien. Die Verteilung auf ausreichen. Der Buildr-basierte Build von Apache ODE mehrere voneinander abhängige pom.xml-Dateien muss besteht nun nur noch aus 912 Zeilen Ruby-Code, der man in Kauf nehmen, wenn man sein Projekt auf meh- Übersichtlichkeit halber auf drei Dateien verteilt. Ein rere Module verteilen möchte. Man kann sich vorstel- wichtiger Nebeneffekt: Der Build-Prozess ist sogar dop- len, dass das auf Kosten der Wartbarkeit geht. Zudem pelt so schnell. www.JAXenter.de javamagazin 1 | 2013 109 Tools Buildr he von Tasks, die den Lifecycles von Maven sehr nahe kommen: • clean: löscht alle während des Builds erzeugten Da- teien • compile: kompiliert das Projekt und seine Unterpro- jekte Abb. 1: Auf der Basis von Ruby setzt Buildr auf Rake auf • test: testet das Projekt und seine Unterprojekte • build: kompiliert und testet das Projekt und seine Unterprojekte • package: erzeugt JARs, WARs, EARs, AARs, Zips oder OSGi Bundles • install: kopiert die erzeugten Artefakte in das lokale Maven-Repository • upload: lädt die erzeugten Artefakte in ein entferntes Maven-Repository • eclipse/idea: erzeugt die Hilfsdateien, um die Projekte in Eclipse oder IDEA öffnen zu können • cc: wartet kontinuierlich auf Änderungen der Quellda- teien und startet dann automatisch die Kompilierung • release: erzeugt ein Release mit Tag in der Versions- Abb. 2: Abhängigkeiten der wichtigsten globalen Tasks kontrolle und lädt die Artefakte in ein Maven-Repo- sitory hoch Auf der Basis von Ruby setzt Buildr auf Rake auf • junit:report: erzeugt die HTML-Reports für die (Abb. 1). Rake ist ein populäres Build-Werkzeug in der JUnit-Testfälle Ruby-Welt. Es operiert auf einem gerichteten azykli- schen Graphen, um Abhängigkeiten zwischen Tasks zu Abb. 2 zeigt die Abhängigkeiten der wichtigsten Tasks. definieren. Dafür stellt es eine einfache DSL zur Verfü- Abhängigkeiten: Eines der wichtigen Features von gung. Die Tasks selbst werden in Ruby implementiert Maven ist die Möglichkeit, Projektabhängigkeiten auto- und können dementsprechend komplexe Aufgaben be- matisch verwalten lassen zu können. Buildr übernimmt arbeiten. Zusätzlich können so genannte FileTasks kau- dieses Feature und arbeitet mit den gleichen Reposito- sale Abhängigkeiten zwischen Dateien definieren. Wird ries wie Maven zusammen. Die GAV-Koordinaten der eine solche Abhängigkeit zwischen einer .java- und Artefakte werden in der Form group:id:type:version an- .class-Datei definiert, so weiß Rake, dass es die .class- gegeben und in normalen Ruby-Variablen definiert. Mit Datei nur dann neu erzeugen muss, wenn die .java-Datei einigen Hilfsmethoden lassen sich hier elegante Schreib- ein neueres Änderungsdatum als die .class-Datei hat. weisen finden, um komplexe Abhängigkeitsstruktu- Dennoch wurde Rake für die Build-Prozesse von ren einfach auszudrücken. Wichtig ist zu erwähnen, Ruby-Projekten entwickelt. Um effizient Java-Projekte dass Buildr keine komplexe Abhängigkeitsauflösung bauen zu können, liefert Buildr die nötigen Erweiterun- wie Maven unterstützt. Zwar kann man mithilfe der gen der DSL, um die wichtigsten Elemente eines Builds, transitive()-Methode die weiteren Abhängigkeiten her- nämlich Kompilieren, Testen, Paketieren und Releasen, unterladen und verwenden, allerdings ist diese Funktio- Whitepapers360 – deklarativ in der Skriptsprache verwenden zu können. nalität nur rudimentär implementiert. Das ist allerdings Ihre zentrale Anlaufstelle, wenn es auch so gewollt, denn die automatische Auflösung der Die Kernkonzepte Abhängigkeiten hat auch bei Maven immer wieder zu um technische Informationen geht! Projektstruktur: Anders als Maven werden Multi-Mo- Problemen geführt. Besser ist es, die Abhängigkeiten ma- dul-Builds nicht auf mehrere POMs verteilt, sondern in nuell festzulegen. Wer dennoch nicht auf dieses Feature Aktuelle Whitepapers: einer einzigen Build-Datei namens buildfile beschrieben. verzichten möchte, kann die Aether- und Ivy-Plug-ins Dabei können Unterprojekte beliebig häufig verschach- verwenden. Anders als bei Maven ist es jedoch auch sehr telt sein. Buildr geht zunächst davon aus, dass die einzel- leicht möglich, lokale Bibliotheken, beispielsweise aus NoSQL – Beyond the Key-Value Store for the Enterprise nen Projekte der Maven-Konvention, also src/main/java einem libs-Ordner im Projektverzeichnis, zu verwenden. für Java-Code, src/main/resource für Ressourcen, src/ Bauen: Buildr unterstützt nicht nur Java, sondern auch Turbo-Charge Applikation Performance To SQL Server test/java für Java-Tests, src/test/resources/ für Testres- Groovy, Scala und Ruby, zusammen mit ihren wich- sourcen etc. folgen. Es lassen sich aber auch andere tigsten Testframeworks. So können Java-Projekte ohne Projektlayouts konfigurieren. Analog zu den GAV-Ko- weiteres Zutun mit JUnit, TestNG oder JBehave getestet High Performance leicht gemacht ordinaten der Maven-Projekte (Group, Artifact, Versi- werden. Die Kompilierung der Quelldateien lässt sich on) werden jedem Projekt eine artifactId, eine groupId sehr leicht um zusätzliche Tasks, etwa zur Codegenerie- Vom Angriff zur Abwehr: Ein Leitfaden zum Schutz von und eine Version zugewiesen. Für jedes Projekt (und die rung, erweitern. Ebenfalls Teil des Bauens ist das Kopie- Unterprojekte) definiert Buildr automatisch eine Rei- ren und Verarbeiten der Ressourcen. Wie auch Ant und Softwareprodukten vor den 8 häufi gsten Angriff sszenarien Mehr Informationen: www.whitepapers360.de 110 javamagazin 1 | 2013 www.JAXenter.de Buildr Tools Maven erlaubt es Buildr, die Dateien während
Recommended publications
  • Return of Organization Exempt from Income
    OMB No. 1545-0047 Return of Organization Exempt From Income Tax Form 990 Under section 501(c), 527, or 4947(a)(1) of the Internal Revenue Code (except black lung benefit trust or private foundation) Open to Public Department of the Treasury Internal Revenue Service The organization may have to use a copy of this return to satisfy state reporting requirements. Inspection A For the 2011 calendar year, or tax year beginning 5/1/2011 , and ending 4/30/2012 B Check if applicable: C Name of organization The Apache Software Foundation D Employer identification number Address change Doing Business As 47-0825376 Name change Number and street (or P.O. box if mail is not delivered to street address) Room/suite E Telephone number Initial return 1901 Munsey Drive (909) 374-9776 Terminated City or town, state or country, and ZIP + 4 Amended return Forest Hill MD 21050-2747 G Gross receipts $ 554,439 Application pending F Name and address of principal officer: H(a) Is this a group return for affiliates? Yes X No Jim Jagielski 1901 Munsey Drive, Forest Hill, MD 21050-2747 H(b) Are all affiliates included? Yes No I Tax-exempt status: X 501(c)(3) 501(c) ( ) (insert no.) 4947(a)(1) or 527 If "No," attach a list. (see instructions) J Website: http://www.apache.org/ H(c) Group exemption number K Form of organization: X Corporation Trust Association Other L Year of formation: 1999 M State of legal domicile: MD Part I Summary 1 Briefly describe the organization's mission or most significant activities: to provide open source software to the public that we sponsor free of charge 2 Check this box if the organization discontinued its operations or disposed of more than 25% of its net assets.
    [Show full text]
  • Maven by Example I
    Maven by Example i Maven by Example Ed. 0.7 Maven by Example ii Contents 1 Introducing Apache Maven1 1.1 Maven. What is it?....................................1 1.2 Convention Over Configuration...............................2 1.3 A Common Interface....................................3 1.4 Universal Reuse through Maven Plugins..........................3 1.5 Conceptual Model of a “Project”..............................4 1.6 Is Maven an alternative to XYZ?..............................5 1.7 Comparing Maven with Ant................................6 2 Installing Maven 10 2.1 Verify your Java Installation................................ 10 2.2 Downloading Maven.................................... 11 2.3 Installing Maven...................................... 11 Maven by Example iii 2.3.1 Installing Maven on Linux, BSD and Mac OS X................. 11 2.3.2 Installing Maven on Microsoft Windows...................... 12 2.3.2.1 Setting Environment Variables..................... 12 2.4 Testing a Maven Installation................................ 13 2.5 Maven Installation Details................................. 13 2.5.1 User-Specific Configuration and Repository.................... 14 2.5.2 Upgrading a Maven Installation.......................... 15 2.6 Uninstalling Maven..................................... 15 2.7 Getting Help with Maven.................................. 15 2.8 About the Apache Software License............................ 16 3 A Simple Maven Project 17 3.1 Introduction......................................... 17 3.1.1 Downloading
    [Show full text]
  • Apache Buildr in Action a Short Intro
    Apache Buildr in Action A short intro BED 2012 Dr. Halil-Cem Gürsoy, adesso AG 29.03.12 About me ► Round about 12 Years in the IT, Development and Consulting ► Before that development in research (RNA secondary structures) ► Software Architect @ adesso AG, Dortmund ► Main focus on Java Enterprise (Spring, JEE) and integration projects > Build Management > Cloud > NoSQL / BigData ► Speaker and Author 29.03.12 2 Scala für Enterprise-Applikationen Agenda ► Why another Build System? ► A bit history ► Buildr catchwords ► Tasks ► Dependency management ► Testing ► Other languages ► Extending 3 Apache Buildr in Action – BED-Con 2012 Any aggressive Maven fanboys here? http://www.flickr.com/photos/bombardier/19428000/4 Apache Buildr in Action – BED-Con 2012 Collected quotes about Maven “Maven is such a pain in the ass” http://appwriter.com/what-if-maven-was-measured-cost-first-maven-project 5 Apache Buildr in Action – BED-Con 2012 Maven sucks... ► Convention over configuration > Inconsistent application of convention rules > High effort needed to configure ► Documentation > Which documentation? (ok, gets better) ► “Latest and greatest” plugins > Maven @now != Maven @yesterday > Not reproducible builds! ► Which Bugs are fixed in Maven 3? 6 Apache Buildr in Action – BED-Con 2012 Other buildsystems ► Ant > Still good and useful, can do everything... but XML ► Gradle > Groovy based > Easy extensible > Many plugins, supported by CI-Tools ► Simple Build Tool > In Scala for Scala (but does it for Java, too) 7 Apache Buildr in Action – BED-Con 2012 Apache
    [Show full text]
  • The Maven Definitive Guide
    Tim O'Brien (Sonatype, Inc.), John Casey (Sonatype, Inc.), Brian Fox (Sonatype, Inc.), Bruce Snyder (Sonatype, Inc.), Jason Van Zyl (Sonatype, Inc.), Eric Redmond () Copyright © 2006-2008 Copyright ......................................................................................................xiii 1. Creative Commons BY-ND-NC ........................................................xiii Foreword: Beta 0.13 ....................................................................................... xv Preface ........................................................................................................... xvi 1. How to Use this Book ........................................................................ xvi 2. Your Feedback ..................................................................................xvii 3. Font Conventions .............................................................................xviii 4. Maven Writing Conventions ............................................................xviii 5. Acknowledgements ............................................................................ xix 1. Introducing Apache Maven .......................................................................... 1 1.1. Maven... What is it? ........................................................................... 1 1.2. Convention Over Configuration ......................................................... 2 1.3. A Common Interface .......................................................................... 3 1.4. Universal Reuse through
    [Show full text]
  • Client-Server Web Apps with Javascript and Java
    Client-Server Web Apps with JavaScript and Java Casimir Saternos Client-Server Web Apps with JavaScript and Java by Casimir Saternos Copyright © 2014 EzGraphs, LLC. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://my.safaribooksonline.com). For more information, contact our corporate/ institutional sales department: 800-998-9938 or [email protected]. Editors: Simon St. Laurent and Allyson MacDonald Indexer: Judith McConville Production Editor: Kristen Brown Cover Designer: Karen Montgomery Copyeditor: Gillian McGarvey Interior Designer: David Futato Proofreader: Amanda Kersey Illustrator: Rebecca Demarest April 2014: First Edition Revision History for the First Edition: 2014-03-27: First release See http://oreilly.com/catalog/errata.csp?isbn=9781449369330 for release details. Nutshell Handbook, the Nutshell Handbook logo, and the O’Reilly logo are registered trademarks of O’Reilly Media, Inc. Client-Server Web Apps with JavaScript and Java, the image of a large Indian civet, and related trade dress are trademarks of O’Reilly Media, Inc. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O’Reilly Media, Inc. was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this book, the publisher and author assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein.
    [Show full text]
  • Brian Fox (Sonatype, Inc.), Bruce Snyder (Sonatype, Inc.), Jason Van Zyl (Sonatype, Inc.), Eric Redmond ()
    Tim O'Brien (Sonatype, Inc.), John Casey (Sonatype, Inc.), Brian Fox (Sonatype, Inc.), Bruce Snyder (Sonatype, Inc.), Jason Van Zyl (Sonatype, Inc.), Eric Redmond () Copyright © 2006-2008 Copyright .......................................................................................................xii 1. Creative Commons BY-ND-NC .........................................................xii Foreword: 0.3 ................................................................................................ xiv Preface ........................................................................................................... xvi 1. How to Use this Book ........................................................................ xvi 2. Your Feedback ..................................................................................xvii 3. Font Conventions .............................................................................xviii 4. Maven Writing Conventions ............................................................xviii 5. Acknowledgements ............................................................................ xix 1. Introducing Apache Maven .......................................................................... 1 1.1. Maven... What is it? ........................................................................... 1 1.2. Convention Over Configuration ......................................................... 2 1.3. A Common Interface .......................................................................... 3 1.4. Universal Reuse through
    [Show full text]
  • Buildr by Apache
    Quick Start ......................................................................................................................................4 Installing and Running................................................................................................................14 Projects...........................................................................................................................................25 Building .........................................................................................................................................38 Artifacts .........................................................................................................................................49 Packaging ......................................................................................................................................57 Testing ...........................................................................................................................................79 Settings & Profiles........................................................................................................................89 Languages .....................................................................................................................................99 More Stuff....................................................................................................................................119 Extending Buildr ........................................................................................................................160
    [Show full text]
  • Securegateway Server
    Open Source Used In Secure Gateway 2.26 Cisco Systems, Inc. www.cisco.com Cisco has more than 200 offices worldwide. Addresses, phone numbers, and fax numbers are listed on the Cisco website at www.cisco.com/go/offices. Text Part Number: 78EE117C99-135850904 Open Source Used In Secure Gateway 2.26 1 This document contains licenses and notices for open source software used in this product. With respect to the free/open source software listed in this document, if you have any questions or wish to receive a copy of any source code to which you may be entitled under the applicable free/open source license(s) (such as the GNU Lesser/General Public License), please contact us at [email protected]. In your requests please include the following reference number 78EE117C99-135850904 Contents 1.1 Apache Commons Codec 1.3. 1.1.1 Available under license 1.2 Apache Commons Configuration 1.6 1.2.1 Available under license 1.3 Apache Commons Lib Apache 2.0 1.3.1 Available under license 1.4 Apache HTTP Server 2.2.9 1.4.1 Available under license 1.5 Apache Jakarta Commons HttpClient 3.1 1.5.1 Available under license 1.6 Apache Jakarta Commons HttpClient 3.1 1.6.1 Available under license 1.7 Apache Log4j 1.2.16 1.7.1 Available under license 1.8 apache-log4j 1.2.15 :DUPLICATE 1.8.1 Available under license 1.9 apache-log4j 1.2.15 1.9.1 Available under license 1.10 bcprov-jdk16 1.36 1.10.1 Available under license 1.11 BouncyCastle 1.46 :ICS 1.11.1 Available under license 1.12 c3p0 0.9.1.2 1.12.1 Available under license 1.13 Codec 1.2 1.13.1
    [Show full text]
  • Wireless Enerprise Manager (WEM) Operation Manual
    WEM Operation Manual Version 1.0 Wireless Enerprise Manager (WEM) Operation Manual WEM Operation Manual Version 1.0 COPYRIGHT This manual is proprietary to SAMSUNG Electronics America, and is protected by copyright. No information contained herein may be copied, translated, transcribed or duplicated for any commercial purposes or disclosed to the third party in any form without the prior written consent of SAMSUNG Electronics America. TRADEMARKS Product names mentioned in this manual may be trademarks and/or registered trademarks of their respective companies. This manual should be read and used as a guideline for properly installing and operating the product. All reasonable care has been made to ensure that this document is accurate. ©2015 SAMSUNG Electronics America All rights reserved. WEM Operation Manual Version 1.0 INTRODUCTION Purpose This manual provides explanations about necessary information for using Wireless Enterprise Manager (WEM) such as registering and managing users and instructions on various menu options. Document Content and Organization This manual consists of 9 Chapters and 2 Annex and an Abbreviation section. The summary of the Chapters are as follows: CHAPTER 1. WEM Overview This chapter describes the WEM system information and basic functions. CHAPTER 2. WEM Interface This chapter describes the log-in procedure for the WEM, the basic operation methods for operating WEM and the methods of the network management. CHAPTER 3. Monitor This chapter describes WEM’s Monitoring windows and their functions. CHAPTER 4. Configuration This chapter describes WEM’s Configuration windows and their functions. CHAPTER 5. Admin This chapter describes WEM’s Operation Management windows and their functions.
    [Show full text]
  • Java Cookbook
    www.it-ebooks.info www.it-ebooks.info THIRD EDITION Java Cookbook Ian F. Darwin www.it-ebooks.info Java Cookbook, Third Edition by Ian F. Darwin Copyright © 2014 RejmiNet Group, Inc.. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://my.safaribooksonline.com). For more information, contact our corporate/ institutional sales department: 800-998-9938 or [email protected]. Editors: Mike Loukides and Meghan Blanchette Indexer: Lucie Haskins Production Editor: Melanie Yarbrough Cover Designer: Randy Comer Copyeditor: Kim Cofer Interior Designer: David Futato Proofreader: Jasmine Kwityn Illustrator: Rebecca Demarest June 2014: Third Edition Revision History for the Third Edition: 2014-06-20: First release See http://oreilly.com/catalog/errata.csp?isbn=9781449337049 for release details. Nutshell Handbook, the Nutshell Handbook logo, and the O’Reilly logo are registered trademarks of O’Reilly Media, Inc. Java Cookbook, the cover image of a domestic chicken, and related trade dress are trademarks of O’Reilly Media, Inc. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O’Reilly Media, Inc. was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this book, the publisher and author assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein.
    [Show full text]
  • Remote Dependencies in Pluto
    Remote dependencies in pluto Remote Abhängigkeiten in pluto Bachelor-Thesis von André Pacak Tag der Einreichung: 1. Gutachten: Prof. Dr.-Ing. Mira Mezini 2. Gutachten: Dr. rer. nat. Sebastian Erdweg Department Computer Science Software Technologie Group Remote dependencies in pluto Remote Abhängigkeiten in pluto Vorgelegte Bachelor-Thesis von André Pacak 1. Gutachten: Prof. Dr.-Ing. Mira Mezini 2. Gutachten: Dr. rer. nat. Sebastian Erdweg Tag der Einreichung: Erklärung zur Bachelor-Thesis Hiermit versichere ich, die vorliegende Bachelor-Thesis ohne Hilfe Dritter nur mit den angegebenen Quellen und Hilfsmitteln angefertigt zu haben. Alle Stellen, die aus Quellen entnommen wurden, sind als solche kenntlich gemacht. Diese Arbeit hat in gleicher oder ähnlicher Form noch keiner Prüfungs- behörde vorgelegen. Darmstadt, den December 9, 2015 (André Pacak) Abstract Incremental build systems are very important in the software development process nowadays, because it is necessary to minimize the compile time. Today, build systems need to be capable of handling dependencies of resources which are not available locally. Larger Software projects are split into sub-project for reusability. Imagine a project that is split into smaller sub-projects which are maintained with the help of Git. It would be useful that the build system could handle a dependency on a Git repository and automatically pull the latest commits added to the remote repository. For a Java- based project, it would be useful when the build system could resolve the dependencies on Maven artifact automatically. We extend the sound and optimal incremental build system pluto by providing a new abstraction which supports the dependency on remote resources.
    [Show full text]
  • Design and Development of a Service for Software Interrelationships
    Die approbierte Originalversion dieser Diplom-/ Masterarbeit ist in der Hauptbibliothek der Tech- nischen Universität Wien aufgestellt und zugänglich. http://www.ub.tuwien.ac.at The approved original version of this diploma or master thesis is available at the main library of the Vienna University of Technology. http://www.ub.tuwien.ac.at/eng Design and Development of a Service for Software Interrelationships Diplomarbeit zur Erlangung des akademischen Grades Diplom-Ingenieur im Rahmen des Studiums Software Engineering & Internet Computing eingereicht von Nikola Ilo Matrikelnummer 0925955 an der Fakultät für Informatik der Technischen Universität Wien Betreuung: Thomas Grechenig Mitwirkung: Mario Bernhart Wien, 6. Oktober 2014 (Unterschrift Verfasser/In) (Unterschrift Betreuung) Technische Universität Wien A-1040 Wien Karlsplatz 13 Tel. +43-1-58801-0 www.tuwien.ac.at Design and Development of a Service for Software Interrelationships Master’s Thesis submitted in partial fulfillment of the requirements for the degree of Diplom-Ingenieur in Software Engineering & Internet Computing by Nikola Ilo Registration Number 0925955 to the Faculty of Informatics at the Vienna University of Technology Advisor: Thomas Grechenig Assistance: Mario Bernhart Vienna, October 6, 2014 (Signature of Author) (Signature of Advisor) Technische Universität Wien A-1040 Wien Karlsplatz 13 Tel. +43-1-58801-0 www.tuwien.ac.at Statement by Author Nikola Ilo Pfalzauerstraße 60, 3021 Pressbaum Hiermit erkläre ich, dass ich diese Arbeit selbständig verfasst habe, dass ich die verwendeten Quellen und Hilfsmittel vollständig angegeben habe und dass ich die Stellen der Arbeit – einschließlich Tabellen, Karten und Abbildungen –, die anderen Werken oder dem Internet im Wortlaut oder dem Sinn nach entnommen sind, auf jeden Fall unter Angabe der Quelle als Entlehnung kenntlich gemacht habe.
    [Show full text]