Brian Fox (Sonatype, Inc.), Bruce Snyder (Sonatype, Inc.), Jason Van Zyl (Sonatype, Inc.), Eric Redmond ()

Total Page:16

File Type:pdf, Size:1020Kb

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 Maven Plugins ........................................... 4 1.5. Conceptual Model of a "Project" ....................................................... 5 1.6. Is Maven an alternative to XYZ? ....................................................... 6 1.7. Comparing Maven with Ant .............................................................. 8 1.8. Summary .......................................................................................... 12 2. Installing and Running Maven ................................................................... 13 2.1. Verify your Java Installation ............................................................ 13 2.2. Downloading Maven ........................................................................ 14 2.3. Installing Maven .............................................................................. 14 2.3.1. Installing Maven on Mac OSX .............................................. 14 2.3.2. Installing Maven on Microsoft Windows .............................. 16 2.3.3. Installing Maven on Linux ..................................................... 16 2.3.4. Installing Maven on FreeBSD or OpenBSD .......................... 16 2.4. Testing a Maven Installation ............................................................ 17 2.5. Maven Installation Details ............................................................... 17 2.5.1. User-specific Configuration and Repository .......................... 18 2.5.2. Upgrading a Maven Installation ............................................. 19 2.5.3. Upgrading from Maven 1.x to Maven 2.x .............................. 20 2.6. Uninstalling Maven .......................................................................... 21 2.7. Getting Help with Maven ................................................................. 21 ii Maven: The Definitive Guide 2.8. Using the Maven Help Plugin .......................................................... 22 2.8.1. Describing a Maven Plugin .................................................... 23 2.9. About the Apache Software License ................................................ 25 I. Maven by Example ..................................................................................... 28 3. A Simple Maven Project ..................................................................... 30 3.1. Introduction ............................................................................... 30 3.1.1. Downloading this Chapter's Example ............................. 30 3.2. Creating a Simple Project .......................................................... 31 3.3. Building a Simple Project ......................................................... 33 3.4. Simple Project Object Model .................................................... 34 3.5. Core Concepts ........................................................................... 35 3.5.1. Maven Plugins and Goals ................................................ 36 3.5.2. Maven Lifecycle .............................................................. 38 3.5.3. Maven Coordinates ......................................................... 42 3.5.4. Maven Repositories ......................................................... 45 3.5.5. Maven's Dependency Management ................................. 47 3.5.6. Site Generation and Reporting ........................................ 50 3.6. Summary ................................................................................... 51 4. Customizing a Maven Project ............................................................. 52 4.1. Introduction ............................................................................... 52 4.1.1. Downloading this Chapter's Example ............................. 52 4.2. Defining the Simple Weather Project ....................................... 52 4.2.1. Yahoo! Weather RSS ...................................................... 53 4.3. Creating the Simple Weather Project ........................................ 53 4.4. Customize Project Information ................................................. 55 4.5. Add New Dependencies ............................................................ 56 4.6. Simple Weather Source Code ................................................... 58 4.7. Add Resources .......................................................................... 64 4.8. Running the Simple Weather Program ..................................... 66 4.8.1. The Maven Exec Plugin .................................................. 67 4.8.2. Exploring Your Project Dependencies ............................ 68 4.9. Writing Unit Tests ..................................................................... 70 4.10. Adding Test-scoped Dependencies ......................................... 73 4.11. Adding Unit Test Resources ................................................... 74 iii Maven: The Definitive Guide 4.12. Executing Unit Tests ............................................................... 76 4.12.1. Ignoring Test Failures ................................................... 77 4.12.2. Skipping Unit Tests ....................................................... 78 4.13. Building a Packaged Command Line Application .................. 79 4.13.1. Attaching the Assembly Goal to the Package Phase ..... 81 5. A Simple Web Application ................................................................. 83 5.1. Introduction ............................................................................... 83 5.1.1. Downloading this Chapter's Example ............................. 83 5.2. Defining the Simple Web Application ...................................... 83 5.3. Creating the Simple Web Project .............................................. 84 5.4. Configuring the Jetty Plugin ..................................................... 85 5.5. Adding a Simple Servlet ........................................................... 87 5.6. Adding J2EE Dependencies ...................................................... 90 5.7. Conclusion ................................................................................. 91 6. A Multi-module Project ...................................................................... 92 6.1. Introduction ............................................................................... 92 6.1.1. Downloading this Chapter's Example ............................. 92 6.2. The Simple Parent Project ......................................................... 92 6.3. The Simple Weather Module .................................................... 94 6.4. The Simple Web Application Module ...................................... 97 6.5. Building the Multimodule Project ............................................. 99 6.6. Running the Web Application ................................................. 101 7. Multi-module Enterprise Project ....................................................... 102 7.1. Introduction ............................................................................. 102 7.1.1. Downloading this Chapter's Example ........................... 102 7.1.2. Multi-module Enterprise Project ................................... 103 7.1.3. Technology Used in this Example ................................ 106 7.2. The Simple Parent Project ....................................................... 107 7.3. The Simple Model Module ..................................................... 108 7.4. The Simple Weather Module .................................................. 113 7.5. The Simple Persist Module ..................................................... 118 7.6. The Simple Web Application Module .................................... 126 7.7. Running the Web Application ................................................. 138 7.8. The Simple Command Module ............................................... 139 iv Maven: The Definitive Guide 7.9. Running the Simple Command ............................................... 146 7.10. Conclusion ............................................................................
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]
  • The Active XML Project: an Overview
    The VLDB Journal manuscript No. (will be inserted by the editor) Serge Abiteboul · Omar Benjelloun · Tova Milo The Active XML project: an overview the date of receipt and acceptance should be inserted later Abstract This paper provides an overview of the Ac- 1 Introduction tive XML project developed at INRIA over the past five years. Active XML (AXML, for short), is a declarative Since the 60’s, the database community has developed framework that harnesses Web services for distributed the necessary science and technology to manage data data management, and is put to work in a peer-to-peer in central repositories. From the early days, many ef- architecture. forts have been devoted to extending these techniques to The model is based on AXML documents, which are the management of distributed data as well, and in par- XML documents that may contain embedded calls to ticular to its integration, e.g., [42,78,71]. However, the Web services, and on AXML services, which are Web Web revolution is setting up new standards, primarily services capable of exchanging AXML documents. An because of (i) the high heterogeneity and autonomy of AXML peer is a repository of AXML documents that data sources, and (ii) the scale of the Web. The goal of acts both as a client by invoking the embedded service this work is to propose a new framework for distributed calls, and as a server by providing AXML services, which data management, which addresses these concerns, and are generally defined as queries or updates over the per- is therefore suitable for data management on the Web.
    [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]
  • Oracle® Fusion Middleware Third-Party Licensing Information 11G Release 2 (11.1.2.2) E20058-06
    Oracle® Fusion Middleware Third-Party Licensing Information 11g Release 2 (11.1.2.2) E20058-06 December 2013 Oracle Fusion Middleware Third-Party Licensing Information, 11g Release 2 (11.1.2.2) E20058-06 Copyright © 2009, 2013, Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable: U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007).
    [Show full text]
  • Full-Graph-Limited-Mvn-Deps.Pdf
    org.jboss.cl.jboss-cl-2.0.9.GA org.jboss.cl.jboss-cl-parent-2.2.1.GA org.jboss.cl.jboss-classloader-N/A org.jboss.cl.jboss-classloading-vfs-N/A org.jboss.cl.jboss-classloading-N/A org.primefaces.extensions.master-pom-1.0.0 org.sonatype.mercury.mercury-mp3-1.0-alpha-1 org.primefaces.themes.overcast-${primefaces.theme.version} org.primefaces.themes.dark-hive-${primefaces.theme.version}org.primefaces.themes.humanity-${primefaces.theme.version}org.primefaces.themes.le-frog-${primefaces.theme.version} org.primefaces.themes.south-street-${primefaces.theme.version}org.primefaces.themes.sunny-${primefaces.theme.version}org.primefaces.themes.hot-sneaks-${primefaces.theme.version}org.primefaces.themes.cupertino-${primefaces.theme.version} org.primefaces.themes.trontastic-${primefaces.theme.version}org.primefaces.themes.excite-bike-${primefaces.theme.version} org.apache.maven.mercury.mercury-external-N/A org.primefaces.themes.redmond-${primefaces.theme.version}org.primefaces.themes.afterwork-${primefaces.theme.version}org.primefaces.themes.glass-x-${primefaces.theme.version}org.primefaces.themes.home-${primefaces.theme.version} org.primefaces.themes.black-tie-${primefaces.theme.version}org.primefaces.themes.eggplant-${primefaces.theme.version} org.apache.maven.mercury.mercury-repo-remote-m2-N/Aorg.apache.maven.mercury.mercury-md-sat-N/A org.primefaces.themes.ui-lightness-${primefaces.theme.version}org.primefaces.themes.midnight-${primefaces.theme.version}org.primefaces.themes.mint-choc-${primefaces.theme.version}org.primefaces.themes.afternoon-${primefaces.theme.version}org.primefaces.themes.dot-luv-${primefaces.theme.version}org.primefaces.themes.smoothness-${primefaces.theme.version}org.primefaces.themes.swanky-purse-${primefaces.theme.version}
    [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]
  • Anotaciones Java
    @notaciones Manual de Uso Avanzado Título: Anotaciones Java. Manual de Uso Avanzado. Autor: Miguel Ángel Rodríguez Manzano. Versión: 1.1 (5 de Diciembre de 2017). Director: Sergio Gálvez Rojas. Titulación: Ingeniero en Informática. Departamento: Lenguajes y Ciencias de la Computación. Centro: Escuela Técnica Superior de Ingeniería Informática. Universidad de Málaga. - 1 - ÍNDICE DE CONTENIDOS 1.- ACERCA DEL MANUAL........................................................................................................................7 1.1.- Estructuración del contenido..........................................................................................................7 1.2.- Itinerarios de lectura......................................................................................................................8 1.3.- Anexos de código fuente.................................................................................................................8 2.- ORIGEN DE LAS ANOTACIONES.......................................................................................................9 2.1.- Creación de la plataforma Java......................................................................................................9 2.2.- Evolución de la plataforma Java hasta J2SE 1.5.........................................................................10 2.3.- Anotaciones en J2SE 1.5...............................................................................................................11 3.- CONCEPTOS BÁSICOS........................................................................................................................12
    [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]
  • 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]
  • How the Apache Community Upgrades Dependencies: an Evolutionary Study?
    Empirical Software Engineering manuscript No. (will be inserted by the editor) How the Apache Community Upgrades Dependencies: An Evolutionary Study? Gabriele Bavota Gerardo Canfora · · Massimiliano Di Penta Rocco Oliveto · · Sebastiano Panichella the date of receipt and acceptance should be inserted later Abstract Software ecosystems consist of multiple software projects, often in- terrelated by means of dependency relations. When one project undergoes changes, other projects may decide to upgrade their dependency. For exam- ple, a project could use a new version of a component from another project because the latter has been enhanced or subject to some bug-fixing activities. In this paper we study the evolution of dependencies between projects in the Java subset of the Apache ecosystem, consisting of 147 projects, for a period of 14 years, resulting in 1,964 releases. Specifically, we investigate (i) how de- pendencies between projects evolve over time when the ecosystem grows, (ii) what are the product and process factors that can likely trigger dependency upgrades, (iii) how developers discuss the needs and risks of such upgrades, ? This paper is an extended version of the paper: “Gabriele Bavota, Gerardo Canfora, Massimiliano Di Penta, Rocco Oliveto, Sebastiano Panichella: The Evolution of Project Inter-dependencies in a Software Ecosystem: The Case of Apache. 2013 IEEE International Conference on Software Maintenance, ICSM 2013, Eindhoven, The Netherlands, September 22-28, 2013: 280-289, IEEE” Gabriele Bavota Dept of Engineering, University of Sannio, Benevento (BN), Italy E-mail: [email protected] Gerardo Canfora Dept of Engineering, University of Sannio, Benevento (BN), Italy E-mail: [email protected] Massimiliano Di Penta Dept of Engineering, University of Sannio, Benevento (BN), Italy E-mail: [email protected] Rocco Oliveto Dept.
    [Show full text]
  • Authoring of Semantic Mathematical Content for Learning on the Web
    Authoring of Semantic Mathematical Content for Learning on the Web Paul Libbrecht Doctoral thesis at the faculty of computer-science of the Saarland University under the supervision of Prof. Jörg Siekmann and Dr Erica Melis,† and under the expertise of Prof. Gerhardt Weikum and Prof. James Davenport. Dissertation zur Erlangung des Grades des Doktors der Ingenieurwissenschaften der Naturwissenschaftlich- Technischen Fakultäten der Universität des Saarlandes. Saarbrücken, Germany – 2012 This doctoral thesis has been defended on July 30th 2012 at the University of Saarland under the supervision of a committee appointed by the faculty dean, Prof. Mark Groves: Prof. Jörg Siekmann (reporting chairman), Prof. James Davenport (reporter), Prof. Gerhard Weikum (reporter), Prof. Anselm Lambert (chairman), and Dr. George Goguadze (faculty member). Colophon This doctoral thesis is typeset using the pdflatex programme, a contemporary part of clas- sical TeX distributions (see http://tug.org/). This programme is run through TeXshop, an application for TeX on MacOSX (see http://pages.uoregon.edu/koch/texshop/). The source of the thesis has been partially written in TeX sources (chapters 2, 5, and 9, as well as the chapters without numbers) and partially using OmniGroup’s OmniOutliner, an outliner for MacOSX (see http://www.omnigroup.com/omnioutliner), followed by a hand-made XSLT stylesheet to convert an almost visual source to its TeX counterpart. This thesis is typeset using the font urw-classico, a clone of the font Optima realized by Bob Tennent for the TeX users; see http://www.ctan.org/tex-archive/fonts/urw/ classico/. The main body of the text is typeset in 10 pt size.
    [Show full text]