PDF with Templating

Total Page:16

File Type:pdf, Size:1020Kb

PDF with Templating sbt Reference Manual Contents Preface ................................... 16 Install ................................. 16 Getting Started ............................ 16 Features of sbt ............................ 16 Also .................................. 17 Getting Started with sbt 17 Installing sbt ................................ 17 Tips and Notes ............................ 18 Installing sbt on macOS .......................... 18 Install JDK .............................. 18 Installing from a universal package ................. 18 Installing from a third-party package ................ 18 Installing sbt on Windows ......................... 19 Install JDK .............................. 19 Installing from a universal package ................. 19 Windows installer ........................... 19 Installing from a third-party package ................ 19 Installing sbt on Linux ........................... 19 Installing from SDKMAN ...................... 19 Install JDK .............................. 20 Installing from a universal package ................. 20 Ubuntu and other Debian-based distributions ........... 20 Red Hat Enterprise Linux and other RPM-based distributions .. 21 Gentoo ................................. 21 sbt by example ............................... 21 Create a minimum sbt build ..................... 22 Start sbt shell ............................. 22 Exit sbt shell ............................. 22 Compile a project ........................... 22 Recompile on code change ...................... 22 Create a source file .......................... 23 Run a previous command ...................... 23 1 Getting help .............................. 23 Run your app ............................. 24 Set ThisBuild / scalaVersion from sbt shell ............ 24 Save the session to build.sbt ..................... 24 Name your project .......................... 24 Reload the build ........................... 25 Add ScalaTest to libraryDependencies ............... 25 Run tests ............................... 25 Run incremental tests continuously ................. 25 Write a test .............................. 25 Make the test pass .......................... 26 Add a library dependency ...................... 26 Use Scala REPL ........................... 27 Make a subproject .......................... 28 List all subprojects .......................... 29 Compile the subproject ....................... 29 Add ScalaTest to the subproject .................. 29 Broadcast commands ......................... 29 Make hello depend on helloCore ................... 30 Parse JSON using Play JSON .................... 31 Add sbt-native-packager plugin ................... 32 Reload and create a .zip distribution ................ 33 Dockerize your app .......................... 33 Set the version ............................ 34 Switch scalaVersion temporarily ................... 34 Inspect the dist task ......................... 35 Batch mode .............................. 35 sbt new command .......................... 35 Credits ................................. 35 Directory structure ............................. 36 Base directory ............................. 36 Source code .............................. 36 sbt build definition files ....................... 37 Build support files .......................... 37 Build products ............................ 37 Configuring version control ..................... 37 Running ................................... 37 sbt shell ................................ 38 Batch mode .............................. 38 Continuous build and test ...................... 38 Common commands ......................... 39 Tab completion ............................ 40 sbt shell history ............................ 40 Build definition ............................... 41 Specifying the sbt version ...................... 41 What is a build definition? ..................... 41 2 How build.sbt defines settings .................... 42 Keys .................................. 43 Defining tasks and settings ..................... 44 Keys in sbt shell ........................... 44 Imports in build.sbt ......................... 45 Bare .sbt build definition ...................... 45 Adding library dependencies ..................... 45 Multi-project builds ............................ 46 Multiple subprojects ......................... 46 Dependencies ............................. 48 Inter-project dependencies ...................... 49 Default root project ......................... 50 Navigating projects interactively .................. 50 Common code ............................. 50 Appendix: Subproject build definition files ............. 51 Task graph ................................. 51 Terminology .............................. 52 Declaring dependency to other tasks ................ 52 Inlining .value calls .......................... 54 What’s the point of the build.sbt DSL? .............. 57 Summary ............................... 59 Scopes .................................... 59 The whole story about keys ..................... 59 Scope axes ............................... 60 Referring to scopes in a build definition .............. 62 Referring to scoped keys from the sbt shell ............ 63 Examples of scoped key notation in the sbt shell ......... 63 Inspecting scopes ........................... 64 When to specify a scope ....................... 65 Build-level settings .......................... 65 Scope delegation ........................... 66 Appending values .............................. 67 Appending to previous values: += and ++= ............. 67 Appending with dependencies: += and ++= ............. 68 Scope delegation (.value lookup) ..................... 68 Scope delegation rules ........................ 69 Rule 1: Scope axis precedence .................... 69 Rule 2: The task axis delegation .................. 69 Rule 3: The configuration axis search path ............. 70 Rule 4: The subproject axis search path .............. 71 Inspect command lists the delegates ................ 72 .value lookup vs dynamic dispatch ................. 73 Library dependencies ............................ 76 Unmanaged dependencies ...................... 76 Managed Dependencies ....................... 77 Using plugins ................................ 80 3 What is a plugin? ........................... 80 Declaring a plugin .......................... 80 Enabling and disabling auto plugins ................ 81 Global plugins ............................ 82 Available Plugins ........................... 82 Custom settings and tasks ......................... 83 Defining a key ............................. 83 Implementing a task ......................... 83 Execution semantics of tasks .................... 84 Turn them into plugins ........................ 88 Organizing the build ............................ 88 sbt is recursive ............................ 88 Tracking dependencies in one place ................. 89 When to use .scala files ...................... 90 Defining auto plugins ......................... 90 Getting Started summary ......................... 90 sbt: The Core Concepts ....................... 91 Advanced Notes ............................ 91 Frequently Asked Questions ........................ 91 Project Information ......................... 91 Usage ................................. 92 Build definitions ........................... 93 Extending sbt ............................. 94 Errors ................................. 97 Dependency Management ...................... 98 Miscellaneous ............................. 99 General Information ............................ 99 Credits ................................... 99 Community Plugins ............................ 110 sbt Organization ........................... 110 Community Ivy Repository ..................... 110 Cross building plugins from sbt 0.13 ................ 110 Plugins available for sbt 1.0 (including RC-x) ........... 111 Community Repository Policy ....................... 116 Bintray For Plugins ............................ 116 Create an Open Source Distribution account on Bintray ..... 117 Create a repository for your sbt plugins .............. 117 Add the sbt-bintray plugin to your build. ............. 117 Make a release ............................ 118 Linking your package to the sbt organization ........... 118 Linking your package to the sbt organization (sbt org admins) . 119 Publishing your plugin to a private repository ........... 119 Summary ............................... 119 Setup Notes ................................. 119 Do not put sbt-launch.jar on your classpath. .......... 120 Terminal encoding .......................... 120 4 JVM heap, permgen, and stack sizes ................ 120 Boot directory ............................ 120 HTTP/HTTPS/FTP Proxy ..................... 120 Path encoding ............................. 121 Using Sonatype ............................... 121 Sonatype setup ............................ 121 sbt setup ............................... 122 Optional steps ............................ 124 Contributing to sbt ............................. 126 Documentation ............................ 127 Changes ................................... 127 Migrating from sbt 0.13.x ......................... 127 Migrating case class .copy(...) .................. 127 SbtPlugin ............................... 128 sbt version specific source directory ................. 128 Migrating from sbt 0.12 style .................... 129 Migrating from the Build
Recommended publications
  • The State of the Feather
    The State of the Feather An Overview and Year In Review of The Apache Software Foundation The Overview • Not a replacement for “Behind the Scenes...” • To appreciate where we are - • Need to understand how we got here 2 In the beginning... • There was The Apache Group • But we needed a more formal and legal entity • Thus was born: The Apache Software Foundation (April/June 1999) • A non-profit, 501(c)3 Corporation • Governed by members - member based entity 3 “Hierarchies” Development Administrative PMC Members Committers Board Contributors Officers Patchers/Buggers Members Users 4 At the start • There were only 21 members • And 2 “projects”: httpd and Concom • All servers and services were donated 5 Today... • We have 227 members... • ~54 TLPs • ~25 Incubator podlings • Tons of committers (literally) 6 The only constant... • Has been Change (and Growth!) • Over the years, the ASF has adjusted to handle the increasing “administrative” aspects of the foundation • While remaining true to our goals and our beginnings 7 Handling growth • ASF dedicated to providing the infrastructure resources needed • Volunteers supplemented by contracted out SysAdmin • Paperwork handling supplemented by contracted out SecAssist • Accounting services as needed • Using pro-bono legal services 8 Staying true • Policy still firmly in the hands of the ASF • Use outsourced help where needed – Help volunteers, not replace them – Only for administrative efforts • Infrastructure itself is a service provided by the ASF • Board/Infra/etc exists so projects and people
    [Show full text]
  • Hibernate ORM Query Simplication Using Hibernate
    2016 3rd National Foundation for Science and Technology Development Conference on Information and Computer Science Hibernate ORM Query Simplication Using Hibernate Criteria Extension (HCE) Kisman Sani M. Isa Master of Information Technology Master in Computer Science Bina Nusantara University Bina Nusantara University Jl. Kebon Jeruk Raya No. 27, Jakarta Barat, DKI Jl. Kebon Jeruk Raya No. 27, Jakarta Barat, DKI Jakarta, Indonesia 11530 Jakarta, Indonesia 11530 [email protected] [email protected] Abstract— Software development time is a critical issue interfaced by a query. The software engineer will make in software development process, hibernate has been the query specified to database used. Each database widely used to increase development speed. It is used in vendor has their Structured Query Language (SQL). As database manipulation layer. This research develops a the development of software technology and most of library to simplify hibernate criteria. The library that is programming languages are object oriented, some called as Hibernate Criteria Extension (HCE) provides API functions to simplify code and easily to be used. Query engineer or software institutions try to simplify the associations can be defined by using dot. The library will query process. They try to bind object in application to automatically detect the join association(s) based on database. This approach is called as Object Relational mapping in entity class. It can also be used in restriction Mapping (ORM). ORM is a translation mechanism from and order. HCE is a hibernate wrapper library. The object to relational data, vice versa. ORM has “dialect” configuration is based on hibernate configuration.
    [Show full text]
  • 2019 Stateof the Software Supply Chain
    2019 State of the Software Supply Chain The 5th annual report on global open source software development presented by in partnership with supported by Table of Contents Introduction................................................................................. 3 CHAPTER 4: Exemplary Dev Teams .................................26 4.1 The Enterprise Continues to Accelerate ...........................27 Infographic .................................................................................. 4 4.2 Analysis of 12,000 Large Enterprises ................................27 CHAPTER 1: Global Supply of Open Source .................5 4.3 Component Releases Make Up 85% of a Modern Application......................................... 28 1.1 Supply of Open Source is Massive ...........................................6 4.4 Characteristics of Exemplary 1.2 Supply of Open Source is Expanding Rapidly ..................7 Development Teams ................................................................... 29 1.3 Suppliers, Components and Releases ..................................7 4.5 Rewards for Exemplary Development Teams ..............34 CHAPTER 2: Global Demand for Open Source ..........8 CHAPTER 5: The Changing Landscape .......................35 2.1 Accelerating Demand for 5.1 Deming Emphasizes Building Quality In ...........................36 Open Source Libraries .....................................................................9 5.2 Tracing Vulnerable Component Release 2.2 Automated Pipelines and Downloads Across Software Supply Chains
    [Show full text]
  • Unravel Data Systems Version 4.5
    UNRAVEL DATA SYSTEMS VERSION 4.5 Component name Component version name License names jQuery 1.8.2 MIT License Apache Tomcat 5.5.23 Apache License 2.0 Tachyon Project POM 0.8.2 Apache License 2.0 Apache Directory LDAP API Model 1.0.0-M20 Apache License 2.0 apache/incubator-heron 0.16.5.1 Apache License 2.0 Maven Plugin API 3.0.4 Apache License 2.0 ApacheDS Authentication Interceptor 2.0.0-M15 Apache License 2.0 Apache Directory LDAP API Extras ACI 1.0.0-M20 Apache License 2.0 Apache HttpComponents Core 4.3.3 Apache License 2.0 Spark Project Tags 2.0.0-preview Apache License 2.0 Curator Testing 3.3.0 Apache License 2.0 Apache HttpComponents Core 4.4.5 Apache License 2.0 Apache Commons Daemon 1.0.15 Apache License 2.0 classworlds 2.4 Apache License 2.0 abego TreeLayout Core 1.0.1 BSD 3-clause "New" or "Revised" License jackson-core 2.8.6 Apache License 2.0 Lucene Join 6.6.1 Apache License 2.0 Apache Commons CLI 1.3-cloudera-pre-r1439998 Apache License 2.0 hive-apache 0.5 Apache License 2.0 scala-parser-combinators 1.0.4 BSD 3-clause "New" or "Revised" License com.springsource.javax.xml.bind 2.1.7 Common Development and Distribution License 1.0 SnakeYAML 1.15 Apache License 2.0 JUnit 4.12 Common Public License 1.0 ApacheDS Protocol Kerberos 2.0.0-M12 Apache License 2.0 Apache Groovy 2.4.6 Apache License 2.0 JGraphT - Core 1.2.0 (GNU Lesser General Public License v2.1 or later AND Eclipse Public License 1.0) chill-java 0.5.0 Apache License 2.0 Apache Commons Logging 1.2 Apache License 2.0 OpenCensus 0.12.3 Apache License 2.0 ApacheDS Protocol
    [Show full text]
  • Objektově Orientovaný Přístup K Perzistentní Vrstvě V Prostředí Java Object Oriented Database Access in Java
    Objektově orientovaný přístup k perzistentní vrstvě v prostředí Java Object Oriented Database Access in Java Roman Janás Bakalářská práce 2014 *** nascannované zadání str. 1 *** *** nascannované zadání str. 2 *** UTB ve Zlíně, Fakulta aplikované informatiky, 2014 4 ABSTRAKT Předmětem bakalářské práce „Objektově orientovaný přístup k perzistentní vrstvě v prostředí Java“ je analýza dostupných ORM aplikačních rámců pro programovací jazyk Java. Cílem je zjistit, který aplikační rámec je v současnosti nejlépe použitelný. Obsahem práce je také srovnání s technologií JDBC - porovnání výkonnosti jednotlivých řešení a popis používaných návrhových vzorů. Praktická část názorně ukazuje práci se zvolenými aplikačními rámci a výsledky výkonnostních testů. Klíčová slova: ORM, Java, návrhové vzory, JDBC, Hibernate, Cayenne ABSTRACT The subject of the submitted thesis “Object Oriented Database Access in Java” is analysis of available ORM frameworks for programming language Java. The goal is to determine which framework is the most applicable. The content is also comparison with JDBC technology – comparison of efficiency of each solutions and description of used design patterns. The practical part clearly shows work with chosen frameworks and results of efficiency tests. Keywords: ORM, Java, design patterns, JDBC, Hibernate, Cayenne UTB ve Zlíně, Fakulta aplikované informatiky, 2014 5 Na tomto místě bych rád poděkoval Ing. Janu Šípkovi za cenné připomínky a odborné rady, kterými přispěl k vypracování této bakalářské práce. Dále děkuji svým kolegům z
    [Show full text]
  • 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]
  • Open Source Used in Cisco DNA Center Platform Release 1.2.X
    Open Source Used In Cisco DNA Center Platform 1.2.x 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-178119203 Open Source Used In Cisco DNA Center Platform 1.2.x 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-178119203 Contents 1.1 ajv 5.5.2 1.1.1 Available under license 1.2 ajv-keywords 3.1.0 1.2.1 Available under license 1.3 akkahttp 10.0.9 1.3.1 Available under license 1.4 akkahttpcore 10.0.9 1.5 akkahttpjackson 10.0.9 1.5.1 Available under license 1.6 akkahttptestkit 10.0.9 1.7 akkaslf4j 2.5.6 1.8 akkastream 2.5.6 1.9 api-spec-converter 2.6.0 1.9.1 Available under license 1.10 axios 0.16.2 1.10.1 Available under license 1.11 babel-cli 6.8.0 1.12 babel-cli 6.26.0 1.13 babel-core 6.26.0 1.14 babel-core 6.8.0 1.15 babel-eslint 8.2.2 1.15.1 Available under license 1.16 babel-jest 21.2.0 1.17 babel-jest 21.2.0 1.17.1 Available under license 1.18 babel-plugin-transform-async-to-generator 6.24.1 Open Source Used In Cisco DNA Center Platform
    [Show full text]
  • Anembeddedquerylanguage in Scala
    Master Thesis An Embedded Query Language in Scala Amir Shaikhha Professor Martin Odersky Supervisors Vojin Jovanovic, Eugene Burmako Expert Stefan Zeiger, Typesafe Semester Spring 2013 An Embedded Query Language in Scala, p. 1 Abstract In this thesis we address the problem of integrating general purpose programming languages with relational databases. An approach to solving this problem is using raw strings to represent SQL statements. This approach leads to run-time errors and security vulnerabilities like SQL injection. The second approach is integrating the query in a host language. The most well-known example of the second approach is LINQ. This approach provides static checking of types and syntax during compilation. This thesis presents an embedded query language in Scala, namely Shadow Embedding in Slick. Shadow Embedding provides even stronger compile-time guarantees than LINQ and similar sys- tems in Scala. The experimental results show that the performance of our approach is very similar to the case of using raw Strings, thanks to static code analysis and clever code caching. An Embedded Query Language in Scala, p. 2 Acknowledgement First, I would like to thank Prof. Martin Odersky for giving me the opportunity to do my master thesis in Typesafe and LAMP. Vojin Jovanovic helped me tremendously during the whole period of my thesis. Thank you to Stefan Zeiger for believing in me and providing me with the opportunity to work on the Slick project. I would like to thank Eugene Burmako for all his support, Christopher Vogt for the great discussions, and everybody at Typesafe and the LAMP team. I can never thank my parents enough for believing in me and supporting me through all periods of my life.
    [Show full text]
  • Getting Started with Sbt
    Getting Started with sbt Contents Preface ................................... 4 Installing sbt ................................ 4 Tips and Notes ............................ 5 Installing sbt on Mac ............................ 5 Installing from a third-party package ................ 5 Installing from a universal package ................. 5 Installing manually .......................... 5 Installing sbt on Windows ......................... 5 Windows installer ........................... 5 Installing from a universal package ................. 5 Installing manually .......................... 6 Installing sbt on Linux ........................... 6 Installing from a universal package ................. 6 RPM and DEB ............................ 6 Gentoo ................................. 6 Installing manually .......................... 6 Installing sbt manually ........................... 6 Unix .................................. 7 Windows ............................... 7 Hello, World ................................ 8 Create a project directory with source code ............ 8 Build definition ............................ 9 1 Setting the sbt version ........................ 10 Directory structure ............................. 10 Base directory ............................. 10 Source code .............................. 10 sbt build definition files ....................... 11 Build products ............................ 11 Configuring version control ..................... 11 Running ................................... 11 Interactive mode ..........................
    [Show full text]
  • Vuln4real: a Methodology for Counting Actually Vulnerable Dependencies
    This is the author's version of an article that has been published in this journal. Changes were made to this version by the publisher prior to publication. The final version of record is available at http://dx.doi.org/10.1109/TSE.2020.3025443 1 Vuln4Real: A Methodology for Counting Actually Vulnerable Dependencies Ivan Pashchenko, Henrik Plate, Serena Elisa Ponta, Antonino Sabetta, and Fabio Massacci Abstract— Vulnerable dependencies are a known problem in today’s free open-source software ecosystems because FOSS libraries are highly interconnected, and developers do not always update their dependencies. Our paper proposes Vuln4Real, the methodology for counting actually vulnerable dependencies, that addresses the over-inflation problem of academic and industrial approaches for reporting vulnerable dependencies in FOSS software, and therefore, caters to the needs of industrial practice for correct allocation of development and audit resources. To understand the industrial impact of a more precise methodology, we considered the 500 most popular FOSS Java libraries used by SAP in its own software. Our analysis included 25767 distinct library instances in Maven. We found that the proposed methodology has visible impacts on both ecosystem view and the individual library developer view of the situation of software dependencies: Vuln4Real significantly reduces the number of false alerts for deployed code (dependencies wrongly flagged as vulnerable), provides meaningful insights on the exposure to third-parties (and hence vulnerabilities) of a library, and automatically predicts when dependency maintenance starts lagging, so it may not receive updates for arising issues. Index Terms—Vulnerable Dependency; Free Open Source Software; Mining Software Repositories F 1 INTRODUCTION (they may belong to the same project), and therefore, should be treated as a single unit, when constructing dependency The inclusion of free open-source software (FOSS) com- trees and reporting results of a dependency study.
    [Show full text]
  • Avaliando a Dívida Técnica Em Produtos De Código Aberto Por Meio De Estudos Experimentais
    UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA IGOR RODRIGUES VIEIRA Avaliando a dívida técnica em produtos de código aberto por meio de estudos experimentais Goiânia 2014 IGOR RODRIGUES VIEIRA Avaliando a dívida técnica em produtos de código aberto por meio de estudos experimentais Dissertação apresentada ao Programa de Pós–Graduação do Instituto de Informática da Universidade Federal de Goiás, como requisito parcial para obtenção do título de Mestre em Ciência da Computação. Área de concentração: Ciência da Computação. Orientador: Prof. Dr. Auri Marcelo Rizzo Vincenzi Goiânia 2014 Ficha catalográfica elaborada automaticamente com os dados fornecidos pelo(a) autor(a), sob orientação do Sibi/UFG. Vieira, Igor Rodrigues Avaliando a dívida técnica em produtos de código aberto por meio de estudos experimentais [manuscrito] / Igor Rodrigues Vieira. - 2014. 100 f.: il. Orientador: Prof. Dr. Auri Marcelo Rizzo Vincenzi. Dissertação (Mestrado) - Universidade Federal de Goiás, Instituto de Informática (INF) , Programa de Pós-Graduação em Ciência da Computação, Goiânia, 2014. Bibliografia. Apêndice. Inclui algoritmos, lista de figuras, lista de tabelas. 1. Dívida técnica. 2. Qualidade de software. 3. Análise estática. 4. Produto de código aberto. 5. Estudo experimental. I. Vincenzi, Auri Marcelo Rizzo, orient. II. Título. Todos os direitos reservados. É proibida a reprodução total ou parcial do trabalho sem autorização da universidade, do autor e do orientador(a). Igor Rodrigues Vieira Graduado em Sistemas de Informação, pela Universidade Estadual de Goiás – UEG, com pós-graduação lato sensu em Desenvolvimento de Aplicações Web com Interfaces Ricas, pela Universidade Federal de Goiás – UFG. Foi Coordenador da Ouvidoria da UFG e, atualmente, é Analista de Tecnologia da Informação do Centro de Recursos Computacionais – CERCOMP/UFG.
    [Show full text]
  • Sbt-Native-Packager Release 1.0A1
    sbt-native-packager Release 1.0a1 Josh Suereth Sep 18, 2021 Contents 1 Introduction 1 1.1 Goals...................................................1 1.2 Scope...................................................1 1.3 Core Concepts..............................................2 2 Getting Started 5 2.1 Setup...................................................5 2.2 Your first package............................................5 3 Packaging Formats 7 3.1 Universal Plugin.............................................8 3.2 Linux Plugin............................................... 15 3.3 Debian Plugin.............................................. 21 3.4 Rpm Plugin................................................ 25 3.5 Docker Plugin.............................................. 31 3.6 Windows Plugin............................................. 38 3.7 JDKPackager Plugin........................................... 41 3.8 GraalVM Native Image Plugin...................................... 44 4 Project Archetypes 47 4.1 Java Application Archetype....................................... 47 4.2 Java Server Application Archetype................................... 54 4.3 Systemloaders.............................................. 59 4.4 Configuration Archetypes........................................ 62 4.5 Jlink Plugin................................................ 62 4.6 Archetype Cheatsheet.......................................... 64 5 Recipes 69 5.1 Custom Package Formats........................................ 69 5.2 Dealing with long classpaths......................................
    [Show full text]