The Workshop. Slides (you have a copy in the zip) Practical labs Ask questions
|
|
- Chad Price
- 6 years ago
- Views:
Transcription
1 Gradle Workshop
2 The Workshop Slides (you have a copy in the zip) Practical labs Ask questions
3 The Labs Pairing is encouraged Solutions are available (but avoid cheating) Take your time and experiment First lab is Gradle installation/setup.
4 Objectives Gradle introduction Cover fundamental concepts Go beyond using Gradle builds Look at some of the newer features
5 Agenda The Gradle Project Groovy and Gradle Basics Tasks Task Inputs/Outputs Plugins Java Plugin Feature Tour Dependency Management (time permitting)
6 Gradle Introduction
7 Gradle Gradle is a build tool with a focus on whole project automation and support for multi-language development. Created in 2008 Implemented in Java (Groovy outer layer) 100% Free Open Source - Apache Standard License 2.0
8 Gradleware The company behind Gradle. Employs full time engineers Gradle consulting, support, development services etc. Training: online, public and in-house General build automation services Germany, Australia, Austria, Switzerland, Sweden, Czech Republic, UK, Canada and the US.
9 Gradle Project Open Source (Apache v2 license), free to use and modify Source code at github.com/gradle/gradle Community centered around forums.gradle.org
10 Gradle Documentation User Guide 300+ pages, many complete samples In depth explanations, introductions single page HTML multi page HTML PDF DSL Reference ( gradle.org/docs/current/dsl/ ) API reference Frequently accessed Links through to Javadoc
11 Gradle Downloads -bin distribution contains just the runtime. -all distribution contains the runtime, source, and all documentation.
12 Gradle 2.2 Released on Nov 10th, 2014 Latest version
13 Lab 01-setup
14 Groovy and Gradle Basics
15 Groovy Modern scripting language for the JVM Design goal is to be easily picked up by Java developers Reuse of Java semantics and API Compiles to byte code
16 Groovy Language Features Dynamic and optional static typing Compile time and runtime metaprogramming Operator overloading (e.g, <<, +=, -= on collections) Removes a lot of Java syntax noise (no semicolons etc.) First-class properties Closures (cf. Ruby blocks, Javascript functions, Java 8 lambdas) Many JDK library enhancements
17 More Groovy Groovy has many uses outside Gradle. Particularly good for testing Java code. Groovy In Action (2nd Ed) is a great source for more Groovy goodness.
18 Groovy and Gradle Gradle is implemented in Java, with an outer Groovy layer. Gradle build scripts are written in a Groovy-based DSL. Gradle tasks and plugins can be written in Groovy. apply plugin: "java" description = "My first Gradle build" version = 1.0 repositories { mavencentral() dependencies { compile "org.springframework:spring-core:4.0.5.release" test { jvmargs "-Xmx1024m"
19 Gradle Build Scripts Named build.gradle by default Must be valid Groovy syntax Can t be executed by plain Groovy runtime Are backed by a org.gradle.api.project object // does not compile: println 'Gradle // compiles, fails when run with Groovy or Gradle: println zipcode // compiles, fails when run with plain Groovy: println name
20 Tasks
21 Tasks Tasks are the basic unit of work in Gradle. Declared & configured by build scripts and plugins Executed by Gradle task helloworld { dolast { println "Hello World!" task is a keyword in the Gradle DSL. All tasks implement the Task interface.
22 Task Actions Tasks have a list of actions. task helloworld { dolast { println "World!" dofirst { println "Hello" Executing a task means executing all of its actions (in order). Most tasks have one useful main action. dofirst() and dolast() can be used to further decorate this action.
23 Executing Tasks Execute tasks by specifying them on the command line. $ gradle helloworld :helloworld Hello world!
24 Abbreviated Task Name Execution Task names can be abbreviated on the command line. task mynameisprettylong { dolast { println "Long name" task someothertask { dolast { println "Other task" //running: $ gradle mnipl sothert Characters between word boundaries can be dropped.
25 Task Dependencies A task may require other tasks to run (i.e. produce or do something) before it can run Tasks and their dependencies form a directed acyclic graph (DAG) task compilejava task processresources task jar { dependson compilejava dependson processresources
26 Task Types Most tasks explicitly specify a type. task copyfiles(type: Copy) { // configure the task Task types (e.g. The default task type is Copy) provide a task action and a configuration API. DefaultTask, and does not have an action.
27 Task API task helloworld { onlyif { System.getProperty("be.nice") == "true" dolast { println "Hello" The onlyif() and dolast() methods are available for all tasks (i.e. are part of the Task interface). task copyfiles(type: Copy) { from "sourcedir" into "targetdir" The from() and into() methods are only available for Copy tasks. The task's API allows the task to be configured.
28 Implementing Task Types POJO extending DefaultTask Declare action class FtpTask extends DefaultTask { String host = void ftp() { // do something complicated
29 Lab 02-custom-tasks
30 Build Lifecycle Initialization Phase Configure environment (init.gradle, gradle.properties) Find projects and build scripts (settings.gradle) Configuration Phase Evaluate all build scripts Build object model (Gradle -> Project -> Task, etc.) Build task execution graph Execution Phase Execute (subset of) tasks A key concept to grasp.
31 Lab 03-build-lifecycle
32 Quick Quiz Bonus question: What's happening here? task bar { dolast { dependson foo Will foo execute before bar?
33 Task Modeling tasks as functions Inputs/Outputs
34 Inputs and Outputs Most tasks can be described as functions Inputs : Files, configuration values Outputs: Files Modeling inputs and outputs enables powerful features: Do not rerun tasks that would produce the same outputs. Infer task dependency if one task's output becomes another task's input. Validate that task inputs exist before running a task. Create output directories that don't exist. Clean all outputs of a particular task. Etc. Built-in task types already describe their inputs and outputs. When implementing a custom task type, tell Gradle what its inputs and outputs are.
35 Input/Output Annotations class MyTask extends DefaultTask File FileCollection File String File transformedtemplates boolean verbose // generate() {...
36 Incremental Building A task can be skipped (UP-TO-DATE) if: Inputs have not changed since last run Outputs are still there and haven't changed Change detection is content (not time) based: Input/output files are hashed Content of input/output dirs is hashed Values of input properties are serialized
37 Dependency Inference Many Gradle types (e.g. FileCollection and ProjectDependency) implement Buildable. Any task input that is Buildable creates inferred task dependencies. task generatefiles { outputs.dir = "$builddir/generated-files" // same dolast { /* generate files */ compilejava { classpath += generatefiles.outputs.files // -> generatefiles task copy(type: Copy) { from generatefiles // -> generatefiles into "somedir" jar { from sourcesets.main.output // -> compilejava, processresources from sourcesets.test.output // -> compiletestjava, processtestresources
38 Lab 04-task-input-output
39 Plugins
40 Plugins Plugins are reusable build logic. They can do everything a build script can do (and vice versa): Configure defaults Add and configure tasks Extend the build language Etc. Script plugins are applied by path: apply from: "$rootdir/gradle/integration-test.gradle" Binary plugins are applied by ID: apply plugin: "java"
41 External Plugins Need to be declared as build script dependencies. buildscript { repositories { mavencentral() dependencies { classpath "org.hidetake:gradle-ssh-plugin:0.3.7" apply plugin: "ssh"
42 Standard Gradle Plugins Gradle ships with many useful plugins. Some examples: java - compile, test, package, upload Java projects checkstyle - static analysis for Java code maven - uploading artifacts to Apache Maven repositories scala - compile, test, package, upload Scala projects idea and eclipse - generates metadata so IDEs understand the project application - support packaging your Java code as a runnable application c / cpp - support building native binaries using gcc, clang or visual-cpp Many more, listed in the Gradle User Guide.
43 The Java Plugin
44 Java Plugin The basis of Java development with Gradle. Introduces concept of source sets main and test source set conventions Compilation pre-configured Dependency management JUnit & TestNG testing Produces single JAR JavaDoc generation Publishing (Maven or Ivy format) IDE integration Standard lifecycle/interface
45 Source Sets A logical compilation/processing unit of sources. Java source files Non compiled source files (e.g. properties files) Classpath (compile & runtime) Output class files Compilation tasks sourcesets { main { java { srcdir "src/main/java" // default resources { srcdir "src/main/resources" // default
46 Lifecycle Tasks The java plugin provides a set of lifecycle tasks for common tasks. clean - delete all build output classes - compile code, process resources test - run tests assemble - make all archives (e.g. zips, jars, wars etc.) check - run all quality checks (e.g. tests + static code analysis) build - combination of assemble & check
47 Testing Built in support for JUnit and TestNG. Pre-configured test task Automatic test detection Forked JVM execution Parallel execution Configurable console output Human and CI server friendly reports
48 Lab 05-java-plugin
49 Feature Tour A small selection of useful features.
50 Gradle Wrapper A way to bootstrap Gradle installations. $ gradle wrapper gradle gradle-wrapper.jar gradle-wrapper.properties gradlew gradlew.bat $./gradlew build
51 Build Daemon Makes builds start faster. Enable with --daemon command line option org.gradle.daemon=true in gradle.properties -Dorg.gradle.daemon=true in GRADLE_OPTS Force shutdown with gradle --stop Will be used in the future for more optimization.
52 Init Plugin Create build from template, convert Maven build. $ gradle init --type java-library $ gradle init --type pom
53 Continue after Failure $ gradle build --continue Especially useful for CI builds.
54 Parallel Builds Run independent tasks from different projects in parallel. $ gradle build --parallel Incubating feature; some restrictions apply.
55 Q&A Thank you for attending the workshop Questions? Feedback?
56 Dependency Management
57 Dependency Management Gradle supports managed and unmanaged dependencies. Managed dependencies have identity and possibly metadata. Unmanaged dependencies are just anonymous files. Managed dependencies are superior as their use can be automated and reported on.
58 Unmanaged Dependencies dependencies { compile filetree(dir: "lib", include: "*.jar") Can be useful during migration.
59 Managed Dependencies dependencies { compile "org.springframework:spring-core:4.0.5.release" compile group: "org.springframework", name: "spring-web", version: "4.0.5.RELEASE" Group/Module/Version
60 Configurations Dependencies are assigned to configurations. configurations { // default with `java` plugin compile runtime testcompile testruntime dependencies { compile "org.springframework:spring-core:4.0.5.release" See Configuration in DSL reference.
61 Transitive Dependencies Gradle (by default) fetches dependencies of your dependencies. This can introduce version conflicts. Only one version of a given dependency can be part of a configuration. Options: Use default strategy (highest version number) Disable transitive dependency management Excludes Force a version Fail on version conflict Dependency resolution rules
62 Disable Transitives Per dependency dependencies { compile("org.foo:bar:1.0") { transitive = false Configuration-wide configurations { compile.transitive = false
63 Excludes Per dependency dependencies { compile "org.foo:bar:1.0", { exclude module: "spring-core" Configuration-wide configurations { compile { exclude module: "spring-core"
64 Version Forcing Per dependency dependencies { compile("org.springframework:spring-core:4.0.5.release") { force = true Configuration-wide configurations { compile { resolutionstrategy.force "org.springframework:spring-core:4.0.5.release"
65 Fail on Conflict Automatic conflict resolution can be disabled. configurations { compile { resolutionstrategy.failonversionconflict() If disabled, conflicts have to be resolved manually (using force, exclude etc.)
66 Cross Configuration Rules Configuration level rules can be applied to all configurations. configurations { all { resolutionstrategy.failonversionconflict() all is a special keyword, meaning all things in the configuration container.
67 Dependency Cache Default location: ~/.gradle/caches/. Multi process safe Source location aware Optimized for reading (finding deps is fast) Checksum based storage Avoids unnecessary downloading Finds local candidates Uses checksums/etags An opaque cache, not a repository.
68 Changing Dependencies Changing dependencies are mutable. Version numbers ending in -SNAPSHOT are changing by default. dependencies { compile "org.company:some-lib:1.0-snapshot" compile("org:somename:1.0") { changing = true Default TTL is 24 hours.
69 Dynamic Dependencies Dynamic dependencies do not refer to concrete versions. Can use Ivy symbolic versions. dependencies { compile "org.company:some-lib:2.+" compile "org:somename:latest.release" Default TTL is 24 hours.
70 Controlling Updates & TTL configurations.all { resolutionstrategy.cachechangingmodulesfor 4, "hours" resolutionstrategy.cachedynamicversionsfor 10, "minutes" --offline - don't look for updates, regardless of TTL --refresh-dependencies - look for updates, regardless of TTL
71 Dependency Reports View the dependency graph. $ gradle dependencies [--configuration «name»] View a dependency in the graph. $ gradle dependencyinsight --dependency «name» [--configuration «name»] Built in tasks.
72 Repositories Any Maven/Ivy repository can be used Very flexible layouts are possible for Ivy repositories repositories { jcenter() mavencentral() maven { name "codehaus" url " ivy { url " layout "gradle" // default flatdir(dirs: ["dir1", "dir2"])
73 Lab 06-dependencies
74 Uploading Upload your artifacts to any Maven/Ivy repository ivy.xml/pom.xml is generated Repository metadata (e.g. maven-metadata.xml) is generated
75 Uploading to Maven Repositories apply plugin: "maven" uploadarchives { repositories { mavendeployer { repository(url: " Provided by the maven plugin All Maven wagon protocols can be used For Artifactory, JFrog provides an artifactory-publish plugin
Getting Started with Gradle
Getting Started with Gradle Speaker Sterling Greene ( sterling@gradle.com) Principal Engineer, Gradle Inc Clone the example project Agenda Gradle Project History Gradle Best Practices Gradle Basics Java
More informationGradle. The Basics and Beyond
Gradle The Basics and Beyond Contact Info Ken Kousen Kousen IT, Inc. ken.kousen@kousenit.com http://www.kousenit.com http://kousenit.wordpress.com (blog) @kenkousen Videos (available on Safari) O'Reilly
More informationEnter the Gradle Hans Dockter CEO, Gradleware Founder Gradle
Enter the Gradle Hans Dockter CEO, Gradleware Founder Gradle hans.dockter@gradleware.com What you will learn Declarativeness Extensibility Performance Features Build Integration Build Migration Testing
More informationHello Gradle. TestNG, Eclipse, IntelliJ IDEA. Óbuda University, Java Enterprise Edition John von Neumann Faculty of Informatics Lab 2.
Hello Gradle TestNG, Eclipse, IntelliJ IDEA Óbuda University, Java Enterprise Edition John von Neumann Faculty of Informatics Lab 2 Dávid Bedők 2017.09.18. v0.2 Dávid Bedők (UNI-OBUDA) Hello JavaEE 2017.09.18.
More informationAdvanced Dependency Management with Gradle. Benjamin Muschko, Gradle Inc.
Advanced Dependency Management with Gradle Benjamin Muschko, Gradle Inc. Custom requirements in complex builds Dependency management requires conscious decisions and trade- offs Transitive dependencies
More informationChapter 1. Installation and Setup
Chapter 1. Installation and Setup Gradle ( Ant) HSQLDB Hibernate Core Project Hierarchy 1 / 18 Getting an Gradle Distribution Why do I care? Ant vs Maven vs Gradle How do I do that? http://www.gradle.org/
More informationThis tutorial explains how you can use Gradle as a build automation tool for Java as well as Groovy projects.
About the Tutorial Gradle is an open source, advanced general purpose build management system. It is built on ANT, Maven, and lvy repositories. It supports Groovy based Domain Specific Language (DSL) over
More informationSoftware Engineering - Development Infrastructure 2. Kristjan Talvar Nortal
Software Engineering - Development Infrastructure 2 Kristjan Talvar kristjan.talvar@nortal.com Nortal Topics Different build tools Gradle demo Github as collaboration tool About me Java dev for almost
More informationJavaBasel 16. René Gröschke. Gradle 3.0 and beyond. Gradle 3.0 and beyond - #javabasel
JavaBasel 16 Gradle 3.0 and beyond René Gröschke Gradle 3.0 and beyond - #javabasel WHO AM I speaker { name 'René Gröschke' homebase 'Berlin, Germany' work 'Principal Engineer @ Gradle Inc.' twitter '@breskeby'
More informationRocking the Gradle! Hans Dockter CEO, Gradleware Founder Gradle
Rocking the Gradle! Hans Dockter CEO, Gradleware Founder Gradle hans.dockter@gradleware.com What you will learn Declarativeness Extensibility Performance Features Build Integration Build Migration Testing
More information... Fisheye Crucible Bamboo
Sander Soo MSc Computer Science Oracle Certified Professional (Java SE) Nortal (email: sander.soo@nortal.com) Mercurial Java Spring Framework AngularJS Atlassian stack... Fisheye Crucible Bamboo 2 Manual
More informationLab 5 Exercise Build and continuous integration tools
Lund University Computer Science Mattias Nordahl Software development in teams EDAF45 2017 12 06 Lab 5 Exercise Build and continuous integration tools 1 Introduction This lab will give you some experience
More informationMAVEN INTERVIEW QUESTIONS
MAVEN INTERVIEW QUESTIONS http://www.tutorialspoint.com/maven/maven_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Maven Interview Questions have been designed specially to get
More informationHello Maven. TestNG, Eclipse, IntelliJ IDEA. Óbuda University, Java Enterprise Edition John von Neumann Faculty of Informatics Lab 2.
Hello Maven TestNG, Eclipse, IntelliJ IDEA Óbuda University, Java Enterprise Edition John von Neumann Faculty of Informatics Lab 2 Dávid Bedők 2017.09.19. v0.1 Dávid Bedők (UNI-OBUDA) Hello JavaEE 2017.09.19.
More informationGradle Leveraging Groovy for Building Java Applications. Hans Dockter Gradle Project Lead
Gradle Leveraging Groovy for Building Java Applications Hans Dockter Gradle Project Lead mail@dockter.biz About Me Founder and Project Lead of Gradle Independent Consultant Trainer for Skills Matter (TTD,
More informationC++ Binary Dependency Management with Gradle. Hugh Greene
C++ Binary Dependency Management with Gradle Hugh Greene Getting consistent versions of things needed to build your software and to use it 2 Why? Saves time Identical binaries confidence
More informationApache Buildr in Action
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
More informationI Got My Mojo Workin'
I Got My Mojo Workin' Gary Murphy Hilbert Computing, Inc. http://www.hilbertinc.com/ glm@hilbertinc.com Gary Murphy I Got My Mojo Workin' Slide 1 Agenda Quick overview on using Maven 2 Key features and
More informationMaven Introduction to Concepts: POM, Dependencies, Plugins, Phases
arnaud.nauwynck@gmail.com Maven Introduction to Concepts: POM, Dependencies, Plugins, Phases This document: http://arnaud-nauwynck.github.io/docs/maven-intro-concepts.pdf 31 M!! What is Maven? https://maven.apache.org/
More informationConfiguring Artifactory
Configuring Artifactory 1 Configuration Files 2 Understanding Repositories 2.1 Local Repositories 2.2 Remote Repositories 2.3 Virtual Repositories 3 Common Repositories Configuration 3.1 Snapshots and
More informationMaven. INF5750/ Lecture 2 (Part II)
Maven INF5750/9750 - Lecture 2 (Part II) Problem! Large software projects usually contain tens or even hundreds of projects/modules Very different teams may work on different modules Will become messy
More informationPackage Management and Build Tools
Package Management and Build Tools Objektumorientált szoftvertervezés Object-oriented software design Dr. Balázs Simon BME, IIT Outline Ant+Ivy (Apache) Maven (Apache) Gradle Bazel (Google) Buck (Facebook)
More informationSimplified Build Management with Maven
Simplified Build Management with Maven Trasys Greece Kostis Kapelonis 11/06/2010 Menu Kitchen says hi!(motivation) Starters (Maven sample pom) Soup (Maven philosophy) Main dish (Library management) Side
More informationClass Dependency Analyzer CDA Developer Guide
CDA Developer Guide Version 1.4 Copyright 2007-2017 MDCS Manfred Duchrow Consulting & Software Author: Manfred Duchrow Table of Contents: 1 Introduction 3 2 Extension Mechanism 3 1.1. Prerequisites 3 1.2.
More informationWhy switch exist-db from Ant to Maven?
exist-db Developers Meetup Monday, 29 th March 2011 @ Prague Why switch exist-db from Ant to Maven? adam@exist-db.org www.existsolutions.com Why move away from Ant? The Current Situation Lots of pain associated
More informationImporting and Exporting
ing and ing Overview Artifactory supports import and export of data at two levels: System level Repository level At system level, Artifactory can export and import the whole Artifactory server: configuration,
More informationBuild Automation Kurt Christensen
Build Automation Kurt Christensen Kurt Christensen Computer programmer (17 years) and software development coach (9 years) github.com/projectileboy Available for purchase at: kurt.j.christensen@gmail.com
More informationsites</distribsiteroot>
Maven Parent POMs What is this? We have several parent poms. They pre-configure a whole array of things, from plugin versions to deployment on our infrastructure. They should be used: By all public and
More informationHow to rebuild your build without reworking your work
How to rebuild your build without reworking your work Mark Claassen, Senior Software Engineer, Donnell Systems Joe Foster, Developer, UI Specialist, Donnell Systems JavaOne 2015 CON3374 Agenda Why we had
More informationMaven in the wild. An introduction to Maven
Maven in the wild An introduction to Maven Maven gone wild!! An introduction to Maven Presentation Summary An overview of Maven What Maven provides? Maven s principles Maven s benefits Maven s features
More informationSpringSource Tool Suite 2.7.1
SpringSource Tool Suite 2.7.1 - New and Noteworthy - Martin Lippert 2.7.1 July 12, 2011 Updated for 2.7.1.RELEASE ENHANCEMENTS 2.7.1 General Updates Spring Roo 1.1.5 STS now ships and works with the just
More informationMaven 2 & Continuum. by Trygve Laugstøl
Maven 2 & Continuum by Trygve Laugstøl Agenda About Maven Maven 2 Highlights Changes The POM Project layout Plugin architecture Continuum About Maven It s a different kind of build
More informationMAVEN MOCK TEST MAVEN MOCK TEST I
http://www.tutorialspoint.com MAVEN MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Maven. You can download these sample mock tests at your local machine
More informationGroovy. Extending Java with scripting capabilities. Last updated: 10 July 2017
Groovy Extending Java with scripting capabilities Last updated: 10 July 2017 Pepgo Limited, 71-75 Shelton Street, Covent Garden, London, WC2H 9JQ, United Kingdom Contents About Groovy... 3 Install Groovy...
More informationDistributing JavaFX Applications with Java WebStart and Artifactory
Distributing JavaFX Applications with Java WebStart and Artifactory Frederic Simon Yoav Landman JFrog Ltd. About Us Where frogs can code > 10+ years experience in build and dev environments > Promote hassle-free
More informationUser Plugins. About Plugins. Deploying Plugins
User Plugins About Plugins Artifactory Pro allows you to easily extend Artifactory's behavior with your own plugins written in Groovy. User plugins are used for running user's code in Artifactory. Plugins
More informationRepository Management and Sonatype Nexus. Repository Management and Sonatype Nexus
Repository Management and Sonatype Nexus i Repository Management and Sonatype Nexus Repository Management and Sonatype Nexus ii Contents 1 Objectives 1 2 Development Today 1 3 But What Is A Component?
More informationTopics covered. Introduction to Maven Maven for Dependency Management Maven Lifecycles and Plugins Hands on session. Maven 2
Maven Maven 1 Topics covered Introduction to Maven Maven for Dependency Management Maven Lifecycles and Plugins Hands on session Maven 2 Introduction to Maven Maven 3 What is Maven? A Java project management
More informationMaven POM project modelversion groupid artifactid packaging version name
Maven The goal of this document is to introduce the Maven tool. This document just shows some of the functionalities of Maven. A complete guide about Maven can be found in http://maven.apache.org/. Maven
More informationSelenium Testing Course Content
Selenium Testing Course Content Introduction What is automation testing? What is the use of automation testing? What we need to Automate? What is Selenium? Advantages of Selenium What is the difference
More informationREASONS TO USE A BINARY REPOSITORY MANAGER WHEN DEVELOPING WITH. White Paper
12 REASONS TO USE A BINARY REPOSITORY MANAGER WHEN DEVELOPING WITH White Paper Introduction Over the last several years software development has evolved from focusing on in-house coding to making extensive
More informationWhat is Maven? Apache Maven is a software project management and comprehension tool (build, test, packaging, reporting, site, deploy).
Plan What is Maven? Links : mvn command line tool POM : 1 pom.xml = 1 artifact POM POM Inheritance Standard Directory Layout Demo on JMMC projects Plugins Conclusion What is Maven? Apache Maven is a software
More informationSonatype CLM Enforcement Points - Nexus. Sonatype CLM Enforcement Points - Nexus
Sonatype CLM Enforcement Points - Nexus i Sonatype CLM Enforcement Points - Nexus Sonatype CLM Enforcement Points - Nexus ii Contents 1 Introduction 1 2 Sonatype CLM for Repository Managers 2 3 Nexus Pro
More informationCHAPTER 6. Java Project Configuration
CHAPTER 6 Java Project Configuration Eclipse includes features such as Content Assist and code templates that enhance rapid development and others that accelerate your navigation and learning of unfamiliar
More informationTuscany: Applying OSGi modularity after the fact
Tuscany: Applying OSGi modularity after the fact Luciano Resende lresende@apache.org http://lresende.blogspot.com Raymond Feng rfeng@apache.org Agenda Introduction and Motivation Status of current Tools
More information1) CB plugin for Jenkins 2) Requirements Mapping
1) CB plugin for Jenkins 2) Requirements Mapping (Some of the names used for variables in trigger/build as provided by the plugin have already been updated to ensure more overall consistency. I left the
More informationContinuous Delivery with Grade. Hans Dockter CEO Gradle Inc., Founder
Continuous Delivery with Grade Hans Dockter CEO Gradle Inc., Founder Gradle Twitter: @gradle, @hans_d hans@gradle.com New company Gradleware Inc. -> Gradle, Inc. A new domain gradle.com New Twitter handle
More informationSpringSource Tool Suite M2
SpringSource Tool Suite 2.7.0.M2 - New and Noteworthy - Martin Lippert 2.7.0.M2 June 13, 2011 Updated for 2.7.0.M2 ENHANCEMENTS 2.7.0.M2 General Updates Memory Settings We raised the default memory settings
More informationDITA Gradle and Git. DITA-OT day Rotterdam
DITA Gradle and Git DITA-OT day 2018 - Rotterdam The company - L-Acoustics French company based near Paris. Leader in professional audio solutions. Lorde Melodrama tour Hollywood bowl Paris fashion week
More informationMaven 2 The powerful buildsystem. a presentation for EL4J developers by Martin Zeltner (MZE) November 2007
Maven 2 The powerful buildsystem a presentation for EL4J developers by Martin Zeltner (MZE) November 2007 Agenda Introduction 5 Installation 5 Concepts 40 Where to find 5 Daily usage 30 Advanced usage
More informationGAVIN KING RED HAT CEYLON SWARM
GAVIN KING RED HAT CEYLON SWARM CEYLON PROJECT A relatively new programming language which features: a powerful and extremely elegant static type system built-in modularity support for multiple virtual
More informationTattletale. What is Tattletale? Enterprise archives JBoss Application Server 7 Putting it all together Roadmap
Tattletale What is Tattletale? Enterprise archives JBoss Application Server 7 Putting it all together Roadmap Problems You are faced with a lot of Java archives and you don't know how they relate You need
More informationUSING ARTIFACTORY TO MANAGE BINARIES ACROSS MULTI-SITE TOPOLOGIES
USING ARTIFACTORY TO MANAGE BINARIES ACROSS MULTI-SITE TOPOLOGIES White Paper June 2016 www.jfrog.com INTRODUCTION Distributed software development has become commonplace, especially in large enterprises
More informationJVM Survival Guide. Hadi Hariri
JVM Survival Guide Hadi Hariri This talk For What For Who 20 years of Java The Sun and The Oracle Java The Language Java The Virtual Machine Java The Ecosystem The Community Community Driven Not Vendor-Driven
More informationTIBCO StreamBase 10.2 Building and Running Applications in Studio, Studio Projects and Project Structure. November 2017
TIBCO StreamBase 10.2 Building and Running Applications in Studio, Studio Projects and Project Structure November 2017 TIBCO StreamBase 10 Experience 1. Build a StreamBase 10 Project 2. Run/Debug an StreamBase
More informationS AMPLE CHAPTER IN ACTION. Benjamin Muschko. FOREWORD BY Hans Dockter MANNING
S AMPLE CHAPTER IN ACTION Benjamin Muschko FOREWORD BY Hans Dockter MANNING Gradle in Action by Benjamin Muschko Chapter 9 Copyright 2014 Manning Publications brief contents PART 1 INTRODUCING GRADLE...1
More informationgradle : Building Android Apps Mobel Meetup
gradle : Building Android Apps Mobel Meetup 2013-10-15 @alexvb http://alex.vanboxel.be/ Biography Working with Java since the dark ages at Progress Software, Alcatel-Lucent, Interested in science and technology
More informationComponent based Development. Table of Contents. Notes. Notes. Notes. Web Application Development. Zsolt Tóth
Component based Development Web Application Development Zsolt Tóth University of Miskolc 2017 Zsolt Tóth (University of Miskolc) Component based Development 2017 1 / 30 Table of Contents 1 2 3 4 Zsolt
More informationCOMP220/285 Lab sessions 1-3
COMP220/285 Lab sessions 1-3 Contents General Notes... 2 Getting started... 2 Task 1 Checking your ANT install... 2 Task 2 Checking your JUnit install... 2 Task 3 JUnit documention review... 4 Task 4 Ant
More informationWhat s new in IBM Operational Decision Manager 8.9 Standard Edition
What s new in IBM Operational Decision Manager 8.9 Standard Edition Release themes User empowerment in the Business Console Improved development and operations (DevOps) features Easier integration with
More informationBuild Tools. Software Engineering SS A tool was needed. Agenda for today. Build tools. Software complexity. Build tools
Agenda for today Build Tools Software Engineering SS 2007 Build Tools Available 4. Presentation Objectives - Use modern build systems for software Software Engineering, lecture #: Topic 2 Software complexity
More informationWeb Application Expectations
Effective Ruby on Rails Development Using CodeGear s Ruby IDE Shelby Sanders Principal Engineer CodeGear Copyright 2007 CodeGear. All Rights Reserved. 2007/6/14 Web Application Expectations Dynamic Static
More informationApache Maven. Created by anova r&d bvba
Apache Maven Created by anova r&d bvba http://www.anova.be This work is licensed under the Creative Commons Attribution 2.0 Belgium License. To view a copy of this license, visit http://creativecommons.org/licenses/by/2.0/be/
More informationBuild Tools. Software Engineering SS 2007
Build Tools Software Engineering SS 2007 Agenda for today Build Tools 1. Motivation 2. Key Concepts 3. Tools Available 4. Presentation 5. Discussion Objectives - Use modern build systems for software Software
More informationFIWARE Advanced Middleware KIARA Documentation
FIWARE Advanced Middleware KIARA Documentation Release 0.4.0 eprosima, DFKI, ZHAW November 03, 2016 Manuals 1 KIARA Installation and Administration Guide 3 1.1 Introduction.............................................
More informationDevOps examples on NonStop Tools Overview. Cor Geboers, ATC Consultant
DevOps examples on NonStop Tools Overview Cor Geboers, ATC Consultant About me Cor Geboers Senior Consultant in NonStop ATC, based in Belgium 35+ years in IT development and support 25+ years NonStop experience
More informationThis tutorial is designed for all Java enthusiasts who want to learn document type detection and content extraction using Apache Tika.
About the Tutorial This tutorial provides a basic understanding of Apache Tika library, the file formats it supports, as well as content and metadata extraction using Apache Tika. Audience This tutorial
More informationSonatype CLM - IDE User Guide. Sonatype CLM - IDE User Guide
Sonatype CLM - IDE User Guide i Sonatype CLM - IDE User Guide Sonatype CLM - IDE User Guide ii Contents 1 Introduction 1 2 Installing Sonatype CLM for Eclipse 2 3 Configuring Sonatype CLM for Eclipse 5
More informationGradleFx Documentation
GradleFx Documentation Release 0.7.0 GradleFx March 05, 2014 Contents i ii Contents: Contents 1 2 Contents CHAPTER 1 Where to start 1. GradleFx is based on Gradle, so if you re completely new to Gradle
More informationPHP Composer 9 Benefits of Using a Binary Repository Manager
PHP Composer 9 Benefits of Using a Binary Repository Manager White Paper Copyright 2017 JFrog Ltd. March 2017 www.jfrog.com Executive Summary PHP development has become one of the most popular platforms
More informationMAVEN MOCK TEST MAVEN MOCK TEST III
http://www.tutorialspoint.com MAVEN MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Maven. You can download these sample mock tests at your local machine
More information#jenkinsconf. Jenkins user plugin. This time it's. Jenkins User Conference Israel. Shiran JFrog
Jenkins user plugin This time it's Shiran Rubin @ShiranRU JFrog http://jfrog.com July 16, 2014 About me Groovy developer in JFrog. The home of We work with: But support many others. It's time to There's
More informationIndex. Decomposability, 13 Deep reflection, 136 Dependency hell, 19 --describe-module, 39
Index A --add-exports option, 28, 134 136, 142, 192 Apache Maven compatibility, 214 Compiler plugin, 212, 214 goals, 209 JDeps plugin goals, 210 options, 211 JEP 223 New Version-String scheme, 209 Automatic
More informationFreeMarker in Spring Web. Marin Kalapać
FreeMarker in Spring Web Marin Kalapać Agenda Spring MVC view resolving in general FreeMarker what is it and basics Configure Spring MVC to use Freemarker as view engine instead of jsp Commonly used components
More informationUnable To The Artifact From Any Repository Maven-clean-plugin
Unable To The Artifact From Any Repository Maven-clean-plugin The default behaviour of the plugin is to first resolve the entire dependency tree, Any manually included purge artifacts will be removed from
More information9 Reasons To Use a Binary Repository for Front-End Development with Bower
9 Reasons To Use a Binary Repository for Front-End Development with Bower White Paper Introduction The availability of packages for front-end web development has somewhat lagged behind back-end systems.
More informationWho Moved My Module? 1
Who Moved My Module? 1 About Me Yoav Landman - JFrog s CTO and Co-Founder - Creator of the Artifactory Project - 13 years experience in commercial enterprise build and development environments 2 Agenda
More informationMAVEN MOCK TEST MAVEN MOCK TEST IV
http://www.tutorialspoint.com MAVEN MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Maven. You can download these sample mock tests at your local machine
More informationClient Server Communication
Praktikum Mobile und Verteilte Systeme Client Server Communication Prof. Dr. Claudia Linnhoff-Popien et al. Wintersemester 2017/18 Today 1. Communication models 2. TCP and HTTP basics 3. RESTful API architectures
More informationSpringSource Tool Suite 2.8.0
SpringSource Tool Suite 2.8.0 - New and Noteworthy - Martin Lippert 2.8.0.RELEASE October 18, 2011 Updated for 2.8.0.RELEASE ENHANCEMENTS 2.8.0 General Updates Eclipse Indigo SR1, including support for
More informationA- Core Java Audience Prerequisites Approach Objectives 1. Introduction
OGIES 6/7 A- Core Java The Core Java segment deals with the basics of Java. It is designed keeping in mind the basics of Java Programming Language that will help new students to understand the Java language,
More informationGroovy & Grails Scripting for Modern Web Applications. Rohit Nayak Talentica Software
Groovy & Grails Scripting for Modern Web Applications Rohit Nayak Talentica Software Agenda Demo: Quick intro to Grails Scripting, Web Applications and Grails/Groovy REST service in Grails Demo Internals
More informationThe jpos REST tutorial shows you how to use an out-of-the-box binary distribution of jpos to build a REST server that responds to an /echo call.
REST tutorial Table of Contents Create a project............................................................................. 2 Test run....................................................................................
More informationSpring Framework 5.0 on JDK 8 & 9
Spring Framework 5.0 on JDK 8 & 9 Juergen Hoeller Spring Framework Lead Pivotal 1 Spring Framework 5.0 (Overview) 5.0 GA as of September 28 th, 2017 one week after JDK 9 GA! Embracing JDK 9 as well as
More informationSkyway Builder 6.3 Reference
Skyway Builder 6.3 Reference 6.3.0.0-07/21/09 Skyway Software Skyway Builder 6.3 Reference: 6.3.0.0-07/21/09 Skyway Software Published Copyright 2009 Skyway Software Abstract The most recent version of
More informationModularity in Java. With OSGi. Alex Docklands.LJC January Copyright 2016 Alex Blewitt
Modularity in Java With OSGi Alex Blewitt @alblue Docklands.LJC January 2016 Modularity in Java Modularity is Easy? Modularity is Hard! Modularity is Hard! Modularity is Hard! Modularity is Hard! Modularity
More informationIntroduction to Programming (Java) 2/12
Introduction to Programming (Java) 2/12 Michal Krátký Department of Computer Science Technical University of Ostrava Introduction to Programming (Java) 2008/2009 c 2006 2008 Michal Krátký Introduction
More informationWho am I? Harlan Iverson. Programming enthusiast. Seeker of truth. Imperfect. I'll be wrong about some things. Please correct me if you can.
Who am I? Harlan Iverson. Programming enthusiast. Seeker of truth. Imperfect. I'll be wrong about some things. Please correct me if you can. P.S... I hate boring presentations. Please, engage and stay
More information$HIVE_HOME/bin/hive is a shell utility which can be used to run Hive queries in either interactive or batch mode.
LanguageManual Cli Hive CLI Hive CLI Deprecation in favor of Beeline CLI Hive Command Line Options Examples The hiverc File Logging Tool to Clear Dangling Scratch Directories Hive Batch Mode Commands Hive
More informationJBoss Tattletale 1.1 Developer's Guide
JBoss Tattletale 1.1 Developer's Guide Betraying all your project's naughty little secrets Copyright 2009 Red Hat Middleware Table of Contents 1. About JBoss Tattletale...1 1.1. The team...1 1.2. Thanks
More informationExceptions and Libraries
Exceptions and Libraries RS 9.3, 6.4 Some slides created by Marty Stepp http://www.cs.washington.edu/143/ Edited by Sarah Heckman 1 Exceptions exception: An object representing an error or unusual condition.
More informationSetting up a Maven Project
Setting up a Maven Project This documentation describes how to set up a Maven project for CaptainCasa. Please use a CaptainCasa version higher than 20180102. There were quite some nice changes which were
More informationSECURE PRIVATE VAGRANT BOXES AND MORE WITH A BINARY REPOSITORY MANAGER. White Paper
SECURE PRIVATE VAGRANT BOXES AND MORE WITH A BINARY REPOSITORY MANAGER White Paper Introduction The importance of a uniform development environment among team members can t be overstated. Bugs stemming
More informationEclipse and Java 8. Daniel Megert Platform and JDT Lead Eclipse PMC Member IBM Rational Zurich Research Lab
Eclipse and Java 8 Daniel Megert Platform and JDT Lead Eclipse PMC Member IBM Rational Zurich Research Lab Eclipse and Java 8 New Java language features Eclipse features for Java 8 (demo) Behind the scenes
More informationBuilding a (resumable and extensible) DSL with Apache Groovy Jesse Glick CloudBees, Inc.
Building a (resumable and extensible) DSL with Apache Groovy Jesse Glick CloudBees, Inc. Introduction About Me Longtime Jenkins core contributor Primary developer on Jenkins Pipeline Meet Jenkins Pipeline
More informationBUILD AND DEPLOY SOA PROJECTS FROM DEVELOPER CLOUD SERVICE TO ORACLE SOA CLOUD SERVICE
BUILD AND DEPLOY SOA PROJECTS FROM DEVELOPER CLOUD SERVICE TO ORACLE SOA CLOUD SERVICE Ashwini Sharma 1 CONTENTS 1. Introduction... 2 2 Prerequisites... 2 3 Patch the SOA Server Installation... 2 4. Use
More informationCon$nuous Integra$on Development Environment. Kovács Gábor
Con$nuous Integra$on Development Environment Kovács Gábor kovacsg@tmit.bme.hu Before we start anything Select a language Set up conven$ons Select development tools Set up development environment Set up
More informationChecking Out and Building Felix with NetBeans
Checking Out and Building Felix with NetBeans Checking out and building Felix with NetBeans In this how-to we describe the process of checking out and building Felix from source using the NetBeans IDE.
More informationTuesday, April 26, 2011
Modular Class Loading With JBoss Modules David M. Lloyd Senior Software Engineer, Red Hat, Inc. The Class Path is Dead - Mark Reinhold, 2009 What does this mean? The limitations inherent in -classpath
More informationAppDev StudioTM 3.2 SAS. Migration Guide
SAS Migration Guide AppDev StudioTM 3.2 The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2006. SAS AppDev TM Studio 3.2: Migration Guide. Cary, NC: SAS Institute Inc.
More information