Blog

  • Kubernetes CSI in Action: Explained with Features and Use Cases

    Kubernetes Volume plugins have been a great way for the third-party storage providers to support a block or file storage system by extending the Kubernetes volume interface and are “In-Tree” in nature.

    In this post, we will dig into Kubernetes Container Storage Interface. We will use Hostpath CSI Driver locally on a single node bare metal cluster, to get the conceptual understanding of the CSI workflow in provisioning the Persistent Volume and its lifecycle. Also, a cool feature of snapshotting the volume and recover it back is explained.

    Introduction

    CSI is a standard for exposing  storage systems in arbitrary block and file storage to containerized workloads on Container Orchestrations like Kubernetes, Mesos, and Cloud Foundry. It becomes very extensible for third-party storage provider to expose their new storage systems using CSI, without actually touching the Kubernetes code. Single independent implementation of CSI Driver by a storage provider will work on any orchestrator.

    This new plugin mechanism has been one of the most powerful features of Kubernetes. It enables the storage vendors to:

    1. Automatically create storage when required.
    2. Make storage available to containers wherever they’re scheduled.
    3. Automatically delete the storage when no longer needed.

    This decoupling helps the vendors to maintain the independent release and feature cycles and focus on the API implementation without actually worrying about the backward incompatibility and to support their plugin just as easy as deploying a few pods.

     

    Image Source: Weekly Geekly

    Why CSI?

    Prior to CSI, k8s volume plugins have to be “In-tree”, compiled and shipped with core kubernetes binaries. This means, it will require the storage providers to check-in their into the core k8s codebase if they wish to add the support for a new storage system.

    A plugin-based solution, flex-volume, tried to address this issue by exposing the exec based API for external  plugins. Although it also tried to work on the similar notion of being detached with k8s binary, there were several major problems with that approach. Firstly, it needed the root access to the host and master file system to deploy the driver files. 

    Secondly, it comes with the huge baggage of prerequisites and OS dependencies which are assumed to be available on the host. CSI implicitly solves all these issues by being containerized and using the k8s storage primitives.

    CSI has evolved as the one-stop solution addressing all the above issues which enables storage plugins to be out-of-tree and deployed via standard k8s primitives, such as PVC, PV and StorageClasses.

    The main aim of introducing CSI is to establish a standard mechanism of exposing any type of storage system under-the-hood for all the container orchestrators.

    Deploy the Driver Plugin

    The CSI Driver comprises of a few main components which are various side cars and also the implementation of the CSI Services by the vendor, which will be understood by the Cos. The CSI Services will be described later in the blog. Let’s try out deploying hostpath CSI Driver.

    Prerequisites:

    • Kubernetes cluster (not Minikube or Microk8s): Running version 1.13 or later
    • Access to the terminal with Kubectl installed

    Deploying HostPath Driver Plugin:

    1. Clone the repo of HostPath Driver Plugin locally or just copy the deploy and example folder from the root path
    2. Checkout the master branch (if not)
    3. The hostpath driver comprises of manifests for following side-cars: (in ./deploy/master/hostpath/)
      – csi-hostpath-attacher.yaml
      – csi-hostpath-provisioner.yaml
      – csi-hostpath-snapshotter.yaml
      – csi-hostpath-plugin.yaml:
      It will deploy 2 containers, one is node-driver-registrar and a hospath-plugin
    4. The driver also includes separate Service for each component and in the deployment file with statefulsets for the containers
    5. It also deploys Cluster-role-bindings and RBAC rules for each component, maintained in a separate repo
    6. Each Component (side-car) is managed in a separate repository
    7. The /deploy/util/ contains a shell script which handles the complete deployment process
    8. After copying the folder or cloning the repo, just run:    
    $ deploy/kubernetes-latest/deploy-hostpath.sh

         9. The output will be similar to:

    applying RBAC rules
    kubectl apply -f https://raw.githubusercontent.com/kubernetes-csi/external-provisioner/v1.0.1/deploy/kubernetes/rbac.yaml
    serviceaccount/csi-provisioner created
    clusterrole.rbac.authorization.k8s.io/external-provisioner-runner created
    clusterrolebinding.rbac.authorization.k8s.io/csi-provisioner-role created
    role.rbac.authorization.k8s.io/external-provisioner-cfg created
    rolebinding.rbac.authorization.k8s.io/csi-provisioner-role-cfg created
    kubectl apply -f https://raw.githubusercontent.com/kubernetes-csi/external-attacher/v1.0.1/deploy/kubernetes/rbac.yaml
    serviceaccount/csi-attacher created
    clusterrole.rbac.authorization.k8s.io/external-attacher-runner created
    clusterrolebinding.rbac.authorization.k8s.io/csi-attacher-role created
    role.rbac.authorization.k8s.io/external-attacher-cfg created
    rolebinding.rbac.authorization.k8s.io/csi-attacher-role-cfg created
    kubectl apply -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/v1.0.1/deploy/kubernetes/rbac.yaml
    serviceaccount/csi-snapshotter created
    clusterrole.rbac.authorization.k8s.io/external-snapshotter-runner created
    clusterrolebinding.rbac.authorization.k8s.io/csi-snapshotter-role created
    deploying hostpath components
       deploy/kubernetes-1.13/hostpath/csi-hostpath-attacher.yaml
            using           image: quay.io/k8scsi/csi-attacher:v1.0.1
    service/csi-hostpath-attacher created
    statefulset.apps/csi-hostpath-attacher created
       deploy/kubernetes-1.13/hostpath/csi-hostpath-plugin.yaml
            using           image: quay.io/k8scsi/csi-node-driver-registrar:v1.0.2
            using           image: quay.io/k8scsi/hostpathplugin:v1.0.1
            using           image: quay.io/k8scsi/livenessprobe:v1.0.2
    service/csi-hostpathplugin created
    statefulset.apps/csi-hostpathplugin created
       deploy/kubernetes-1.13/hostpath/csi-hostpath-provisioner.yaml
            using           image: quay.io/k8scsi/csi-provisioner:v1.0.1
    service/csi-hostpath-provisioner created
    statefulset.apps/csi-hostpath-provisioner created
       deploy/kubernetes-1.13/hostpath/csi-hostpath-snapshotter.yaml
            using           image: quay.io/k8scsi/csi-snapshotter:v1.0.1
    service/csi-hostpath-snapshotter created
    statefulset.apps/csi-hostpath-snapshotter created
       deploy/kubernetes-1.13/hostpath/csi-hostpath-testing.yaml
            using           image: alpine/socat:1.0.3
    service/hostpath-service created
    statefulset.apps/csi-hostpath-socat created
    11:43:06 waiting for hostpath deployment to complete, attempt #0
    11:43:16 waiting for hostpath deployment to complete, attempt #1
    11:43:26 waiting for hostpath deployment to complete, attempt #2
    deploying snapshotclass
    volumesnapshotclass.snapshot.storage.k8s.io/csi-hostpath-snapclass created

         10. The driver is deployed, we can check:

    $ kubectl get pods
    
    NAME                          READY   STATUS        RESTARTS    AGE
    csi-hostpath-attacher-0       1/1     Running        0          1m06s
    csi-hostpath-provisioner-0    1/1     Running        0          1m06s
    csi-hostpath-snapshotter-0    1/1     Running        0          1m06s
    csi-hostpathplugin-0          2/2     Running        0          1m06s

    CSI API-Resources:

    $ kubectl api-resources | grep -E "^Name|csi|storage|PersistentVolume"
    
    NAME                     APIGROUP                  NAMESPACED     KIND
    persistentvolumesclaims                            true           PersistentVolumeClaim
    persistentvolume                                   false          PersistentVolume
    csidrivers               csi.storage.k8s.io        false          CSIDrivers
    volumesnapshotclasses    snapshot.storage.k8s.io   false          VolumeSnapshotClass
    volumesnapshotcontents   snapshot.storage.k8s.io   false          VolumeSnapshotContent
    Volumesnapshots          snapshot.storage.k8s.io   true           VolumeSnapshot
    csidrivers               storage.k8s.io            false          CSIDriver
    csinodes                 storage.k8s.io            false          CSINode
    storageclasses           storage.k8s.io            false          VolumeAttachment

    There are resources from core apigroups, storage.k8s.io and resources which created by CRDs snapshot.storage.k8s.io and csi.storage.k8s.io.

    CSI SideCars

    K8s CSI containers are sidecars that simplify the development and deployment of the CSI Drivers on a k8s cluster. Different Drivers have some similar logic to trigger the appropriate operations against the “CSI volume driver” container and update the Kubernetes API as appropriate.

    The common controller (common containers) has to be bundled with the provider-specific containers.

    The official sig-k8s contributors maintain the following basic skeleton containers for any CSI Driver:

    Note: In case of Hostpath driver, only ‘csi-hostpath-plugin’ container will be having the specific code. All the others are common CSI sidecar containers. These containers have a socket mounted in the socket-dir volume of type EmptyDir, which makes their communication possible using gRPC

    1. External Provisioner:
      It  is a sidecar container that watches Kubernetes PersistentVolumeClaim objects and triggers CSI CreateVolume and DeleteVolume operations against a driver endpoint.
      The CSI external-attacher also supports the Snapshot DataSource. If a Snapshot CRD is specified as a data source on a PVC object, the sidecar container fetches the information about the snapshot by fetching the SnapshotContent object and populates the data source field indicating to the storage system that new volume should be populated using specified snapshot.
    2. External Attacher :
      It  is a sidecar container that watches Kubernetes VolumeAttachment objects and triggers CSI ControllerPublish and ControllerUnpublish operations against a driver endpoint
    3. Node-Driver Registrar:
      It is a sidecar container that registers the CSI driver with kubelet, and adds the drivers custom NodeId to a label on the Kubernetes Node API Object. The communication of this sidecar is handled by the ‘Identity-Service’ implemented by the driver. The CSI Driver is registered with the kubelet using its device–plugin mechanisms
    4. External Snapshotter:
      It is a sidecar container that watches the Kubernetes API server for VolumeSnapshot and VolumeSnapshotContent CRD objects.The creation of a new VolumeSnapshot object referencing a SnapshotClass CRD object corresponding to this driver causes the sidecar container to provision a new snapshot.
    5. This sidecar listens to the service which indicates the successful creation of VolumeSnapshot, and immediately creates the VolumeSnapshotContent resource
    6. Cluster-driver Registrar:
      CSI driver is registered with the cluster by a sidecar container CSI cluster-driver-registrar creating a CSIDriver object. This CSIDriver enables the driver to customize the way of k8s interaction with it.

    Developing a CSI Driver

    To start the implementation of CSIDriver, an application must implement the gRPC services described by the CSI Specification.

    The minimum service a CSI application should implement are following:

    • CSI Identity service: Enables Kubernetes components and CSI containers to identify the driver
    • CSI Node service: Required methods enable callers to make volume available at a specified path.

    All the required services may be implemented independently or in the same driver application. The CSI driver application should be containerised to make it easy to deploy on Kubernetes. Once the main specific logic of the driver is containerized, they can be attached to the sidecars and deployed, in node and/or controller mode.

    Capabilities

    CSI also have provisions to enable the custom CSI driver to support many additional features/services by using the “Capabilities”. It contains a list of all the features the driver supports.

    Note: Refer the link for detailed explanation for developing a CSI Driver.

    Try out provisioning the PV:

    1. A storage class with:

    volumeBindingMode: WaitForFirstConsumer
    kind: StorageClass
    apiVersion: storage.k8s.io/v1
    metadata:
      name: csi-hostpath-sc
    provisioner: hostpath.csi.k8s.io
    volumeBindingMode: WaitForFirstConsumer

    2. Now, A PVC is also needed to be consumed by the sample Pod.

    And also a sample pod is also required, so that it can be bounded with the PV created by the PVC from above step
    The above files are found in ./exmples directory and can be deployed using create or apply kubectl commands

    Validate the deployed components:

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: pvc-fs
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 1Gi
      storageClassName: csi-hostpath-sc # defined in csi-setup.yaml

    3. The Pod to consume the PV

    kind: Pod
    apiVersion: v1
    metadata:
      name: pod-fs
    spec:
      affinity:
        podAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
          - labelSelector:
              matchExpressions:
              - key: app
                operator: In
                values:
                - csi-hostpathplugin
            topologyKey: kubernetes.io/hostname
      containers:
        - name: my-frontend
          image: busybox
          volumeMounts:
          - mountPath: "/data"
            name: my-csi-volume
          command: [ "sleep", "1000000" ]
      volumes:
        - name: my-csi-volume
          persistentVolumeClaim:
            claimName: pvc-fs # defined in csi-pvc.yaml

    Validate the deployed components:

    $ kubectl get pv
    
    NAME                                    CAPACITY ACCESSMODES STATUS CLAIM         STORAGECLASS     
    pvc-58d5ec38-03e5-11e9-be51-000c29e88ff1  1Gi       RWO      Bound  default/pvc-fs csi-hostpath-sc
    $ kubectl get pvc
    
    NAME      STATUS   VOLUME                                     CAPACITY  ACCESS MODES    STORAGECLASS
    csi-pvc   Bound    pvc-58d5ec38-03e5-11e9-be51-000c29e88ff1     1Gi         RWO         csi-hostpath-sc

    Brief on how it works:

    • csi-provisioner issues CreateVolumeRequest call to the CSI socket, then hostpath-plugin calls CreateVolume and informs CSI about its creation
    • csi-provisioner creates PV and updates PVC to be bound and the VolumeAttachment object is created by controller-manager
    • csi-attacher which watches for VolumeAttachments submits ControllerPublishVolume rpc call to hostpath-plugin, then hostpaths-plugin gets ControllerPublishVolume and calls hostpath AttachVolume csi-attacher update VolumeAttachment status
    • All this time kubelet waits for volume to be attached and submits NodeStageVolume (format and mount to the node to the staging dir) to the csi-node.hostpath-plugin
    • csi-node.hostpath-plugin gets NodeStageVolume call and mounts to `/var/lib/kubelet/plugins/kubernetes.io/csi/pv/<pv-name>/globalmount`, then responses to kubelet</pv-name>
    • kubelet calls NodePublishVolume (mount volume to the pod’s dir)
    • csi-node.hostpath-plugin performs NodePublishVolume and mounts the volume to `/var/lib/kubelet/pods/<pod-uuid>/volumes/</pod-uuid>kubernetes.io~csi/<pvc-name>/mount`</pvc-name>

      Finally, kubelet starts container of the pod with the provisioned volume.


    Let’s confirm the working of Hostpath CSI driver:

    The Hostpath driver is configured to create new volumes in the hostpath container in the plugin daemonset under the ‘/tmp’ directory. This path persist as long as the DaemonSet pod is up and running.

    If a file is written in the hostpath mounted volume in an application pod, should be seen in the hostpath cotainer.A file written in a properly mounted Hostpath volume inside an application should show up inside the Hostpath container.

    1. To try out the above statement, Create a file on application pod

    $ kubectl exec -it pod-fs /bin/sh
    
    / # touch /data/my-test
    / # exit

    2. And then exec in the hostpath container and run ‘ls’ command to check

    $ kubectl exec -it $(kubectl get pods --selector app=csi-hostpathplugin 
    -o jsonpath='{.items[*].metadata.name}') -c hostpath /bin/sh
    
    / # find /tmp -name my-test
    /tmp/057485ab-c714-11e8-bb16-000c2967769a/my-test
    / # exit

    Note: The better way of the verification is to inspect the VolumeAttachment object created that represents the attached volume API object created that represents the attached volume

    Support for Snapshot

    Volume Snapshotting is introduced as an Alpha feature for the Kubernetes persistent volume in v1.12. 

    Being an alpha feature, ‘VolumeSnapshotDataSource’ feature gate needs to be enabled. This feature opens a pool of use cases of keeping the snapshot of data locally. The API objects used are VolumeSnapshot, VolumeSnapshotContent and VolumeSnapshotClass. It was developed with a similar notion and relationship of PV, PVC and StorageClass. 

    To create a snapshot, the VolumeSnapshot object needs to be created with the source as PVC and VolumeSnapshotClass

    and the CSI-Snapshotter container will create a VolumeSnaphsotContent.

    Let’s try out with an example:

    Just like the provisioner create a PV for us when a PVC is created, similarly a VolumeSnapshotContent object will be created when VolumeSnapshot object is created.

    apiVersion: snapshot.storage.k8s.io/v1alpha1
    kind: VolumeSnapshot
    metadata:
      name: fs-pv-snapshot
    spec:
      snapshotClassName: csi-hostpath-snapclass
      source:
        name: pvc-fs
        kind: PersistentVolumeClaim

    The volumesnapshotcontent is created. The output will look like:

    $ kubectl get volumesnapshotcontent
     
    NAME                                                  AGE
    snapcontent-f55db632-c716-11e8-8911-000c2967769a      14s

    Restore from the snapshot:

    The DataSource field in the PVC can accept the source of kind: VolumeSnapsot which will create a new PV from that volume snapshot, when a Pod is bound to this PVC.

    The new PV will be having the same data as of the PV from which the snapshot was taken and it can be attached to any other pod. The new pod having that PV, proves of the possible “Restore” and “Cloning” use cases.

    Tear Down CSI-Hostpath installation:

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: fs-pvc-restore
    spec:
      storageClassName: csi-hostpath-sc
      dataSource:
        name: fs-pv-snapshot
        kind: VolumeSnapshot
        apiGroup: snapshot.storage.k8s.io
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 1Gi

    And we’re done here.

    Conclusion

    Since Kubernetes has started supporting the Raw Block Device type of Persistent Volume, hospath driver and any other driver may also support it, which will be explained in the next part of the blog. In this blog, we got deep understanding of the CSI, its components and services. The new features of CSI and the problems it solves. The CSI Hostpath driver was deeply in this blog to experiment and understand the provisioner, snapshotter flows for PV and VolumeSnapshots. Also, the PV snapshot, restore and cloning use cases were demonstrated.

  • Kickstart your Critical Listening Skills – Learn to Analyze Hi-Res/High Quality Audio with a Spectrogram

    Audio is an inherently complex signal.

    Anything and everything we hear can be described by an audio signal.

    Every sound has its own characteristics, and our ears can isolate and identify them.

    High-resolution music has become quite the buzzword these days, but can we identify it simply by listening to it? The audio quality may also vary depending on factors like encoder settings, type of compression, speaker quality, etc. We will interpret this via an audio spectrogram.

    What you will learn:

    • Why is the frequency domain so important for audio? 
    • How to estimate the audio quality of a track?
    • How to relate what you hear to a spectrogram?
    • What does a high-quality musical instrument look like in a spectrogram?

    What is an audio spectrogram?

    An audio spectrogram is a useful tool for analyzing digital audio, allowing you to visualize and understand how the audio signal evolves over time.

    Features like frequency distribution, audio bandwidth, tone quality, etc. can be determined. 

    High-quality audio at a glance:

    • File is large in size as more details are stored.
    • Spectrum is spread over a wide range of frequencies.
      eg: High-resolution audio contains frequencies up to192 kHz. 

    What is time domain?  

    Observing an audio signal in the time domain gives us an idea of the overall volume of the track  and how it varies with time. The loud, soft, and silent components of a track can be easily identified. This, however, does not tell us much about the quality of the instrument being played.

    To identify sound quality, we need to look at it from the frequency domain.

    Guitar Melody

    Violin Chord


    What is frequency domain?

    Frequencies are the fundamental component of any sound.

    High-quality audio contains a wide range of frequencies.

    In any time interval, the resultant sound is due to the constructive and destructive interference of multiple frequencies. 

    Another metric of audio quality is timbre.

    Timbre can be called audio flavor or tone. It allows a listener to distinguish between the musical tone of a violin or trumpet even if the tone is played at the same pitch with the same loudness.

    The timbre of an instrument is determined by the overtones it emphasizes.

    An overtone is any harmonic with a frequency greater than the fundamental.

    The composition of a musical instrument’s sound in terms of its partials can be visualized by a spectrogram. Now, let’s try to understand what a spectrogram really is.

    Interpreting a spectrogram:

    A spectrogram is a heatmap type of visualization of all the frequencies in an audio track.

    The higher the energy of a frequency, i.e., the louder it gets, the brighter it looks in the heatmap. 

    Looking at the patterns of the distribution of frequency energy, we gain valuable insights regarding an audio signal which cannot be identified in the time domain.

    2 kHz Sine Wave

    3D rendering of a 2 kHz sine wave:

    We see a constant energy level in the 2 kHz band. 

    What do the frequencies tell us?

    Frequency patterns relate to the different components of a song. You can identify instruments, vocals, and tunes from lead instruments. The fundamental frequencies can be easily identified as they are the brightest in color in a given interval. The overtones are stacked above with decreasing volume. 

    Here, we see a single note played on an organ. The fundamental frequency is the brightest while the overtones are stacked above with decreasing volume.

    Electric Organ Single Note

    3D rendering of a single note played on an organ:

    Sound dynamics and control in a spectrogram:

    A trained musician can control the loudness and sustain of an instrument, which is a marked element of performance. The bright colors in the spectrum are the loudest frequencies. This will relate to a lead tune that will dominate the sound. 

    This is a spectrogram of an arpeggio played on a piano.
    Piano Slow Melody

    How to judge the audio quality of a track?

    A wide range of frequencies indicates better audio fidelity.

    The sound’s complexity depends on the interference of the overtones. 

    More overtones symbolize a much richer sound created by musical instruments.

    The volume modulation indicates the control and feel a musician is attempting to generate.

    Example: spectrogram of a guitar

    Guitar Melody

    The guitar spectrogram contains frequencies up to 16 kHz.

    We can see the notes being plucked in bright colors, with their fundamental frequencies in the range of 512 Hz.

    The overtones are stacked in the higher frequency bands with decreasing volume.

    A brief pause every couple of notes is also apparent.

    We can see the sharpness and sustain of each note being played.

    If we look at the fundamental frequency, we can guess the scale.

    Example: spectrogram of a violin

    Violin Melody

    This is a spectrogram of notes played on a violin.

    It is softer in sound, smooth, and connected; in musical terms, it’s a clear example of legato.

    Softer overtones are visible, which add to the complexity of the sound.

    All notes have approximately the same volume and sustain.

    Conclusion:

    A spectrogram is a great way to try and understand the sounds you hear in the world around you. With one, you will be able to analyze the characteristics of any sound source. Your entire music listening experience will become more intricate and fulfilling. 

    Do apply the above principles and remember to have fun while doing so. Stay tuned for similar content.

  • Jenkins X – A Cloud-native Approach to CI/CD

    Jenkins X is a project which rethinks how developers should interact with CI/CD in the cloud with a focus on making development teams productive through automation, tooling and DevOps best practices.

    The difference between Jenkins X and Jenkins

    Jenkins is a tool which was developed long before cloud become the norm and it’s definitely not a cloud-native tool, meaning it doesn’t have out of the box capability to survive outages, seamless scaling, etc.

    Basically, Jenkins X is not just a CI/CD tool to run builds and deployments, it automates the whole development process end to end for containerised applications based on Docker and Kubernetes. 

    With Jenkins X, you get not only Kubernetes pipelines for your apps but also a very scalable CI/CD solution.

    Challenges while setting up CI/CD pipelines for container-based applications:

    • Setup the cloud environment
    • Setup kubernetes cluster and set up multiple environments like development, staging, testing
    • Migrate application to the container so that user can start building docker images
    • Figure out how to deploy the application on Kubernetes and generate some yml and helm charts
    • Figure out how to do continuous delivery including promotion processes – eg Promote versions of the application from testing to staging to production.
    • Store all operational configurations like web application source code on the GitHub repository.
    • Then automate everything

    So all this stuff which developers have to do is kind of unnecessary heavy lifting. Jenkins X is designed to get the above stuff done and focus on delivering actual value to customers.

    How does Jenkins X help?

    • Automate the installation, configuration & upgrade of Jenkins + other s/w components (helm, nexus etc) on Kubernetes
    • Automate CI/CD for your applications on Kubernetes
    • Docker images
    • Helm charts
    • Pipelines
    • Uses GitOps to manage promotions between environments
    • Test – Staging – Promotion
    • Lots of feedback. Eg. commenting on issues as they hit Staging + Production

    What does Jenkins X do?

    By using Jenkins X, the developer can type one command jx create or jx import and the following process : get the source code, the git repository and application created, automatically built and deployed to Kubernetes on each Pull Request or git push with full CI/CD complete with Environments and Promotion.

    Developers and teams don’t have to spend time figuring out how to package software as docker images, create the Kubernetes YAML to run their application on kubernetes, create Preview environments or even learn how to implement CI/CD pipelines with declarative pipeline-as-code Jenkinsfiles. It’s all automated in Jenkins X.

    If you want to see Dockerfile, Jenkinsfile or Helm charts for your apps or their environments then those are all available versioned in Git with the rest of your source code with full CI/CD on it all.

    Jenkins X conceptual model

    Automated CI/CD Pipelines

    Create new projects or import existing source code quickly into Jenkins X via the jx command line tool and:

    • Get a Pipeline automatically set up for you that implements best practice CI/CD features:
    • Creates a Jenkinsfile for defining the CI/CD pipelines through declarative pipeline-as-code
    • Creates a Docker file for packaging the application up as an immutable container image (for applications which generate images)
    • Creates a Helm chart for deploying and running your application on Kubernetes
    • Ensures your code is in a git repository (e.g. GitHub) with the necessary webhooks to trigger the Jenkins CI/CD pipelines on push events
    • Triggers the first release pipeline to promote your application to your teams Staging Environment

    On each Pull Request, a CI pipeline is triggered to build your application and run all the tests ensuring you keep the master branch in a ready to release state. When a Pull Request is merged to the master branch the Release pipeline is triggered to create a new release:

    • A new semantic version number is generated
    • The source code is modified for the new version and then tagged in Git
    • New versioned artifacts are published including docker image, helm chart, and any language-specific artifacts

    Jenkins X functionality

    JX is a command line tool for installing and using Jenkins X. Check out how to install jx. To create a new Kubernetes cluster with Jenkins X installed use the jx create cluster command. The command initialises Pods with the following applications in jx namespace of Kubernetes:

    • Chartmuseum (Open-source Helm Chart repository)
    • Docker registry (Docker image storage)
    • Jenkins (Automation server)
    • MongoDB (NoSQL Database)
    • Nexus repository (Artifact storage)

    Let’s have a look at how the JX processes correlate to Git actions. For simplicity, let’s use only master and one feature branch. The table below details the steps of the flow.

    Prerequisites for setting up Kubernetes + Jenkins X using GKE

    Note: Following steps are for Ubuntu 16.04

    • Install Git and set your account’s default identity using Git config
    • Install gcloud – Google Cloud Platform’s CLI tool
    • Install kubectl – Kubernetes CLI tool
    • Download here
    • Move to /usr/local/bin for path binding:
    $ sudo cp /home//Downloads/kubectl /usr/local/bin/kubectl
    $ sudo chmod +x /usr/local/bin/kubectl

    • Install Helm i.e. Kubernetes package manager
    • Download here
    • Move to /usr/local/bin for path binding:
    $ sudo cp /home//Downloads/linux-amd64/helm /usr/local/bin/helm
    $ sudo chmod +x /usr/local/bin/helm

    $ curl -L https://github.com/jenkins-x/jx/releases/download/v1.2.102/jx-linux-amd64.tar.gz | tar xzv

    $ sudo mv jx /usr/local/bin
    $ sudo chmod +x  /usr/local/bin/jx

    How to create a Kubernetes cluster on GKE and install Jenkins X

    jx create cluster gke

    $ jx create cluster gke
    ? Google Cloud Project: private-cloud-198808
    No cluster name provided so using a generated one: carpcoal
    ? Google Cloud Zone: us-west1-a
    ? Google Cloud Machine Type: n1-standard-2
    ? Minimum number of Nodes 3
    ? Maximum number of Nodes 5
    Creating cluster...
    Initialising cluster ...
    Trying to create ClusterRoleBinding gke-private-cloud-198808-us-west1-a-carpcoal-cluster-admin-binding for role: cluster-admin for user gke-private-cloud-198808-us-west1-a-carpcoal
    Created ClusterRoleBinding gke-private-cloud-198808-us-west1-a-carpcoal-cluster-admin-binding
    Created ServiceAccount tiller in namespace kube-system
    Trying to create ClusterRoleBinding tiller for role: cluster-admin and ServiceAccount: kube-system/tiller
    Created ClusterRoleBinding tiller
    Initialising helm using ServiceAccount tiller in namespace kube-system
    helm installed and configured
    ? No existing ingress controller found in the kube-system namespace, shall we install one? Yes
    NAME:   jxing ingress controller found in the kube-system namespace, shall we install one? [? for help] (Y/n) Y
    LAST DEPLOYED: Fri Jun  8 14:27:52 2018
    NAMESPACE: kube-system
    STATUS: DEPLOYED
    
    RESOURCES:
    ==> v1/ConfigMap
    NAME                            DATA  AGE
    jxing-nginx-ingress-controller  1     2s
    
    ==> v1/ServiceAccount
    NAME                 SECRETS  AGE
    jxing-nginx-ingress  1        2s
    
    ==> v1beta1/ClusterRole
    NAME                 AGE
    jxing-nginx-ingress  2s
    
    ==> v1beta1/Deployment
    NAME                                 DESIRED  CURRENT  UP-TO-DATE  AVAILABLE  AGE
    jxing-nginx-ingress-controller       1        1        1           0          1s
    jxing-nginx-ingress-default-backend  1        1        1           0          1s
    
    ==> v1beta1/ClusterRoleBinding
    NAME                 AGE
    jxing-nginx-ingress  2s
    
    ==> v1beta1/Role
    NAME                 AGE
    jxing-nginx-ingress  2s
    
    ==> v1beta1/RoleBinding
    NAME                 AGE
    jxing-nginx-ingress  2s
    
    ==> v1/Service
    NAME                                 TYPE          CLUSTER-IP     EXTERNAL-IP  PORT(S)                     AGE
    jxing-nginx-ingress-controller       LoadBalancer  10.59.244.203  <pending>    80:30890/TCP,443:32429/TCP  2s
    jxing-nginx-ingress-default-backend  ClusterIP     10.59.252.220  <none>       80/TCP                      1s
    
    ==> v1beta1/PodDisruptionBudget
    NAME                                 MIN AVAILABLE  MAX UNAVAILABLE  ALLOWED DISRUPTIONS  AGE
    jxing-nginx-ingress-controller       1              N/A              0                    1s
    jxing-nginx-ingress-default-backend  1              N/A              0                    1s
    
    ==> v1/Pod(related)
    NAME                                                  READY  STATUS             RESTARTS  AGE
    jxing-nginx-ingress-controller-7c4bd99845-kvl59       0/1    ContainerCreating  0         1s
    jxing-nginx-ingress-default-backend-66c54ff74b-z6qj8  0/1    ContainerCreating  0         1s
    
    
    NOTES:
    The nginx-ingress controller has been installed.
    It may take a few minutes for the LoadBalancer IP to be available.
    You can watch the status by running 'kubectl --namespace kube-system get services -o wide -w jxing-nginx-ingress-controller'
    
    An example Ingress that makes use of the controller:
    
      apiVersion: extensions/v1beta1
      kind: Ingress
      metadata:
        annotations:
          kubernetes.io/ingress.class: nginx
        name: example
        namespace: foo
      spec:
        rules:
          - host: www.example.com
            http:
              paths:
                - backend:
                    serviceName: exampleService
                    servicePort: 80
                  path: /
        # This section is only required if TLS is to be enabled for the Ingress
        tls:
            - hosts:
                - www.example.com
              secretName: example-tls
    
    If TLS is enabled for the Ingress, a Secret containing the certificate and key must also be provided:
    
      apiVersion: v1
      kind: Secret
      metadata:
        name: example-tls
        namespace: foo
      data:
        tls.crt: <base64 encoded cert>
        tls.key: <base64 encoded key>
      type: kubernetes.io/tls
    
    Waiting for external loadbalancer to be created and update the nginx-ingress-controller service in kube-system namespace
    Note: this loadbalancer will fail to be provisioned if you have insufficient quotas, this can happen easily on a GKE free account. To view quotas run: gcloud compute project-info describe
    External loadbalancer created
    ? Domain 35.230.49.158.nip.io
    nginx ingress controller installed and configured
    Lets set up a git username and API token to be able to perform CI/CD
    
    ? GitHub username for CI/CD pipelines: grohan2002
    Cloning the Jenkins X cloud environments repo to /home/aditi/.jx/cloud-environments
    ? A local Jenkins X cloud environments repository already exists, recreate with latest? Yes
    Cloning the Jenkins X cloud environments repo to /home/aditi/.jx/cloud-environments
    Counting objects: 574, done.
    Total 574 (delta 0), reused 0 (delta 0), pack-reused 574
    Generated helm values /home/aditi/.jx/extraValues.yaml
    Installing Jenkins X platform helm chart from: /home/aditi/.jx/cloud-environments/env-gke
    helm repo add jenkins-x https://chartmuseum.build.cd.jenkins-x.io
    "jenkins-x" has been added to your repositories
    rm -rf secrets.yaml.dec
    helm repo add jenkins-x https://chartmuseum.build.cd.jenkins-x.io
    "jenkins-x" has been added to your repositories
    helm repo update
    Hang tight while we grab the latest from your chart repositories...
    ...Skip local chart repository
    ...Successfully got an update from the "stable" chart repository
    ...Successfully got an update from the "jenkins-x" chart repository
    Update Complete. ⎈ Happy Helming!⎈ 
    helm install jenkins-x/jenkins-x-platform --name jenkins-x -f ./myvalues.yaml -f ./secrets.yaml --version 0.0.1193 --values=/home/aditi/.jx/gitSecrets.yaml --values=/home/aditi/.jx/adminSecrets.yaml --values=/home/aditi/.jx/extraValues.yaml --namespace=jx --timeout=6000
    NAME:   jenkins-x
    LAST DEPLOYED: Fri Jun  8 14:29:34 2018
    NAMESPACE: jx
    STATUS: DEPLOYED
    
    RESOURCES:
    ==> v1beta1/ClusterRoleBinding
    NAME                  AGE
    jenkins-role-binding  58s
    
    ==> v1beta1/Deployment
    NAME                           DESIRED  CURRENT  UP-TO-DATE  AVAILABLE  AGE
    jenkins-x-chartmuseum          1        1        1           1          58s
    jenkins-x-docker-registry      1        1        1           1          58s
    jenkins-x-heapster             1        1        1           1          58s
    jenkins                        1        1        1           0          58s
    jenkins-x-mongodb              1        1        1           0          58s
    jenkins-x-monocular-api        1        1        1           0          57s
    jenkins-x-monocular-prerender  1        1        1           1          57s
    jenkins-x-monocular-ui         1        1        1           1          57s
    jenkins-x-nexus                1        1        1           0          57s
    pipelinecontroller             1        1        1           1          57s
    
    ==> v1beta1/CustomResourceDefinition
    NAME                  AGE
    pipelines.jenkins.io  57s
    runs.jenkins.io       57s
    
    ==> v1/Pod(related)
    NAME                                            READY  STATUS             RESTARTS  AGE
    jenkins-x-chartmuseum-77dcdf7f87-txxrx          1/1    Running            0         58s
    jenkins-x-docker-registry-76dd6bddd4-498dr      1/1    Running            0         58s
    jenkins-x-heapster-57b558bf9b-9nbg8             2/2    Running            0         58s
    jenkins-58848b44cd-fp9kt                        0/1    Running            0         57s
    jenkins-x-mongodb-5fb7868bd-qp6q2               0/1    ContainerCreating  0         57s
    jenkins-x-monocular-api-d7d6cc9b7-2pxn4         0/1    Error              0         57s
    jenkins-x-monocular-prerender-74f49ffdc7-jdbhp  1/1    Running            0         57s
    jenkins-x-monocular-ui-5dcfbf9d7c-mvxgs         1/1    Running            0         57s
    jenkins-x-nexus-786fcdbd98-fgtq7                0/1    ContainerCreating  0         57s
    pipelinecontroller-5c5f5df7ff-4ljj5             1/1    Running            0         57s
    
    ==> v1/Secret
    NAME                              TYPE    DATA  AGE
    jenkins-x-chartmuseum             Opaque  2     58s
    jenkins-x-docker-registry-secret  Opaque  1     58s
    jenkins                           Opaque  2     58s
    jenkins-x-mongodb                 Opaque  2     58s
    nexus                             Opaque  1     58s
    jenkins-docker-cfg                Opaque  1     58s
    jenkins-git-credentials           Opaque  1     58s
    jenkins-hub-api-token             Opaque  1     58s
    jenkins-git-ssh                   Opaque  2     58s
    jx-basic-auth                     Opaque  1     58s
    jenkins-release-gpg               Opaque  4     58s
    jenkins-maven-settings            Opaque  1     58s
    jenkins-npm-token                 Opaque  1     58s
    jenkins-ssh-config                Opaque  1     58s
    
    ==> v1/ConfigMap
    NAME                              DATA  AGE
    jenkins-x-docker-registry-config  1     58s
    exposecontroller                  1     58s
    jenkins                           7     58s
    jenkins-x-git-kinds               2     58s
    jenkins-tests                     1     58s
    jenkins-x-monocular-api-config    1     58s
    jenkins-x-monocular-ui-config     1     58s
    jenkins-x-monocular-ui-vhost      1     58s
    jenkins-x-pod-templates           12    58s
    
    ==> v1/PersistentVolumeClaim
    NAME                       STATUS  VOLUME                                    CAPACITY  ACCESS MODES  STORAGECLASS  AGE
    jenkins-x-chartmuseum      Bound   pvc-43b61a9d-6afa-11e8-818a-42010a8a007f  8Gi       RWO           standard      58s
    jenkins-x-docker-registry  Bound   pvc-43ba02df-6afa-11e8-818a-42010a8a007f  100Gi     RWO           standard      58s
    jenkins                    Bound   pvc-43bda529-6afa-11e8-818a-42010a8a007f  30Gi      RWO           standard      58s
    jenkins-x-mongodb          Bound   pvc-43bedec4-6afa-11e8-818a-42010a8a007f  8Gi       RWO           standard      58s
    jenkins-x-nexus            Bound   pvc-43c0b170-6afa-11e8-818a-42010a8a007f  8Gi       RWO           standard      58s
    
    ==> v1/ServiceAccount
    NAME                SECRETS  AGE
    cleanup             1        58s
    expose              1        58s
    jenkins             1        58s
    pipelinecontroller  1        58s
    
    ==> v1/Role
    NAME     AGE
    cleanup  58s
    expose   58s
    
    ==> v1/RoleBinding
    NAME     AGE
    cleanup  58s
    expose   58s
    
    ==> v1/Service
    NAME                           TYPE       CLUSTER-IP     EXTERNAL-IP  PORT(S)    AGE
    jenkins-x-chartmuseum          ClusterIP  10.59.247.18   <none>       8080/TCP   58s
    jenkins-x-docker-registry      ClusterIP  10.59.251.152  <none>       5000/TCP   58s
    heapster                       ClusterIP  10.59.255.13   <none>       8082/TCP   58s
    jenkins-agent                  ClusterIP  10.59.242.200  <none>       50000/TCP  58s
    jenkins                        ClusterIP  10.59.252.154  <none>       8080/TCP   58s
    jenkins-x-mongodb              ClusterIP  10.59.243.233  <none>       27017/TCP  58s
    jenkins-x-monocular-api        ClusterIP  10.59.242.193  <none>       80/TCP     58s
    jenkins-x-monocular-prerender  ClusterIP  10.59.255.226  <none>       80/TCP     58s
    jenkins-x-monocular-ui         ClusterIP  10.59.242.187  <none>       80/TCP     58s
    nexus                          ClusterIP  10.59.240.56   <none>       80/TCP     58s
    
    
    waiting for install to be ready, if this is the first time then it will take a while to download images
    Jenkins X deployments ready in namespace jx
    
    	
    	********************************************************
    	
    	     NOTE: Your admin password is: pirateclear
    	
    	********************************************************
    	
    	Getting Jenkins API Token
    unable to automatically find API token with chromedp using URL http://jenkins.jx.35.230.49.158.nip.io/me/configure
    Please go to http://jenkins.jx.35.230.49.158.nip.io/me/configure and click Show API Token to get your API Token
    Then COPY the token and enter in into the form below:
    
    Created user admin API Token for Jenkins server jenkins.jx.35.230.49.158.nip.io at http://jenkins.jx.35.230.49.158.nip.io
    Creating default staging and production environments
    Using git provider GitHub at https://github.com
    
    
    About to create repository environment-carpcoal-staging on server https://github.com with user grohan2002
    ? Which organisation do you want to use? grohan2002
    
    
    Creating repository grohan2002/environment-carpcoal-staging
    Creating git repository grohan2002/environment-carpcoal-staging
    Cloning into '/home/aditi/.jx/environments/grohan2002/environment-carpcoal-staging'...
    remote: Counting objects: 67, done.
    remote: Total 67 (delta 0), reused 0 (delta 0), pack-reused 67
    Unpacking objects: 100% (67/67), done.
    Checking connectivity... done.
    [master f2045e1] Use correct namespace for environment
     1 file changed, 1 insertion(+), 1 deletion(-)
    [master 85e3e03] Add environment configuration
     1 file changed, 9 insertions(+)
    Counting objects: 74, done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (71/71), done.
    Writing objects: 100% (74/74), 13.71 KiB | 0 bytes/s, done.
    Total 74 (delta 39), reused 0 (delta 0)
    remote: Resolving deltas: 100% (39/39), done.
    To https://grohan2002:0468f81bbf086353d5a03a2a8125d5642bd1d6f6@github.com/grohan2002/environment-carpcoal-staging.git
     * [new branch]      master -> master
    Branch master set up to track remote branch master from origin.
    Pushed git repository to https://github.com/grohan2002/environment-carpcoal-staging
    
    Created environment staging
    ? user name for the Jenkins Pipeline grohan2002
    Created Jenkins Project: http://jenkins.jx.35.230.49.158.nip.io/job/grohan2002/job/environment-carpcoal-staging/
    
    Note that your first pipeline may take a few minutes to start while the necessary docker images get downloaded!
    
    Creating github webhook for grohan2002/environment-carpcoal-staging for url http://jenkins.jx.35.230.49.158.nip.io/github-webhook/
    Using git provider GitHub at https://github.com
    
    
    About to create repository environment-carpcoal-production on server https://github.com with user grohan2002
    ? Which organisation do you want to use? grohan2002
    
    
    Creating repository grohan2002/environment-carpcoal-production
    Creating git repository grohan2002/environment-carpcoal-production
    Cloning into '/home/aditi/.jx/environments/grohan2002/environment-carpcoal-production'...
    remote: Counting objects: 67, done.
    remote: Total 67 (delta 0), reused 0 (delta 0), pack-reused 67
    Unpacking objects: 100% (67/67), done.
    Checking connectivity... done.
    [master 841d795] Use correct namespace for environment
     1 file changed, 1 insertion(+), 1 deletion(-)
    [master 064603d] Add environment configuration
     1 file changed, 9 insertions(+)
    Counting objects: 74, done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (71/71), done.
    Writing objects: 100% (74/74), 13.72 KiB | 0 bytes/s, done.
    Total 74 (delta 39), reused 0 (delta 0)
    remote: Resolving deltas: 100% (39/39), done.
    To https://grohan2002:0468f81bbf086353d5a03a2a8125d5642bd1d6f6@github.com/grohan2002/environment-carpcoal-production.git
     * [new branch]      master -> master
    Branch master set up to track remote branch master from origin.
    Pushed git repository to https://github.com/grohan2002/environment-carpcoal-production
    
    Created environment production
    Created Jenkins Project: http://jenkins.jx.35.230.49.158.nip.io/job/grohan2002/job/environment-carpcoal-production/
    
    Note that your first pipeline may take a few minutes to start while the necessary docker images get downloaded!
    
    Creating github webhook for grohan2002/environment-carpcoal-production for url http://jenkins.jx.35.230.49.158.nip.io/github-webhook/
    
    Jenkins X installation completed successfully
    
    	
    	********************************************************
    	
    	     NOTE: Your admin password is: pirateclear
    	
    	********************************************************
    	
    	
    To import existing projects into Jenkins: jx import
    To create a new Spring Boot microservice: jx create spring -d web -d actuator

    After triggering this command, we are prompted to authenticate Google Cloud account. It also prompts for some questions on how to create our cluster. It generates a random admin password which is used to access all the applications that we’ve installed.

    jx get build logs

    We can now get logs for the build jobs which are actually provisioning the staging environment. Please find detailed logs of the above command displayed below.

    $ jx get build logs
    ? Which pipeline do you want to view the logs of?:  grohan2002/environment-carpcoal-staging/master
    view the log at: http://jenkins.jx.35.230.49.158.nip.io/job/grohan2002/job/environment-carpcoal-staging/job/master/1/console
    tailing the log of grohan2002/environment-carpcoal-staging/master #1
    Branch indexing
    Connecting to https://api.github.com using grohan2002/****** (API Token for acccessing https://github.com git service inside pipelines)
    Obtained Jenkinsfile from 85e3e0347b4d8ad42f4a8d422e53b9d5691c8e6d
    Running in Durability level: MAX_SURVIVABILITY
    [Pipeline] node
    Still waiting to schedule task
    Waiting for next available executor
    Running on maven-5xzh0 in /home/jenkins/workspace/ent-carpcoal-staging_master-6QDKMJ2XMNMFA5GSJVDMXNPODJHK2OTAAIO23EZOPYXO5MLNXDQQ
    [Pipeline] {
    [Pipeline] stage
    [Pipeline] { (Declarative: Checkout SCM)
    [Pipeline] checkout
    Cloning the remote Git repository
    Cloning with configured refspecs honoured and without tags
    Cloning repository https://github.com/grohan2002/environment-carpcoal-staging.git
     > git init /home/jenkins/workspace/ent-carpcoal-staging_master-6QDKMJ2XMNMFA5GSJVDMXNPODJHK2OTAAIO23EZOPYXO5MLNXDQQ # timeout=10
    Fetching upstream changes from https://github.com/grohan2002/environment-carpcoal-staging.git
     > git --version # timeout=10
    using GIT_ASKPASS to set credentials API Token for acccessing https://github.com git service inside pipelines
     > git fetch --no-tags --progress https://github.com/grohan2002/environment-carpcoal-staging.git +refs/heads/master:refs/remotes/origin/master
     > git config remote.origin.url https://github.com/grohan2002/environment-carpcoal-staging.git # timeout=10
     > git config --add remote.origin.fetch +refs/heads/master:refs/remotes/origin/master # timeout=10
     > git config remote.origin.url https://github.com/grohan2002/environment-carpcoal-staging.git # timeout=10
    Fetching without tags
    Fetching upstream changes from https://github.com/grohan2002/environment-carpcoal-staging.git
    using GIT_ASKPASS to set credentials API Token for acccessing https://github.com git service inside pipelines
     > git fetch --no-tags --progress https://github.com/grohan2002/environment-carpcoal-staging.git +refs/heads/master:refs/remotes/origin/master
    Checking out Revision 85e3e0347b4d8ad42f4a8d422e53b9d5691c8e6d (master)
     > git config core.sparsecheckout # timeout=10
     > git checkout -f 85e3e0347b4d8ad42f4a8d422e53b9d5691c8e6d
    Commit message: "Add environment configuration"
    First time build. Skipping changelog.
    [Pipeline] }
    [Pipeline] // stage
    [Pipeline] withEnv
    [Pipeline] {
    [Pipeline] stage
    [Pipeline] { (Validate Environment)
    [Pipeline] container
    [Pipeline] {
    [Pipeline] sh
    [ent-carpcoal-staging_master-6QDKMJ2XMNMFA5GSJVDMXNPODJHK2OTAAIO23EZOPYXO5MLNXDQQ] Running shell script
    + make build
    rm -rf requirements.lock
    helm version
    Client: &version.Version{SemVer:"v2.8.2", GitCommit:"a80231648a1473929271764b920a8e346f6de844", GitTreeState:"clean"}
    Server: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}
    helm init
    Creating /home/jenkins/.helm 
    Creating /home/jenkins/.helm/repository 
    Creating /home/jenkins/.helm/repository/cache 
    Creating /home/jenkins/.helm/repository/local 
    Creating /home/jenkins/.helm/plugins 
    Creating /home/jenkins/.helm/starters 
    Creating /home/jenkins/.helm/cache/archive 
    Creating /home/jenkins/.helm/repository/repositories.yaml 
    Adding stable repo with URL: https://kubernetes-charts.storage.googleapis.com 
    Adding local repo with URL: http://127.0.0.1:8879/charts 
    $HELM_HOME has been configured at /home/jenkins/.helm.
    Warning: Tiller is already installed in the cluster.
    (Use --client-only to suppress this message, or --upgrade to upgrade Tiller to the current version.)
    Happy Helming!
    helm repo add releases http://jenkins-x-chartmuseum:8080
    "releases" has been added to your repositories
    helm repo add jenkins-x http://chartmuseum.build.cd.jenkins-x.io
    "jenkins-x" has been added to your repositories
    helm dependency build "env"
    Hang tight while we grab the latest from your chart repositories...
    ...Unable to get an update from the "local" chart repository (http://127.0.0.1:8879/charts):
    	Get http://127.0.0.1:8879/charts/index.yaml: dial tcp 127.0.0.1:8879: getsockopt: connection refused
    ...Successfully got an update from the "releases" chart repository
    ...Successfully got an update from the "stable" chart repository
    ...Successfully got an update from the "jenkins-x" chart repository
    Update Complete. ⎈Happy Helming!
    Saving 2 charts
    Downloading exposecontroller from repo http://chartmuseum.build.cd.jenkins-x.io
    Downloading exposecontroller from repo http://chartmuseum.build.cd.jenkins-x.io
    Deleting outdated charts
    helm lint "env"
    ==> Linting env
    Lint OK
    
    1 chart(s) linted, no failures
    [Pipeline] }
    [Pipeline] // container
    [Pipeline] }
    [Pipeline] // stage
    [Pipeline] stage
    [Pipeline] { (Update Environment)
    [Pipeline] container
    [Pipeline] {
    [Pipeline] sh
    [ent-carpcoal-staging_master-6QDKMJ2XMNMFA5GSJVDMXNPODJHK2OTAAIO23EZOPYXO5MLNXDQQ] Running shell script
    + make install
    helm upgrade "jx-staging" "env" --install --namespace "jx-staging" --debug
    [debug] Created tunnel using local port: '36938'
    
    [debug] SERVER: "127.0.0.1:36938"
    
    Release "jx-staging" does not exist. Installing it now.
    [debug] CHART PATH: /home/jenkins/workspace/ent-carpcoal-staging_master-6QDKMJ2XMNMFA5GSJVDMXNPODJHK2OTAAIO23EZOPYXO5MLNXDQQ/env
    
    NAME:   jx-staging
    REVISION: 1
    RELEASED: Fri Jun  8 09:06:21 2018
    CHART: env-0.0.1
    USER-SUPPLIED VALUES:
    {}
    
    COMPUTED VALUES:
    cleanup:
      Annotations:
        helm.sh/hook: pre-delete
        helm.sh/hook-delete-policy: hook-succeeded
      Args:
      - --cleanup
      BackoffLimit: 5
      Image: jenkinsxio/exposecontroller
      ImageTag: 2.3.58
      global: {}
    expose:
      Annotations:
        helm.sh/hook: post-install,post-upgrade
        helm.sh/hook-delete-policy: hook-succeeded
      BackoffLimit: 5
      Image: jenkinsxio/exposecontroller
      ImageTag: 2.3.58
      config:
        domain: 35.230.49.158.nip.io
        exposer: Ingress
        http: "true"
        tlsacme: "false"
      global: {}
    
    HOOKS:
    ---
    # expose
    apiVersion: batch/v1
    kind: Job
    metadata:
      name: expose
      labels:
        heritage: "Tiller"
        release: "jx-staging"
        chart: "expose-2.3.58"
        component: "jx-staging-expose"
      name: expose
      annotations:
        helm.sh/hook: post-install,post-upgrade
        helm.sh/hook-delete-policy: hook-succeeded
        
    spec:
      # backoffLimit: 5
      template:
        metadata:
          name: "jx-staging"
          labels:
            heritage: "Tiller"
            release: "jx-staging"
            chart: "expose-2.3.58"
        spec:
          containers:
          - env:
            - name: KUBERNETES_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
            image: "jenkinsxio/exposecontroller:2.3.58"
            name: expose
            command: ["/exposecontroller"]
            args:
          serviceAccountName: expose
          restartPolicy: Never
    ---
    # cleanup
    apiVersion: batch/v1
    kind: Job
    metadata:
      name: cleanup
      labels:
        heritage: "Tiller"
        release: "jx-staging"
        chart: "cleanup-2.3.58"
        component: "jx-staging-cleanup"
      name: cleanup
      annotations:
        helm.sh/hook: pre-delete
        helm.sh/hook-delete-policy: hook-succeeded
        
    spec:
      # backoffLimit: 5
      template:
        metadata:
          name: "jx-staging"
          labels:
            heritage: "Tiller"
            release: "jx-staging"
            chart: "cleanup-2.3.58"
        spec:
          containers:
          - env:
            - name: KUBERNETES_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
            image: "jenkinsxio/exposecontroller:2.3.58"
            name: cleanup
            command: ["/exposecontroller"]
            args:
            - "--cleanup"
          serviceAccountName: cleanup
          restartPolicy: Never
    MANIFEST:
    
    ---
    # Source: env/charts/expose/templates/configmap.yaml
    apiVersion: v1
    data:
      config.yml: |-
        exposer: Ingress
        domain: 35.230.49.158.nip.io
        http: true
        tls-acme: false
    kind: ConfigMap
    metadata:
      name: exposecontroller
    ---
    # Source: env/charts/cleanup/templates/serviceaccount.yaml
    apiVersion: v1
    kind: ServiceAccount
    metadata:
      labels:
        app: cleanup
        chart: "cleanup-2.3.58"
        release: "jx-staging"
        heritage: "Tiller"
      name: cleanup
    ---
    # Source: env/charts/expose/templates/serviceaccount.yaml
    apiVersion: v1
    kind: ServiceAccount
    metadata:
      labels:
        app: expose
        chart: "expose-2.3.58"
        release: "jx-staging"
        heritage: "Tiller"
      name: expose
    ---
    # Source: env/charts/cleanup/templates/role.yaml
    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      name: cleanup
    rules:
    - apiGroups:
      - extensions
      resources:
      - ingresses
      verbs:
      - get
      - list
      - watch
      - patch
      - create
      - update
      - delete
    - apiGroups:
      - ""
      resources:
      - configmaps
      - services
      verbs:
      - get
      - list
      - watch
      - patch
      - update
    - apiGroups:
      - apps
      resources:
      - deployments
      verbs:
      - get
      - list
      - watch
      - patch
      - update
    - apiGroups:
      - ""
      - "route.openshift.io"
      resources:
      - routes
      verbs:
      - get
      - list
      - watch
      - patch
      - create
      - update
      - delete
    ---
    # Source: env/charts/expose/templates/role.yaml
    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      name: expose
    rules:
    - apiGroups:
      - extensions
      resources:
      - ingresses
      verbs:
      - get
      - list
      - watch
      - patch
      - create
      - update
      - delete
    - apiGroups:
      - ""
      resources:
      - configmaps
      - services
      verbs:
      - get
      - list
      - watch
      - patch
      - update
    - apiGroups:
      - apps
      resources:
      - deployments
      verbs:
      - get
      - list
      - watch
      - patch
      - update
    - apiGroups:
      - ""
      - "route.openshift.io"
      resources:
      - routes
      verbs:
      - get
      - list
      - watch
      - patch
      - create
      - update
      - delete
    ---
    # Source: env/charts/cleanup/templates/rolebinding.yaml
    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: cleanup
      namespace: jx-staging
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: Role
      name: cleanup
    subjects:
    - kind: ServiceAccount
      name: cleanup
      namespace: jx-staging
    ---
    # Source: env/charts/expose/templates/rolebinding.yaml
    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: expose
      namespace: jx-staging
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: Role
      name: expose
    subjects:
    - kind: ServiceAccount
      name: expose
      namespace: jx-staging
    LAST DEPLOYED: Fri Jun  8 09:06:21 2018
    NAMESPACE: jx-staging
    STATUS: DEPLOYED
    
    RESOURCES:
    ==> v1/ConfigMap
    NAME              DATA  AGE
    exposecontroller  1     9s
    
    ==> v1/ServiceAccount
    NAME     SECRETS  AGE
    cleanup  1        9s
    expose   1        9s
    
    ==> v1/Role
    NAME     AGE
    cleanup  9s
    expose   9s
    
    ==> v1/RoleBinding
    NAME     AGE
    cleanup  9s
    expose   9s
    
    
    [Pipeline] }
    [Pipeline] // container
    [Pipeline] }
    [Pipeline] // stage
    [Pipeline] }
    [Pipeline] // withEnv
    [Pipeline] }
    [Pipeline] // node
    [Pipeline] End of Pipeline
    
    GitHub has been notified of this commit’s build result
    
    Finished: SUCCESS

    Please find detailed logs of the above command from the Production environment displayed below.

    $ jx get build logs
    ? Which pipeline do you want to view the logs of?:  grohan2002/environment-carpcoal-production/master
    view the log at: http://jenkins.jx.35.230.49.158.nip.io/job/grohan2002/job/environment-carpcoal-production/job/master/1/console
    tailing the log of grohan2002/environment-carpcoal-production/master #1
    Branch indexing
    Connecting to https://api.github.com using grohan2002/****** (API Token for acccessing https://github.com git service inside pipelines)
    Obtained Jenkinsfile from 064603de5cc9f03d0b893fa4aaa6950b7bfe99f1
    Running in Durability level: MAX_SURVIVABILITY
    [Pipeline] node
    Still waiting to schedule task
    maven-5xzh0 is offline
    Running on maven-8hhjb in /home/jenkins/workspace/-carpcoal-production_master-TXWJBDNX3PPVBA42Y2NQBLQ5UXXIJZQJRN5IAG7FWTSCBVLG7VCQ
    [Pipeline] {
    [Pipeline] stage
    [Pipeline] { (Declarative: Checkout SCM)
    [Pipeline] checkout
    Cloning the remote Git repository
    Cloning with configured refspecs honoured and without tags
    Cloning repository https://github.com/grohan2002/environment-carpcoal-production.git
     > git init /home/jenkins/workspace/-carpcoal-production_master-TXWJBDNX3PPVBA42Y2NQBLQ5UXXIJZQJRN5IAG7FWTSCBVLG7VCQ # timeout=10
    Fetching upstream changes from https://github.com/grohan2002/environment-carpcoal-production.git
     > git --version # timeout=10
    using GIT_ASKPASS to set credentials API Token for acccessing https://github.com git service inside pipelines
     > git fetch --no-tags --progress https://github.com/grohan2002/environment-carpcoal-production.git +refs/heads/master:refs/remotes/origin/master
     > git config remote.origin.url https://github.com/grohan2002/environment-carpcoal-production.git # timeout=10
     > git config --add remote.origin.fetch +refs/heads/master:refs/remotes/origin/master # timeout=10
     > git config remote.origin.url https://github.com/grohan2002/environment-carpcoal-production.git # timeout=10
    Fetching without tags
    Fetching upstream changes from https://github.com/grohan2002/environment-carpcoal-production.git
    using GIT_ASKPASS to set credentials API Token for acccessing https://github.com git service inside pipelines
     > git fetch --no-tags --progress https://github.com/grohan2002/environment-carpcoal-production.git +refs/heads/master:refs/remotes/origin/master
    Checking out Revision 064603de5cc9f03d0b893fa4aaa6950b7bfe99f1 (master)
     > git config core.sparsecheckout # timeout=10
     > git checkout -f 064603de5cc9f03d0b893fa4aaa6950b7bfe99f1
    Commit message: "Add environment configuration"
    First time build. Skipping changelog.
    [Pipeline] }
    [Pipeline] // stage
    [Pipeline] withEnv
    [Pipeline] {
    [Pipeline] stage
    [Pipeline] { (Validate Environment)
    [Pipeline] container
    [Pipeline] {
    [Pipeline] sh
    [-carpcoal-production_master-TXWJBDNX3PPVBA42Y2NQBLQ5UXXIJZQJRN5IAG7FWTSCBVLG7VCQ] Running shell script
    + make build
    rm -rf requirements.lock
    helm version
    Client: &version.Version{SemVer:"v2.8.2", GitCommit:"a80231648a1473929271764b920a8e346f6de844", GitTreeState:"clean"}
    Server: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}
    helm init
    Creating /home/jenkins/.helm 
    Creating /home/jenkins/.helm/repository 
    Creating /home/jenkins/.helm/repository/cache 
    Creating /home/jenkins/.helm/repository/local 
    Creating /home/jenkins/.helm/plugins 
    Creating /home/jenkins/.helm/starters 
    Creating /home/jenkins/.helm/cache/archive 
    Creating /home/jenkins/.helm/repository/repositories.yaml 
    Adding stable repo with URL: https://kubernetes-charts.storage.googleapis.com 
    Adding local repo with URL: http://127.0.0.1:8879/charts 
    $HELM_HOME has been configured at /home/jenkins/.helm.
    Warning: Tiller is already installed in the cluster.
    (Use --client-only to suppress this message, or --upgrade to upgrade Tiller to the current version.)
    Happy Helming!
    helm repo add releases http://jenkins-x-chartmuseum:8080
    "releases" has been added to your repositories
    helm repo add jenkins-x http://chartmuseum.build.cd.jenkins-x.io
    "jenkins-x" has been added to your repositories
    helm dependency build "env"
    Hang tight while we grab the latest from your chart repositories...
    ...Unable to get an update from the "local" chart repository (http://127.0.0.1:8879/charts):
    	Get http://127.0.0.1:8879/charts/index.yaml: dial tcp 127.0.0.1:8879: getsockopt: connection refused
    ...Successfully got an update from the "releases" chart repository
    ...Successfully got an update from the "stable" chart repository
    ...Successfully got an update from the "jenkins-x" chart repository
    Update Complete. ⎈Happy Helming!
    Saving 2 charts
    Downloading exposecontroller from repo http://chartmuseum.build.cd.jenkins-x.io
    Downloading exposecontroller from repo http://chartmuseum.build.cd.jenkins-x.io
    Deleting outdated charts
    helm lint "env"
    ==> Linting env
    Lint OK
    
    1 chart(s) linted, no failures
    [Pipeline] }
    [Pipeline] // container
    [Pipeline] }
    [Pipeline] // stage
    [Pipeline] stage
    [Pipeline] { (Update Environment)
    [Pipeline] container
    [Pipeline] {
    [Pipeline] sh
    [-carpcoal-production_master-TXWJBDNX3PPVBA42Y2NQBLQ5UXXIJZQJRN5IAG7FWTSCBVLG7VCQ] Running shell script
    + make install
    helm upgrade "jx-production" "env" --install --namespace "jx-production" --debug
    [debug] Created tunnel using local port: '38796'
    
    [debug] SERVER: "127.0.0.1:38796"
    
    Release "jx-production" does not exist. Installing it now.
    [debug] CHART PATH: /home/jenkins/workspace/-carpcoal-production_master-TXWJBDNX3PPVBA42Y2NQBLQ5UXXIJZQJRN5IAG7FWTSCBVLG7VCQ/env
    
    NAME:   jx-production
    REVISION: 1
    RELEASED: Fri Jun  8 09:08:34 2018
    CHART: env-0.0.1
    USER-SUPPLIED VALUES:
    {}
    
    COMPUTED VALUES:
    cleanup:
      Annotations:
        helm.sh/hook: pre-delete
        helm.sh/hook-delete-policy: hook-succeeded
      Args:
      - --cleanup
      BackoffLimit: 5
      Image: jenkinsxio/exposecontroller
      ImageTag: 2.3.58
      global: {}
    expose:
      Annotations:
        helm.sh/hook: post-install,post-upgrade
        helm.sh/hook-delete-policy: hook-succeeded
      BackoffLimit: 5
      Image: jenkinsxio/exposecontroller
      ImageTag: 2.3.58
      config:
        domain: 35.230.49.158.nip.io
        exposer: Ingress
        http: "true"
        tlsacme: "false"
      global: {}
    
    HOOKS:
    ---
    # cleanup
    apiVersion: batch/v1
    kind: Job
    metadata:
      name: cleanup
      labels:
        heritage: "Tiller"
        release: "jx-production"
        chart: "cleanup-2.3.58"
        component: "jx-production-cleanup"
      name: cleanup
      annotations:
        helm.sh/hook: pre-delete
        helm.sh/hook-delete-policy: hook-succeeded
        
    spec:
      # backoffLimit: 5
      template:
        metadata:
          name: "jx-production"
          labels:
            heritage: "Tiller"
            release: "jx-production"
            chart: "cleanup-2.3.58"
        spec:
          containers:
          - env:
            - name: KUBERNETES_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
            image: "jenkinsxio/exposecontroller:2.3.58"
            name: cleanup
            command: ["/exposecontroller"]
            args:
            - "--cleanup"
          serviceAccountName: cleanup
          restartPolicy: Never
    ---
    # expose
    apiVersion: batch/v1
    kind: Job
    metadata:
      name: expose
      labels:
        heritage: "Tiller"
        release: "jx-production"
        chart: "expose-2.3.58"
        component: "jx-production-expose"
      name: expose
      annotations:
        helm.sh/hook: post-install,post-upgrade
        helm.sh/hook-delete-policy: hook-succeeded
        
    spec:
      # backoffLimit: 5
      template:
        metadata:
          name: "jx-production"
          labels:
            heritage: "Tiller"
            release: "jx-production"
            chart: "expose-2.3.58"
        spec:
          containers:
          - env:
            - name: KUBERNETES_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
            image: "jenkinsxio/exposecontroller:2.3.58"
            name: expose
            command: ["/exposecontroller"]
            args:
          serviceAccountName: expose
          restartPolicy: Never
    MANIFEST:
    
    ---
    # Source: env/charts/expose/templates/configmap.yaml
    apiVersion: v1
    data:
      config.yml: |-
        exposer: Ingress
        domain: 35.230.49.158.nip.io
        http: true
        tls-acme: false
    kind: ConfigMap
    metadata:
      name: exposecontroller
    ---
    # Source: env/charts/cleanup/templates/serviceaccount.yaml
    apiVersion: v1
    kind: ServiceAccount
    metadata:
      labels:
        app: cleanup
        chart: "cleanup-2.3.58"
        release: "jx-production"
        heritage: "Tiller"
      name: cleanup
    ---
    # Source: env/charts/expose/templates/serviceaccount.yaml
    apiVersion: v1
    kind: ServiceAccount
    metadata:
      labels:
        app: expose
        chart: "expose-2.3.58"
        release: "jx-production"
        heritage: "Tiller"
      name: expose
    ---
    # Source: env/charts/cleanup/templates/role.yaml
    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      name: cleanup
    rules:
    - apiGroups:
      - extensions
      resources:
      - ingresses
      verbs:
      - get
      - list
      - watch
      - patch
      - create
      - update
      - delete
    - apiGroups:
      - ""
      resources:
      - configmaps
      - services
      verbs:
      - get
      - list
      - watch
      - patch
      - update
    - apiGroups:
      - apps
      resources:
      - deployments
      verbs:
      - get
      - list
      - watch
      - patch
      - update
    - apiGroups:
      - ""
      - "route.openshift.io"
      resources:
      - routes
      verbs:
      - get
      - list
      - watch
      - patch
      - create
      - update
      - delete
    ---
    # Source: env/charts/expose/templates/role.yaml
    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      name: expose
    rules:
    - apiGroups:
      - extensions
      resources:
      - ingresses
      verbs:
      - get
      - list
      - watch
      - patch
      - create
      - update
      - delete
    - apiGroups:
      - ""
      resources:
      - configmaps
      - services
      verbs:
      - get
      - list
      - watch
      - patch
      - update
    - apiGroups:
      - apps
      resources:
      - deployments
      verbs:
      - get
      - list
      - watch
      - patch
      - update
    - apiGroups:
      - ""
      - "route.openshift.io"
      resources:
      - routes
      verbs:
      - get
      - list
      - watch
      - patch
      - create
      - update
      - delete
    ---
    # Source: env/charts/cleanup/templates/rolebinding.yaml
    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: cleanup
      namespace: jx-production
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: Role
      name: cleanup
    subjects:
    - kind: ServiceAccount
      name: cleanup
      namespace: jx-production
    ---
    # Source: env/charts/expose/templates/rolebinding.yaml
    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: expose
      namespace: jx-production
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: Role
      name: expose
    subjects:
    - kind: ServiceAccount
      name: expose
      namespace: jx-production
    LAST DEPLOYED: Fri Jun  8 09:08:34 2018
    NAMESPACE: jx-production
    STATUS: DEPLOYED
    
    RESOURCES:
    ==> v1/ConfigMap
    NAME              DATA  AGE
    exposecontroller  1     9s
    
    ==> v1/ServiceAccount
    NAME     SECRETS  AGE
    cleanup  1        9s
    expose   1        9s
    
    ==> v1/Role
    NAME     AGE
    cleanup  9s
    expose   8s
    
    ==> v1/RoleBinding
    NAME     AGE
    cleanup  8s
    expose   8s
    
    
    [Pipeline] }
    [Pipeline] // container
    [Pipeline] }
    [Pipeline] // stage
    [Pipeline] }
    [Pipeline] // withEnv
    [Pipeline] }
    [Pipeline] // node
    [Pipeline] End of Pipeline
    
    GitHub has been notified of this commit’s build result
    
    Finished: SUCCESS

    Jenkins X has been successfully installed and default environments are created on our new GKE cluster.

    How to create an application on Jenkins X

    The following steps creates a sample Spring Boot application and import it into Jenkins X.

    1. Command to create Spring Application 

    jx create spring

    It will prompt for some questions like the type of project, mvn group ID, artefact name, spring boot dependencies etc. It initializes this project as a Git repository. It adds some extra files to the repo i.e. Dockerfile, Jenkinsfile, charts etc. This will create a repository in GitHub. Also creates a project in Jenkins and registers webhooks in the Git repository.

    2. Command to get build logs

    jx get build logs

    aditi@EMP:/tmp$ jx get build logs
    ? Which pipeline do you want to view the logs of?:  grohan2002/demo08/master
    view the log at: http://jenkins.jx.35.230.49.158.nip.io/job/grohan2002/job/demo08/job/master/1/console
    tailing the log of grohan2002/demo08/master #1
    Branch indexing
    Connecting to https://api.github.com using grohan2002/****** (API Token for acccessing https://github.com git service inside pipelines)
    Obtained Jenkinsfile from efc077e94f0b7820ee4a626bd921e5da208ecf8a
    Running in Durability level: MAX_SURVIVABILITY
    [Pipeline] node
    Still waiting to schedule task
    Waiting for next available executor
    Running on maven-0tbjd in /home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A
    [Pipeline] {
    [Pipeline] stage
    [Pipeline] { (Declarative: Checkout SCM)
    [Pipeline] checkout
    Cloning the remote Git repository
    Cloning with configured refspecs honoured and without tags
    Cloning repository https://github.com/grohan2002/demo08.git
     > git init /home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A # timeout=10
    Fetching upstream changes from https://github.com/grohan2002/demo08.git
     > git --version # timeout=10
    using GIT_ASKPASS to set credentials API Token for acccessing https://github.com git service inside pipelines
     > git fetch --no-tags --progress https://github.com/grohan2002/demo08.git +refs/heads/master:refs/remotes/origin/master
     > git config remote.origin.url https://github.com/grohan2002/demo08.git # timeout=10
     > git config --add remote.origin.fetch +refs/heads/master:refs/remotes/origin/master # timeout=10
     > git config remote.origin.url https://github.com/grohan2002/demo08.git # timeout=10
    Fetching without tags
    Fetching upstream changes from https://github.com/grohan2002/demo08.git
    using GIT_ASKPASS to set credentials API Token for acccessing https://github.com git service inside pipelines
     > git fetch --no-tags --progress https://github.com/grohan2002/demo08.git +refs/heads/master:refs/remotes/origin/master
    Checking out Revision efc077e94f0b7820ee4a626bd921e5da208ecf8a (master)
     > git config core.sparsecheckout # timeout=10
     > git checkout -f efc077e94f0b7820ee4a626bd921e5da208ecf8a
    Commit message: "Draft create"
    First time build. Skipping changelog.
    [Pipeline] }
    [Pipeline] // stage
    [Pipeline] withEnv
    [Pipeline] {
    [Pipeline] withCredentials
    [Pipeline] {
    [Pipeline] withEnv
    [Pipeline] {
    [Pipeline] stage
    [Pipeline] { (CI Build and push snapshot)
    Stage 'CI Build and push snapshot' skipped due to when conditional
    [Pipeline] }
    [Pipeline] // stage
    [Pipeline] stage
    [Pipeline] { (Build Release)
    [Pipeline] container
    [Pipeline] {
    [Pipeline] sh
    [grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A] Running shell script
    + git checkout master
    Switched to a new branch 'master'
    Branch master set up to track remote branch master from origin.
    [Pipeline] sh
    [grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A] Running shell script
    + git config --global credential.helper store
    [Pipeline] sh
    [grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A] Running shell script
    + jx step validate --min-jx-version 1.1.73
    [Pipeline] sh
    [grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A] Running shell script
    + jx step git credentials
    Generated git credentials file /home/jenkins/git/credentials
    [Pipeline] sh
    [grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A] Running shell script
    ++ jx-release-version
    + echo 0.0.1
    [Pipeline] sh
    [grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A] Running shell script
    ++ cat VERSION
    + mvn versions:set -DnewVersion=0.0.1
    Picked up _JAVA_OPTIONS: -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -Dsun.zip.disableMemoryMapping=true -XX:+UseParallelGC -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10 -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Xms10m -Xmx192m
    [INFO] Scanning for projects...
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-parent/2.0.2.RELEASE/spring-boot-starter-parent-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-parent/2.0.2.RELEASE/spring-boot-starter-parent-2.0.2.RELEASE.pom (12 KB at 5.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-dependencies/2.0.2.RELEASE/spring-boot-dependencies-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-dependencies/2.0.2.RELEASE/spring-boot-dependencies-2.0.2.RELEASE.pom (133 KB at 498.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/jackson-bom/2.9.5/jackson-bom-2.9.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/jackson-bom/2.9.5/jackson-bom-2.9.5.pom (13 KB at 82.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/jackson-parent/2.9.1/jackson-parent-2.9.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/jackson-parent/2.9.1/jackson-parent-2.9.1.pom (8 KB at 61.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/oss-parent/30/oss-parent-30.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/oss-parent/30/oss-parent-30.pom (21 KB at 169.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/io/netty/netty-bom/4.1.24.Final/netty-bom-4.1.24.Final.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/io/netty/netty-bom/4.1.24.Final/netty-bom-4.1.24.Final.pom (8 KB at 86.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/oss/oss-parent/7/oss-parent-7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/oss/oss-parent/7/oss-parent-7.pom (5 KB at 51.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/io/projectreactor/reactor-bom/Bismuth-SR9/reactor-bom-Bismuth-SR9.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/io/projectreactor/reactor-bom/Bismuth-SR9/reactor-bom-Bismuth-SR9.pom (4 KB at 32.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/logging/log4j/log4j-bom/2.10.0/log4j-bom-2.10.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/logging/log4j/log4j-bom/2.10.0/log4j-bom-2.10.0.pom (6 KB at 53.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/logging/logging-parent/1/logging-parent-1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/logging/logging-parent/1/logging-parent-1.pom (4 KB at 26.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/apache/18/apache-18.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/apache/18/apache-18.pom (16 KB at 121.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/eclipse/jetty/jetty-bom/9.4.10.v20180503/jetty-bom-9.4.10.v20180503.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/eclipse/jetty/jetty-bom/9.4.10.v20180503/jetty-bom-9.4.10.v20180503.pom (18 KB at 129.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-framework-bom/5.0.6.RELEASE/spring-framework-bom-5.0.6.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-framework-bom/5.0.6.RELEASE/spring-framework-bom-5.0.6.RELEASE.pom (6 KB at 20.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/data/spring-data-releasetrain/Kay-SR7/spring-data-releasetrain-Kay-SR7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/data/spring-data-releasetrain/Kay-SR7/spring-data-releasetrain-Kay-SR7.pom (5 KB at 37.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/data/build/spring-data-build/2.0.7.RELEASE/spring-data-build-2.0.7.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/data/build/spring-data-build/2.0.7.RELEASE/spring-data-build-2.0.7.RELEASE.pom (7 KB at 57.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/integration/spring-integration-bom/5.0.5.RELEASE/spring-integration-bom-5.0.5.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/integration/spring-integration-bom/5.0.5.RELEASE/spring-integration-bom-5.0.5.RELEASE.pom (9 KB at 106.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/security/spring-security-bom/5.0.5.RELEASE/spring-security-bom-5.0.5.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/security/spring-security-bom/5.0.5.RELEASE/spring-security-bom-5.0.5.RELEASE.pom (5 KB at 53.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/session/spring-session-bom/Apple-SR2/spring-session-bom-Apple-SR2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/session/spring-session-bom/Apple-SR2/spring-session-bom-Apple-SR2.pom (3 KB at 26.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-maven-plugin/2.0.2.RELEASE/spring-boot-maven-plugin-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-maven-plugin/2.0.2.RELEASE/spring-boot-maven-plugin-2.0.2.RELEASE.pom (5 KB at 41.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-tools/2.0.2.RELEASE/spring-boot-tools-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-tools/2.0.2.RELEASE/spring-boot-tools-2.0.2.RELEASE.pom (2 KB at 14.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-parent/2.0.2.RELEASE/spring-boot-parent-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-parent/2.0.2.RELEASE/spring-boot-parent-2.0.2.RELEASE.pom (2 KB at 10.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-maven-plugin/2.0.2.RELEASE/spring-boot-maven-plugin-2.0.2.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-maven-plugin/2.0.2.RELEASE/spring-boot-maven-plugin-2.0.2.RELEASE.jar (63 KB at 520.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-clean-plugin/3.0.0/maven-clean-plugin-3.0.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-clean-plugin/3.0.0/maven-clean-plugin-3.0.0.pom (5 KB at 30.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-plugins/28/maven-plugins-28.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-plugins/28/maven-plugins-28.pom (12 KB at 100.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-parent/27/maven-parent-27.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-parent/27/maven-parent-27.pom (40 KB at 393.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/apache/17/apache-17.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/apache/17/apache-17.pom (16 KB at 161.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-clean-plugin/3.0.0/maven-clean-plugin-3.0.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-clean-plugin/3.0.0/maven-clean-plugin-3.0.0.jar (30 KB at 282.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-resources-plugin/3.0.1/maven-resources-plugin-3.0.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-resources-plugin/3.0.1/maven-resources-plugin-3.0.1.pom (7 KB at 68.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-plugins/30/maven-plugins-30.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-plugins/30/maven-plugins-30.pom (10 KB at 115.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-parent/30/maven-parent-30.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-parent/30/maven-parent-30.pom (41 KB at 411.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-resources-plugin/3.0.1/maven-resources-plugin-3.0.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-resources-plugin/3.0.1/maven-resources-plugin-3.0.1.jar (31 KB at 341.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-jar-plugin/3.0.2/maven-jar-plugin-3.0.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-jar-plugin/3.0.2/maven-jar-plugin-3.0.2.pom (7 KB at 66.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-jar-plugin/3.0.2/maven-jar-plugin-3.0.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-jar-plugin/3.0.2/maven-jar-plugin-3.0.2.jar (27 KB at 321.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-compiler-plugin/3.7.0/maven-compiler-plugin-3.7.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-compiler-plugin/3.7.0/maven-compiler-plugin-3.7.0.pom (11 KB at 113.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-compiler-plugin/3.7.0/maven-compiler-plugin-3.7.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-compiler-plugin/3.7.0/maven-compiler-plugin-3.7.0.jar (57 KB at 598.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-surefire-plugin/2.21.0/maven-surefire-plugin-2.21.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-surefire-plugin/2.21.0/maven-surefire-plugin-2.21.0.pom (6 KB at 56.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire/2.21.0/surefire-2.21.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire/2.21.0/surefire-2.21.0.pom (28 KB at 236.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-surefire-plugin/2.21.0/maven-surefire-plugin-2.21.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-surefire-plugin/2.21.0/maven-surefire-plugin-2.21.0.jar (40 KB at 389.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-install-plugin/2.5.2/maven-install-plugin-2.5.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-install-plugin/2.5.2/maven-install-plugin-2.5.2.pom (7 KB at 66.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-plugins/25/maven-plugins-25.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-plugins/25/maven-plugins-25.pom (10 KB at 87.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-parent/24/maven-parent-24.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-parent/24/maven-parent-24.pom (37 KB at 327.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/apache/14/apache-14.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/apache/14/apache-14.pom (15 KB at 177.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-install-plugin/2.5.2/maven-install-plugin-2.5.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-install-plugin/2.5.2/maven-install-plugin-2.5.2.jar (33 KB at 437.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-deploy-plugin/2.8.2/maven-deploy-plugin-2.8.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-deploy-plugin/2.8.2/maven-deploy-plugin-2.8.2.pom (7 KB at 98.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-deploy-plugin/2.8.2/maven-deploy-plugin-2.8.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-deploy-plugin/2.8.2/maven-deploy-plugin-2.8.2.jar (34 KB at 432.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-site-plugin/3.6/maven-site-plugin-3.6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-site-plugin/3.6/maven-site-plugin-3.6.pom (18 KB at 138.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-site-plugin/3.6/maven-site-plugin-3.6.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-site-plugin/3.6/maven-site-plugin-3.6.jar (130 KB at 1318.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jetbrains/kotlin/kotlin-maven-plugin/1.2.41/kotlin-maven-plugin-1.2.41.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jetbrains/kotlin/kotlin-maven-plugin/1.2.41/kotlin-maven-plugin-1.2.41.pom (6 KB at 52.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jetbrains/kotlin/kotlin-project/1.2.41/kotlin-project-1.2.41.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jetbrains/kotlin/kotlin-project/1.2.41/kotlin-project-1.2.41.pom (10 KB at 120.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jetbrains/kotlin/kotlin-maven-plugin/1.2.41/kotlin-maven-plugin-1.2.41.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jetbrains/kotlin/kotlin-maven-plugin/1.2.41/kotlin-maven-plugin-1.2.41.jar (77 KB at 719.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jooq/jooq-codegen-maven/3.10.7/jooq-codegen-maven-3.10.7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jooq/jooq-codegen-maven/3.10.7/jooq-codegen-maven-3.10.7.pom (4 KB at 29.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jooq/jooq-parent/3.10.7/jooq-parent-3.10.7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jooq/jooq-parent/3.10.7/jooq-parent-3.10.7.pom (11 KB at 121.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jooq/jooq-codegen-maven/3.10.7/jooq-codegen-maven-3.10.7.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jooq/jooq-codegen-maven/3.10.7/jooq-codegen-maven-3.10.7.jar (16 KB at 164.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-antrun-plugin/1.8/maven-antrun-plugin-1.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-antrun-plugin/1.8/maven-antrun-plugin-1.8.pom (4 KB at 32.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-plugins/27/maven-plugins-27.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-plugins/27/maven-plugins-27.pom (12 KB at 132.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-parent/26/maven-parent-26.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-parent/26/maven-parent-26.pom (39 KB at 332.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/apache/16/apache-16.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/apache/16/apache-16.pom (16 KB at 90.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-antrun-plugin/1.8/maven-antrun-plugin-1.8.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-antrun-plugin/1.8/maven-antrun-plugin-1.8.jar (36 KB at 382.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-assembly-plugin/3.1.0/maven-assembly-plugin-3.1.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-assembly-plugin/3.1.0/maven-assembly-plugin-3.1.0.pom (16 KB at 184.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-assembly-plugin/3.1.0/maven-assembly-plugin-3.1.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-assembly-plugin/3.1.0/maven-assembly-plugin-3.1.0.jar (236 KB at 1601.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-dependency-plugin/3.0.2/maven-dependency-plugin-3.0.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-dependency-plugin/3.0.2/maven-dependency-plugin-3.0.2.pom (14 KB at 138.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-dependency-plugin/3.0.2/maven-dependency-plugin-3.0.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-dependency-plugin/3.0.2/maven-dependency-plugin-3.0.2.jar (163 KB at 1463.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-release-plugin/2.3.2/maven-release-plugin-2.3.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-release-plugin/2.3.2/maven-release-plugin-2.3.2.pom (10 KB at 91.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/release/maven-release/2.3.2/maven-release-2.3.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/release/maven-release/2.3.2/maven-release-2.3.2.pom (9 KB at 79.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-parent/21/maven-parent-21.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-parent/21/maven-parent-21.pom (26 KB at 396.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/apache/10/apache-10.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/apache/10/apache-10.pom (15 KB at 192.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-release-plugin/2.3.2/maven-release-plugin-2.3.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-release-plugin/2.3.2/maven-release-plugin-2.3.2.jar (44 KB at 577.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-eclipse-plugin/2.10/maven-eclipse-plugin-2.10.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-eclipse-plugin/2.10/maven-eclipse-plugin-2.10.pom (19 KB at 200.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-eclipse-plugin/2.10/maven-eclipse-plugin-2.10.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-eclipse-plugin/2.10/maven-eclipse-plugin-2.10.jar (219 KB at 1654.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-enforcer-plugin/3.0.0-M1/maven-enforcer-plugin-3.0.0-M1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-enforcer-plugin/3.0.0-M1/maven-enforcer-plugin-3.0.0-M1.pom (8 KB at 83.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/enforcer/enforcer/3.0.0-M1/enforcer-3.0.0-M1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/enforcer/enforcer/3.0.0-M1/enforcer-3.0.0-M1.pom (9 KB at 90.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-enforcer-plugin/3.0.0-M1/maven-enforcer-plugin-3.0.0-M1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-enforcer-plugin/3.0.0-M1/maven-enforcer-plugin-3.0.0-M1.jar (26 KB at 263.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-failsafe-plugin/2.21.0/maven-failsafe-plugin-2.21.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-failsafe-plugin/2.21.0/maven-failsafe-plugin-2.21.0.pom (12 KB at 123.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-failsafe-plugin/2.21.0/maven-failsafe-plugin-2.21.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-failsafe-plugin/2.21.0/maven-failsafe-plugin-2.21.0.jar (288 KB at 2142.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-invoker-plugin/3.0.0/maven-invoker-plugin-3.0.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-invoker-plugin/3.0.0/maven-invoker-plugin-3.0.0.pom (14 KB at 145.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-invoker-plugin/3.0.0/maven-invoker-plugin-3.0.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-invoker-plugin/3.0.0/maven-invoker-plugin-3.0.0.jar (111 KB at 1264.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-help-plugin/2.2/maven-help-plugin-2.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-help-plugin/2.2/maven-help-plugin-2.2.pom (9 KB at 107.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-plugins/24/maven-plugins-24.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-plugins/24/maven-plugins-24.pom (11 KB at 155.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-parent/23/maven-parent-23.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-parent/23/maven-parent-23.pom (32 KB at 227.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/apache/13/apache-13.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/apache/13/apache-13.pom (14 KB at 166.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-help-plugin/2.2/maven-help-plugin-2.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-help-plugin/2.2/maven-help-plugin-2.2.jar (67 KB at 827.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-javadoc-plugin/3.0.0/maven-javadoc-plugin-3.0.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-javadoc-plugin/3.0.0/maven-javadoc-plugin-3.0.0.pom (18 KB at 254.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-javadoc-plugin/3.0.0/maven-javadoc-plugin-3.0.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-javadoc-plugin/3.0.0/maven-javadoc-plugin-3.0.0.jar (406 KB at 3074.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-shade-plugin/2.4.3/maven-shade-plugin-2.4.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-shade-plugin/2.4.3/maven-shade-plugin-2.4.3.pom (9 KB at 110.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-shade-plugin/2.4.3/maven-shade-plugin-2.4.3.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-shade-plugin/2.4.3/maven-shade-plugin-2.4.3.jar (102 KB at 982.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-source-plugin/3.0.1/maven-source-plugin-3.0.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-source-plugin/3.0.1/maven-source-plugin-3.0.1.pom (6 KB at 66.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-source-plugin/3.0.1/maven-source-plugin-3.0.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-source-plugin/3.0.1/maven-source-plugin-3.0.1.jar (31 KB at 426.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-war-plugin/3.1.0/maven-war-plugin-3.1.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-war-plugin/3.1.0/maven-war-plugin-3.1.0.pom (10 KB at 135.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-war-plugin/3.1.0/maven-war-plugin-3.1.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-war-plugin/3.1.0/maven-war-plugin-3.1.0.jar (90 KB at 1220.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/mojo/build-helper-maven-plugin/3.0.0/build-helper-maven-plugin-3.0.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/mojo/build-helper-maven-plugin/3.0.0/build-helper-maven-plugin-3.0.0.pom (6 KB at 71.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/mojo/mojo-parent/40/mojo-parent-40.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/mojo/mojo-parent/40/mojo-parent-40.pom (33 KB at 490.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/mojo/build-helper-maven-plugin/3.0.0/build-helper-maven-plugin-3.0.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/mojo/build-helper-maven-plugin/3.0.0/build-helper-maven-plugin-3.0.0.jar (63 KB at 861.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/mojo/exec-maven-plugin/1.5.0/exec-maven-plugin-1.5.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/mojo/exec-maven-plugin/1.5.0/exec-maven-plugin-1.5.0.pom (13 KB at 152.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/mojo/mojo-parent/38/mojo-parent-38.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/mojo/mojo-parent/38/mojo-parent-38.pom (33 KB at 398.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/mojo/exec-maven-plugin/1.5.0/exec-maven-plugin-1.5.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/mojo/exec-maven-plugin/1.5.0/exec-maven-plugin-1.5.0.jar (53 KB at 619.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/mojo/versions-maven-plugin/2.3/versions-maven-plugin-2.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/mojo/versions-maven-plugin/2.3/versions-maven-plugin-2.3.pom (16 KB at 177.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/mojo/mojo-parent/39/mojo-parent-39.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/mojo/mojo-parent/39/mojo-parent-39.pom (34 KB at 429.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/mojo/versions-maven-plugin/2.3/versions-maven-plugin-2.3.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/mojo/versions-maven-plugin/2.3/versions-maven-plugin-2.3.jar (257 KB at 3210.0 KB/sec)
    [INFO]                   
    [INFO] ------------------------------------------------------------------------
    [INFO] Building demo 0.0.1-SNAPSHOT
    [INFO] ------------------------------------------------------------------------
    [INFO] 
    [INFO] --- versions-maven-plugin:2.3:set (default-cli) @ demo08 ---
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.pom (2 KB at 18.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven/2.2.1/maven-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven/2.2.1/maven-2.2.1.pom (22 KB at 263.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-parent/11/maven-parent-11.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-parent/11/maven-parent-11.pom (32 KB at 400.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/apache/5/apache-5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/apache/5/apache-5.pom (5 KB at 62.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.pom (7 KB at 98.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/2.0.2/plexus-2.0.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/2.0.2/plexus-2.0.2.pom (12 KB at 182.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-artifact-manager/2.2.1/maven-artifact-manager-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-artifact-manager/2.2.1/maven-artifact-manager-2.2.1.pom (4 KB at 42.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-repository-metadata/2.2.1/maven-repository-metadata-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-repository-metadata/2.2.1/maven-repository-metadata-2.2.1.pom (2 KB at 25.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.pom (4 KB at 50.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-containers/1.0.3/plexus-containers-1.0.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-containers/1.0.3/plexus-containers-1.0.3.pom (492 B at 7.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom (6 KB at 51.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/junit/junit/4.12/junit-4.12.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/junit/junit/4.12/junit-4.12.pom (24 KB at 159.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.pom (766 B at 6.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/hamcrest/hamcrest-parent/1.3/hamcrest-parent-1.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/hamcrest/hamcrest-parent/1.3/hamcrest-parent-1.3.pom (2 KB at 28.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom (7 KB at 79.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom (4 KB at 39.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.pom (880 B at 11.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-core/2.2.1/maven-core-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-core/2.2.1/maven-core-2.2.1.pom (12 KB at 153.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-settings/2.2.1/maven-settings-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-settings/2.2.1/maven-settings-2.2.1.pom (3 KB at 30.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-model/2.2.1/maven-model-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-model/2.2.1/maven-model-2.2.1.pom (4 KB at 41.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.pom (889 B at 9.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-components/1.1.14/plexus-components-1.1.14.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-components/1.1.14/plexus-components-1.1.14.pom (6 KB at 82.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-parameter-documenter/2.2.1/maven-plugin-parameter-documenter-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-parameter-documenter/2.2.1/maven-plugin-parameter-documenter-2.2.1.pom (2 KB at 24.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/slf4j/slf4j-jdk14/1.5.6/slf4j-jdk14-1.5.6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/slf4j/slf4j-jdk14/1.5.6/slf4j-jdk14-1.5.6.pom (2 KB at 22.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/slf4j/slf4j-parent/1.5.6/slf4j-parent-1.5.6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/slf4j/slf4j-parent/1.5.6/slf4j-parent-1.5.6.pom (8 KB at 61.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5.6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5.6.pom (3 KB at 42.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/slf4j/jcl-over-slf4j/1.5.6/jcl-over-slf4j-1.5.6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/slf4j/jcl-over-slf4j/1.5.6/jcl-over-slf4j-1.5.6.pom (3 KB at 30.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/reporting/maven-reporting-api/2.2.1/maven-reporting-api-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/reporting/maven-reporting-api/2.2.1/maven-reporting-api-2.2.1.pom (2 KB at 31.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/reporting/maven-reporting/2.2.1/maven-reporting-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/reporting/maven-reporting/2.2.1/maven-reporting-2.2.1.pom (2 KB at 22.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-sink-api/1.1/doxia-sink-api-1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-sink-api/1.1/doxia-sink-api-1.1.pom (2 KB at 26.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia/1.1/doxia-1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia/1.1/doxia-1.1.pom (15 KB at 231.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-logging-api/1.1/doxia-logging-api-1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-logging-api/1.1/doxia-logging-api-1.1.pom (2 KB at 29.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.pom (4 KB at 43.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-containers/1.0-alpha-30/plexus-containers-1.0-alpha-30.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-containers/1.0-alpha-30/plexus-containers-1.0-alpha-30.pom (2 KB at 28.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom (9 KB at 134.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom (3 KB at 30.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/1.2-alpha-9/plexus-classworlds-1.2-alpha-9.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/1.2-alpha-9/plexus-classworlds-1.2-alpha-9.pom (4 KB at 49.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom (9 KB at 99.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-profile/2.2.1/maven-profile-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-profile/2.2.1/maven-profile-2.2.1.pom (3 KB at 16.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-error-diagnostics/2.2.1/maven-error-diagnostics-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-error-diagnostics/2.2.1/maven-error-diagnostics-2.2.1.pom (2 KB at 25.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-project/2.2.1/maven-project-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-project/2.2.1/maven-project-2.2.1.pom (3 KB at 38.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-registry/2.2.1/maven-plugin-registry-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-registry/2.2.1/maven-plugin-registry-2.2.1.pom (2 KB at 21.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-cli/commons-cli/1.2/commons-cli-1.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-cli/commons-cli/1.2/commons-cli-1.2.pom (8 KB at 92.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/commons/commons-parent/11/commons-parent-11.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/commons/commons-parent/11/commons-parent-11.pom (25 KB at 183.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/apache/4/apache-4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/apache/4/apache-4.pom (5 KB at 67.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-api/2.2.1/maven-plugin-api-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-api/2.2.1/maven-plugin-api-2.2.1.pom (2 KB at 9.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-descriptor/2.2.1/maven-plugin-descriptor-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-descriptor/2.2.1/maven-plugin-descriptor-2.2.1.pom (3 KB at 33.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom (7 KB at 85.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-monitor/2.2.1/maven-monitor-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-monitor/2.2.1/maven-monitor-2.2.1.pom (2 KB at 17.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/classworlds/classworlds/1.1/classworlds-1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/classworlds/classworlds/1.1/classworlds-1.1.pom (4 KB at 56.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.pom (3 KB at 39.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/spice/spice-parent/12/spice-parent-12.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/spice/spice-parent/12/spice-parent-12.pom (7 KB at 46.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/forge/forge-parent/4/forge-parent-4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/forge/forge-parent/4/forge-parent-4.pom (9 KB at 120.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.5.5/plexus-utils-1.5.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.5.5/plexus-utils-1.5.5.pom (6 KB at 81.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.pom (3 KB at 26.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.pom (3 KB at 21.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-components/15/maven-shared-components-15.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-components/15/maven-shared-components-15.pom (10 KB at 55.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-parent/16/maven-parent-16.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-parent/16/maven-parent-16.pom (23 KB at 247.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/apache/7/apache-7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/apache/7/apache-7.pom (15 KB at 243.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.pom (2 KB at 21.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia/1.0/doxia-1.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia/1.0/doxia-1.0.pom (10 KB at 129.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-parent/10/maven-parent-10.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-parent/10/maven-parent-10.pom (31 KB at 441.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/reporting/maven-reporting-impl/2.2/maven-reporting-impl-2.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/reporting/maven-reporting-impl/2.2/maven-reporting-impl-2.2.pom (5 KB at 79.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-components/17/maven-shared-components-17.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-components/17/maven-shared-components-17.pom (9 KB at 139.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-sink-api/1.2/doxia-sink-api-1.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-sink-api/1.2/doxia-sink-api-1.2.pom (2 KB at 25.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia/1.2/doxia-1.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia/1.2/doxia-1.2.pom (19 KB at 259.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-parent/19/maven-parent-19.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-parent/19/maven-parent-19.pom (25 KB at 421.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/apache/9/apache-9.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/apache/9/apache-9.pom (15 KB at 259.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-logging-api/1.2/doxia-logging-api-1.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-logging-api/1.2/doxia-logging-api-1.2.pom (2 KB at 28.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-core/1.2/doxia-core-1.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-core/1.2/doxia-core-1.2.pom (4 KB at 36.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.pom (4 KB at 33.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/2.0.6/plexus-2.0.6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/2.0.6/plexus-2.0.6.pom (17 KB at 209.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.pom (2 KB at 14.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.pom (2 KB at 25.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/apache/3/apache-3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/apache/3/apache-3.pom (4 KB at 50.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-lang/commons-lang/2.4/commons-lang-2.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-lang/commons-lang/2.4/commons-lang-2.4.pom (14 KB at 151.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/commons/commons-parent/9/commons-parent-9.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/commons/commons-parent/9/commons-parent-9.pom (22 KB at 329.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.pom (8 KB at 97.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/httpcomponents/httpcomponents-client/4.0.2/httpcomponents-client-4.0.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/httpcomponents/httpcomponents-client/4.0.2/httpcomponents-client-4.0.2.pom (9 KB at 44.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/httpcomponents/project/4.1/project-4.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/httpcomponents/project/4.1/project-4.1.pom (16 KB at 177.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.pom (5 KB at 69.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/httpcomponents/httpcomponents-core/4.0.1/httpcomponents-core-4.0.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/httpcomponents/httpcomponents-core/4.0.1/httpcomponents-core-4.0.1.pom (10 KB at 198.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/httpcomponents/project/4.0/project-4.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/httpcomponents/project/4.0/project-4.0.pom (13 KB at 209.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom (18 KB at 259.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/commons/commons-parent/5/commons-parent-5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/commons/commons-parent/5/commons-parent-5.pom (16 KB at 237.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-codec/commons-codec/1.3/commons-codec-1.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-codec/commons-codec/1.3/commons-codec-1.3.pom (6 KB at 74.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-site-renderer/1.2/doxia-site-renderer-1.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-site-renderer/1.2/doxia-site-renderer-1.2.pom (7 KB at 77.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-sitetools/1.2/doxia-sitetools-1.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-sitetools/1.2/doxia-sitetools-1.2.pom (16 KB at 217.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-decoration-model/1.2/doxia-decoration-model-1.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-decoration-model/1.2/doxia-decoration-model-1.2.pom (3 KB at 40.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-module-xhtml/1.2/doxia-module-xhtml-1.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-module-xhtml/1.2/doxia-module-xhtml-1.2.pom (2 KB at 14.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-modules/1.2/doxia-modules-1.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-modules/1.2/doxia-modules-1.2.pom (3 KB at 31.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-module-fml/1.2/doxia-module-fml-1.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-module-fml/1.2/doxia-module-fml-1.2.pom (6 KB at 57.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.pom (2 KB at 13.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.pom (3 KB at 36.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.pom (2 KB at 29.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.pom (2 KB at 29.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-container-default/1.0-alpha-20/plexus-container-default-1.0-alpha-20.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-container-default/1.0-alpha-20/plexus-container-default-1.0-alpha-20.pom (3 KB at 53.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-containers/1.0-alpha-20/plexus-containers-1.0-alpha-20.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-containers/1.0-alpha-20/plexus-containers-1.0-alpha-20.pom (2 KB at 30.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.3/plexus-utils-1.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.3/plexus-utils-1.3.pom (2 KB at 15.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom (8 KB at 119.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom (3 KB at 39.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom (8 KB at 98.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/velocity/velocity/1.5/velocity-1.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/velocity/velocity/1.5/velocity-1.5.pom (8 KB at 99.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-collections/commons-collections/3.1/commons-collections-3.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-collections/commons-collections/3.1/commons-collections-3.1.pom (6 KB at 88.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-lang/commons-lang/2.1/commons-lang-2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-lang/commons-lang/2.1/commons-lang-2.1.pom (10 KB at 144.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/oro/oro/2.0.8/oro-2.0.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/oro/oro/2.0.8/oro-2.0.8.pom (140 B at 2.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.pom (13 KB at 203.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.pom (9 KB at 152.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.pom (357 B at 5.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.pom (866 B at 13.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-digester/commons-digester/1.6/commons-digester-1.6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-digester/commons-digester/1.6/commons-digester-1.6.pom (974 B at 14.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-beanutils/commons-beanutils/1.6/commons-beanutils-1.6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-beanutils/commons-beanutils/1.6/commons-beanutils-1.6.pom (3 KB at 41.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-logging/commons-logging/1.0/commons-logging-1.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-logging/commons-logging/1.0/commons-logging-1.0.pom (163 B at 1.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-collections/commons-collections/2.0/commons-collections-2.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-collections/commons-collections/2.0/commons-collections-2.0.pom (171 B at 2.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-collections/commons-collections/2.1/commons-collections-2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-collections/commons-collections/2.1/commons-collections-2.1.pom (4 KB at 61.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom (3 KB at 30.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.pom (6 KB at 93.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.pom (8 KB at 121.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.pom (4 KB at 51.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-artifact/2.0.8/maven-artifact-2.0.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-artifact/2.0.8/maven-artifact-2.0.8.pom (2 KB at 28.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven/2.0.8/maven-2.0.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven/2.0.8/maven-2.0.8.pom (12 KB at 193.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-parent/6/maven-parent-6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-parent/6/maven-parent-6.pom (20 KB at 310.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.pom (3 KB at 37.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-model/2.0.8/maven-model-2.0.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-model/2.0.8/maven-model-2.0.8.pom (4 KB at 50.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.pom (3 KB at 39.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-settings/2.0.8/maven-settings-2.0.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-settings/2.0.8/maven-settings-2.0.8.pom (3 KB at 16.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.pom (2 KB at 35.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.pom (3 KB at 41.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-repository-metadata/2.0.8/maven-repository-metadata-2.0.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-repository-metadata/2.0.8/maven-repository-metadata-2.0.8.pom (2 KB at 29.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.pom (2 KB at 28.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-container-default/1.5.5/plexus-container-default-1.5.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-container-default/1.5.5/plexus-container-default-1.5.5.pom (3 KB at 42.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-containers/1.5.5/plexus-containers-1.5.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-containers/1.5.5/plexus-containers-1.5.5.pom (5 KB at 34.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/2.0.7/plexus-2.0.7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/2.0.7/plexus-2.0.7.pom (17 KB at 268.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/2.2.2/plexus-classworlds-2.2.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/2.2.2/plexus-classworlds-2.2.2.pom (4 KB at 65.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/2.0.3/plexus-2.0.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/2.0.3/plexus-2.0.3.pom (16 KB at 225.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/xbean/xbean-reflect/3.4/xbean-reflect-3.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/xbean/xbean-reflect/3.4/xbean-reflect-3.4.pom (3 KB at 37.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/xbean/xbean/3.4/xbean-3.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/xbean/xbean/3.4/xbean-3.4.pom (19 KB at 262.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/log4j/log4j/1.2.12/log4j-1.2.12.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/log4j/log4j/1.2.12/log4j-1.2.12.pom (145 B at 2.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.pom (6 KB at 85.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/google/collections/google-collections/1.0/google-collections-1.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/google/collections/google-collections/1.0/google-collections-1.0.pom (3 KB at 43.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/google/google/1/google-1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/google/google/1/google-1.pom (2 KB at 27.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/2.1/plexus-utils-2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/2.1/plexus-utils-2.1.pom (4 KB at 63.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/spice/spice-parent/16/spice-parent-16.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/spice/spice-parent/16/spice-parent-16.pom (9 KB at 125.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/forge/forge-parent/5/forge-parent-5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/forge/forge-parent/5/forge-parent-5.pom (9 KB at 108.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon-provider-api/2.5/wagon-provider-api-2.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon-provider-api/2.5/wagon-provider-api-2.5.pom (2 KB at 29.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon/2.5/wagon-2.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon/2.5/wagon-2.5.pom (20 KB at 251.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.8/plexus-utils-3.0.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.8/plexus-utils-3.0.8.pom (4 KB at 22.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/3.2/plexus-3.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/3.2/plexus-3.2.pom (19 KB at 300.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/spice/spice-parent/17/spice-parent-17.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/spice/spice-parent/17/spice-parent-17.pom (7 KB at 113.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/forge/forge-parent/10/forge-parent-10.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/forge/forge-parent/10/forge-parent-10.pom (14 KB at 81.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon-file/2.5/wagon-file-2.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon-file/2.5/wagon-file-2.5.pom (2 KB at 27.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon-providers/2.5/wagon-providers-2.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon-providers/2.5/wagon-providers-2.5.pom (3 KB at 42.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-lang/commons-lang/2.6/commons-lang-2.6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-lang/commons-lang/2.6/commons-lang-2.6.pom (18 KB at 284.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/commons/commons-parent/17/commons-parent-17.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/commons/commons-parent/17/commons-parent-17.pom (31 KB at 491.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-core/1.4/doxia-core-1.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-core/1.4/doxia-core-1.4.pom (4 KB at 67.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia/1.4/doxia-1.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia/1.4/doxia-1.4.pom (18 KB at 254.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-sink-api/1.4/doxia-sink-api-1.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-sink-api/1.4/doxia-sink-api-1.4.pom (2 KB at 25.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-logging-api/1.4/doxia-logging-api-1.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-logging-api/1.4/doxia-logging-api-1.4.pom (2 KB at 19.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.10/plexus-utils-3.0.10.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.10/plexus-utils-3.0.10.pom (4 KB at 43.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/3.3/plexus-3.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/3.3/plexus-3.3.pom (20 KB at 269.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.pom (815 B at 14.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-site-renderer/1.4/doxia-site-renderer-1.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-site-renderer/1.4/doxia-site-renderer-1.4.pom (6 KB at 102.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-sitetools/1.4/doxia-sitetools-1.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-sitetools/1.4/doxia-sitetools-1.4.pom (17 KB at 217.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-decoration-model/1.4/doxia-decoration-model-1.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-decoration-model/1.4/doxia-decoration-model-1.4.pom (3 KB at 42.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-module-xhtml/1.4/doxia-module-xhtml-1.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-module-xhtml/1.4/doxia-module-xhtml-1.4.pom (2 KB at 26.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-modules/1.4/doxia-modules-1.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-modules/1.4/doxia-modules-1.4.pom (3 KB at 36.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-module-fml/1.4/doxia-module-fml-1.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-module-fml/1.4/doxia-module-fml-1.4.pom (5 KB at 68.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.pom (18 KB at 273.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-digester/commons-digester/1.8/commons-digester-1.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-digester/commons-digester/1.8/commons-digester-1.8.pom (7 KB at 103.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-logging/commons-logging/1.1/commons-logging-1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-logging/commons-logging/1.1/commons-logging-1.1.pom (7 KB at 97.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/logkit/logkit/1.0.1/logkit-1.0.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/logkit/logkit/1.0.1/logkit-1.0.1.pom (147 B at 2.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.pom (167 B at 2.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/javax/servlet/servlet-api/2.3/servlet-api-2.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/javax/servlet/servlet-api/2.3/servlet-api-2.3.pom (156 B at 2.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-chain/commons-chain/1.1/commons-chain-1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-chain/commons-chain/1.1/commons-chain-1.1.pom (6 KB at 90.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-collections/commons-collections/3.2/commons-collections-3.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-collections/commons-collections/3.2/commons-collections-3.2.pom (11 KB at 165.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/dom4j/dom4j/1.1/dom4j-1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/dom4j/dom4j/1.1/dom4j-1.1.pom (142 B at 2.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/sslext/sslext/1.2-0/sslext-1.2-0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/sslext/sslext/1.2-0/sslext-1.2-0.pom (653 B at 12.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.pom (5 KB at 79.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/struts/struts-parent/1.3.8/struts-parent-1.3.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/struts/struts-parent/1.3.8/struts-parent-1.3.8.pom (10 KB at 61.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/struts/struts-master/4/struts-master-4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/struts/struts-master/4/struts-master-4.pom (12 KB at 214.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/apache/2/apache-2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/apache/2/apache-2.pom (4 KB at 38.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/antlr/antlr/2.7.2/antlr-2.7.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/antlr/antlr/2.7.2/antlr-2.7.2.pom (145 B at 2.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.pom (4 KB at 44.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.pom (3 KB at 49.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/velocity/velocity/1.6.2/velocity-1.6.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/velocity/velocity/1.6.2/velocity-1.6.2.pom (11 KB at 138.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.20/plexus-utils-3.0.20.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.20/plexus-utils-3.0.20.pom (4 KB at 70.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/3.3.1/plexus-3.3.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/3.3.1/plexus-3.3.1.pom (20 KB at 327.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.pom (726 B at 5.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interactivity/1.0-alpha-6/plexus-interactivity-1.0-alpha-6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interactivity/1.0-alpha-6/plexus-interactivity-1.0-alpha-6.pom (2 KB at 15.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-components/1.1.9/plexus-components-1.1.9.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-components/1.1.9/plexus-components-1.1.9.pom (3 KB at 31.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.4/plexus-utils-1.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.4/plexus-utils-1.4.pom (2 KB at 14.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-i18n/1.0-beta-10/plexus-i18n-1.0-beta-10.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-i18n/1.0-beta-10/plexus-i18n-1.0-beta-10.pom (3 KB at 22.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/woodstox/woodstox-core-asl/4.2.0/woodstox-core-asl-4.2.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/woodstox/woodstox-core-asl/4.2.0/woodstox-core-asl-4.2.0.pom (2 KB at 25.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.pom (962 B at 18.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/woodstox/stax2-api/3.1.1/stax2-api-3.1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/woodstox/stax2-api/3.1.1/stax2-api-3.1.1.pom (2 KB at 20.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-artifact-manager/2.2.1/maven-artifact-manager-2.2.1.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-repository-metadata/2.2.1/maven-repository-metadata-2.2.1.jar
    [INFO] Downloading: http://nexus/repository/maven-group/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-core/2.2.1/maven-core-2.2.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.jar (79 KB at 891.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-parameter-documenter/2.2.1/maven-plugin-parameter-documenter-2.2.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-parameter-documenter/2.2.1/maven-plugin-parameter-documenter-2.2.1.jar (22 KB at 151.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/slf4j/slf4j-jdk14/1.5.6/slf4j-jdk14-1.5.6.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/slf4j/slf4j-jdk14/1.5.6/slf4j-jdk14-1.5.6.jar (9 KB at 28.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5.6.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-artifact-manager/2.2.1/maven-artifact-manager-2.2.1.jar (66 KB at 179.3 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-repository-metadata/2.2.1/maven-repository-metadata-2.2.1.jar (26 KB at 68.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/slf4j/jcl-over-slf4j/1.5.6/jcl-over-slf4j-1.5.6.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-profile/2.2.1/maven-profile-2.2.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5.6.jar (22 KB at 50.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-error-diagnostics/2.2.1/maven-error-diagnostics-2.2.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-core/2.2.1/maven-core-2.2.1.jar (174 KB at 390.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-cli/commons-cli/1.2/commons-cli-1.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar (324 KB at 665.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-monitor/2.2.1/maven-monitor-2.2.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/slf4j/jcl-over-slf4j/1.5.6/jcl-over-slf4j-1.5.6.jar (17 KB at 32.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/classworlds/classworlds/1.1/classworlds-1.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-error-diagnostics/2.2.1/maven-error-diagnostics-2.2.1.jar (13 KB at 23.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-profile/2.2.1/maven-profile-2.2.1.jar (35 KB at 63.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-monitor/2.2.1/maven-monitor-2.2.1.jar (11 KB at 17.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-model/2.2.1/maven-model-2.2.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-cli/commons-cli/1.2/commons-cli-1.2.jar (41 KB at 62.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-api/2.2.1/maven-plugin-api-2.2.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/classworlds/classworlds/1.1/classworlds-1.1.jar (37 KB at 51.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-descriptor/2.2.1/maven-plugin-descriptor-2.2.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar (14 KB at 17.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-settings/2.2.1/maven-settings-2.2.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar (28 KB at 36.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-api/2.2.1/maven-plugin-api-2.2.1.jar (13 KB at 15.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-project/2.2.1/maven-project-2.2.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-model/2.2.1/maven-model-2.2.1.jar (86 KB at 105.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-registry/2.2.1/maven-plugin-registry-2.2.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-descriptor/2.2.1/maven-plugin-descriptor-2.2.1.jar (39 KB at 43.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.jar (50 KB at 51.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/reporting/maven-reporting-impl/2.2/maven-reporting-impl-2.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-registry/2.2.1/maven-plugin-registry-2.2.1.jar (30 KB at 28.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-settings/2.2.1/maven-settings-2.2.1.jar (48 KB at 46.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.jar (11 KB at 10.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-digester/commons-digester/1.6/commons-digester-1.6.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-project/2.2.1/maven-project-2.2.1.jar (153 KB at 144.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/reporting/maven-reporting-impl/2.2/maven-reporting-impl-2.2.jar (17 KB at 14.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar (38 KB at 28.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon-provider-api/2.5/wagon-provider-api-2.5.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.jar (136 KB at 98.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon-file/2.5/wagon-file-2.5.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.jar (31 KB at 21.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-core/1.4/doxia-core-1.4.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar (185 KB at 129.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-logging-api/1.4/doxia-logging-api-1.4.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-digester/commons-digester/1.6/commons-digester-1.6.jar (165 KB at 109.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon-provider-api/2.5/wagon-provider-api-2.5.jar (52 KB at 34.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-core/1.4/doxia-core-1.4.jar (162 KB at 103.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon-file/2.5/wagon-file-2.5.jar (11 KB at 6.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-logging-api/1.4/doxia-logging-api-1.4.jar (12 KB at 6.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-codec/commons-codec/1.3/commons-codec-1.3.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar (5 KB at 2.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-codec/commons-codec/1.3/commons-codec-1.3.jar (46 KB at 24.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-sink-api/1.4/doxia-sink-api-1.4.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.jar (190 KB at 103.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-site-renderer/1.4/doxia-site-renderer-1.4.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.jar (287 KB at 153.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-decoration-model/1.4/doxia-decoration-model-1.4.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.jar (169 KB at 87.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-module-xhtml/1.4/doxia-module-xhtml-1.4.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-sink-api/1.4/doxia-sink-api-1.4.jar (11 KB at 5.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-module-fml/1.4/doxia-module-fml-1.4.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-site-renderer/1.4/doxia-site-renderer-1.4.jar (52 KB at 25.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-decoration-model/1.4/doxia-decoration-model-1.4.jar (60 KB at 28.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/velocity/velocity/1.5/velocity-1.5.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-module-fml/1.4/doxia-module-fml-1.4.jar (37 KB at 17.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/oro/oro/2.0.8/oro-2.0.8.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/doxia/doxia-module-xhtml/1.4/doxia-module-xhtml-1.4.jar (16 KB at 6.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.jar (8 KB at 3.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-chain/commons-chain/1.1/commons-chain-1.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar (1201 KB at 517.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/dom4j/dom4j/1.1/dom4j-1.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/velocity/velocity/1.5/velocity-1.5.jar (383 KB at 159.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/sslext/sslext/1.2-0/sslext-1.2-0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/oro/oro/2.0.8/oro-2.0.8.jar (64 KB at 26.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-chain/commons-chain/1.1/commons-chain-1.1.jar (88 KB at 35.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/antlr/antlr/2.7.2/antlr-2.7.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.jar (339 KB at 135.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/dom4j/dom4j/1.1/dom4j-1.1.jar (447 KB at 177.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/sslext/sslext/1.2-0/sslext-1.2-0.jar (26 KB at 10.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.jar (322 KB at 124.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.20/plexus-utils-3.0.20.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.jar (117 KB at 44.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-container-default/1.5.5/plexus-container-default-1.5.5.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.20/plexus-utils-3.0.20.jar (238 KB at 88.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/2.2.2/plexus-classworlds-2.2.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.jar (246 KB at 90.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/xbean/xbean-reflect/3.4/xbean-reflect-3.4.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/antlr/antlr/2.7.2/antlr-2.7.2.jar (350 KB at 128.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/log4j/log4j/1.2.12/log4j-1.2.12.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/2.2.2/plexus-classworlds-2.2.2.jar (46 KB at 15.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-container-default/1.5.5/plexus-container-default-1.5.5.jar (212 KB at 73.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/google/collections/google-collections/1.0/google-collections-1.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar (562 KB at 194.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/xbean/xbean-reflect/3.4/xbean-reflect-3.4.jar (131 KB at 44.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-i18n/1.0-beta-10/plexus-i18n-1.0-beta-10.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/log4j/log4j/1.2.12/log4j-1.2.12.jar (350 KB at 114.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/woodstox/woodstox-core-asl/4.2.0/woodstox-core-asl-4.2.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.jar (44 KB at 14.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.jar (12 KB at 3.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/woodstox/stax2-api/3.1.1/stax2-api-3.1.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-i18n/1.0-beta-10/plexus-i18n-1.0-beta-10.jar (12 KB at 3.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-lang/commons-lang/2.6/commons-lang-2.6.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar (23 KB at 6.8 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/com/google/collections/google-collections/1.0/google-collections-1.0.jar (625 KB at 185.0 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/woodstox/stax2-api/3.1.1/stax2-api-3.1.1.jar (178 KB at 52.2 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-lang/commons-lang/2.6/commons-lang-2.6.jar (278 KB at 81.4 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/woodstox/woodstox-core-asl/4.2.0/woodstox-core-asl-4.2.0.jar (471 KB at 136.4 KB/sec)
    [INFO] Searching for local aggregator root...
    [INFO] Local aggregation root: /home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A
    [INFO] Processing change of com.example:demo08:0.0.1-SNAPSHOT -> 0.0.1
    [INFO] Processing com.example:demo08
    [INFO]     Updating project com.example:demo08
    [INFO]         from version 0.0.1-SNAPSHOT to 0.0.1
    [INFO] 
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 36.712 s
    [INFO] Finished at: 2018-06-08T09:26:19+00:00
    [INFO] Final Memory: 17M/22M
    [INFO] ------------------------------------------------------------------------
    [Pipeline] }
    [Pipeline] // container
    [Pipeline] dir
    Running in /home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/charts/demo08
    [Pipeline] {
    [Pipeline] container
    [Pipeline] {
    [Pipeline] sh
    [demo08] Running shell script
    + make tag
    sed -i -e "s/version:.*/version: 0.0.1/" Chart.yaml
    sed -i -e "s/repository: .*/repository: 10.59.251.152:5000\/grohan2002\/demo08/" values.yaml
    sed -i -e "s/tag: .*/tag: 0.0.1/" values.yaml
    git add --all
    git commit -m "release 0.0.1" --allow-empty # if first release then no verion update is performed
    [master 782ce19] release 0.0.1
     7 files changed, 66 insertions(+), 4 deletions(-)
     create mode 100644 VERSION
     create mode 100644 charts/demo08@tmp/durable-e73f59b2/jenkins-log.txt
     create mode 100755 charts/demo08@tmp/durable-e73f59b2/script.sh
     create mode 100644 pom.xml.versionsBackup
    git tag -fa v0.0.1 -m "Release version 0.0.1"
    git push origin v0.0.1
    To https://github.com/grohan2002/demo08.git
     * [new tag]         v0.0.1 -> v0.0.1
    [Pipeline] }
    [Pipeline] // container
    [Pipeline] }
    [Pipeline] // dir
    [Pipeline] container
    [Pipeline] {
    [Pipeline] sh
    [grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A] Running shell script
    + mvn clean deploy
    Picked up _JAVA_OPTIONS: -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -Dsun.zip.disableMemoryMapping=true -XX:+UseParallelGC -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10 -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Xms10m -Xmx192m
    [INFO] Scanning for projects...
    [INFO]                                                                         
    [INFO] ------------------------------------------------------------------------
    [INFO] Building demo 0.0.1
    [INFO] ------------------------------------------------------------------------
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-actuator/2.0.2.RELEASE/spring-boot-starter-actuator-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-actuator/2.0.2.RELEASE/spring-boot-starter-actuator-2.0.2.RELEASE.pom (3 KB at 8.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starters/2.0.2.RELEASE/spring-boot-starters-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starters/2.0.2.RELEASE/spring-boot-starters-2.0.2.RELEASE.pom (2 KB at 21.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter/2.0.2.RELEASE/spring-boot-starter-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter/2.0.2.RELEASE/spring-boot-starter-2.0.2.RELEASE.pom (4 KB at 46.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot/2.0.2.RELEASE/spring-boot-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot/2.0.2.RELEASE/spring-boot-2.0.2.RELEASE.pom (14 KB at 156.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-core/5.0.6.RELEASE/spring-core-5.0.6.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-core/5.0.6.RELEASE/spring-core-5.0.6.RELEASE.pom (6 KB at 103.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-jcl/5.0.6.RELEASE/spring-jcl-5.0.6.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-jcl/5.0.6.RELEASE/spring-jcl-5.0.6.RELEASE.pom (3 KB at 35.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-context/5.0.6.RELEASE/spring-context-5.0.6.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-context/5.0.6.RELEASE/spring-context-5.0.6.RELEASE.pom (9 KB at 142.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-aop/5.0.6.RELEASE/spring-aop-5.0.6.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-aop/5.0.6.RELEASE/spring-aop-5.0.6.RELEASE.pom (4 KB at 49.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-beans/5.0.6.RELEASE/spring-beans-5.0.6.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-beans/5.0.6.RELEASE/spring-beans-5.0.6.RELEASE.pom (4 KB at 45.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-expression/5.0.6.RELEASE/spring-expression-5.0.6.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-expression/5.0.6.RELEASE/spring-expression-5.0.6.RELEASE.pom (2 KB at 30.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-autoconfigure/2.0.2.RELEASE/spring-boot-autoconfigure-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-autoconfigure/2.0.2.RELEASE/spring-boot-autoconfigure-2.0.2.RELEASE.pom (32 KB at 532.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-logging/2.0.2.RELEASE/spring-boot-starter-logging-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-logging/2.0.2.RELEASE/spring-boot-starter-logging-2.0.2.RELEASE.pom (3 KB at 22.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.pom (13 KB at 165.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/ch/qos/logback/logback-parent/1.2.3/logback-parent-1.2.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/ch/qos/logback/logback-parent/1.2.3/logback-parent-1.2.3.pom (18 KB at 259.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.pom (5 KB at 77.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.pom (4 KB at 76.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/slf4j/slf4j-parent/1.7.25/slf4j-parent-1.7.25.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/slf4j/slf4j-parent/1.7.25/slf4j-parent-1.7.25.pom (14 KB at 248.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/logging/log4j/log4j-to-slf4j/2.10.0/log4j-to-slf4j-2.10.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/logging/log4j/log4j-to-slf4j/2.10.0/log4j-to-slf4j-2.10.0.pom (8 KB at 134.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/logging/log4j/log4j/2.10.0/log4j-2.10.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/logging/log4j/log4j/2.10.0/log4j-2.10.0.pom (55 KB at 815.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/logging/log4j/log4j-api/2.10.0/log4j-api-2.10.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/logging/log4j/log4j-api/2.10.0/log4j-api-2.10.0.pom (13 KB at 219.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25.pom (986 B at 16.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.pom (15 KB at 271.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/net/java/jvnet-parent/3/jvnet-parent-3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/net/java/jvnet-parent/3/jvnet-parent-3.pom (5 KB at 91.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/yaml/snakeyaml/1.19/snakeyaml-1.19.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/yaml/snakeyaml/1.19/snakeyaml-1.19.pom (35 KB at 675.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-actuator-autoconfigure/2.0.2.RELEASE/spring-boot-actuator-autoconfigure-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-actuator-autoconfigure/2.0.2.RELEASE/spring-boot-actuator-autoconfigure-2.0.2.RELEASE.pom (19 KB at 247.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-actuator/2.0.2.RELEASE/spring-boot-actuator-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-actuator/2.0.2.RELEASE/spring-boot-actuator-2.0.2.RELEASE.pom (13 KB at 240.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/core/jackson-databind/2.9.5/jackson-databind-2.9.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/core/jackson-databind/2.9.5/jackson-databind-2.9.5.pom (6 KB at 63.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/jackson-base/2.9.5/jackson-base-2.9.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/jackson-base/2.9.5/jackson-base-2.9.5.pom (6 KB at 43.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0.pom (2 KB at 26.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/jackson-parent/2.9.0/jackson-parent-2.9.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/jackson-parent/2.9.0/jackson-parent-2.9.0.pom (8 KB at 136.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/oss-parent/28/oss-parent-28.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/oss-parent/28/oss-parent-28.pom (20 KB at 320.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/core/jackson-core/2.9.5/jackson-core-2.9.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/core/jackson-core/2.9.5/jackson-core-2.9.5.pom (4 KB at 52.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.9.5/jackson-datatype-jsr310-2.9.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.9.5/jackson-datatype-jsr310-2.9.5.pom (5 KB at 65.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/module/jackson-modules-java8/2.9.5/jackson-modules-java8-2.9.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/module/jackson-modules-java8/2.9.5/jackson-modules-java8-2.9.5.pom (3 KB at 36.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/io/micrometer/micrometer-core/1.0.4/micrometer-core-1.0.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/io/micrometer/micrometer-core/1.0.4/micrometer-core-1.0.4.pom (7 KB at 103.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/hdrhistogram/HdrHistogram/2.1.10/HdrHistogram-2.1.10.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/hdrhistogram/HdrHistogram/2.1.10/HdrHistogram-2.1.10.pom (10 KB at 171.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/latencyutils/LatencyUtils/2.0.3/LatencyUtils-2.0.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/latencyutils/LatencyUtils/2.0.3/LatencyUtils-2.0.3.pom (8 KB at 133.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-web/2.0.2.RELEASE/spring-boot-starter-web-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-web/2.0.2.RELEASE/spring-boot-starter-web-2.0.2.RELEASE.pom (4 KB at 53.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-json/2.0.2.RELEASE/spring-boot-starter-json-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-json/2.0.2.RELEASE/spring-boot-starter-json-2.0.2.RELEASE.pom (4 KB at 56.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-web/5.0.6.RELEASE/spring-web-5.0.6.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-web/5.0.6.RELEASE/spring-web-5.0.6.RELEASE.pom (19 KB at 334.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.9.5/jackson-datatype-jdk8-2.9.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.9.5/jackson-datatype-jdk8-2.9.5.pom (2 KB at 34.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/module/jackson-module-parameter-names/2.9.5/jackson-module-parameter-names-2.9.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/module/jackson-module-parameter-names/2.9.5/jackson-module-parameter-names-2.9.5.pom (4 KB at 52.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-tomcat/2.0.2.RELEASE/spring-boot-starter-tomcat-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-tomcat/2.0.2.RELEASE/spring-boot-starter-tomcat-2.0.2.RELEASE.pom (3 KB at 61.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/tomcat/embed/tomcat-embed-core/8.5.31/tomcat-embed-core-8.5.31.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/tomcat/embed/tomcat-embed-core/8.5.31/tomcat-embed-core-8.5.31.pom (2 KB at 23.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/tomcat/embed/tomcat-embed-el/8.5.31/tomcat-embed-el-8.5.31.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/tomcat/embed/tomcat-embed-el/8.5.31/tomcat-embed-el-8.5.31.pom (2 KB at 22.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/tomcat/embed/tomcat-embed-websocket/8.5.31/tomcat-embed-websocket-8.5.31.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/tomcat/embed/tomcat-embed-websocket/8.5.31/tomcat-embed-websocket-8.5.31.pom (2 KB at 28.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/tomcat/tomcat-annotations-api/8.5.31/tomcat-annotations-api-8.5.31.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/tomcat/tomcat-annotations-api/8.5.31/tomcat-annotations-api-8.5.31.pom (2 KB at 22.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/hibernate/validator/hibernate-validator/6.0.9.Final/hibernate-validator-6.0.9.Final.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/hibernate/validator/hibernate-validator/6.0.9.Final/hibernate-validator-6.0.9.Final.pom (20 KB at 300.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/hibernate/validator/hibernate-validator-parent/6.0.9.Final/hibernate-validator-parent-6.0.9.Final.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/hibernate/validator/hibernate-validator-parent/6.0.9.Final/hibernate-validator-parent-6.0.9.Final.pom (58 KB at 947.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jboss/arquillian/arquillian-bom/1.1.11.Final/arquillian-bom-1.1.11.Final.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jboss/arquillian/arquillian-bom/1.1.11.Final/arquillian-bom-1.1.11.Final.pom (11 KB at 203.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jboss/shrinkwrap/shrinkwrap-bom/1.2.3/shrinkwrap-bom-1.2.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jboss/shrinkwrap/shrinkwrap-bom/1.2.3/shrinkwrap-bom-1.2.3.pom (4 KB at 69.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jboss/shrinkwrap/resolver/shrinkwrap-resolver-bom/2.2.0/shrinkwrap-resolver-bom-2.2.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jboss/shrinkwrap/resolver/shrinkwrap-resolver-bom/2.2.0/shrinkwrap-resolver-bom-2.2.0.pom (6 KB at 73.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jboss/shrinkwrap/descriptors/shrinkwrap-descriptors-bom/2.0.0-alpha-8/shrinkwrap-descriptors-bom-2.0.0-alpha-8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jboss/shrinkwrap/descriptors/shrinkwrap-descriptors-bom/2.0.0-alpha-8/shrinkwrap-descriptors-bom-2.0.0-alpha-8.pom (6 KB at 81.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.pom (12 KB at 167.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.pom (7 KB at 107.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jboss/jboss-parent/15/jboss-parent-15.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jboss/jboss-parent/15/jboss-parent-15.pom (31 KB at 504.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/classmate/1.3.4/classmate-1.3.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/classmate/1.3.4/classmate-1.3.4.pom (6 KB at 83.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/oss-parent/24/oss-parent-24.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/oss-parent/24/oss-parent-24.pom (19 KB at 210.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-webmvc/5.0.6.RELEASE/spring-webmvc-5.0.6.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-webmvc/5.0.6.RELEASE/spring-webmvc-5.0.6.RELEASE.pom (14 KB at 208.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-test/2.0.2.RELEASE/spring-boot-starter-test-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-test/2.0.2.RELEASE/spring-boot-starter-test-2.0.2.RELEASE.pom (5 KB at 63.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-test/2.0.2.RELEASE/spring-boot-test-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-test/2.0.2.RELEASE/spring-boot-test-2.0.2.RELEASE.pom (7 KB at 53.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-test-autoconfigure/2.0.2.RELEASE/spring-boot-test-autoconfigure-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-test-autoconfigure/2.0.2.RELEASE/spring-boot-test-autoconfigure-2.0.2.RELEASE.pom (10 KB at 146.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/jayway/jsonpath/json-path/2.4.0/json-path-2.4.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/jayway/jsonpath/json-path/2.4.0/json-path-2.4.0.pom (3 KB at 31.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/net/minidev/json-smart/2.3/json-smart-2.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/net/minidev/json-smart/2.3/json-smart-2.3.pom (9 KB at 135.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/net/minidev/minidev-parent/2.3/minidev-parent-2.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/net/minidev/minidev-parent/2.3/minidev-parent-2.3.pom (9 KB at 156.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/net/minidev/accessors-smart/1.2/accessors-smart-1.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/net/minidev/accessors-smart/1.2/accessors-smart-1.2.pom (12 KB at 217.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/ow2/asm/asm/5.0.4/asm-5.0.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/ow2/asm/asm/5.0.4/asm-5.0.4.pom (2 KB at 37.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/ow2/asm/asm-parent/5.0.4/asm-parent-5.0.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/ow2/asm/asm-parent/5.0.4/asm-parent-5.0.4.pom (6 KB at 101.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/ow2/ow2/1.3/ow2-1.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/ow2/ow2/1.3/ow2-1.3.pom (10 KB at 175.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/assertj/assertj-core/3.9.1/assertj-core-3.9.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/assertj/assertj-core/3.9.1/assertj-core-3.9.1.pom (10 KB at 178.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/assertj/assertj-parent-pom/2.1.9/assertj-parent-pom-2.1.9.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/assertj/assertj-parent-pom/2.1.9/assertj-parent-pom-2.1.9.pom (16 KB at 275.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/mockito/mockito-core/2.15.0/mockito-core-2.15.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/mockito/mockito-core/2.15.0/mockito-core-2.15.0.pom (16 KB at 258.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/net/bytebuddy/byte-buddy/1.7.11/byte-buddy-1.7.11.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/net/bytebuddy/byte-buddy/1.7.11/byte-buddy-1.7.11.pom (12 KB at 219.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/net/bytebuddy/byte-buddy-parent/1.7.11/byte-buddy-parent-1.7.11.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/net/bytebuddy/byte-buddy-parent/1.7.11/byte-buddy-parent-1.7.11.pom (26 KB at 455.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/net/bytebuddy/byte-buddy-agent/1.7.11/byte-buddy-agent-1.7.11.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/net/bytebuddy/byte-buddy-agent/1.7.11/byte-buddy-agent-1.7.11.pom (5 KB at 87.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/objenesis/objenesis/2.6/objenesis-2.6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/objenesis/objenesis/2.6/objenesis-2.6.pom (3 KB at 44.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/objenesis/objenesis-parent/2.6/objenesis-parent-2.6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/objenesis/objenesis-parent/2.6/objenesis-parent-2.6.pom (17 KB at 233.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.pom (820 B at 15.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/skyscreamer/jsonassert/1.5.0/jsonassert-1.5.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/skyscreamer/jsonassert/1.5.0/jsonassert-1.5.0.pom (6 KB at 87.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.pom (3 KB at 45.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-test/5.0.6.RELEASE/spring-test-5.0.6.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-test/5.0.6.RELEASE/spring-test-5.0.6.RELEASE.pom (16 KB at 246.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/xmlunit/xmlunit-core/2.5.1/xmlunit-core-2.5.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/xmlunit/xmlunit-core/2.5.1/xmlunit-core-2.5.1.pom (2 KB at 33.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/xmlunit/xmlunit-parent/2.5.1/xmlunit-parent-2.5.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/xmlunit/xmlunit-parent/2.5.1/xmlunit-parent-2.5.1.pom (16 KB at 293.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-actuator/2.0.2.RELEASE/spring-boot-starter-actuator-2.0.2.RELEASE.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter/2.0.2.RELEASE/spring-boot-starter-2.0.2.RELEASE.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot/2.0.2.RELEASE/spring-boot-2.0.2.RELEASE.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-autoconfigure/2.0.2.RELEASE/spring-boot-autoconfigure-2.0.2.RELEASE.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-logging/2.0.2.RELEASE/spring-boot-starter-logging-2.0.2.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-logging/2.0.2.RELEASE/spring-boot-starter-logging-2.0.2.RELEASE.jar (613 B at 4.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter/2.0.2.RELEASE/spring-boot-starter-2.0.2.RELEASE.jar (593 B at 3.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-actuator/2.0.2.RELEASE/spring-boot-starter-actuator-2.0.2.RELEASE.jar (613 B at 3.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/logging/log4j/log4j-to-slf4j/2.10.0/log4j-to-slf4j-2.10.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/logging/log4j/log4j-to-slf4j/2.10.0/log4j-to-slf4j-2.10.0.jar (18 KB at 66.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/logging/log4j/log4j-api/2.10.0/log4j-api-2.10.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar (461 KB at 1298.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar (284 KB at 796.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/logging/log4j/log4j-api/2.10.0/log4j-api-2.10.0.jar (250 KB at 604.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/yaml/snakeyaml/1.19/snakeyaml-1.19.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-autoconfigure/2.0.2.RELEASE/spring-boot-autoconfigure-2.0.2.RELEASE.jar (1135 KB at 2662.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-actuator-autoconfigure/2.0.2.RELEASE/spring-boot-actuator-autoconfigure-2.0.2.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25.jar (5 KB at 10.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-actuator/2.0.2.RELEASE/spring-boot-actuator-2.0.2.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot/2.0.2.RELEASE/spring-boot-2.0.2.RELEASE.jar (906 KB at 1735.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/core/jackson-databind/2.9.5/jackson-databind-2.9.5.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar (26 KB at 48.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/yaml/snakeyaml/1.19/snakeyaml-1.19.jar (291 KB at 426.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/core/jackson-core/2.9.5/jackson-core-2.9.5.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0.jar (65 KB at 93.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-context/5.0.6.RELEASE/spring-context-5.0.6.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-actuator-autoconfigure/2.0.2.RELEASE/spring-boot-actuator-autoconfigure-2.0.2.RELEASE.jar (366 KB at 491.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.9.5/jackson-datatype-jsr310-2.9.5.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-actuator/2.0.2.RELEASE/spring-boot-actuator-2.0.2.RELEASE.jar (450 KB at 450.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/io/micrometer/micrometer-core/1.0.4/micrometer-core-1.0.4.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.9.5/jackson-datatype-jsr310-2.9.5.jar (98 KB at 94.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/hdrhistogram/HdrHistogram/2.1.10/HdrHistogram-2.1.10.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/core/jackson-core/2.9.5/jackson-core-2.9.5.jar (315 KB at 294.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/latencyutils/LatencyUtils/2.0.3/LatencyUtils-2.0.3.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/core/jackson-databind/2.9.5/jackson-databind-2.9.5.jar (1311 KB at 1127.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-web/2.0.2.RELEASE/spring-boot-starter-web-2.0.2.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-context/5.0.6.RELEASE/spring-context-5.0.6.RELEASE.jar (1066 KB at 909.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-json/2.0.2.RELEASE/spring-boot-starter-json-2.0.2.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/latencyutils/LatencyUtils/2.0.3/LatencyUtils-2.0.3.jar (30 KB at 24.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.9.5/jackson-datatype-jdk8-2.9.5.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/hdrhistogram/HdrHistogram/2.1.10/HdrHistogram-2.1.10.jar (116 KB at 93.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/jackson/module/jackson-module-parameter-names/2.9.5/jackson-module-parameter-names-2.9.5.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-json/2.0.2.RELEASE/spring-boot-starter-json-2.0.2.RELEASE.jar (645 B at 0.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-tomcat/2.0.2.RELEASE/spring-boot-starter-tomcat-2.0.2.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.9.5/jackson-datatype-jdk8-2.9.5.jar (33 KB at 24.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/tomcat/embed/tomcat-embed-core/8.5.31/tomcat-embed-core-8.5.31.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/io/micrometer/micrometer-core/1.0.4/micrometer-core-1.0.4.jar (345 KB at 256.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/tomcat/embed/tomcat-embed-el/8.5.31/tomcat-embed-el-8.5.31.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-web/2.0.2.RELEASE/spring-boot-starter-web-2.0.2.RELEASE.jar (588 B at 0.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/tomcat/embed/tomcat-embed-websocket/8.5.31/tomcat-embed-websocket-8.5.31.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/jackson/module/jackson-module-parameter-names/2.9.5/jackson-module-parameter-names-2.9.5.jar (9 KB at 6.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/hibernate/validator/hibernate-validator/6.0.9.Final/hibernate-validator-6.0.9.Final.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-tomcat/2.0.2.RELEASE/spring-boot-starter-tomcat-2.0.2.RELEASE.jar (591 B at 0.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/tomcat/embed/tomcat-embed-el/8.5.31/tomcat-embed-el-8.5.31.jar (235 KB at 143.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar (91 KB at 54.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/fasterxml/classmate/1.3.4/classmate-1.3.4.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/tomcat/embed/tomcat-embed-websocket/8.5.31/tomcat-embed-websocket-8.5.31.jar (251 KB at 146.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-web/5.0.6.RELEASE/spring-web-5.0.6.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/com/fasterxml/classmate/1.3.4/classmate-1.3.4.jar (64 KB at 36.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-beans/5.0.6.RELEASE/spring-beans-5.0.6.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.jar (65 KB at 36.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-webmvc/5.0.6.RELEASE/spring-webmvc-5.0.6.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/hibernate/validator/hibernate-validator/6.0.9.Final/hibernate-validator-6.0.9.Final.jar (1105 KB at 568.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-aop/5.0.6.RELEASE/spring-aop-5.0.6.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-beans/5.0.6.RELEASE/spring-beans-5.0.6.RELEASE.jar (646 KB at 308.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-expression/5.0.6.RELEASE/spring-expression-5.0.6.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-web/5.0.6.RELEASE/spring-web-5.0.6.RELEASE.jar (1225 KB at 568.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-test/2.0.2.RELEASE/spring-boot-starter-test-2.0.2.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-aop/5.0.6.RELEASE/spring-aop-5.0.6.RELEASE.jar (358 KB at 158.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-test/2.0.2.RELEASE/spring-boot-test-2.0.2.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-webmvc/5.0.6.RELEASE/spring-webmvc-5.0.6.RELEASE.jar (772 KB at 339.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-test-autoconfigure/2.0.2.RELEASE/spring-boot-test-autoconfigure-2.0.2.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-starter-test/2.0.2.RELEASE/spring-boot-starter-test-2.0.2.RELEASE.jar (637 B at 0.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/jayway/jsonpath/json-path/2.4.0/json-path-2.4.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-expression/5.0.6.RELEASE/spring-expression-5.0.6.RELEASE.jar (274 KB at 115.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/net/minidev/json-smart/2.3/json-smart-2.3.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-test/2.0.2.RELEASE/spring-boot-test-2.0.2.RELEASE.jar (191 KB at 77.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/net/minidev/accessors-smart/1.2/accessors-smart-1.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/com/jayway/jsonpath/json-path/2.4.0/json-path-2.4.0.jar (218 KB at 87.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/ow2/asm/asm/5.0.4/asm-5.0.4.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-test-autoconfigure/2.0.2.RELEASE/spring-boot-test-autoconfigure-2.0.2.RELEASE.jar (153 KB at 60.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/tomcat/embed/tomcat-embed-core/8.5.31/tomcat-embed-core-8.5.31.jar (3043 KB at 1203.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/junit/junit/4.12/junit-4.12.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/net/minidev/json-smart/2.3/json-smart-2.3.jar (118 KB at 45.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/assertj/assertj-core/3.9.1/assertj-core-3.9.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/net/minidev/accessors-smart/1.2/accessors-smart-1.2.jar (30 KB at 11.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/mockito/mockito-core/2.15.0/mockito-core-2.15.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar (41 KB at 15.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/net/bytebuddy/byte-buddy/1.7.11/byte-buddy-1.7.11.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/ow2/asm/asm/5.0.4/asm-5.0.4.jar (53 KB at 19.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/net/bytebuddy/byte-buddy-agent/1.7.11/byte-buddy-agent-1.7.11.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/net/bytebuddy/byte-buddy-agent/1.7.11/byte-buddy-agent-1.7.11.jar (42 KB at 15.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/objenesis/objenesis/2.6/objenesis-2.6.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/junit/junit/4.12/junit-4.12.jar (308 KB at 107.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/objenesis/objenesis/2.6/objenesis-2.6.jar (55 KB at 18.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar (44 KB at 14.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/skyscreamer/jsonassert/1.5.0/jsonassert-1.5.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/mockito/mockito-core/2.15.0/mockito-core-2.15.0.jar (530 KB at 172.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar (52 KB at 16.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-core/5.0.6.RELEASE/spring-core-5.0.6.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/skyscreamer/jsonassert/1.5.0/jsonassert-1.5.0.jar (30 KB at 9.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-jcl/5.0.6.RELEASE/spring-jcl-5.0.6.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.jar (18 KB at 5.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/spring-test/5.0.6.RELEASE/spring-test-5.0.6.RELEASE.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-jcl/5.0.6.RELEASE/spring-jcl-5.0.6.RELEASE.jar (22 KB at 6.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/xmlunit/xmlunit-core/2.5.1/xmlunit-core-2.5.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/xmlunit/xmlunit-core/2.5.1/xmlunit-core-2.5.1.jar (154 KB at 43.4 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-test/5.0.6.RELEASE/spring-test-5.0.6.RELEASE.jar (591 KB at 166.0 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/spring-core/5.0.6.RELEASE/spring-core-5.0.6.RELEASE.jar (1198 KB at 326.3 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/net/bytebuddy/byte-buddy/1.7.11/byte-buddy-1.7.11.jar (2861 KB at 737.9 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/assertj/assertj-core/3.9.1/assertj-core-3.9.1.jar (3822 KB at 972.8 KB/sec)
    [INFO] 
    [INFO] --- maven-clean-plugin:3.0.0:clean (default-clean) @ demo08 ---
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.pom (3 KB at 37.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven/3.0/maven-3.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven/3.0/maven-3.0.pom (22 KB at 395.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-parent/15/maven-parent-15.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-parent/15/maven-parent-15.pom (24 KB at 426.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/apache/6/apache-6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/apache/6/apache-6.pom (13 KB at 223.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-model/3.0/maven-model-3.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-model/3.0/maven-model-3.0.pom (4 KB at 56.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.pom (4 KB at 26.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.pom (2 KB at 13.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.pom (6 KB at 86.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/sisu/inject/guice-plexus/1.4.2/guice-plexus-1.4.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/sisu/inject/guice-plexus/1.4.2/guice-plexus-1.4.2.pom (4 KB at 44.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/sisu/inject/guice-bean/1.4.2/guice-bean-1.4.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/sisu/inject/guice-bean/1.4.2/guice-bean-1.4.2.pom (3 KB at 42.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-inject/1.4.2/sisu-inject-1.4.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-inject/1.4.2/sisu-inject-1.4.2.pom (2 KB at 24.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-parent/1.4.2/sisu-parent-1.4.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-parent/1.4.2/sisu-parent-1.4.2.pom (8 KB at 133.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/forge/forge-parent/6/forge-parent-6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/forge/forge-parent/6/forge-parent-6.pom (11 KB at 190.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.pom (4 KB at 66.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.pom (6 KB at 91.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7.pom (11 KB at 200.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/3.0.0/maven-shared-utils-3.0.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/3.0.0/maven-shared-utils-3.0.0.pom (6 KB at 104.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-components/21/maven-shared-components-21.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-components/21/maven-shared-components-21.pom (5 KB at 95.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-parent/25/maven-parent-25.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-parent/25/maven-parent-25.pom (37 KB at 652.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/apache/15/apache-15.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/apache/15/apache-15.pom (15 KB at 286.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-io/commons-io/2.4/commons-io-2.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-io/commons-io/2.4/commons-io-2.4.pom (10 KB at 116.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/commons/commons-parent/25/commons-parent-25.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/commons/commons-parent/25/commons-parent-25.pom (48 KB at 737.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/google/code/findbugs/jsr305/2.0.1/jsr305-2.0.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/google/code/findbugs/jsr305/2.0.1/jsr305-2.0.1.pom (965 B at 9.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-model/3.0/maven-model-3.0.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.jar (48 KB at 637.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.jar (51 KB at 418.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-model/3.0/maven-model-3.0.jar (161 KB at 883.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.jar (197 KB at 887.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/3.0.0/maven-shared-utils-3.0.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.jar (217 KB at 889.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-io/commons-io/2.4/commons-io-2.4.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.jar (46 KB at 163.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/google/code/findbugs/jsr305/2.0.1/jsr305-2.0.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar (150 KB at 462.5 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/com/google/code/findbugs/jsr305/2.0.1/jsr305-2.0.1.jar (32 KB at 92.3 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/3.0.0/maven-shared-utils-3.0.0.jar (152 KB at 435.4 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-io/commons-io/2.4/commons-io-2.4.jar (181 KB at 447.5 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar (461 KB at 1066.4 KB/sec)
    [INFO] 
    [INFO] --- maven-resources-plugin:3.0.1:resources (default-resources) @ demo08 ---
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-component-annotations/1.6/plexus-component-annotations-1.6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-component-annotations/1.6/plexus-component-annotations-1.6.pom (748 B at 12.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-containers/1.6/plexus-containers-1.6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-containers/1.6/plexus-containers-1.6.pom (4 KB at 70.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/3.3.2/plexus-3.3.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/3.3.2/plexus-3.3.2.pom (22 KB at 375.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-core/3.0/maven-core-3.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-core/3.0/maven-core-3.0.pom (7 KB at 92.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-settings/3.0/maven-settings-3.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-settings/3.0/maven-settings-3.0.pom (2 KB at 31.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.pom (3 KB at 46.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.pom (910 B at 18.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-components/1.1.18/plexus-components-1.1.18.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-components/1.1.18/plexus-components-1.1.18.pom (6 KB at 83.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.pom (2 KB at 35.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.pom (3 KB at 43.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.pom (3 KB at 45.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/aether/aether-api/1.7/aether-api-1.7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/aether/aether-api/1.7/aether-api-1.7.pom (2 KB at 28.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/aether/aether-parent/1.7/aether-parent-1.7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/aether/aether-parent/1.7/aether-parent-1.7.pom (8 KB at 160.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/aether/aether-util/1.7/aether-util-1.7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/aether/aether-util/1.7/aether-util-1.7.pom (3 KB at 36.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.pom (4 KB at 68.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.pom (2 KB at 31.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.24/plexus-utils-3.0.24.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.24/plexus-utils-3.0.24.pom (5 KB at 79.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/4.0/plexus-4.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/4.0/plexus-4.0.pom (21 KB at 419.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-filtering/3.1.1/maven-filtering-3.1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-filtering/3.1.1/maven-filtering-3.1.1.pom (6 KB at 106.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-components/30/maven-shared-components-30.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-components/30/maven-shared-components-30.pom (5 KB at 86.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.22/plexus-interpolation-1.22.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.22/plexus-interpolation-1.22.pom (2 KB at 30.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-components/1.3.1/plexus-components-1.3.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-components/1.3.1/plexus-components-1.3.1.pom (3 KB at 35.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/plexus/plexus-build-api/0.0.7/plexus-build-api-0.0.7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/plexus/plexus-build-api/0.0.7/plexus-build-api-0.0.7.pom (4 KB at 45.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/spice/spice-parent/15/spice-parent-15.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/spice/spice-parent/15/spice-parent-15.pom (9 KB at 157.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-core/3.0/maven-core-3.0.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.jar (30 KB at 236.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.jar (37 KB at 263.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.jar (145 KB at 932.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/aether/aether-api/1.7/aether-api-1.7.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.jar (50 KB at 304.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.jar (14 KB at 57.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-component-annotations/1.6/plexus-component-annotations-1.6.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-core/3.0/maven-core-3.0.jar (515 KB at 1831.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-settings/3.0/maven-settings-3.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.jar (104 KB at 373.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.24/plexus-utils-3.0.24.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/aether/aether-api/1.7/aether-api-1.7.jar (73 KB at 259.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-filtering/3.1.1/maven-filtering-3.1.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-component-annotations/1.6/plexus-component-annotations-1.6.jar (5 KB at 13.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/plexus/plexus-build-api/0.0.7/plexus-build-api-0.0.7.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar (106 KB at 310.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.22/plexus-interpolation-1.22.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/plexus/plexus-build-api/0.0.7/plexus-build-api-0.0.7.jar (9 KB at 21.5 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-filtering/3.1.1/maven-filtering-3.1.1.jar (50 KB at 119.9 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-settings/3.0/maven-settings-3.0.jar (46 KB at 101.0 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.22/plexus-interpolation-1.22.jar (76 KB at 154.8 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.24/plexus-utils-3.0.24.jar (242 KB at 476.4 KB/sec)
    [INFO] Using 'UTF-8' encoding to copy filtered resources.
    [INFO] Copying 1 resource
    [INFO] Copying 0 resource
    [INFO] 
    [INFO] --- maven-compiler-plugin:3.7.0:compile (default-compile) @ demo08 ---
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/3.1.0/maven-shared-utils-3.1.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/3.1.0/maven-shared-utils-3.1.0.pom (5 KB at 103.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-io/commons-io/2.5/commons-io-2.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-io/commons-io/2.5/commons-io-2.5.pom (13 KB at 249.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/commons/commons-parent/39/commons-parent-39.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/commons/commons-parent/39/commons-parent-39.pom (61 KB at 687.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-incremental/1.1/maven-shared-incremental-1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-incremental/1.1/maven-shared-incremental-1.1.pom (5 KB at 68.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-components/19/maven-shared-components-19.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-components/19/maven-shared-components-19.pom (7 KB at 108.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/0.1/maven-shared-utils-0.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/0.1/maven-shared-utils-0.1.pom (4 KB at 77.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-components/18/maven-shared-components-18.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-components/18/maven-shared-components-18.pom (5 KB at 90.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-parent/22/maven-parent-22.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-parent/22/maven-parent-22.pom (30 KB at 468.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/apache/11/apache-11.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/apache/11/apache-11.pom (15 KB at 253.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-java/0.9.2/plexus-java-0.9.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-java/0.9.2/plexus-java-0.9.2.pom (3 KB at 45.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-languages/0.9.2/plexus-languages-0.9.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-languages/0.9.2/plexus-languages-0.9.2.pom (3 KB at 42.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/ow2/asm/asm/6.0_BETA/asm-6.0_BETA.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/ow2/asm/asm/6.0_BETA/asm-6.0_BETA.pom (2 KB at 33.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/ow2/asm/asm-parent/6.0_BETA/asm-parent-6.0_BETA.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/ow2/asm/asm-parent/6.0_BETA/asm-parent-6.0_BETA.pom (6 KB at 101.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/thoughtworks/qdox/qdox/2.0-M7/qdox-2.0-M7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/thoughtworks/qdox/qdox/2.0-M7/qdox-2.0-M7.pom (16 KB at 286.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/oss/oss-parent/9/oss-parent-9.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/oss/oss-parent/9/oss-parent-9.pom (7 KB at 123.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-compiler-api/2.8.2/plexus-compiler-api-2.8.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-compiler-api/2.8.2/plexus-compiler-api-2.8.2.pom (867 B at 16.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-compiler/2.8.2/plexus-compiler-2.8.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-compiler/2.8.2/plexus-compiler-2.8.2.pom (5 KB at 90.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-components/4.0/plexus-components-4.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-components/4.0/plexus-components-4.0.pom (3 KB at 36.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.22/plexus-utils-3.0.22.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.22/plexus-utils-3.0.22.pom (4 KB at 55.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-compiler-manager/2.8.2/plexus-compiler-manager-2.8.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-compiler-manager/2.8.2/plexus-compiler-manager-2.8.2.pom (692 B at 9.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-compiler-javac/2.8.2/plexus-compiler-javac-2.8.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-compiler-javac/2.8.2/plexus-compiler-javac-2.8.2.pom (771 B at 15.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-compilers/2.8.2/plexus-compilers-2.8.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-compilers/2.8.2/plexus-compilers-2.8.2.pom (2 KB at 15.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/3.1.0/maven-shared-utils-3.1.0.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-incremental/1.1/maven-shared-incremental-1.1.jar
    [INFO] Downloading: http://nexus/repository/maven-group/commons-io/commons-io/2.5/commons-io-2.5.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-java/0.9.2/plexus-java-0.9.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-java/0.9.2/plexus-java-0.9.2.jar (31 KB at 271.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/ow2/asm/asm/6.0_BETA/asm-6.0_BETA.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-incremental/1.1/maven-shared-incremental-1.1.jar (14 KB at 97.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/thoughtworks/qdox/qdox/2.0-M7/qdox-2.0-M7.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar (60 KB at 389.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-compiler-api/2.8.2/plexus-compiler-api-2.8.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/3.1.0/maven-shared-utils-3.1.0.jar (160 KB at 836.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-compiler-manager/2.8.2/plexus-compiler-manager-2.8.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-io/commons-io/2.5/commons-io-2.5.jar (204 KB at 965.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-compiler-javac/2.8.2/plexus-compiler-javac-2.8.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/ow2/asm/asm/6.0_BETA/asm-6.0_BETA.jar (56 KB at 196.2 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-compiler-api/2.8.2/plexus-compiler-api-2.8.2.jar (26 KB at 88.2 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-compiler-manager/2.8.2/plexus-compiler-manager-2.8.2.jar (5 KB at 14.6 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-compiler-javac/2.8.2/plexus-compiler-javac-2.8.2.jar (20 KB at 60.7 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/com/thoughtworks/qdox/qdox/2.0-M7/qdox-2.0-M7.jar (308 KB at 854.6 KB/sec)
    [INFO] Changes detected - recompiling the module!
    [INFO] Compiling 1 source file to /home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/classes
    [INFO] 
    [INFO] --- maven-resources-plugin:3.0.1:testResources (default-testResources) @ demo08 ---
    [INFO] Using 'UTF-8' encoding to copy filtered resources.
    [INFO] skip non existing resourceDirectory /home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/src/test/resources
    [INFO] 
    [INFO] --- maven-compiler-plugin:3.7.0:testCompile (default-testCompile) @ demo08 ---
    [INFO] Changes detected - recompiling the module!
    [INFO] Compiling 1 source file to /home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/test-classes
    [INFO] 
    [INFO] --- maven-surefire-plugin:2.21.0:test (default-test) @ demo08 ---
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/surefire/maven-surefire-common/2.21.0/maven-surefire-common-2.21.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/surefire/maven-surefire-common/2.21.0/maven-surefire-common-2.21.0.pom (12 KB at 191.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugin-tools/maven-plugin-annotations/3.5/maven-plugin-annotations-3.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugin-tools/maven-plugin-annotations/3.5/maven-plugin-annotations-3.5.pom (2 KB at 26.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugin-tools/maven-plugin-tools/3.5/maven-plugin-tools-3.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugin-tools/maven-plugin-tools/3.5/maven-plugin-tools-3.5.pom (16 KB at 177.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-api/2.21.0/surefire-api-2.21.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-api/2.21.0/surefire-api-2.21.0.pom (4 KB at 42.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-logger-api/2.21.0/surefire-logger-api-2.21.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-logger-api/2.21.0/surefire-logger-api-2.21.0.pom (2 KB at 33.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-booter/2.21.0/surefire-booter-2.21.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-booter/2.21.0/surefire-booter-2.21.0.pom (8 KB at 133.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-toolchain/2.2.1/maven-toolchain-2.2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-toolchain/2.2.1/maven-toolchain-2.2.1.pom (4 KB at 62.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-java/0.9.3/plexus-java-0.9.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-java/0.9.3/plexus-java-0.9.3.pom (3 KB at 37.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-languages/0.9.3/plexus-languages-0.9.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-languages/0.9.3/plexus-languages-0.9.3.pom (3 KB at 37.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/surefire/maven-surefire-common/2.21.0/maven-surefire-common-2.21.0.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugin-tools/maven-plugin-annotations/3.5/maven-plugin-annotations-3.5.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-logger-api/2.21.0/surefire-logger-api-2.21.0.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-api/2.21.0/surefire-api-2.21.0.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-booter/2.21.0/surefire-booter-2.21.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugin-tools/maven-plugin-annotations/3.5/maven-plugin-annotations-3.5.jar (14 KB at 145.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-logger-api/2.21.0/surefire-logger-api-2.21.0.jar (14 KB at 79.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/surefire/maven-surefire-common/2.21.0/maven-surefire-common-2.21.0.jar (510 KB at 2558.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-toolchain/2.2.1/maven-toolchain-2.2.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-api/2.21.0/surefire-api-2.21.0.jar (181 KB at 701.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-java/0.9.3/plexus-java-0.9.3.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-booter/2.21.0/surefire-booter-2.21.0.jar (267 KB at 1000.7 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.jar (223 KB at 696.1 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-toolchain/2.2.1/maven-toolchain-2.2.1.jar (37 KB at 105.3 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-java/0.9.3/plexus-java-0.9.3.jar (31 KB at 88.0 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.jar (190 KB at 491.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-junit4/2.21.0/surefire-junit4-2.21.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-junit4/2.21.0/surefire-junit4-2.21.0.pom (4 KB at 51.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-providers/2.21.0/surefire-providers-2.21.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-providers/2.21.0/surefire-providers-2.21.0.pom (3 KB at 35.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-junit4/2.21.0/surefire-junit4-2.21.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/surefire/surefire-junit4/2.21.0/surefire-junit4-2.21.0.jar (83 KB at 1589.6 KB/sec)
    [INFO] 
    [INFO] -------------------------------------------------------
    [INFO]  T E S T S
    [INFO] -------------------------------------------------------
    [INFO] Running com.example.demo08.DemoApplicationTests
    09:27:00.364 [main] DEBUG org.springframework.test.context.junit4.SpringJUnit4ClassRunner - SpringJUnit4ClassRunner constructor called with [class com.example.demo08.DemoApplicationTests]
    09:27:00.415 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating CacheAwareContextLoaderDelegate from class [org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate]
    09:27:00.426 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating BootstrapContext using constructor [public org.springframework.test.context.support.DefaultBootstrapContext(java.lang.Class,org.springframework.test.context.CacheAwareContextLoaderDelegate)]
    09:27:00.523 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating TestContextBootstrapper for test class [com.example.demo08.DemoApplicationTests] from class [org.springframework.boot.test.context.SpringBootTestContextBootstrapper]
    09:27:00.543 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Neither @ContextConfiguration nor @ContextHierarchy found for test class [com.example.demo08.DemoApplicationTests], using SpringBootContextLoader
    09:27:00.560 [main] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [com.example.demo08.DemoApplicationTests]: class path resource [com/example/demo08/DemoApplicationTests-context.xml] does not exist
    09:27:00.561 [main] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [com.example.demo08.DemoApplicationTests]: class path resource [com/example/demo08/DemoApplicationTestsContext.groovy] does not exist
    09:27:00.563 [main] INFO org.springframework.test.context.support.AbstractContextLoader - Could not detect default resource locations for test class [com.example.demo08.DemoApplicationTests]: no resource found for suffixes {-context.xml, Context.groovy}.
    09:27:00.564 [main] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils - Could not detect default configuration classes for test class [com.example.demo08.DemoApplicationTests]: DemoApplicationTests does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
    09:27:00.718 [main] DEBUG org.springframework.test.context.support.ActiveProfilesUtils - Could not find an 'annotation declaring class' for annotation type [org.springframework.test.context.ActiveProfiles] and class [com.example.demo08.DemoApplicationTests]
    09:27:00.727 [main] DEBUG org.springframework.core.env.StandardEnvironment - Adding PropertySource 'systemProperties' with lowest search precedence
    09:27:00.728 [main] DEBUG org.springframework.core.env.StandardEnvironment - Adding PropertySource 'systemEnvironment' with lowest search precedence
    09:27:00.728 [main] DEBUG org.springframework.core.env.StandardEnvironment - Initialized StandardEnvironment with PropertySources [MapPropertySource@13996678 {name='systemProperties', properties={java.runtime.name=OpenJDK Runtime Environment, sun.boot.library.path=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/i386, java.vm.version=25.171-b10, java.vm.vendor=Oracle Corporation, java.vendor.url=http://java.oracle.com/, path.separator=:, java.vm.name=OpenJDK Server VM, file.encoding.pkg=sun.io, user.country=US, sun.java.launcher=SUN_STANDARD, sun.os.patch.level=unknown, java.vm.specification.name=Java Virtual Machine Specification, user.dir=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A, java.runtime.version=1.8.0_171-b10, basedir=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A, java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment, java.endorsed.dirs=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/endorsed, os.arch=i386, surefire.real.class.path=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/surefire/surefirebooter8695429534331311209.jar, java.io.tmpdir=/tmp, line.separator=
    , java.vm.specification.vendor=Oracle Corporation, os.name=Linux, sun.jnu.encoding=ANSI_X3.4-1968, java.library.path=/usr/java/packages/lib/i386:/lib:/usr/lib, surefire.test.class.path=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/test-classes:/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/classes:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-actuator/2.0.2.RELEASE/spring-boot-starter-actuator-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter/2.0.2.RELEASE/spring-boot-starter-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot/2.0.2.RELEASE/spring-boot-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-autoconfigure/2.0.2.RELEASE/spring-boot-autoconfigure-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-logging/2.0.2.RELEASE/spring-boot-starter-logging-2.0.2.RELEASE.jar:/root/.mvnrepository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar:/root/.mvnrepository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar:/root/.mvnrepository/org/apache/logging/log4j/log4j-to-slf4j/2.10.0/log4j-to-slf4j-2.10.0.jar:/root/.mvnrepository/org/apache/logging/log4j/log4j-api/2.10.0/log4j-api-2.10.0.jar:/root/.mvnrepository/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25.jar:/root/.mvnrepository/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar:/root/.mvnrepository/org/yaml/snakeyaml/1.19/snakeyaml-1.19.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-actuator-autoconfigure/2.0.2.RELEASE/spring-boot-actuator-autoconfigure-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-actuator/2.0.2.RELEASE/spring-boot-actuator-2.0.2.RELEASE.jar:/root/.mvnrepository/com/fasterxml/jackson/core/jackson-databind/2.9.5/jackson-databind-2.9.5.jar:/root/.mvnrepository/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0.jar:/root/.mvnrepository/com/fasterxml/jackson/core/jackson-core/2.9.5/jackson-core-2.9.5.jar:/root/.mvnrepository/org/springframework/spring-context/5.0.6.RELEASE/spring-context-5.0.6.RELEASE.jar:/root/.mvnrepository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.9.5/jackson-datatype-jsr310-2.9.5.jar:/root/.mvnrepository/io/micrometer/micrometer-core/1.0.4/micrometer-core-1.0.4.jar:/root/.mvnrepository/org/hdrhistogram/HdrHistogram/2.1.10/HdrHistogram-2.1.10.jar:/root/.mvnrepository/org/latencyutils/LatencyUtils/2.0.3/LatencyUtils-2.0.3.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-web/2.0.2.RELEASE/spring-boot-starter-web-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-json/2.0.2.RELEASE/spring-boot-starter-json-2.0.2.RELEASE.jar:/root/.mvnrepository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.9.5/jackson-datatype-jdk8-2.9.5.jar:/root/.mvnrepository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.9.5/jackson-module-parameter-names-2.9.5.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-tomcat/2.0.2.RELEASE/spring-boot-starter-tomcat-2.0.2.RELEASE.jar:/root/.mvnrepository/org/apache/tomcat/embed/tomcat-embed-core/8.5.31/tomcat-embed-core-8.5.31.jar:/root/.mvnrepository/org/apache/tomcat/embed/tomcat-embed-el/8.5.31/tomcat-embed-el-8.5.31.jar:/root/.mvnrepository/org/apache/tomcat/embed/tomcat-embed-websocket/8.5.31/tomcat-embed-websocket-8.5.31.jar:/root/.mvnrepository/org/hibernate/validator/hibernate-validator/6.0.9.Final/hibernate-validator-6.0.9.Final.jar:/root/.mvnrepository/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar:/root/.mvnrepository/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.jar:/root/.mvnrepository/com/fasterxml/classmate/1.3.4/classmate-1.3.4.jar:/root/.mvnrepository/org/springframework/spring-web/5.0.6.RELEASE/spring-web-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-beans/5.0.6.RELEASE/spring-beans-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-webmvc/5.0.6.RELEASE/spring-webmvc-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-aop/5.0.6.RELEASE/spring-aop-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-expression/5.0.6.RELEASE/spring-expression-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-test/2.0.2.RELEASE/spring-boot-starter-test-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-test/2.0.2.RELEASE/spring-boot-test-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-test-autoconfigure/2.0.2.RELEASE/spring-boot-test-autoconfigure-2.0.2.RELEASE.jar:/root/.mvnrepository/com/jayway/jsonpath/json-path/2.4.0/json-path-2.4.0.jar:/root/.mvnrepository/net/minidev/json-smart/2.3/json-smart-2.3.jar:/root/.mvnrepository/net/minidev/accessors-smart/1.2/accessors-smart-1.2.jar:/root/.mvnrepository/org/ow2/asm/asm/5.0.4/asm-5.0.4.jar:/root/.mvnrepository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar:/root/.mvnrepository/junit/junit/4.12/junit-4.12.jar:/root/.mvnrepository/org/assertj/assertj-core/3.9.1/assertj-core-3.9.1.jar:/root/.mvnrepository/org/mockito/mockito-core/2.15.0/mockito-core-2.15.0.jar:/root/.mvnrepository/net/bytebuddy/byte-buddy/1.7.11/byte-buddy-1.7.11.jar:/root/.mvnrepository/net/bytebuddy/byte-buddy-agent/1.7.11/byte-buddy-agent-1.7.11.jar:/root/.mvnrepository/org/objenesis/objenesis/2.6/objenesis-2.6.jar:/root/.mvnrepository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/root/.mvnrepository/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar:/root/.mvnrepository/org/skyscreamer/jsonassert/1.5.0/jsonassert-1.5.0.jar:/root/.mvnrepository/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.jar:/root/.mvnrepository/org/springframework/spring-core/5.0.6.RELEASE/spring-core-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-jcl/5.0.6.RELEASE/spring-jcl-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-test/5.0.6.RELEASE/spring-test-5.0.6.RELEASE.jar:/root/.mvnrepository/org/xmlunit/xmlunit-core/2.5.1/xmlunit-core-2.5.1.jar:, java.specification.name=Java Platform API Specification, java.class.version=52.0, sun.management.compiler=HotSpot Tiered Compilers, os.version=4.4.111+, user.home=/root, user.timezone=UTC, java.awt.printerjob=sun.print.PSPrinterJob, file.encoding=ANSI_X3.4-1968, java.specification.version=1.8, java.class.path=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/test-classes:/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/classes:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-actuator/2.0.2.RELEASE/spring-boot-starter-actuator-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter/2.0.2.RELEASE/spring-boot-starter-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot/2.0.2.RELEASE/spring-boot-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-autoconfigure/2.0.2.RELEASE/spring-boot-autoconfigure-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-logging/2.0.2.RELEASE/spring-boot-starter-logging-2.0.2.RELEASE.jar:/root/.mvnrepository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar:/root/.mvnrepository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar:/root/.mvnrepository/org/apache/logging/log4j/log4j-to-slf4j/2.10.0/log4j-to-slf4j-2.10.0.jar:/root/.mvnrepository/org/apache/logging/log4j/log4j-api/2.10.0/log4j-api-2.10.0.jar:/root/.mvnrepository/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25.jar:/root/.mvnrepository/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar:/root/.mvnrepository/org/yaml/snakeyaml/1.19/snakeyaml-1.19.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-actuator-autoconfigure/2.0.2.RELEASE/spring-boot-actuator-autoconfigure-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-actuator/2.0.2.RELEASE/spring-boot-actuator-2.0.2.RELEASE.jar:/root/.mvnrepository/com/fasterxml/jackson/core/jackson-databind/2.9.5/jackson-databind-2.9.5.jar:/root/.mvnrepository/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0.jar:/root/.mvnrepository/com/fasterxml/jackson/core/jackson-core/2.9.5/jackson-core-2.9.5.jar:/root/.mvnrepository/org/springframework/spring-context/5.0.6.RELEASE/spring-context-5.0.6.RELEASE.jar:/root/.mvnrepository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.9.5/jackson-datatype-jsr310-2.9.5.jar:/root/.mvnrepository/io/micrometer/micrometer-core/1.0.4/micrometer-core-1.0.4.jar:/root/.mvnrepository/org/hdrhistogram/HdrHistogram/2.1.10/HdrHistogram-2.1.10.jar:/root/.mvnrepository/org/latencyutils/LatencyUtils/2.0.3/LatencyUtils-2.0.3.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-web/2.0.2.RELEASE/spring-boot-starter-web-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-json/2.0.2.RELEASE/spring-boot-starter-json-2.0.2.RELEASE.jar:/root/.mvnrepository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.9.5/jackson-datatype-jdk8-2.9.5.jar:/root/.mvnrepository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.9.5/jackson-module-parameter-names-2.9.5.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-tomcat/2.0.2.RELEASE/spring-boot-starter-tomcat-2.0.2.RELEASE.jar:/root/.mvnrepository/org/apache/tomcat/embed/tomcat-embed-core/8.5.31/tomcat-embed-core-8.5.31.jar:/root/.mvnrepository/org/apache/tomcat/embed/tomcat-embed-el/8.5.31/tomcat-embed-el-8.5.31.jar:/root/.mvnrepository/org/apache/tomcat/embed/tomcat-embed-websocket/8.5.31/tomcat-embed-websocket-8.5.31.jar:/root/.mvnrepository/org/hibernate/validator/hibernate-validator/6.0.9.Final/hibernate-validator-6.0.9.Final.jar:/root/.mvnrepository/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar:/root/.mvnrepository/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.jar:/root/.mvnrepository/com/fasterxml/classmate/1.3.4/classmate-1.3.4.jar:/root/.mvnrepository/org/springframework/spring-web/5.0.6.RELEASE/spring-web-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-beans/5.0.6.RELEASE/spring-beans-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-webmvc/5.0.6.RELEASE/spring-webmvc-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-aop/5.0.6.RELEASE/spring-aop-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-expression/5.0.6.RELEASE/spring-expression-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-test/2.0.2.RELEASE/spring-boot-starter-test-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-test/2.0.2.RELEASE/spring-boot-test-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-test-autoconfigure/2.0.2.RELEASE/spring-boot-test-autoconfigure-2.0.2.RELEASE.jar:/root/.mvnrepository/com/jayway/jsonpath/json-path/2.4.0/json-path-2.4.0.jar:/root/.mvnrepository/net/minidev/json-smart/2.3/json-smart-2.3.jar:/root/.mvnrepository/net/minidev/accessors-smart/1.2/accessors-smart-1.2.jar:/root/.mvnrepository/org/ow2/asm/asm/5.0.4/asm-5.0.4.jar:/root/.mvnrepository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar:/root/.mvnrepository/junit/junit/4.12/junit-4.12.jar:/root/.mvnrepository/org/assertj/assertj-core/3.9.1/assertj-core-3.9.1.jar:/root/.mvnrepository/org/mockito/mockito-core/2.15.0/mockito-core-2.15.0.jar:/root/.mvnrepository/net/bytebuddy/byte-buddy/1.7.11/byte-buddy-1.7.11.jar:/root/.mvnrepository/net/bytebuddy/byte-buddy-agent/1.7.11/byte-buddy-agent-1.7.11.jar:/root/.mvnrepository/org/objenesis/objenesis/2.6/objenesis-2.6.jar:/root/.mvnrepository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/root/.mvnrepository/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar:/root/.mvnrepository/org/skyscreamer/jsonassert/1.5.0/jsonassert-1.5.0.jar:/root/.mvnrepository/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.jar:/root/.mvnrepository/org/springframework/spring-core/5.0.6.RELEASE/spring-core-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-jcl/5.0.6.RELEASE/spring-jcl-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-test/5.0.6.RELEASE/spring-test-5.0.6.RELEASE.jar:/root/.mvnrepository/org/xmlunit/xmlunit-core/2.5.1/xmlunit-core-2.5.1.jar:, user.name=root, java.vm.specification.version=1.8, sun.java.command=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/surefire/surefirebooter8695429534331311209.jar /home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/surefire 2018-06-08T09-26-57_236-jvmRun1 surefire4328980770760480765tmp surefire_02400531796289035372tmp, java.home=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre, sun.arch.data.model=32, user.language=en, java.specification.vendor=Oracle Corporation, awt.toolkit=sun.awt.X11.XToolkit, java.vm.info=mixed mode, java.version=1.8.0_171, java.ext.dirs=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/ext:/usr/java/packages/lib/ext, sun.boot.class.path=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/resources.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/rt.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/jsse.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/jce.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/charsets.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/jfr.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/classes, java.vendor=Oracle Corporation, localRepository=/root/.mvnrepository, file.separator=/, java.vendor.url.bug=http://bugreport.sun.com/bugreport/, sun.io.unicode.encoding=UnicodeLittle, sun.cpu.endian=little, sun.cpu.isalist=}}, SystemEnvironmentPropertySource@31556208 {name='systemEnvironment', properties={PATH=/opt/apache-maven-3.3.9/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/google-cloud-sdk/bin:/opt/google/chrome, JENKINS_X_MONOCULAR_UI_PORT_80_TCP_PROTO=tcp, JENKINS_X_MONOCULAR_API_PORT_80_TCP_PORT=80, RUN_DISPLAY_URL=http://unconfigured-jenkins-location/job/grohan2002/job/demo08/job/master/1/display/redirect, HUDSON_HOME=/var/jenkins_home, JENKINS_X_MONOCULAR_UI_PORT=tcp://10.59.242.187:80, RUN_CHANGES_DISPLAY_URL=http://unconfigured-jenkins-location/job/grohan2002/job/demo08/job/master/1/display/redirect?page=changes, APP_NAME=demo08, JENKINS_X_MONOCULAR_PRERENDER_PORT=tcp://10.59.255.226:80, JENKINS_NODE_COOKIE=1e8ba60b-b92c-4c51-a0b3-2db62a36b930, JENKINS_X_MONOCULAR_PRERENDER_PORT_80_TCP_PORT=80, JENKINS_X_MONOCULAR_PRERENDER_PORT_80_TCP_PROTO=tcp, CHARTMUSEUM_CREDS_PSW=****, JENKINS_X_MONGODB_PORT_27017_TCP_PROTO=tcp, JENKINS_X_MONOCULAR_PRERENDER_SERVICE_HOST=10.59.255.226, JENKINS_AGENT_SERVICE_PORT=50000, JENKINS_SERVER_COOKIE=durable-0175af514c7fda992d16faace609e600, PWD=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A, JENKINS_URL=http://jenkins:8080, JENKINS_SECRET=0ce10b8d424d8d0f21232f7289fd3fbfd8dc7992708d64922c0cbfe468664f47, GIT_AUTHOR_EMAIL=jenkins-x@googlegroups.com, JENKINS_SERVICE_HOST=10.59.252.154, maven.home=/opt/apache-maven-3.3.9, STAGE_NAME=Build Release, JENKINS_X_CHARTMUSEUM_SERVICE_PORT_JENKINS_X=8080, JENKINS_X_MONOCULAR_UI_PORT_80_TCP_ADDR=10.59.242.187, JENKINS_AGENT_SERVICE_HOST=10.59.242.200, JENKINS_PORT_8080_TCP=tcp://10.59.252.154:8080, GIT_AUTHOR_NAME=jenkins-x-bot, JENKINS_HOME=/var/jenkins_home, NODE_NAME=maven-0tbjd, BUILD_DISPLAY_NAME=#1, JENKINS_X_MONOCULAR_UI_SERVICE_PORT_MONOCULAR_UI=80, JENKINS_X_MONGODB_PORT_27017_TCP=tcp://10.59.243.233:27017, JENKINS_PORT_8080_TCP_PORT=8080, KUBERNETES_SERVICE_PORT_HTTPS=443, JENKINS_AGENT_SERVICE_PORT_SLAVELISTENER=50000, SHLVL=4, JENKINS_PORT=tcp://10.59.252.154:8080, JX_RELEASE_VERSION=1.0.10, KUBERNETES_PORT=tcp://10.59.240.1:443, DOCKER_VERSION=17.12.0, JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386, JENKINS_AGENT_PORT_50000_TCP_PROTO=tcp, NEXUS_PORT_80_TCP_ADDR=10.59.240.56, NEXUS_PORT=tcp://10.59.240.56:80, JENKINS_X_CHARTMUSEUM_PORT=tcp://10.59.247.18:8080, JENKINS_PORT_8080_TCP_PROTO=tcp, JENKINS_PORT_8080_TCP_ADDR=10.59.252.154, NEXUS_PORT_80_TCP=tcp://10.59.240.56:80, NEXUS_SERVICE_PORT=80, GCLOUD_VERSION=187.0.0, WORKSPACE=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A, JENKINS_X_MONGODB_SERVICE_HOST=10.59.243.233, JENKINS_NAME=maven-0tbjd, JENKINS_X_DOCKER_REGISTRY_PORT=tcp://10.59.251.152:5000, _=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/bin/java, SKAFFOLD_VERSION=0.4.0, GIT_COMMIT=efc077e94f0b7820ee4a626bd921e5da208ecf8a, KUBERNETES_PORT_443_TCP_ADDR=10.59.240.1, NEXUS_SERVICE_HOST=10.59.240.56, KUBERNETES_PORT_443_TCP_PROTO=tcp, MAVEN_PROJECTBASEDIR=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A, JOB_BASE_NAME=master, JENKINS_X_DOCKER_REGISTRY_PORT_5000_TCP_PORT=5000, JENKINS_X_MONOCULAR_UI_PORT_80_TCP_PORT=80, JENKINS_AGENT_PORT_50000_TCP_PORT=50000, UPDATEBOT_VERSION=1.1.10, BUILD_NUMBER=1, JENKINS_X_MONOCULAR_PRERENDER_SERVICE_PORT=80, JENKINS_X_MONOCULAR_API_PORT=tcp://10.59.242.193:80, GIT_COMMITTER_EMAIL=jenkins-x@googlegroups.com, GIT_URL=https://github.com/grohan2002/demo08.git, JENKINS_X_MONOCULAR_API_SERVICE_PORT=80, JENKINS_X_MONOCULAR_API_PORT_80_TCP_PROTO=tcp, JENKINS_X_MONOCULAR_UI_SERVICE_HOST=10.59.242.187, HEAPSTER_PORT_8082_TCP_PORT=8082, NEXUS_PORT_80_TCP_PROTO=tcp, JENKINS_X_MONGODB_SERVICE_PORT=27017, JENKINS_X_MONOCULAR_UI_SERVICE_PORT=80, JENKINS_X_MONOCULAR_API_PORT_80_TCP=tcp://10.59.242.193:80, M2=/opt/apache-maven-3.3.9/bin, JENKINS_X_CHARTMUSEUM_SERVICE_PORT=8080, JENKINS_X_MONOCULAR_API_PORT_80_TCP_ADDR=10.59.242.193, JENKINS_X_MONOCULAR_PRERENDER_PORT_80_TCP=tcp://10.59.255.226:80, DOCKER_CONFIG=/home/jenkins/.docker/, JENKINS_X_MONGODB_PORT=tcp://10.59.243.233:27017, JENKINS_X_MONOCULAR_API_SERVICE_HOST=10.59.242.193, JENKINS_AGENT_PORT_50000_TCP_ADDR=10.59.242.200, JENKINS_AGENT_PORT=tcp://10.59.242.200:50000, JENKINS_X_DOCKER_REGISTRY_PORT_5000_TCP=tcp://10.59.251.152:5000, JENKINS_X_MONOCULAR_PRERENDER_SERVICE_PORT_PRERENDER=80, KUBERNETES_PORT_443_TCP=tcp://10.59.240.1:443, JENKINS_X_DOCKER_REGISTRY_PORT_5000_TCP_PROTO=tcp, JENKINS_AGENT_PORT_50000_TCP=tcp://10.59.242.200:50000, JENKINS_X_MONOCULAR_API_SERVICE_PORT_MONOCULAR_API=80, BUILD_TAG=jenkins-grohan2002-demo08-master-1, HEAPSTER_PORT_8082_TCP=tcp://10.59.255.13:8082, MAVEN_VERSION=3.3.9, HEAPSTER_PORT_8082_TCP_PROTO=tcp, JENKINS_X_DOCKER_REGISTRY_SERVICE_HOST=10.59.251.152, OLDPWD=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A, JENKINS_X_MONGODB_PORT_27017_TCP_ADDR=10.59.243.233, JENKINS_X_CHARTMUSEUM_PORT_8080_TCP_PORT=8080, NEXUS_PORT_80_TCP_PORT=80, NEXUS_SERVICE_PORT_NEXUS=80, JOB_DISPLAY_URL=http://unconfigured-jenkins-location/job/grohan2002/job/demo08/job/master/display/redirect, M2_HOME=/opt/apache-maven-3.3.9, _JAVA_OPTIONS=-XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -Dsun.zip.disableMemoryMapping=true -XX:+UseParallelGC -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10 -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Xms10m -Xmx192m, JENKINS_X_CHARTMUSEUM_SERVICE_HOST=10.59.247.18, GIT_BRANCH=master, JENKINS_X_MONOCULAR_PRERENDER_PORT_80_TCP_ADDR=10.59.255.226, JENKINS_X_MONOCULAR_UI_PORT_80_TCP=tcp://10.59.242.187:80, HEAPSTER_SERVICE_PORT=8082, JENKINS_TUNNEL=jenkins-agent:50000, JENKINS_X_CHARTMUSEUM_PORT_8080_TCP_PROTO=tcp, ORG=grohan2002, CHARTMUSEUM_CREDS=****, JENKINS_X_CHARTMUSEUM_PORT_8080_TCP_ADDR=10.59.247.18, HEAPSTER_PORT=tcp://10.59.255.13:8082, JENKINS_SERVICE_PORT_HTTP=8080, BUILD_ID=1, KUBERNETES_SERVICE_HOST=10.59.240.1, JOB_NAME=grohan2002/demo08/master, JENKINS_SERVICE_PORT=8080, EXPOSECONTROLLER_VERSION=2.3.34, JENKINS_X_CHARTMUSEUM_PORT_8080_TCP=tcp://10.59.247.18:8080, JENKINS_X_MONGODB_SERVICE_PORT_MONGODB=27017, CHARTMUSEUM_CREDS_USR=****, NODE_LABELS=jenkins-maven maven-0tbjd, JX_VERSION=1.2.101, JENKINS_X_DOCKER_REGISTRY_SERVICE_PORT_REGISTRY=5000, JENKINS_X_MONGODB_PORT_27017_TCP_PORT=27017, MAVEN_CMD_LINE_ARGS= clean deploy, HEAPSTER_PORT_8082_TCP_ADDR=10.59.255.13, JENKINS_X_DOCKER_REGISTRY_PORT_5000_TCP_ADDR=10.59.251.152, EXECUTOR_NUMBER=0, GIT_COMMITTER_NAME=jenkins-x-bot, HUDSON_SERVER_COOKIE=d2e418b0327786cb, CLASSPATH=, XDG_CONFIG_HOME=/home/jenkins, JENKINS_X_DOCKER_REGISTRY_SERVICE_PORT=5000, KUBERNETES_SERVICE_PORT=443, HOSTNAME=maven-0tbjd, HELM_VERSION=2.8.2, HEAPSTER_SERVICE_HOST=10.59.255.13, KUBERNETES_PORT_443_TCP_PORT=443, BRANCH_NAME=master, HOME=/home/jenkins}}]
    09:27:00.748 [main] DEBUG org.springframework.core.io.support.PathMatchingResourcePatternResolver - Resolved classpath location [com/example/demo08/] to resources [URL [file:/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/test-classes/com/example/demo08/], URL [file:/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/classes/com/example/demo08/]]
    09:27:00.748 [main] DEBUG org.springframework.core.io.support.PathMatchingResourcePatternResolver - Looking for matching resources in directory tree [/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/test-classes/com/example/demo08]
    09:27:00.749 [main] DEBUG org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/test-classes/com/example/demo08] for files matching pattern [/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/test-classes/com/example/demo08/*.class]
    09:27:00.754 [main] DEBUG org.springframework.core.io.support.PathMatchingResourcePatternResolver - Looking for matching resources in directory tree [/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/classes/com/example/demo08]
    09:27:00.754 [main] DEBUG org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/classes/com/example/demo08] for files matching pattern [/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/classes/com/example/demo08/*.class]
    09:27:00.754 [main] DEBUG org.springframework.core.io.support.PathMatchingResourcePatternResolver - Resolved location pattern [classpath*:com/example/demo08/*.class] to resources [file [/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/test-classes/com/example/demo08/DemoApplicationTests.class], file [/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/classes/com/example/demo08/DemoApplication.class]]
    09:27:00.935 [main] DEBUG org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider - Identified candidate component class: file [/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/classes/com/example/demo08/DemoApplication.class]
    09:27:00.937 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Found @SpringBootConfiguration com.example.demo08.DemoApplication for test class com.example.demo08.DemoApplicationTests
    09:27:01.351 [main] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - @TestExecutionListeners is not present for class [com.example.demo08.DemoApplicationTests]: using defaults.
    09:27:01.352 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener, org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener]
    09:27:01.425 [main] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Skipping candidate TestExecutionListener [org.springframework.test.context.transaction.TransactionalTestExecutionListener] due to a missing dependency. Specify custom listener classes or make the default listener classes and their required dependencies available. Offending class: [org/springframework/transaction/TransactionDefinition]
    09:27:01.426 [main] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Skipping candidate TestExecutionListener [org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener] due to a missing dependency. Specify custom listener classes or make the default listener classes and their required dependencies available. Offending class: [org/springframework/transaction/interceptor/TransactionAttribute]
    09:27:01.427 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Using TestExecutionListeners: [org.springframework.test.context.web.ServletTestExecutionListener@5f66e3, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@23df74, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener@13ac989, org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@162e04d, org.springframework.test.context.support.DirtiesContextTestExecutionListener@65fe7c, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener@135c3b, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener@102bbb1, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener@1304f14, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener@a3d150, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener@4fb17b]
    09:27:01.430 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [com.example.demo08.DemoApplicationTests]
    09:27:01.431 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [com.example.demo08.DemoApplicationTests]
    09:27:01.432 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [com.example.demo08.DemoApplicationTests]
    09:27:01.433 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [com.example.demo08.DemoApplicationTests]
    09:27:01.435 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [com.example.demo08.DemoApplicationTests]
    09:27:01.436 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [com.example.demo08.DemoApplicationTests]
    09:27:01.440 [main] DEBUG org.springframework.test.context.support.AbstractDirtiesContextTestExecutionListener - Before test class: context [DefaultTestContext@190fc5b testClass = DemoApplicationTests, testInstance = [null], testMethod = [null], testException = [null], mergedContextConfiguration = [WebMergedContextConfiguration@197fbdb testClass = DemoApplicationTests, locations = '{}', classes = '{class com.example.demo08.DemoApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@1f99a05, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@a3e297, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@1723e30, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@16e2f39], resourceBasePath = 'src/main/webapp', contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map['org.springframework.test.context.web.ServletTestExecutionListener.activateListener' -> true]], class annotated with @DirtiesContext [false] with mode [null].
    09:27:01.441 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [com.example.demo08.DemoApplicationTests]
    09:27:01.442 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [com.example.demo08.DemoApplicationTests]
    09:27:01.538 [main] DEBUG org.springframework.core.env.StandardEnvironment - Adding PropertySource 'systemProperties' with lowest search precedence
    09:27:01.539 [main] DEBUG org.springframework.core.env.StandardEnvironment - Adding PropertySource 'systemEnvironment' with lowest search precedence
    09:27:01.542 [main] DEBUG org.springframework.core.env.StandardEnvironment - Initialized StandardEnvironment with PropertySources [MapPropertySource@25913137 {name='systemProperties', properties={java.runtime.name=OpenJDK Runtime Environment, sun.boot.library.path=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/i386, java.vm.version=25.171-b10, java.vm.vendor=Oracle Corporation, java.vendor.url=http://java.oracle.com/, path.separator=:, java.vm.name=OpenJDK Server VM, file.encoding.pkg=sun.io, user.country=US, sun.java.launcher=SUN_STANDARD, sun.os.patch.level=unknown, java.vm.specification.name=Java Virtual Machine Specification, user.dir=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A, java.runtime.version=1.8.0_171-b10, basedir=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A, java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment, java.endorsed.dirs=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/endorsed, os.arch=i386, surefire.real.class.path=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/surefire/surefirebooter8695429534331311209.jar, java.io.tmpdir=/tmp, line.separator=
    , java.vm.specification.vendor=Oracle Corporation, os.name=Linux, sun.jnu.encoding=ANSI_X3.4-1968, java.library.path=/usr/java/packages/lib/i386:/lib:/usr/lib, surefire.test.class.path=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/test-classes:/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/classes:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-actuator/2.0.2.RELEASE/spring-boot-starter-actuator-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter/2.0.2.RELEASE/spring-boot-starter-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot/2.0.2.RELEASE/spring-boot-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-autoconfigure/2.0.2.RELEASE/spring-boot-autoconfigure-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-logging/2.0.2.RELEASE/spring-boot-starter-logging-2.0.2.RELEASE.jar:/root/.mvnrepository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar:/root/.mvnrepository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar:/root/.mvnrepository/org/apache/logging/log4j/log4j-to-slf4j/2.10.0/log4j-to-slf4j-2.10.0.jar:/root/.mvnrepository/org/apache/logging/log4j/log4j-api/2.10.0/log4j-api-2.10.0.jar:/root/.mvnrepository/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25.jar:/root/.mvnrepository/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar:/root/.mvnrepository/org/yaml/snakeyaml/1.19/snakeyaml-1.19.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-actuator-autoconfigure/2.0.2.RELEASE/spring-boot-actuator-autoconfigure-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-actuator/2.0.2.RELEASE/spring-boot-actuator-2.0.2.RELEASE.jar:/root/.mvnrepository/com/fasterxml/jackson/core/jackson-databind/2.9.5/jackson-databind-2.9.5.jar:/root/.mvnrepository/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0.jar:/root/.mvnrepository/com/fasterxml/jackson/core/jackson-core/2.9.5/jackson-core-2.9.5.jar:/root/.mvnrepository/org/springframework/spring-context/5.0.6.RELEASE/spring-context-5.0.6.RELEASE.jar:/root/.mvnrepository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.9.5/jackson-datatype-jsr310-2.9.5.jar:/root/.mvnrepository/io/micrometer/micrometer-core/1.0.4/micrometer-core-1.0.4.jar:/root/.mvnrepository/org/hdrhistogram/HdrHistogram/2.1.10/HdrHistogram-2.1.10.jar:/root/.mvnrepository/org/latencyutils/LatencyUtils/2.0.3/LatencyUtils-2.0.3.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-web/2.0.2.RELEASE/spring-boot-starter-web-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-json/2.0.2.RELEASE/spring-boot-starter-json-2.0.2.RELEASE.jar:/root/.mvnrepository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.9.5/jackson-datatype-jdk8-2.9.5.jar:/root/.mvnrepository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.9.5/jackson-module-parameter-names-2.9.5.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-tomcat/2.0.2.RELEASE/spring-boot-starter-tomcat-2.0.2.RELEASE.jar:/root/.mvnrepository/org/apache/tomcat/embed/tomcat-embed-core/8.5.31/tomcat-embed-core-8.5.31.jar:/root/.mvnrepository/org/apache/tomcat/embed/tomcat-embed-el/8.5.31/tomcat-embed-el-8.5.31.jar:/root/.mvnrepository/org/apache/tomcat/embed/tomcat-embed-websocket/8.5.31/tomcat-embed-websocket-8.5.31.jar:/root/.mvnrepository/org/hibernate/validator/hibernate-validator/6.0.9.Final/hibernate-validator-6.0.9.Final.jar:/root/.mvnrepository/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar:/root/.mvnrepository/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.jar:/root/.mvnrepository/com/fasterxml/classmate/1.3.4/classmate-1.3.4.jar:/root/.mvnrepository/org/springframework/spring-web/5.0.6.RELEASE/spring-web-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-beans/5.0.6.RELEASE/spring-beans-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-webmvc/5.0.6.RELEASE/spring-webmvc-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-aop/5.0.6.RELEASE/spring-aop-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-expression/5.0.6.RELEASE/spring-expression-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-test/2.0.2.RELEASE/spring-boot-starter-test-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-test/2.0.2.RELEASE/spring-boot-test-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-test-autoconfigure/2.0.2.RELEASE/spring-boot-test-autoconfigure-2.0.2.RELEASE.jar:/root/.mvnrepository/com/jayway/jsonpath/json-path/2.4.0/json-path-2.4.0.jar:/root/.mvnrepository/net/minidev/json-smart/2.3/json-smart-2.3.jar:/root/.mvnrepository/net/minidev/accessors-smart/1.2/accessors-smart-1.2.jar:/root/.mvnrepository/org/ow2/asm/asm/5.0.4/asm-5.0.4.jar:/root/.mvnrepository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar:/root/.mvnrepository/junit/junit/4.12/junit-4.12.jar:/root/.mvnrepository/org/assertj/assertj-core/3.9.1/assertj-core-3.9.1.jar:/root/.mvnrepository/org/mockito/mockito-core/2.15.0/mockito-core-2.15.0.jar:/root/.mvnrepository/net/bytebuddy/byte-buddy/1.7.11/byte-buddy-1.7.11.jar:/root/.mvnrepository/net/bytebuddy/byte-buddy-agent/1.7.11/byte-buddy-agent-1.7.11.jar:/root/.mvnrepository/org/objenesis/objenesis/2.6/objenesis-2.6.jar:/root/.mvnrepository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/root/.mvnrepository/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar:/root/.mvnrepository/org/skyscreamer/jsonassert/1.5.0/jsonassert-1.5.0.jar:/root/.mvnrepository/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.jar:/root/.mvnrepository/org/springframework/spring-core/5.0.6.RELEASE/spring-core-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-jcl/5.0.6.RELEASE/spring-jcl-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-test/5.0.6.RELEASE/spring-test-5.0.6.RELEASE.jar:/root/.mvnrepository/org/xmlunit/xmlunit-core/2.5.1/xmlunit-core-2.5.1.jar:, java.specification.name=Java Platform API Specification, java.class.version=52.0, sun.management.compiler=HotSpot Tiered Compilers, os.version=4.4.111+, user.home=/root, user.timezone=UTC, java.awt.printerjob=sun.print.PSPrinterJob, file.encoding=ANSI_X3.4-1968, java.specification.version=1.8, java.class.path=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/test-classes:/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/classes:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-actuator/2.0.2.RELEASE/spring-boot-starter-actuator-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter/2.0.2.RELEASE/spring-boot-starter-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot/2.0.2.RELEASE/spring-boot-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-autoconfigure/2.0.2.RELEASE/spring-boot-autoconfigure-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-logging/2.0.2.RELEASE/spring-boot-starter-logging-2.0.2.RELEASE.jar:/root/.mvnrepository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar:/root/.mvnrepository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar:/root/.mvnrepository/org/apache/logging/log4j/log4j-to-slf4j/2.10.0/log4j-to-slf4j-2.10.0.jar:/root/.mvnrepository/org/apache/logging/log4j/log4j-api/2.10.0/log4j-api-2.10.0.jar:/root/.mvnrepository/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25.jar:/root/.mvnrepository/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar:/root/.mvnrepository/org/yaml/snakeyaml/1.19/snakeyaml-1.19.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-actuator-autoconfigure/2.0.2.RELEASE/spring-boot-actuator-autoconfigure-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-actuator/2.0.2.RELEASE/spring-boot-actuator-2.0.2.RELEASE.jar:/root/.mvnrepository/com/fasterxml/jackson/core/jackson-databind/2.9.5/jackson-databind-2.9.5.jar:/root/.mvnrepository/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0.jar:/root/.mvnrepository/com/fasterxml/jackson/core/jackson-core/2.9.5/jackson-core-2.9.5.jar:/root/.mvnrepository/org/springframework/spring-context/5.0.6.RELEASE/spring-context-5.0.6.RELEASE.jar:/root/.mvnrepository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.9.5/jackson-datatype-jsr310-2.9.5.jar:/root/.mvnrepository/io/micrometer/micrometer-core/1.0.4/micrometer-core-1.0.4.jar:/root/.mvnrepository/org/hdrhistogram/HdrHistogram/2.1.10/HdrHistogram-2.1.10.jar:/root/.mvnrepository/org/latencyutils/LatencyUtils/2.0.3/LatencyUtils-2.0.3.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-web/2.0.2.RELEASE/spring-boot-starter-web-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-json/2.0.2.RELEASE/spring-boot-starter-json-2.0.2.RELEASE.jar:/root/.mvnrepository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.9.5/jackson-datatype-jdk8-2.9.5.jar:/root/.mvnrepository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.9.5/jackson-module-parameter-names-2.9.5.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-tomcat/2.0.2.RELEASE/spring-boot-starter-tomcat-2.0.2.RELEASE.jar:/root/.mvnrepository/org/apache/tomcat/embed/tomcat-embed-core/8.5.31/tomcat-embed-core-8.5.31.jar:/root/.mvnrepository/org/apache/tomcat/embed/tomcat-embed-el/8.5.31/tomcat-embed-el-8.5.31.jar:/root/.mvnrepository/org/apache/tomcat/embed/tomcat-embed-websocket/8.5.31/tomcat-embed-websocket-8.5.31.jar:/root/.mvnrepository/org/hibernate/validator/hibernate-validator/6.0.9.Final/hibernate-validator-6.0.9.Final.jar:/root/.mvnrepository/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar:/root/.mvnrepository/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.jar:/root/.mvnrepository/com/fasterxml/classmate/1.3.4/classmate-1.3.4.jar:/root/.mvnrepository/org/springframework/spring-web/5.0.6.RELEASE/spring-web-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-beans/5.0.6.RELEASE/spring-beans-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-webmvc/5.0.6.RELEASE/spring-webmvc-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-aop/5.0.6.RELEASE/spring-aop-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-expression/5.0.6.RELEASE/spring-expression-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-starter-test/2.0.2.RELEASE/spring-boot-starter-test-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-test/2.0.2.RELEASE/spring-boot-test-2.0.2.RELEASE.jar:/root/.mvnrepository/org/springframework/boot/spring-boot-test-autoconfigure/2.0.2.RELEASE/spring-boot-test-autoconfigure-2.0.2.RELEASE.jar:/root/.mvnrepository/com/jayway/jsonpath/json-path/2.4.0/json-path-2.4.0.jar:/root/.mvnrepository/net/minidev/json-smart/2.3/json-smart-2.3.jar:/root/.mvnrepository/net/minidev/accessors-smart/1.2/accessors-smart-1.2.jar:/root/.mvnrepository/org/ow2/asm/asm/5.0.4/asm-5.0.4.jar:/root/.mvnrepository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar:/root/.mvnrepository/junit/junit/4.12/junit-4.12.jar:/root/.mvnrepository/org/assertj/assertj-core/3.9.1/assertj-core-3.9.1.jar:/root/.mvnrepository/org/mockito/mockito-core/2.15.0/mockito-core-2.15.0.jar:/root/.mvnrepository/net/bytebuddy/byte-buddy/1.7.11/byte-buddy-1.7.11.jar:/root/.mvnrepository/net/bytebuddy/byte-buddy-agent/1.7.11/byte-buddy-agent-1.7.11.jar:/root/.mvnrepository/org/objenesis/objenesis/2.6/objenesis-2.6.jar:/root/.mvnrepository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/root/.mvnrepository/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar:/root/.mvnrepository/org/skyscreamer/jsonassert/1.5.0/jsonassert-1.5.0.jar:/root/.mvnrepository/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.jar:/root/.mvnrepository/org/springframework/spring-core/5.0.6.RELEASE/spring-core-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-jcl/5.0.6.RELEASE/spring-jcl-5.0.6.RELEASE.jar:/root/.mvnrepository/org/springframework/spring-test/5.0.6.RELEASE/spring-test-5.0.6.RELEASE.jar:/root/.mvnrepository/org/xmlunit/xmlunit-core/2.5.1/xmlunit-core-2.5.1.jar:, user.name=root, java.vm.specification.version=1.8, sun.java.command=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/surefire/surefirebooter8695429534331311209.jar /home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/surefire 2018-06-08T09-26-57_236-jvmRun1 surefire4328980770760480765tmp surefire_02400531796289035372tmp, java.home=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre, sun.arch.data.model=32, user.language=en, java.specification.vendor=Oracle Corporation, awt.toolkit=sun.awt.X11.XToolkit, java.vm.info=mixed mode, java.version=1.8.0_171, java.ext.dirs=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/ext:/usr/java/packages/lib/ext, sun.boot.class.path=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/resources.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/rt.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/jsse.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/jce.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/charsets.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/lib/jfr.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/classes, java.vendor=Oracle Corporation, localRepository=/root/.mvnrepository, file.separator=/, java.vendor.url.bug=http://bugreport.sun.com/bugreport/, sun.io.unicode.encoding=UnicodeLittle, sun.cpu.endian=little, sun.cpu.isalist=}}, SystemEnvironmentPropertySource@6883543 {name='systemEnvironment', properties={PATH=/opt/apache-maven-3.3.9/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/google-cloud-sdk/bin:/opt/google/chrome, JENKINS_X_MONOCULAR_UI_PORT_80_TCP_PROTO=tcp, JENKINS_X_MONOCULAR_API_PORT_80_TCP_PORT=80, RUN_DISPLAY_URL=http://unconfigured-jenkins-location/job/grohan2002/job/demo08/job/master/1/display/redirect, HUDSON_HOME=/var/jenkins_home, JENKINS_X_MONOCULAR_UI_PORT=tcp://10.59.242.187:80, RUN_CHANGES_DISPLAY_URL=http://unconfigured-jenkins-location/job/grohan2002/job/demo08/job/master/1/display/redirect?page=changes, APP_NAME=demo08, JENKINS_X_MONOCULAR_PRERENDER_PORT=tcp://10.59.255.226:80, JENKINS_NODE_COOKIE=1e8ba60b-b92c-4c51-a0b3-2db62a36b930, JENKINS_X_MONOCULAR_PRERENDER_PORT_80_TCP_PORT=80, JENKINS_X_MONOCULAR_PRERENDER_PORT_80_TCP_PROTO=tcp, CHARTMUSEUM_CREDS_PSW=****, JENKINS_X_MONGODB_PORT_27017_TCP_PROTO=tcp, JENKINS_X_MONOCULAR_PRERENDER_SERVICE_HOST=10.59.255.226, JENKINS_AGENT_SERVICE_PORT=50000, JENKINS_SERVER_COOKIE=durable-0175af514c7fda992d16faace609e600, PWD=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A, JENKINS_URL=http://jenkins:8080, JENKINS_SECRET=0ce10b8d424d8d0f21232f7289fd3fbfd8dc7992708d64922c0cbfe468664f47, GIT_AUTHOR_EMAIL=jenkins-x@googlegroups.com, JENKINS_SERVICE_HOST=10.59.252.154, maven.home=/opt/apache-maven-3.3.9, STAGE_NAME=Build Release, JENKINS_X_CHARTMUSEUM_SERVICE_PORT_JENKINS_X=8080, JENKINS_X_MONOCULAR_UI_PORT_80_TCP_ADDR=10.59.242.187, JENKINS_AGENT_SERVICE_HOST=10.59.242.200, JENKINS_PORT_8080_TCP=tcp://10.59.252.154:8080, GIT_AUTHOR_NAME=jenkins-x-bot, JENKINS_HOME=/var/jenkins_home, NODE_NAME=maven-0tbjd, BUILD_DISPLAY_NAME=#1, JENKINS_X_MONOCULAR_UI_SERVICE_PORT_MONOCULAR_UI=80, JENKINS_X_MONGODB_PORT_27017_TCP=tcp://10.59.243.233:27017, JENKINS_PORT_8080_TCP_PORT=8080, KUBERNETES_SERVICE_PORT_HTTPS=443, JENKINS_AGENT_SERVICE_PORT_SLAVELISTENER=50000, SHLVL=4, JENKINS_PORT=tcp://10.59.252.154:8080, JX_RELEASE_VERSION=1.0.10, KUBERNETES_PORT=tcp://10.59.240.1:443, DOCKER_VERSION=17.12.0, JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386, JENKINS_AGENT_PORT_50000_TCP_PROTO=tcp, NEXUS_PORT_80_TCP_ADDR=10.59.240.56, NEXUS_PORT=tcp://10.59.240.56:80, JENKINS_X_CHARTMUSEUM_PORT=tcp://10.59.247.18:8080, JENKINS_PORT_8080_TCP_PROTO=tcp, JENKINS_PORT_8080_TCP_ADDR=10.59.252.154, NEXUS_PORT_80_TCP=tcp://10.59.240.56:80, NEXUS_SERVICE_PORT=80, GCLOUD_VERSION=187.0.0, WORKSPACE=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A, JENKINS_X_MONGODB_SERVICE_HOST=10.59.243.233, JENKINS_NAME=maven-0tbjd, JENKINS_X_DOCKER_REGISTRY_PORT=tcp://10.59.251.152:5000, _=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.i386/jre/bin/java, SKAFFOLD_VERSION=0.4.0, GIT_COMMIT=efc077e94f0b7820ee4a626bd921e5da208ecf8a, KUBERNETES_PORT_443_TCP_ADDR=10.59.240.1, NEXUS_SERVICE_HOST=10.59.240.56, KUBERNETES_PORT_443_TCP_PROTO=tcp, MAVEN_PROJECTBASEDIR=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A, JOB_BASE_NAME=master, JENKINS_X_DOCKER_REGISTRY_PORT_5000_TCP_PORT=5000, JENKINS_X_MONOCULAR_UI_PORT_80_TCP_PORT=80, JENKINS_AGENT_PORT_50000_TCP_PORT=50000, UPDATEBOT_VERSION=1.1.10, BUILD_NUMBER=1, JENKINS_X_MONOCULAR_PRERENDER_SERVICE_PORT=80, JENKINS_X_MONOCULAR_API_PORT=tcp://10.59.242.193:80, GIT_COMMITTER_EMAIL=jenkins-x@googlegroups.com, GIT_URL=https://github.com/grohan2002/demo08.git, JENKINS_X_MONOCULAR_API_SERVICE_PORT=80, JENKINS_X_MONOCULAR_API_PORT_80_TCP_PROTO=tcp, JENKINS_X_MONOCULAR_UI_SERVICE_HOST=10.59.242.187, HEAPSTER_PORT_8082_TCP_PORT=8082, NEXUS_PORT_80_TCP_PROTO=tcp, JENKINS_X_MONGODB_SERVICE_PORT=27017, JENKINS_X_MONOCULAR_UI_SERVICE_PORT=80, JENKINS_X_MONOCULAR_API_PORT_80_TCP=tcp://10.59.242.193:80, M2=/opt/apache-maven-3.3.9/bin, JENKINS_X_CHARTMUSEUM_SERVICE_PORT=8080, JENKINS_X_MONOCULAR_API_PORT_80_TCP_ADDR=10.59.242.193, JENKINS_X_MONOCULAR_PRERENDER_PORT_80_TCP=tcp://10.59.255.226:80, DOCKER_CONFIG=/home/jenkins/.docker/, JENKINS_X_MONGODB_PORT=tcp://10.59.243.233:27017, JENKINS_X_MONOCULAR_API_SERVICE_HOST=10.59.242.193, JENKINS_AGENT_PORT_50000_TCP_ADDR=10.59.242.200, JENKINS_AGENT_PORT=tcp://10.59.242.200:50000, JENKINS_X_DOCKER_REGISTRY_PORT_5000_TCP=tcp://10.59.251.152:5000, JENKINS_X_MONOCULAR_PRERENDER_SERVICE_PORT_PRERENDER=80, KUBERNETES_PORT_443_TCP=tcp://10.59.240.1:443, JENKINS_X_DOCKER_REGISTRY_PORT_5000_TCP_PROTO=tcp, JENKINS_AGENT_PORT_50000_TCP=tcp://10.59.242.200:50000, JENKINS_X_MONOCULAR_API_SERVICE_PORT_MONOCULAR_API=80, BUILD_TAG=jenkins-grohan2002-demo08-master-1, HEAPSTER_PORT_8082_TCP=tcp://10.59.255.13:8082, MAVEN_VERSION=3.3.9, HEAPSTER_PORT_8082_TCP_PROTO=tcp, JENKINS_X_DOCKER_REGISTRY_SERVICE_HOST=10.59.251.152, OLDPWD=/home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A, JENKINS_X_MONGODB_PORT_27017_TCP_ADDR=10.59.243.233, JENKINS_X_CHARTMUSEUM_PORT_8080_TCP_PORT=8080, NEXUS_PORT_80_TCP_PORT=80, NEXUS_SERVICE_PORT_NEXUS=80, JOB_DISPLAY_URL=http://unconfigured-jenkins-location/job/grohan2002/job/demo08/job/master/display/redirect, M2_HOME=/opt/apache-maven-3.3.9, _JAVA_OPTIONS=-XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -Dsun.zip.disableMemoryMapping=true -XX:+UseParallelGC -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10 -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Xms10m -Xmx192m, JENKINS_X_CHARTMUSEUM_SERVICE_HOST=10.59.247.18, GIT_BRANCH=master, JENKINS_X_MONOCULAR_PRERENDER_PORT_80_TCP_ADDR=10.59.255.226, JENKINS_X_MONOCULAR_UI_PORT_80_TCP=tcp://10.59.242.187:80, HEAPSTER_SERVICE_PORT=8082, JENKINS_TUNNEL=jenkins-agent:50000, JENKINS_X_CHARTMUSEUM_PORT_8080_TCP_PROTO=tcp, ORG=grohan2002, CHARTMUSEUM_CREDS=****, JENKINS_X_CHARTMUSEUM_PORT_8080_TCP_ADDR=10.59.247.18, HEAPSTER_PORT=tcp://10.59.255.13:8082, JENKINS_SERVICE_PORT_HTTP=8080, BUILD_ID=1, KUBERNETES_SERVICE_HOST=10.59.240.1, JOB_NAME=grohan2002/demo08/master, JENKINS_SERVICE_PORT=8080, EXPOSECONTROLLER_VERSION=2.3.34, JENKINS_X_CHARTMUSEUM_PORT_8080_TCP=tcp://10.59.247.18:8080, JENKINS_X_MONGODB_SERVICE_PORT_MONGODB=27017, CHARTMUSEUM_CREDS_USR=****, NODE_LABELS=jenkins-maven maven-0tbjd, JX_VERSION=1.2.101, JENKINS_X_DOCKER_REGISTRY_SERVICE_PORT_REGISTRY=5000, JENKINS_X_MONGODB_PORT_27017_TCP_PORT=27017, MAVEN_CMD_LINE_ARGS= clean deploy, HEAPSTER_PORT_8082_TCP_ADDR=10.59.255.13, JENKINS_X_DOCKER_REGISTRY_PORT_5000_TCP_ADDR=10.59.251.152, EXECUTOR_NUMBER=0, GIT_COMMITTER_NAME=jenkins-x-bot, HUDSON_SERVER_COOKIE=d2e418b0327786cb, CLASSPATH=, XDG_CONFIG_HOME=/home/jenkins, JENKINS_X_DOCKER_REGISTRY_SERVICE_PORT=5000, KUBERNETES_SERVICE_PORT=443, HOSTNAME=maven-0tbjd, HELM_VERSION=2.8.2, HEAPSTER_SERVICE_HOST=10.59.255.13, KUBERNETES_PORT_443_TCP_PORT=443, BRANCH_NAME=master, HOME=/home/jenkins}}]
    09:27:01.549 [main] DEBUG org.springframework.test.context.support.TestPropertySourceUtils - Adding inlined properties to environment: {spring.jmx.enabled=false, org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true, server.port=-1}
    09:27:01.561 [main] DEBUG org.springframework.core.env.StandardEnvironment - Adding PropertySource 'Inlined Test Properties' with highest search precedence
    
    
      .   ____          _            __ _ _
     /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
    ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
     \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
      '  |____| .__|_| |_|_| |_\__, | / / / /
     =========|_|==============|___/=/_/_/_/
     :: Spring Boot ::        (v2.0.2.RELEASE)
    
    2018-06-08 09:27:02.738  INFO 279 --- [           main] com.example.demo08.DemoApplicationTests  : Starting DemoApplicationTests on maven-0tbjd with PID 279 (started by root in /home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A)
    2018-06-08 09:27:02.748  INFO 279 --- [           main] com.example.demo08.DemoApplicationTests  : No active profile set, falling back to default profiles: default
    2018-06-08 09:27:02.948  INFO 279 --- [           main] o.s.w.c.s.GenericWebApplicationContext   : Refreshing org.springframework.web.context.support.GenericWebApplicationContext@152216b: startup date [Fri Jun 08 09:27:02 UTC 2018]; root of context hierarchy
    2018-06-08 09:27:09.746  INFO 279 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
    2018-06-08 09:27:10.826  INFO 279 --- [           main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.web.context.support.GenericWebApplicationContext@152216b: startup date [Fri Jun 08 09:27:02 UTC 2018]; root of context hierarchy
    2018-06-08 09:27:11.125  INFO 279 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
    2018-06-08 09:27:11.130  INFO 279 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
    2018-06-08 09:27:11.230  INFO 279 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
    2018-06-08 09:27:11.231  INFO 279 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
    2018-06-08 09:27:14.040  INFO 279 --- [           main] o.s.b.a.e.web.EndpointLinksResolver      : Exposing 2 endpoint(s) beneath base path '/actuator'
    2018-06-08 09:27:14.055  INFO 279 --- [           main] s.b.a.e.w.s.WebMvcEndpointHandlerMapping : Mapped "{[/actuator/health],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
    2018-06-08 09:27:14.056  INFO 279 --- [           main] s.b.a.e.w.s.WebMvcEndpointHandlerMapping : Mapped "{[/actuator/info],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
    2018-06-08 09:27:14.057  INFO 279 --- [           main] s.b.a.e.w.s.WebMvcEndpointHandlerMapping : Mapped "{[/actuator],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto protected java.util.Map<java.lang.String, java.util.Map<java.lang.String, org.springframework.boot.actuate.endpoint.web.Link>> org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping.links(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
    2018-06-08 09:27:14.350  INFO 279 --- [           main] com.example.demo08.DemoApplicationTests  : Started DemoApplicationTests in 12.725 seconds (JVM running for 15.43)
    [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.996 s - in com.example.demo08.DemoApplicationTests
    2018-06-08 09:27:14.752  INFO 279 --- [       Thread-4] o.s.w.c.s.GenericWebApplicationContext   : Closing org.springframework.web.context.support.GenericWebApplicationContext@152216b: startup date [Fri Jun 08 09:27:02 UTC 2018]; root of context hierarchy
    [INFO] 
    [INFO] Results:
    [INFO] 
    [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
    [INFO] 
    [INFO] 
    [INFO] --- maven-jar-plugin:3.0.2:jar (default-jar) @ demo08 ---
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-archiver/3.1.1/maven-archiver-3.1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-archiver/3.1.1/maven-archiver-3.1.1.pom (5 KB at 69.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/3.0.1/maven-shared-utils-3.0.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/3.0.1/maven-shared-utils-3.0.1.pom (5 KB at 64.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-archiver/3.3/plexus-archiver-3.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-archiver/3.3/plexus-archiver-3.3.pom (6 KB at 102.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-io/2.7.1/plexus-io-2.7.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-io/2.7.1/plexus-io-2.7.1.pom (5 KB at 100.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-io/commons-io/2.2/commons-io-2.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-io/commons-io/2.2/commons-io-2.2.pom (11 KB at 207.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/commons/commons-parent/24/commons-parent-24.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/commons/commons-parent/24/commons-parent-24.pom (47 KB at 839.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/commons/commons-compress/1.11/commons-compress-1.11.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/commons/commons-compress/1.11/commons-compress-1.11.pom (13 KB at 204.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/iq80/snappy/snappy/0.4/snappy-0.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/iq80/snappy/snappy/0.4/snappy-0.4.pom (15 KB at 244.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/tukaani/xz/1.5/xz-1.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/tukaani/xz/1.5/xz-1.5.pom (2 KB at 40.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-archiver/3.4/plexus-archiver-3.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-archiver/3.4/plexus-archiver-3.4.pom (6 KB at 108.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-archiver/3.1.1/maven-archiver-3.1.1.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/3.0.1/maven-shared-utils-3.0.1.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-archiver/3.4/plexus-archiver-3.4.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-io/2.7.1/plexus-io-2.7.1.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/commons/commons-compress/1.11/commons-compress-1.11.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-archiver/3.1.1/maven-archiver-3.1.1.jar (24 KB at 200.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/iq80/snappy/snappy/0.4/snappy-0.4.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-archiver/3.4/plexus-archiver-3.4.jar (183 KB at 1250.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/tukaani/xz/1.5/xz-1.5.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-io/2.7.1/plexus-io-2.7.1.jar (84 KB at 537.2 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/3.0.1/maven-shared-utils-3.0.1.jar (151 KB at 954.6 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/iq80/snappy/snappy/0.4/snappy-0.4.jar (57 KB at 343.0 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/commons/commons-compress/1.11/commons-compress-1.11.jar (416 KB at 1970.0 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/tukaani/xz/1.5/xz-1.5.jar (98 KB at 434.0 KB/sec)
    [INFO] Building jar: /home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/demo08-0.0.1.jar
    [INFO] 
    [INFO] --- spring-boot-maven-plugin:2.0.2.RELEASE:repackage (default) @ demo08 ---
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-loader-tools/2.0.2.RELEASE/spring-boot-loader-tools-2.0.2.RELEASE.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-loader-tools/2.0.2.RELEASE/spring-boot-loader-tools-2.0.2.RELEASE.pom (3 KB at 9.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/commons/commons-compress/1.14/commons-compress-1.14.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/commons/commons-compress/1.14/commons-compress-1.14.pom (13 KB at 191.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/commons/commons-parent/42/commons-parent-42.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/commons/commons-parent/42/commons-parent-42.pom (67 KB at 909.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-archiver/2.6/maven-archiver-2.6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-archiver/2.6/maven-archiver-2.6.pom (5 KB at 72.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-components/20/maven-shared-components-20.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-components/20/maven-shared-components-20.pom (5 KB at 92.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/slf4j/slf4j-jdk14/1.7.25/slf4j-jdk14-1.7.25.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/slf4j/slf4j-jdk14/1.7.25/slf4j-jdk14-1.7.25.pom (1008 B at 16.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/slf4j/jcl-over-slf4j/1.7.25/jcl-over-slf4j-1.7.25.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/slf4j/jcl-over-slf4j/1.7.25/jcl-over-slf4j-1.7.25.pom (959 B at 6.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/0.7/maven-shared-utils-0.7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/0.7/maven-shared-utils-0.7.pom (5 KB at 66.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-archiver/2.8.1/plexus-archiver-2.8.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-archiver/2.8.1/plexus-archiver-2.8.1.pom (5 KB at 63.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-components/1.3/plexus-components-1.3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-components/1.3/plexus-components-1.3.pom (3 KB at 64.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-io/2.3.2/plexus-io-2.3.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-io/2.3.2/plexus-io-2.3.2.pom (3 KB at 47.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-components/1.2/plexus-components-1.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-components/1.2/plexus-components-1.2.pom (3 KB at 52.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/commons/commons-compress/1.9/commons-compress-1.9.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/commons/commons-compress/1.9/commons-compress-1.9.pom (12 KB at 183.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/commons/commons-parent/34/commons-parent-34.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/commons/commons-parent/34/commons-parent-34.pom (55 KB at 958.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.21/plexus-interpolation-1.21.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.21/plexus-interpolation-1.21.pom (2 KB at 29.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-artifact/3.1.1/maven-artifact-3.1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-artifact/3.1.1/maven-artifact-3.1.1.pom (2 KB at 37.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven/3.1.1/maven-3.1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven/3.1.1/maven-3.1.1.pom (22 KB at 273.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.pom (4 KB at 48.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-core/3.1.1/maven-core-3.1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-core/3.1.1/maven-core-3.1.1.pom (8 KB at 136.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-model/3.1.1/maven-model-3.1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-model/3.1.1/maven-model-3.1.1.pom (5 KB at 79.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-settings/3.1.1/maven-settings-3.1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-settings/3.1.1/maven-settings-3.1.1.pom (3 KB at 44.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-settings-builder/3.1.1/maven-settings-builder-3.1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-settings-builder/3.1.1/maven-settings-builder-3.1.1.pom (3 KB at 52.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.19/plexus-interpolation-1.19.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.19/plexus-interpolation-1.19.pom (2 KB at 21.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-repository-metadata/3.1.1/maven-repository-metadata-3.1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-repository-metadata/3.1.1/maven-repository-metadata-3.1.1.pom (3 KB at 31.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-api/3.1.1/maven-plugin-api-3.1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-api/3.1.1/maven-plugin-api-3.1.1.pom (4 KB at 62.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/eclipse/sisu/org.eclipse.sisu.plexus/0.0.0.M5/org.eclipse.sisu.plexus-0.0.0.M5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/eclipse/sisu/org.eclipse.sisu.plexus/0.0.0.M5/org.eclipse.sisu.plexus-0.0.0.M5.pom (5 KB at 81.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/eclipse/sisu/sisu-plexus/0.0.0.M5/sisu-plexus-0.0.0.M5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/eclipse/sisu/sisu-plexus/0.0.0.M5/sisu-plexus-0.0.0.M5.pom (13 KB at 243.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/javax/enterprise/cdi-api/1.0/cdi-api-1.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/javax/enterprise/cdi-api/1.0/cdi-api-1.0.pom (2 KB at 27.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jboss/weld/weld-api-parent/1.0/weld-api-parent-1.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jboss/weld/weld-api-parent/1.0/weld-api-parent-1.0.pom (3 KB at 46.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jboss/weld/weld-api-bom/1.0/weld-api-bom-1.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jboss/weld/weld-api-bom/1.0/weld-api-bom-1.0.pom (8 KB at 145.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jboss/weld/weld-parent/6/weld-parent-6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jboss/weld/weld-parent/6/weld-parent-6.pom (21 KB at 360.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.pom (1023 B at 20.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/javax/inject/javax.inject/1/javax.inject-1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/javax/inject/javax.inject/1/javax.inject-1.pom (612 B at 13.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/google/guava/guava/10.0.1/guava-10.0.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/google/guava/guava/10.0.1/guava-10.0.1.pom (6 KB at 101.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/google/guava/guava-parent/10.0.1/guava-parent-10.0.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/google/guava/guava-parent/10.0.1/guava-parent-10.0.1.pom (2 KB at 37.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.pom (965 B at 17.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-guice/3.1.0/sisu-guice-3.1.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-guice/3.1.0/sisu-guice-3.1.0.pom (10 KB at 177.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/sisu/inject/guice-parent/3.1.0/guice-parent-3.1.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/sisu/inject/guice-parent/3.1.0/guice-parent-3.1.0.pom (11 KB at 154.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/aopalliance/aopalliance/1.0/aopalliance-1.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/aopalliance/aopalliance/1.0/aopalliance-1.0.pom (363 B at 7.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/eclipse/sisu/org.eclipse.sisu.inject/0.0.0.M5/org.eclipse.sisu.inject-0.0.0.M5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/eclipse/sisu/org.eclipse.sisu.inject/0.0.0.M5/org.eclipse.sisu.inject-0.0.0.M5.pom (3 KB at 39.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/eclipse/sisu/sisu-inject/0.0.0.M5/sisu-inject-0.0.0.M5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/eclipse/sisu/sisu-inject/0.0.0.M5/sisu-inject-0.0.0.M5.pom (14 KB at 273.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/2.4/plexus-classworlds-2.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/2.4/plexus-classworlds-2.4.pom (4 KB at 80.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-model-builder/3.1.1/maven-model-builder-3.1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-model-builder/3.1.1/maven-model-builder-3.1.1.pom (3 KB at 54.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-aether-provider/3.1.1/maven-aether-provider-3.1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-aether-provider/3.1.1/maven-aether-provider-3.1.1.pom (4 KB at 61.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/eclipse/aether/aether-api/0.9.0.M2/aether-api-0.9.0.M2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/eclipse/aether/aether-api/0.9.0.M2/aether-api-0.9.0.M2.pom (2 KB at 28.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/eclipse/aether/aether/0.9.0.M2/aether-0.9.0.M2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/eclipse/aether/aether/0.9.0.M2/aether-0.9.0.M2.pom (28 KB at 439.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/eclipse/aether/aether-spi/0.9.0.M2/aether-spi-0.9.0.M2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/eclipse/aether/aether-spi/0.9.0.M2/aether-spi-0.9.0.M2.pom (2 KB at 32.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.pom (2 KB at 43.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/eclipse/aether/aether-impl/0.9.0.M2/aether-impl-0.9.0.M2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/eclipse/aether/aether-impl/0.9.0.M2/aether-impl-0.9.0.M2.pom (4 KB at 66.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/2.5.1/plexus-classworlds-2.5.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/2.5.1/plexus-classworlds-2.5.1.pom (5 KB at 97.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-api/2.0.8/maven-plugin-api-2.0.8.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-api/2.0.8/maven-plugin-api-2.0.8.pom (2 KB at 37.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.pom (8 KB at 150.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-component-annotations/1.5.4/plexus-component-annotations-1.5.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-component-annotations/1.5.4/plexus-component-annotations-1.5.4.pom (815 B at 16.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-containers/1.5.4/plexus-containers-1.5.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-containers/1.5.4/plexus-containers-1.5.4.pom (5 KB at 82.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/2.0.5/plexus-2.0.5.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus/2.0.5/plexus-2.0.5.pom (17 KB at 197.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-compat/3.0/maven-compat-3.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-compat/3.0/maven-compat-3.0.pom (4 KB at 48.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon-provider-api/1.0-beta-6/wagon-provider-api-1.0-beta-6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon-provider-api/1.0-beta-6/wagon-provider-api-1.0-beta-6.pom (2 KB at 34.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon/1.0-beta-6/wagon-1.0-beta-6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon/1.0-beta-6/wagon-1.0-beta-6.pom (13 KB at 232.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.4.2/plexus-utils-1.4.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/1.4.2/plexus-utils-1.4.2.pom (2 KB at 33.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/asm/asm/3.3.1/asm-3.3.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/asm/asm/3.3.1/asm-3.3.1.pom (266 B at 5.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/asm/asm-parent/3.3.1/asm-parent-3.3.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/asm/asm-parent/3.3.1/asm-parent-3.3.1.pom (5 KB at 79.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/asm/asm-commons/3.3.1/asm-commons-3.3.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/asm/asm-commons/3.3.1/asm-commons-3.3.1.pom (417 B at 8.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/asm/asm-tree/3.3.1/asm-tree-3.3.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/asm/asm-tree/3.3.1/asm-tree-3.3.1.pom (406 B at 9.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jdom/jdom/1.1/jdom-1.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jdom/jdom/1.1/jdom-1.1.pom (3 KB at 41.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.pom (7 KB at 118.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-project/2.2.0/maven-project-2.2.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-project/2.2.0/maven-project-2.2.0.pom (3 KB at 60.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven/2.2.0/maven-2.2.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven/2.2.0/maven-2.2.0.pom (22 KB at 421.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-settings/2.2.0/maven-settings-2.2.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-settings/2.2.0/maven-settings-2.2.0.pom (3 KB at 31.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-model/2.2.0/maven-model-2.2.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-model/2.2.0/maven-model-2.2.0.pom (4 KB at 59.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-profile/2.2.0/maven-profile-2.2.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-profile/2.2.0/maven-profile-2.2.0.pom (3 KB at 43.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-artifact-manager/2.2.0/maven-artifact-manager-2.2.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-artifact-manager/2.2.0/maven-artifact-manager-2.2.0.pom (4 KB at 57.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-repository-metadata/2.2.0/maven-repository-metadata-2.2.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-repository-metadata/2.2.0/maven-repository-metadata-2.2.0.pom (2 KB at 35.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-artifact/2.2.0/maven-artifact-2.2.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-artifact/2.2.0/maven-artifact-2.2.0.pom (2 KB at 26.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-registry/2.2.0/maven-plugin-registry-2.2.0.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-registry/2.2.0/maven-plugin-registry-2.2.0.pom (2 KB at 36.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/vafer/jdependency/0.7/jdependency-0.7.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/vafer/jdependency/0.7/jdependency-0.7.pom (8 KB at 147.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-io/commons-io/1.3.2/commons-io-1.3.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-io/commons-io/1.3.2/commons-io-1.3.2.pom (10 KB at 182.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/commons/commons-parent/3/commons-parent-3.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/commons/commons-parent/3/commons-parent-3.pom (12 KB at 226.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/asm/asm/3.2/asm-3.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/asm/asm/3.2/asm-3.2.pom (264 B at 5.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/asm/asm-parent/3.2/asm-parent-3.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/asm/asm-parent/3.2/asm-parent-3.2.pom (5 KB at 69.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/asm/asm-analysis/3.2/asm-analysis-3.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/asm/asm-analysis/3.2/asm-analysis-3.2.pom (417 B at 7.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/asm/asm-tree/3.2/asm-tree-3.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/asm/asm-tree/3.2/asm-tree-3.2.pom (404 B at 9.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/asm/asm-commons/3.2/asm-commons-3.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/asm/asm-commons/3.2/asm-commons-3.2.pom (415 B at 7.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/asm/asm-util/3.2/asm-util-3.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/asm/asm-util/3.2/asm-util-3.2.pom (409 B at 8.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/google/guava/guava/11.0.2/guava-11.0.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/google/guava/guava/11.0.2/guava-11.0.2.pom (6 KB at 109.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/google/guava/guava-parent/11.0.2/guava-parent-11.0.2.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/com/google/guava/guava-parent/11.0.2/guava-parent-11.0.2.pom (2 KB at 33.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-loader-tools/2.0.2.RELEASE/spring-boot-loader-tools-2.0.2.RELEASE.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/commons/commons-compress/1.14/commons-compress-1.14.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-archiver/2.6/maven-archiver-2.6.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/0.7/maven-shared-utils-0.7.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.21/plexus-interpolation-1.21.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-archiver/2.6/maven-archiver-2.6.jar (23 KB at 262.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-artifact/3.1.1/maven-artifact-3.1.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-interpolation/1.21/plexus-interpolation-1.21.jar (61 KB at 677.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-core/3.1.1/maven-core-3.1.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/springframework/boot/spring-boot-loader-tools/2.0.2.RELEASE/spring-boot-loader-tools-2.0.2.RELEASE.jar (145 KB at 1550.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-settings-builder/3.1.1/maven-settings-builder-3.1.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/0.7/maven-shared-utils-0.7.jar (167 KB at 1195.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-repository-metadata/3.1.1/maven-repository-metadata-3.1.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-artifact/3.1.1/maven-artifact-3.1.1.jar (52 KB at 297.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-model-builder/3.1.1/maven-model-builder-3.1.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-settings-builder/3.1.1/maven-settings-builder-3.1.1.jar (41 KB at 214.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-aether-provider/3.1.1/maven-aether-provider-3.1.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-repository-metadata/3.1.1/maven-repository-metadata-3.1.1.jar (25 KB at 98.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/eclipse/aether/aether-spi/0.9.0.M2/aether-spi-0.9.0.M2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-model-builder/3.1.1/maven-model-builder-3.1.1.jar (156 KB at 476.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/eclipse/aether/aether-impl/0.9.0.M2/aether-impl-0.9.0.M2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/eclipse/aether/aether-spi/0.9.0.M2/aether-spi-0.9.0.M2.jar (18 KB at 51.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/eclipse/aether/aether-api/0.9.0.M2/aether-api-0.9.0.M2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-aether-provider/3.1.1/maven-aether-provider-3.1.1.jar (59 KB at 160.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/eclipse/aether/aether-api/0.9.0.M2/aether-api-0.9.0.M2.jar (131 KB at 268.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/eclipse/sisu/org.eclipse.sisu.plexus/0.0.0.M5/org.eclipse.sisu.plexus-0.0.0.M5.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/commons/commons-compress/1.14/commons-compress-1.14.jar (518 KB at 1043.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-core/3.1.1/maven-core-3.1.1.jar (545 KB at 1040.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/eclipse/aether/aether-impl/0.9.0.M2/aether-impl-0.9.0.M2.jar (142 KB at 228.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/javax/inject/javax.inject/1/javax.inject-1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar (6 KB at 9.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-guice/3.1.0/sisu-guice-3.1.0-no_aop.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar (44 KB at 66.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/aopalliance/aopalliance/1.0/aopalliance-1.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar (131 KB at 186.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/eclipse/sisu/org.eclipse.sisu.inject/0.0.0.M5/org.eclipse.sisu.inject-0.0.0.M5.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/javax/inject/javax.inject/1/javax.inject-1.jar (3 KB at 3.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/2.5.1/plexus-classworlds-2.5.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/eclipse/sisu/org.eclipse.sisu.plexus/0.0.0.M5/org.eclipse.sisu.plexus-0.0.0.M5.jar (192 KB at 251.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-model/3.1.1/maven-model-3.1.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/aopalliance/aopalliance/1.0/aopalliance-1.0.jar (5 KB at 5.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-api/3.1.1/maven-plugin-api-3.1.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-classworlds/2.5.1/plexus-classworlds-2.5.1.jar (49 KB at 58.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-settings/3.1.1/maven-settings-3.1.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-settings/3.1.1/maven-settings-3.1.1.jar (41 KB at 44.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-model/3.1.1/maven-model-3.1.1.jar (151 KB at 164.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/eclipse/sisu/org.eclipse.sisu.inject/0.0.0.M5/org.eclipse.sisu.inject-0.0.0.M5.jar (285 KB at 307.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-api/3.1.1/maven-plugin-api-3.1.1.jar (44 KB at 44.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/sonatype/sisu/sisu-guice/3.1.0/sisu-guice-3.1.0-no_aop.jar (350 KB at 341.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-archiver/2.8.1/plexus-archiver-2.8.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.jar (114 KB at 108.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-io/2.3.2/plexus-io-2.3.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.jar (35 KB at 32.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.jar (29 KB at 26.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/maven-compat/3.0/maven-compat-3.0.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-archiver/2.8.1/plexus-archiver-2.8.1.jar (140 KB at 126.5 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon-provider-api/1.0-beta-6/wagon-provider-api-1.0-beta-6.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.jar (56 KB at 49.0 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/asm/asm/3.3.1/asm-3.3.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-io/2.3.2/plexus-io-2.3.2.jar (73 KB at 63.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/asm/asm-commons/3.3.1/asm-commons-3.3.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.jar (98 KB at 82.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/asm/asm-tree/3.3.1/asm-tree-3.3.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/asm/asm/3.3.1/asm-3.3.1.jar (43 KB at 35.2 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/jdom/jdom/1.1/jdom-1.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/wagon/wagon-provider-api/1.0-beta-6/wagon-provider-api-1.0-beta-6.jar (52 KB at 42.9 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/asm/asm-commons/3.3.1/asm-commons-3.3.1.jar (38 KB at 30.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/vafer/jdependency/0.7/jdependency-0.7.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/maven-compat/3.0/maven-compat-3.0.jar (279 KB at 215.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-io/commons-io/1.3.2/commons-io-1.3.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/vafer/jdependency/0.7/jdependency-0.7.jar (12 KB at 8.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/asm/asm-analysis/3.2/asm-analysis-3.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/asm/asm-tree/3.3.1/asm-tree-3.3.1.jar (22 KB at 15.3 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/asm/asm-util/3.2/asm-util-3.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.jar (59 KB at 42.7 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/com/google/guava/guava/11.0.2/guava-11.0.2.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/org/jdom/jdom/1.1/jdom-1.1.jar (150 KB at 106.5 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/asm/asm-analysis/3.2/asm-analysis-3.2.jar (18 KB at 12.1 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-io/commons-io/1.3.2/commons-io-1.3.2.jar (86 KB at 58.7 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/asm/asm-util/3.2/asm-util-3.2.jar (36 KB at 24.2 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/com/google/guava/guava/11.0.2/guava-11.0.2.jar (1610 KB at 862.6 KB/sec)
    [INFO] 
    [INFO] --- maven-install-plugin:2.5.2:install (default-install) @ demo08 ---
    [INFO] Downloading: http://nexus/repository/maven-group/junit/junit/3.8.1/junit-3.8.1.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/junit/junit/3.8.1/junit-3.8.1.pom (998 B at 16.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/commons-codec/commons-codec/1.6/commons-codec-1.6.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-codec/commons-codec/1.6/commons-codec-1.6.pom (11 KB at 162.6 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/commons/commons-parent/22/commons-parent-22.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/commons/commons-parent/22/commons-parent-22.pom (41 KB at 693.8 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/0.4/maven-shared-utils-0.4.pom
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/0.4/maven-shared-utils-0.4.pom (4 KB at 94.1 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-group/junit/junit/3.8.1/junit-3.8.1.jar
    [INFO] Downloading: http://nexus/repository/maven-group/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar
    [INFO] Downloading: http://nexus/repository/maven-group/commons-codec/commons-codec/1.6/commons-codec-1.6.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/0.4/maven-shared-utils-0.4.jar
    [INFO] Downloading: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.jar
    [INFO] Downloaded: http://nexus/repository/maven-group/commons-codec/commons-codec/1.6/commons-codec-1.6.jar (228 KB at 826.6 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.jar (234 KB at 1944.6 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar (37 KB at 126.8 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/junit/junit/3.8.1/junit-3.8.1.jar (119 KB at 409.1 KB/sec)
    [INFO] Downloaded: http://nexus/repository/maven-group/org/apache/maven/shared/maven-shared-utils/0.4/maven-shared-utils-0.4.jar (152 KB at 816.2 KB/sec)
    [INFO] Installing /home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/target/demo08-0.0.1.jar to /root/.mvnrepository/com/example/demo08/0.0.1/demo08-0.0.1.jar
    [INFO] Installing /home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/pom.xml to /root/.mvnrepository/com/example/demo08/0.0.1/demo08-0.0.1.pom
    [INFO] 
    [INFO] --- maven-deploy-plugin:2.8.2:deploy (default-deploy) @ demo08 ---
    [INFO] Using alternate deployment repository local-nexus::default::http://nexus/repository/maven-releases/
    [INFO] Uploading: http://nexus/repository/maven-releases/com/example/demo08/0.0.1/demo08-0.0.1.jar
    [INFO] Uploaded: http://nexus/repository/maven-releases/com/example/demo08/0.0.1/demo08-0.0.1.jar (17054 KB at 22438.4 KB/sec)
    [INFO] Uploading: http://nexus/repository/maven-releases/com/example/demo08/0.0.1/demo08-0.0.1.pom
    [INFO] Uploaded: http://nexus/repository/maven-releases/com/example/demo08/0.0.1/demo08-0.0.1.pom (2 KB at 27.4 KB/sec)
    [INFO] Downloading: http://nexus/repository/maven-releases/com/example/demo08/maven-metadata.xml
    [INFO] Uploading: http://nexus/repository/maven-releases/com/example/demo08/maven-metadata.xml
    [INFO] Uploaded: http://nexus/repository/maven-releases/com/example/demo08/maven-metadata.xml (297 B at 4.0 KB/sec)
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 55.037 s
    [INFO] Finished at: 2018-06-08T09:27:28+00:00
    [INFO] Final Memory: 27M/39M
    [INFO] ------------------------------------------------------------------------
    [Pipeline] sh
    [grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A] Running shell script
    ++ cat VERSION
    + export VERSION=0.0.1
    + VERSION=0.0.1
    + skaffold run -f skaffold.yaml
    Starting build...
    2018/06/08 09:27:32 No matching credentials found for index.docker.io, falling back on anoynmous
    2018/06/08 09:27:33 manifest digest: "sha256:5985362b4248867a18850aa2904097ea1250cf347170c67d3c04b8a9331d579a" does not match Docker-Content-Digest: "sha256:48b5e75d2a1cf179b9046360d959702c69dd45d8fd934325a5b3e0f3b4b0d63e" for "index.docker.io/library/openjdk:8-jdk-slim"
    Sending build context to Docker daemon  17.47MB
    Step 1/8 : FROM openjdk:8-jdk-slim
    8-jdk-slim: Pulling from library/openjdk
    f2aa67a397c4: Pulling fs layer
    a44ea3e7c4ff: Pulling fs layer
    8ffd93428115: Pulling fs layer
    bd00e3c2b114: Pulling fs layer
    d7381531c429: Pulling fs layer
    85fcc82e8f1f: Pulling fs layer
    bd00e3c2b114: Waiting
    d7381531c429: Waiting
    85fcc82e8f1f: Waiting
    8ffd93428115: Download complete
    a44ea3e7c4ff: Download complete
    85fcc82e8f1f: Verifying Checksum
    85fcc82e8f1f: Download complete
    d7381531c429: Verifying Checksum
    d7381531c429: Download complete
    f2aa67a397c4: Verifying Checksum
    f2aa67a397c4: Download complete
    f2aa67a397c4: Pull complete
    a44ea3e7c4ff: Pull complete
    8ffd93428115: Pull complete
    bd00e3c2b114: Pull complete
    d7381531c429: Pull complete
    85fcc82e8f1f: Pull complete
    Digest: sha256:48b5e75d2a1cf179b9046360d959702c69dd45d8fd934325a5b3e0f3b4b0d63e
    Status: Downloaded newer image for openjdk:8-jdk-slim
     ---> 954f983e50de
    Step 2/8 : ENV PORT 8080
     ---> Running in 4e6c7b5a84fd
     ---> c43f805d938c
    Step 3/8 : ENV CLASSPATH /opt/lib
     ---> Running in 8a9605bb3fe2
     ---> e07b60e062ef
    Step 4/8 : EXPOSE 8080
     ---> Running in 0ce6e915975e
     ---> 8bfe4d911eec
    Step 5/8 : COPY pom.xml target/lib* /opt/lib/
     ---> 16e4ca793bbf
    Step 6/8 : COPY target/*.jar /opt/app.jar
     ---> 3914513668cc
    Step 7/8 : WORKDIR /opt
     ---> 33583508ec6e
    Step 8/8 : CMD java -jar app.jar
     ---> Running in eb2302455cd5
     ---> f43f122eea24
    Successfully built f43f122eea24
    Successfully tagged 10.59.251.152:5000/grohan2002/demo08:0.0.1
    The push refers to a repository [10.59.251.152:5000/grohan2002/demo08]
    ec7ba7301e4c: Preparing
    b46837de8488: Preparing
    7f3cf739707b: Preparing
    3541b9af137e: Preparing
    253e0bb91f27: Preparing
    8670d085042c: Preparing
    07090e4cb2bc: Preparing
    d626a8ad97a1: Preparing
    8670d085042c: Waiting
    07090e4cb2bc: Waiting
    d626a8ad97a1: Waiting
    253e0bb91f27: Pushed
    b46837de8488: Pushed
    7f3cf739707b: Pushed
    07090e4cb2bc: Pushed
    8670d085042c: Pushed
    ec7ba7301e4c: Pushed
    d626a8ad97a1: Pushed
    3541b9af137e: Pushed
    0.0.1: digest: sha256:109dca61f0896901cdf319d40bc7b840f30b6a2a4ce43e4d14e1964b13abc814 size: 1994
    Build complete in 32.898917606s
    Starting deploy...
    deployment.extensions "skaffold" created
    Deploy complete in 808.651443ms
    [Pipeline] sh
    [grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A] Running shell script
    + jx step validate --min-jx-version 1.2.36
    [Pipeline] sh
    [grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A] Running shell script
    ++ cat VERSION
    + jx step post build --image 10.59.251.152:5000/grohan2002/demo08:0.0.1
    no CVE provider running in the current jx namespace so skip adding image to be analysed[Pipeline] }
    [Pipeline] // container
    [Pipeline] }
    [Pipeline] // stage
    [Pipeline] stage
    [Pipeline] { (Promote to Environments)
    [Pipeline] dir
    Running in /home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/charts/demo08
    [Pipeline] {
    [Pipeline] container
    [Pipeline] {
    [Pipeline] sh
    [demo08] Running shell script
    ++ cat ../../VERSION
    + jx step changelog --version v0.0.1
    Using batch mode as inside a pipeline
    Generating change log from git ref bb76504e6bd766135c733c5121925332d694f638 => 782ce196ba9dc310f1daf7668abba9558567c89b
    Unable to find user: jenkins-x.googlegroups.com -- users.jenkins.io "jenkins-x.googlegroups.com" not found
    Unable to find user: jenkins-x.googlegroups.com -- users.jenkins.io "jenkins-x.googlegroups.com" not found
    Finding issues in commit messages using git format
    Unable to find user: aditi.sangave.velotio.com -- users.jenkins.io "aditi.sangave.velotio.com" not found
    Unable to find user: aditi.sangave.velotio.com -- users.jenkins.io "aditi.sangave.velotio.com" not found
    No release found for grohan2002/demo08 and tag v0.0.1 so creating a new release
    Updated the release information at https://github.com/grohan2002/demo08/releases/tag/v0.0.1
    generated: templates/release.yaml
    [Pipeline] sh
    [demo08] Running shell script
    + make release
    rm -rf charts
    rm -rf demo08*.tgz
    helm dependency build
    No requirements found in ./charts.
    helm lint
    ==> Linting .
    Lint OK
    
    1 chart(s) linted, no failures
    helm init --client-only
    Creating /home/jenkins/.helm 
    Creating /home/jenkins/.helm/repository 
    Creating /home/jenkins/.helm/repository/cache 
    Creating /home/jenkins/.helm/repository/local 
    Creating /home/jenkins/.helm/plugins 
    Creating /home/jenkins/.helm/starters 
    Creating /home/jenkins/.helm/cache/archive 
    Creating /home/jenkins/.helm/repository/repositories.yaml 
    Adding stable repo with URL: https://kubernetes-charts.storage.googleapis.com 
    Adding local repo with URL: http://127.0.0.1:8879/charts 
    $HELM_HOME has been configured at /home/jenkins/.helm.
    Not installing Tiller due to 'client-only' flag having been set
    Happy Helming!
    helm package .
    Successfully packaged chart and saved it to: /home/jenkins/workspace/grohan2002_demo08_master-RD3QO22PAWMJZZSUAQ7BDHSXZJM3KTMXLXI7U7BD3ZBUQUZFCX2A/charts/demo08/demo08-0.0.1.tgz
    curl --fail -u **** --data-binary "@demo08-0.0.1.tgz" http://jenkins-x-chartmuseum:8080/api/charts
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100  2900  100    14  100  2886    331  68251 --:--:-- --:--:-- --:--:-- 68714
    {"saved":true}rm -rf demo08*.tgz%
    [Pipeline] sh
    [demo08] Running shell script
    ++ cat ../../VERSION
    + jx promote -b --all-auto --timeout 1h --version 0.0.1
    Promoting app demo08 version 0.0.1 to namespace jx-staging
    Using pipeline: grohan2002/demo08/master build: #1
    Cloning into '/home/jenkins/.jx/environments/grohan2002/environment-carpcoal-staging'...
    Found remote branch names master, HEAD -> origin/master, master
    Switched to branch 'promote-demo08-0.0.1'
    [promote-demo08-0.0.1 d74c381] Promote demo08 to version 0.0.1
     1 file changed, 8 insertions(+), 5 deletions(-)
    To https://github.com/grohan2002/environment-carpcoal-staging.git
     * [new branch]      HEAD -> promote-demo08-0.0.1
    Created Pull Request: https://github.com/grohan2002/environment-carpcoal-staging/pull/1
    
    Using pipeline: grohan2002/demo08/master build: #1
    WARNING: Failed to query the Pull Request last commit status for https://github.com/grohan2002/environment-carpcoal-staging/pull/1 ref d74c381b0cdaa2568b405e4cd21af5a83788f260 Could not find a status for repository grohan2002/environment-carpcoal-staging with ref d74c381b0cdaa2568b405e4cd21af5a83788f260
    Pull Request https://github.com/grohan2002/environment-carpcoal-staging/pull/1 is merged at sha 0cca71e15070fb485714bf8ce5763fd9c9ba72f6
    Merge commit has not yet any statuses on repo grohan2002/environment-carpcoal-staging merge sha 0cca71e15070fb485714bf8ce5763fd9c9ba72f6
    merge status: pending for URL https://api.github.com/repos/grohan2002/environment-carpcoal-staging/statuses/0cca71e15070fb485714bf8ce5763fd9c9ba72f6 with target: http://unconfigured-jenkins-location/job/grohan2002/job/environment-carpcoal-staging/job/master/2/display/redirect description: This commit is being built
    EXITCODE   0merge status: success for URL https://api.github.com/repos/grohan2002/environment-carpcoal-staging/statuses/0cca71e15070fb485714bf8ce5763fd9c9ba72f6 with target: http://unconfigured-jenkins-location/job/grohan2002/job/environment-carpcoal-staging/job/master/2/display/redirect description: This commit looks good
    Merge status checks all passed so the promotion worked!
    Application is available at: http://demo08.jx-staging.35.230.49.158.nip.io
    [Pipeline] }
    [Pipeline] // container
    [Pipeline] }
    [Pipeline] // dir
    [Pipeline] }
    [Pipeline] // stage
    [Pipeline] stage
    [Pipeline] { (Declarative: Post Actions)
    [Pipeline] cleanWs
    [WS-CLEANUP] Deleting project workspace...[WS-CLEANUP] done
    [Pipeline] }
    [Pipeline] // stage
    [Pipeline] }
    [Pipeline] // withEnv
    [Pipeline] }
    [Pipeline] // withCredentials
    [Pipeline] }
    [Pipeline] // withEnv
    [Pipeline] }
    [Pipeline] // node
    [Pipeline] End of Pipeline
    
    GitHub has been notified of this commit’s build result
    
    Finished: SUCCESS

    • The first build takes time because it downloads some dependencies from maven central.
    • We are using Nexus which was installed as a part of Jenkins X platform so that remaining builds will be faster because dependencies will be cached.
    • After that it tags our potential release & push tags to Github.It then builds application using maven.
    • It uploads artefacts to Nexus so that it can be shared between the teams.
    • Docker image is been built for this application & pushed to docker registry.
    • It then generates change log and publish it to chartmuseum registry.
    • Pipeline waits for pull request for staging environment to be merged and then waits for another pipeline to be triggered & perform deployment for our new application on staging environment using helm.
    • Now we can see staging environment with our application running in it.

    3. Application deployment onto staging environment 

    Using CLI, we can see our application is now deployed to staging environment with version 0.0.1

    $ jx get apps
    APPLICATION STAGING PODS URL
    
    PRODUCTION PODS URL
    demo08 0.0.1 1/1 http://demo08.jx-staging.35.230.49.158.nip.io

    4. Application URL

    We can get application URL with following command

    $ jx open --env staging
    Name URL
    demo08 http://demo08.jx-staging.35.230.49.158.nip.io

    5. Start working on the project

    Now we can start working on our new project. Go to your project location and from there you can actually create a Github issue.

    $ cd demo08/
    $ jx create issue -t 'add a homepage'

    6. Add HTML Page

    Now switch to your working branch and add a simple HTML page.

    $ git checkout -b wip
    $ vi src/main/resources/static/index.html

    $ git add src
    $ git commit -a -m 'add a homepage fixes #1'
    $ git push origin wip

    7. Create a pull request 

    Then create a pull request from working branch to master branch. After that our CI pipeline is automatically triggered.

    After some time, our CI checks pass.

    8. There we can see a comment has been added to the pull request saying our application is been built and deployed into the preview environment.

    9. Now our application is deployed in preview environment.

    $ jx get apps 

    10. Now, you can see the application running on the given URL.

    So where is Jenkins?

    As you have seen, there was no direct interaction with Jenkins, but it is there, running the pipelines for continuous integration and continuous delivery of the repository, and orchestrating things with Kubernetes.

    If you run jx get pipelines you can see URLs to the various pipelines that have been setup for you are part of interacting with Jenkins X.

    Additional JX Commands:

    jx open

    • open apps, services or pipelines in your browser

    jx activity

    • explains how things got to where they are, a history

    jx get environments

    • list environments

    jx get apps

    • show the state of applications, what versions are in what environments.

    Conclusion

    So this is how Jenkins X automates installation, configuration of Jenkins and some other software components. It also automates CI/CD for your applications on Kubernetes along with promotions through GitHub.

  • Tutorial: Developing Complex Plugins for Jenkins

    Introduction

    Recently, I needed to develop a complex Jenkins plug-in for a customer in the containers & DevOps space. In this process, I realized that there is lack of good documentation on Jenkins plugin development and good information is very hard to find. That’s why I decided to write this blog to share my knowledge on Jenkins plugin development.

    Topics covered in this Blog

    1. Setting up the development environment
    2. Jenkins plugin architecture: Plugin classes and understanding of the source code.
    3. Complex tasks: Tasks like the integration of REST API in the plugin and exposing environment variables through source code.
    4. Plugin debugging and deployment

    So let’s start, shall we?

    1. Setting up the development environment

    I have used Ubuntu 16.04 for this environment, but the steps remain identical for other flavors. The only difference will be in the commands used for each operating system.

    Let me give you a brief list of the requirements:

    1. Compatible JDK: Jenkins plugin development is done in Java. Thus a compatible JDK is what you need first. JDK 6 and above are supported as per the Jenkins documentation.
    2. Maven: Installation guide. I know many of us don’t like to use Maven, as it downloads stuff over the Internet at runtime but it’s required. Check this to understand why using Maven is a good idea.
    3. Jenkins: Check this Installation Guide. Obviously, you would need a Jenkins setup – can be local on hosted on a server/VM.
    4. IDE for development: An IDE like Netbeans, Eclipse or IntelliJ IDEA is preferred. I have used Netbeans 8.1 for this project.

    Before going forward, please ensure that you have the above prerequisites installed on your system. Jenkins does have official documentation for setting up the environment – Check this. If you would like to use an IDE besides Netbeans, the above document covers that too.

    Let’s start with the creation of your project. I will explain with Maven commands and with use of the IDE as well.

    First, let’s start with the approach of using commands.

    It may be helpful to add the following to your ~/.m2/settings.xml (Windows users will find them in %USERPROFILE%.m2settings.xml):

    <settings>
     <pluginGroups>
       <pluginGroup>org.jenkins-ci.tools</pluginGroup>
     </pluginGroups>
    
    <profiles>
       <!-- Give access to Jenkins plugins -->
       <profile>
         <id>jenkins</id>
         <activation>
           <activeByDefault>true</activeByDefault> <!-- change this to false, if you don't like to have it on per default -->
         </activation>
    
         <repositories>
           <repository>
             <id>repo.jenkins-ci.org</id>
             <url>http://repo.jenkins-ci.org/public/</url>
           </repository>
         </repositories>
         
         <pluginRepositories>
           <pluginRepository>
             <id>repo.jenkins-ci.org</id>
             <url>http://repo.jenkins-ci.org/public/</url>
           </pluginRepository>
         </pluginRepositories>
       </profile>
     </profiles>
     
     <mirrors>
       <mirror>
         <id>repo.jenkins-ci.org</id>
         <url>http://repo.jenkins-ci.org/public/</url>
         <mirrorOf>m.g.o-public</mirrorOf>
       </mirror>
     </mirrors>
    </settings>

    This basically lets you use short names in commands e.g. instead of org.jenkins-ci.tools:maven-hpi-plugin:1.61:create, you can use hpi:create. hpi is the packaging style used to deploy the plugins.

    Create the plugin

    $ mvn -U org.jenkins-ci.tools:maven-hpi-plugin:create


    This will ask you a few questions, like the groupId (the Maven jargon for the package name) and the artifactId (the Maven jargon for your project name), then create a skeleton plugin from which you can start with. This command should create the sample HelloWorldBuilder plugin.

    Command Explanation:

    • -U: Maven needs to update the relevant Maven plugins (check plugin updates).
    • hpi: this prefix specifies that the Jenkins HPI Plugin is being invoked, a plugin that supports the development of Jenkins plugins.
    • create is the goal which creates the directory layout and the POM for your new Jenkins plugin and it adds it to the module list.

    Source code tree would be like this:

    Your Project Name    
      Pom.xml      
        Src          
          Main              
            Java                  
              package folder(usually consist of groupId and artifactId)                      
                HelloWorldBuilder.java              
          Resources                  
              Package folder/HelloWorldBuilder/jelly files

    Run “mvn package” which compiles all sources, runs the tests and creates a package – when used by the HPI plugin it will create an *.hpi file.

    Building the Plugin:

    Run mvn install in the directory where pom.xml resides. This is similar to mvn package command but at the end, it will create your plugins .hpi file which you can deploy. Simply copy the create .hpi file and paste to /plugins folder of your Jenkins setup. Restart your Jenkins and you should see the plugin on Jenkins.

    Now let’s see how this can be done with IDE.

    With Netbeans IDE:

    I have used Netbeans for development(Download). Check with the JDK version. Latest version 8.2 works with JDK 8. Once you install Netbeans, install NetBeans plugin for Jenkins/Stapler development.

    You can now create plugin via New Project » Maven » Jenkins Plugin.

    This is the same as “mvn -U org.jenkins-ci.tools:maven-hpi-plugin:create” command which should create the simple “HelloWorldBuilder” application.

    Netbeans comes with Maven built-in so even if you don’t have Maven installed on your system this should work. But you may face error accessing the Jenkins repo. Remember we added some configuration settings in settings.xml in the very first step. Yes, if you have added that already then you shouldn’t face any problem but if you haven’t added that you can add that in Netbeans Maven settings.xml which you can find at: netbeans_installation_path/java/maven/conf/settings.xml

    Now you have your “HelloWorldBuilder” application ready.  This is shown as TODO plugin in Netbeans. Simply run it(F6). This creates the Jenkins instance and runs it on 8080 port. Now, if you already have local Jenkins setup then you need to stop it otherwise this will give you an exception. Go to localhost:8080/jenkins and create a simple job. In “Add Build Step” you should see “Say Hello World” plugin already there.

    Now how it got there and the source code explanation is next.

    2. Jenkins plugin architecture and understanding

    Now that we have our sample HelloWorldBuilder plugin ready,  let’s see its components.

    As you may know, Jenkins plugin has two parts: Build Step and Post Build Step. This sample application is designed to work for Build step and that’s why you see “Say Hello world” plugin in Build step. I am going to cover Build Step itself.

    Do you want to develop Post Build plugin? Don’t worry as these two don’t have much difference. The difference is only in the classes which we extend. For Build step, we extend “hudson.tasks.Builder” and for Post Build “hudson.tasks.Recorder” and with Descriptor class for Build step “BuildStepDescriptor<builder></builder>” for Post Build “BuildStepDescriptor<publisher></publisher>”.

    We will go through these classes in detail below:

    hudson.tasks.Builder Class:

    In brief, this simply tells Jenkins that you are writing a Build Step plugin. A full explanation is here. Now you will see “perform” method once you override this class.

    @Override
    public boolean perform(AbstractBuild build, Launcher launcher, BuildListener listener)

    Note that we are not implementing the ”SimpleBuildStep” interface which is there in HelloWorldBuilder source code. Perform method for that Interface is a  bit different from what I have given above. My explanation goes around this perform method.

    The perform method is basically called when you run your Build. If you see the Parameters passed you have full control over the Build configured, you can log to Jenkins console screen using listener object. What you should do here is access the values set by the user on UI and perform the plugin activity. Note that this method is returning a boolean, True means build is Successful and False is Build Failed.

    Understanding the Descriptor Class:  

    You will notice there is a static inner class in your main class named as DescriptorImpl. This class is basically used for handling configuration of your Plugin. When you click on “Configure” link on Jenkins it basically calls this method and loads the configured data.

    You can perform validations here, save the global configuration and many things. We will see these in detail as when required. Now there is an overridden method:

    @Override
    public String getDisplayName() {
    return "Say Hello World";
    }

    That’s why we see “Say Hello World” in the Build Step. You can rename it to what your plugin does.

    @Override
    public boolean configure(StaplerRequest req, JSONObject formData) throws FormException {
    // To persist global configuration information,
    // set that to properties and call save().
    useFrench = formData.getBoolean("useFrench");
    // ^Can also use req.bindJSON(this, formData);
    //(easier when there are many fields; need set* methods for this, like setUseFrench)
    save();
    return super.configure(req,formData);
    }

    This method basically saves your configuration, or you can even get global data like we have taken “useFrench” attribute which can be set from Jenkins global configuration. If you would like to set any global parameter you can place them in the global.jelly file.

    Understanding Action class and jelly files:

    To understand the main Action class and what it’s purpose is, let’s first understand the jelly files.

    There are two main jelly files: config.jelly and global.jelly. The global.jelly file is used to set global parameters while config.jelly is used for local parameters configuration. Jenkins uses these jelly files to show the parameters or fields on UI. So anything you write in config.jelly will show up on Jobs configuration page as configurable.

    <f:entry title="Name" field="name">
    <f:textbox />
    </f:entry>

    This is what is there in our HelloWorldBuilder application. It simply renders a textbox for entering name.

    Jelly has its own syntax and supports HTML and Javascript as well. It has radio buttons, checkboxes, dropdown lists and so on.

    How does Jenkins manage to pull the data set by the user? This is where our Action class comes into the picture. If you see the structure of the sample application, it has a private field as name and a constructor.

    @DataBoundConstructor
    public HelloWorldBuilder(String name) {
    this.name = name;
    }

    This DataBoundConstructor annotation tells Jenkins to bind the value of jelly fields. If you notice there’s field as “name” in jelly and the same is used here to put the data. Note that, whatever name you set in field attribute of jelly same you should use here as they are tightly coupled.

    Also, add getters for these fields so that Jenkins can access the values.

    @Override
    public DescriptorImpl getDescriptor() {
    return (DescriptorImpl)super.getDescriptor();
    }

    This method gives you the instance of Descriptor class. So if you want to access methods or properties of Descriptor class in your Action class you can use this.

    3. Complex tasks:

    We now have a good idea on how the Jenkins plugin structure is and how it works. Now let’s start with some complex stuff.

    On the internet, there are examples on how to render a selection box(drop-down) with static data. What if you want to load in a dynamic manner? I came with the below solution. We will use Amazon’s publicly available REST API for getting the coupons and load that data in the selection box.

    Here, the objective is to load the data in the selection box. I have the response for REST API as below:

    "offers" : {    
      "AmazonChimeDialin" : {      
        "offerCode" : "AmazonChimeDialin",      
        "versionIndexUrl" : "/offers/v1.0/aws/AmazonChimeDialin/index.json",      
        "currentVersionUrl" : "/offers/v1.0/aws/AmazonChimeDialin/current/index.json",     
        "currentRegionIndexUrl" : "/offers/v1.0/aws/AmazonChimeDialin/current/region_index.json"    
       },    
       "mobileanalytics" : {      
        "offerCode" : "mobileanalytics",      
        "versionIndexUrl" : "/offers/v1.0/aws/mobileanalytics/index.json",      
        "currentVersionUrl" : "/offers/v1.0/aws/mobileanalytics/current/index.json",      
        "currentRegionIndexUrl" : "/offers/v1.0/aws/mobileanalytics/current/region_index.json"    
        }
        }

    I have taken all these offers and created one dictionary and rendered it on UI. Thus the user will see the list of coupon codes and can choose anyone of them.

    Let’s understand how to create the selection box and load the data into it.

    <f:entry title="select Offer From Amazon" field="getOffer">   
     <f:select id="offer-${editorId}" onfocus="getOffers(this.id)"/>  
     </f:entry>

    This is the code which will generate the selection box on configuration page.  Now you will see here “getOffer” field means there’s field with the same name in the Action class.

    When you create any selection box, Jenkins needs doFill{fieldname}Items method in your descriptor class. As we have seen, Descriptor class is configuration class it tries to load the data from this method when you click on the configuration of the job. So in this case, “doFillGetOfferItems” method is required.

    After this, selection box should pop up on the configuration page of your plugin.

    Now here as we need to do dynamic actions, we will perform some action and will load the data.

    As an example, we will click on the button and load the data in Selection Box.

    <f:validateButton title="Get Amazon Offers" progress="Fetching Offers..."method="getAmazonOffers"/>

    Above is the code to create a button. In method attribute, specify the backend method which should be present in your Descriptor class. So when you click on this button “getAmazonOffers” method will get called at the backend and it will get the data from API.

    Now when we click on the selection box, we need to show the contents. As I said earlier, Jelly does support HTML and Javascript. Yes, if you want to do dynamic action use Javascript simply. If you see in selection box code of jelly I have used onfocus() method of Javascript which is pointing to getOffers() function.

    Now you need to have this function, define script tag like this.

    <script> 
    function getOffers(){ 
    }
    </script>

    Now here get the data from backend and load it in the selection box. To do this we need to understand some objects of Jenkins.

    1. Descriptor: As you now know, Descriptor is configuration class this object points to. So from jelly at any point, you can call the method from your Descriptor class.
    2. Instance: This is the object currently being configured on the configuration page. Null if it’s a newly added instance. Means by using this you can call the methods from your Action class. Like getters of field attribute.

    Now how to use these objects? To use you need to first set them.

    <st:bind var="backend" value="${descriptor}"/>

    Here you are binding descriptor object to backend variable and this variable is now ready for use anywhere in config.jelly.  Similarly for instance, <st:bind var=”backend” value=”${instance}”>.</st:bind>

    To make calls use backend.{backend method name}() and it should call your backend method.

    But if you are using this from JavaScript then you need use @JavaScriptMethod annotation over the method being called.

    We can now get the REST data from backend function in JavaScript and to load the data into the element you can use the document object of JavaScript.

    E.g. var selection = document.getElementById(“element-id”); This part is normal Javascript.

    So after clicking on “Get Amazon Offers” button and clicking on Selection box it should now load the data.

    Multiple Plugin Instance: If we are creating a multiple Build Step plugin then you can create multiple instances of your plugin while configuring it. If you try to do what we have done up till now, it will fail to load the data in the second instance. This is because the same element already exists on the UI with the same id. JavaScript will get confused while putting the data. We need to have a mechanism to create the different ids of the same fields.

    I thought of one approach for this. Get the index from backend while configuring the fields and add as a suffix in id attribute.

    @JavaScriptMethod
    public synchronized String createEditorId() {
    return String.valueOf(lastEditorId++);
    }

    This is the method which just returns the id+1 each time it gets called. You know now how to call backend methods from Jelly.

    <j:set var="editorId" value="${descriptor.createEditorId()}" />

    In this manner, we set the ID value in variable “editorId” and this can be used while creation of fields.

    (Check out the selection box creation code above. I have appended this variable in ID attribute)

    Now create as many instances you want in configuration page it should work fine.

    Exposing Environment Variables:

    Environment variables are needed quite often in Jenkins. Your plugin may require the support of some environment variables or the use of the built-in environment variables provided by Jenkins.

    First, you need to create the Envvars object.

    EnvVars envVars = new EnvVars();
    ** Assign it to the build environment.
    envVars = build.getEnvironment(listener);
    ** Put the values which you wanted to expose as environment variable.
    envVars.put("offer", getOffer);

    If you print this then you will get all the default Jenkins environment variables as well as variables which you have exposed. Using this you can even use third party plugins like “Parameterized Trigger Plugin” to export the current build’s environment variable to different jobs.You can even get the value of any environment variable using this.

    4. Plugin Debugging and Deployment:

    You have now got an idea on how to write a plugin in Jenkins, now we move on to perform some complex tasks. We will see how to debug the issue and deploy the plugin. If you are using the IDE then debugging is same like you do for Java program similar to setting up the breakpoints and running the project.

    If you want to perform any validation on fields, in the configuration class you would need to have docheck{fieldname} method which will return FormValidation object. In this example, we are validating the “name” field from our sample “HelloWorldBuilder” example.

    public FormValidation doCheckName(@QueryParameter String value)
    throws IOException, ServletException {
    if (value.length() == 0)
    return FormValidation.error("Please set a name"); 
    if (value.length() < 4)
    return FormValidation.warning("Isn't the name too short?");
    return FormValidation.ok(); 
    }

    Plugin deployment:  

    We have now created the plugin, how are we going to deploy it? We have created the plugin using Netbeans IDE and as I said earlier if you want to deploy it on your local Jenkins setup you need to use the Maven command mvn install and copy .hpi to /plugins/ folder.

    But what if you want to deploy it on Jenkins Marketplace? Well, it’s a pretty long process and thankfully Jenkins has good documentation for it.

    In short, you need to have a jenkins-ci.org account. Your public Git repo will have the plugin source code. Raise an issue on JIRA to get space on their Git repo and in this operation, they will have forked your git repo. Finally, release the plugin using Maven. The above document explains well what exactly needs to be done.

    Conclusion:

    We went through the basics of Jenkins plugin development such as classes, configuration, and some complex tasks.

    Jenkins plugin development is not difficult, but I feel the poor documentation is what makes the task challenging. I have tried to cover my understanding while developing the plugin, however, it is advisable to create a plugin only if the required functionality does not already exist.

    Below are some important links on plugin development:

    1. Jenkins post build plugin development: This is a very good blog which covers things like setting up the environment, plugin classes and developing Post build action.
    2. Basic guide to use jelly: This covers how to use jelly files in Jenkins and attributes of jelly. 

    You can check the code of the sample application discussed in this blog here. I hope this helps you to build interesting Jenkins plugins. Happy Coding!!

  • A Quick Introduction to Data Analysis With Pandas

    Python is a great language for doing data analysis, primarily because of the fantastic ecosystem of data-centric Python packages. Pandas is one of those packages and makes importing and analyzing data much easier.

    Pandas aims to integrate the functionality of NumPy and matplotlib to give you a convenient tool for data analytics and visualization. Besides the integration,  it also makes the usage far more better.

    In this blog, I’ll give you a list of useful pandas snippets that can be reused over and over again. These will definitely save you some time that you may otherwise need to skim through the comprehensive Pandas docs.

    The data structures in Pandas are capable of holding elements of any type: Series, DataFrame.

    Series

    A one-dimensional object that can hold any data type such as integers, floats, and strings

    A Series object can be created of different values. Series can be remembered similar to a Python list.

    In the below example, NaN is NumPy’s nan symbol which tells us that the element is not a number but it can be used as one numerical type pointing out to be not a number. The type of series is an object because the series has mixed contents of strings and numbers.

    >>> import pandas as pd
    >>> import numpy as np
    >>> series = pd.Series([12,32,54,2, np.nan, "a string", 6])
    >>> series
    0          12
    1          32
    2          54
    3           2
    4         NaN
    5    a string
    6           6
    dtype: object

    Now if we use only numerical values, we get the basic NumPy dtype – float for our series.

    >>> series = pd.Series([1,2,np.nan, 4])
    >>> series
    0    1.0
    1    2.0
    2    NaN
    3    4.0
    dtype: float64

    DataFrame

    A two-dimensional labeled data structure where columns can be of different types.

    Each column in a Pandas DataFrame represents a Series object in memory.

    In order to convert a certain Python object (dictionary, lists, etc) to a DataFrame, it is extremely easy. From the python dictionaries, the keys map to Column names while values correspond to a list of column values.

    >>> d = {
        "stats": pd.Series(np.arange(10,15,1.0)),
        "year": pd.Series(["2012","2007","2012","2003"]),
        "intake": pd.Series(["SUMMER","WINTER","WINTER","SUMMER"]),
    }
    >>> df = pd.DataFrame(d)
    >>> df

    Reading CSV files

    Pandas can work with various file types while reading any file you need to remember.

    pd.read_filetype()

    Now you will have to only replace “filetype” with the actual type of the file, like csv or excel. You will have to give the path of the file inside the parenthesis as the first argument. You can also pass in different arguments that relate to opening the file. (Reading a csv file? See this)

    >>> df = pd.read_csv('companies.csv')
    >>> df.head()
    view raw

    Accessing Columns and Rows

    DataFrame comprises of three sub-components, the indexcolumns, and the data (also known as values).

    The index represents a sequence of values. In the DataFrame, it always on the left side. Values in an index are in bold font. Each individual value of the index is called a label. Index is like positions while the labels are values at that particular index. Sometimes the index is also referred to as row labels. In all the examples below, the labels and indexes are the same and are just integers beginning from 0 up to n-1, where n is the number of rows in the table.

    Selecting rows is done using loc and iloc:

    • loc gets rows (or columns) with particular labels from the index. Raises KeyError when the items are not found.
    • iloc gets rows (or columns) at particular positions/index (so it only takes integers). Raises IndexError if a requested indexer is out-of-bounds.
    >>> df.loc[:5]              #similar to df.head()

    Accessing the data using column names

    Pandas takes an extra step and allows us to access data through labels in DataFrames.

    >>> df.loc[:5, ["name","vertical", "url"]]

    In Pandas, selecting data is very easy and similar to accessing an element from a dictionary or a list.

    You can select a column (df[col_name]) and it will return column with label col_name as a Series, because rows and columns are stored as Series in a DataFrame, If you need to access more columns (df[[col_name_1, col_name_2]]) and it returns columns as a new DataFrame.

    Filtering DataFrames with Conditional Logic

    Let’s say we want all the companies with the vertical as B2B, the logic would be:

    >>> df[(df['vertical'] == 'B2B')]

    If we want the companies for the year 2009, we would use:

    >>> df[(df['year'] == 2009)]

    Need to combine them both? Here’s how you would do it:

    >>> df[(df['vertical'] == 'B2B') & (df['year'] == 2009)]

    Get all companies with vertical as B2B for the year 2009

    Sort and Groupby

    Sorting

    Sort values by a certain column in ascending order by using:

    >>> df.sort_values(colname)

    >>> df.sort_values(colname,ascending=False)

    Furthermore, it’s also possible to sort values by multiple columns with different orders. colname_1 is being sorted in ascending order and colname_2 in descending order by using:

    >>> df.sort_values([colname_1,colname_2],ascending=[True,False])

    Grouping

    This operation involves 3 steps; splitting of the data, applying a function on each of the group, and finally combining the results into a data structure. This can be used to group large amounts of data and compute operations on these groups.

    df.groupby(colname) returns a groupby object for values from one column while df.groupby([col1,col2]) returns a groupby object for values from multiple columns.

    Data Cleansing

    Data cleaning is a very important step in data analysis.

    Checking missing values in the data

    Check null values in the DataFrame by using:

    >>> df.isnull()

    This returns a boolean array (an array of true for missing values and false for non-missing values).

    >>> df.isnull().sum()

    Check non null values in the DataFrame using pd.notnull(). It returns a boolean array, exactly converse of df.notnull()

    Removing Empty Values

    Dropping empty values can be done easily by using:

    >>> df.dropna()

    This drops the rows having empty values or df.dropna(axis=1) to drop the columns.

    Also, if you wish to fill the missing values with other values, use df.fillna(x). This fills all the missing values with the value x (here you can put any value that you want) or s.fillna(s.mean()) which replaces null values with the mean (mean can be replaced with any function from the arithmetic section).

    Operations on Complete Rows, Columns, or Even All Data

    >>> df["url_len"] = df["url"].map(len)

    The .map() operation applies a function to each element of a column.

    .apply() applies a function to columns. Use .apply(axis=1) to do it on the rows.

    Iterating over rows

    Very similar to iterating any of the python primitive types such as list, tuples, dictionaries.

    >>> for i, row in df.iterrows():
            print("Index {0}".format(i))
            print("Row {0}".format(row))

    The .iterrows() loops 2 variables together i.e, the index of the row and the row itself, variable is the index and variable row is the row in the code above.

    Tips & Tricks

    Using ufuncs (also known as Universal Functions). Python has the .apply() which applies a function to columns/rows. Similarly, Ufuncs can be used while preprocessing. What is the difference between ufuncs and .apply()?

    Ufuncs is a numpy library, implemented in C which is highly efficient (ufuncs are around 10 times faster).

    A list of common Ufuncs:

    isinf: Element-wise checks for positive or negative infinity.

    isnan: Element-wise checks for NaN and returns result as a boolean array.

    isnat: Element-wise checks for NaT (not time) and returns result as a boolean array.

    trunc: Return the truncated value of the input, element-wise.

    .dt commands: Element-wise processing for date objects.

    High-Performance Pandas

    Pandas performs various vectorized/broadcasted operations and grouping-type operations. These operations are efficient and effective.

    As of version 0.13, Pandas included tools that allow us to directly access C-speed operations without costly allocation of intermediate arrays. There are two functions, eval() and query().

    DataFrame.eval() for efficient operations:

    >>> import pandas as pd
    >>> nrows, ncols = 100000, 100
    >>> rng = np.random.RandomState(42)
    >>> df1, df2, df3, df4 = (pd.DataFrame(rng.rand(nrows, ncols))
                          for i in range(4))

    To compute the sum of df1, df2, df3, and df4 DataFrames using the typical Pandas approach, we can just write the sum:

    >>> %timeit df1 + df2 + df3 + df4
    
    10 loops, best of 3: 103.1 ms per loop

    A better and optimized approach for the same operation can be computed via pd.eval():

    >>> %timeit pd.eval('df1 + df2 + df3 + df4')
    
    10 loops, best of 3: 53.6 ms per loop

    %timeit — Measure execution time of small code snippets.

    The eval() expression is about 50% faster (it also consumes mush less memory).

    And it performs the same result:

    >>> np.allclose(df1 + df2 + df3 + df4,d.eval('df1 + df2 + df3 + df4'))
    
    True

    np.allclose() is a numpy function which returns True if two arrays are element-wise equal within a tolerance.

    Column-Wise & Assignment Operations Using df.eval()

    Normal expression to split the first character of a column and assigning it to the same column can be done by using:

    >>> df['batch'] = df['batch'].str[0]

    By using df.eval(), same expression can be performed much faster:

    >>> df.eval("batch=batch.str[0]")

    DataFrame.query() for efficient operations:

    Similar to performing filtering operations with conditional logic, to filter rows with vertical as B2B and year as 2009, we do it by using:

    >>> %timeit df[(df['vertical'] == 'B2B') & (df['year'] == 2009)]
    
    1.69 ms ± 57 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

    With .query() the same filtering can be performed about 50% faster.

    >>> %timeit df.query("vertical == 'B2B' and year == 2009")
    
    875 µs ± 24.6 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

    When to use eval() and query()? 

    Two aspects: computation time and memory usage. 

    Memory usage: Every operation which involves NumPy/Pandas DataFrames results into implicit creation of temporary variables. In such cases, if the memory usage of these temporary variables is greater, using eval() and query() is an appropriate choice to reduce the memory usage.

    Computation time: Traditional method of performing NumPy/Pandas operations is faster for smaller arrays! The real benefit of eval()/query() is achieved mainly because of the saved memory, and also because of the cleaner syntax they offer.

    Conclusion

    Pandas is a powerful and fun library for data manipulation/analysis. It comes with easy syntax and fast operations. The blog highlights the most used pandas implementation and optimizations. Best way to master your skills over pandas is to use real datasets, beginning with Kaggle kernels to learning how to use pandas for data analysis. Check out more on real time text classification using Kafka and Scikit-learn and explanatory vs. predictive models in machine learning here.  

  • Blockchain 101: The Simplest Guide You Will Ever Read

    Blockchain allows digital information to be distributed over multiple nodes in the network. It powers the backbone of bitcoin and cryptocurrency.

    The concept of a distributed ledger found its use case beyond crypto and is now used in other infrastructure.

    What is Blockchain?

    Blockchain is a distributed ledger that powers bitcoin. Satoshi invented bitcoin, and blockchain was the key component. Blockchain is highly secured and works around a decentralized consensus algorithm where no one can own the control completely.

    Let’s divide the word blockchain into two parts: block and chain. A block is a set of transactions that happen over the network. The chain is where blocks are linked to each other in a way that the next block contains hash of the previous one. Even a small change in the previous block can change its hash and break the whole chain, making it difficult to tamper data.

    Image source

    Blockchain prerequisites:

    These are some prerequisites that will help you understand the concepts better.

    Public-key Cryptography– Used to claim the authenticity of the user. It involves a pair of public and private keys. The user creates a signature with the private key, and the network uses the public key of the user to validate that the content is untouched.

    Digital Signatures:

    Digital signatures employ asymmetric key cryptography.

    • Authentication: Digital signature makes the receiver believe that the data was created and sent by the claimed user.
    • Non-Repudiation: The sender cannot deny sending a message later on.
    • Integrity: This ensures that the message was not altered during the transfer.

    Cryptographic hash functions:

    • One way function: This is a mathematical function that takes an input and transforms it into an output. There is no way to recover the message from the hash value.
    • No collision: No two or more messages can have the same hash(message digest). This ensures that no two account transactions can collide. 
    • Fixed hash length: Irrespective of the data size, this function returns the same hash length.

    Why Blockchain?

    There are a few problem statements that we can quickly solve using a distributed consensus system rather than a conventional centralized system.

    Let me share some blockchain applications:

    Consider an auction where people bet on artifacts, and the winner pays and takes out those artifacts. But if we try to implement the same auction over the internet, there would be trust issues. What if one wins the bet saying 10000$ and at the time of payment, he doesn’t respond.

    We can handle such events easily using blockchain. During betting, a token amount will be deducted from an account and will be stored in the smart contract (business logic code deployed on Ethereum). Bid transactions use a private key to sign transactions, so this way, one can not revert by saying that those transactions never happened.

    Another simple but amazing solution we can develop using Ethereum is online games like tic-tac-toe, where both players will deposit `X` amount in the smart contract. Each move done by a player gets recorded on blockchain (each movement will be digitally signed), and smart contract logic will verify a player’s move every time. In the end, the smart contract will decide the winner. And the winner can claim his reward.

    – No one controls your game

    – There is no way one can cheat 

    – No frauds, the winner always gets a reward.

    Bitcoin is the biggest and most well-known implementation of blockchain technology.

    The list of applications based on distributed consensus systems goes on.

    Note: Ethereum smart contract is the code that is deployed over Ethereum blockchain. It is written as a transaction on the block so no one can alter the logic. This is also known as Code is Law.

    Check out some of the smart contract examples.

    Bitcoin is the base and ideal implementation for all other cryptocurrencies. Let’s dig deep into blockchain technology and cryptocurrency.

    Let’s reinvent Bitcoin:

    • Bitcoin is distributed ledger technology where the ledger is a set of transactions
    • No single entity controls the system
    • High level of trust 

    We have to design our bitcoin to meet above requirements.

    1) Consider that bitcoin is just a string that we will send from one node to the other. Here, the string is: “I, Alice, am giving Bob one bitcoin.” It shows Alice is sending Bob one bitcoin.

     

    2) Sam uses the fake identity of Alice and sends bitcoin on her behalf.

     

    3) We can solve this fake identity problem using Digital signature. Sam can not use a fake identity.

    But there is still one problem, double spending. This occurs when Alice sends one transaction multiple times. It’s difficult to check if Alice wants to send multiple bitcoins or just retrying transactions due to high network latency or any other issue.

    4) But a simple solution is to add a unique transaction ID to each transaction.

    5) It’s time to add more complexity to our system. Let’s check how we can validate the transaction between Alice and Bob.

    In cryptocurrency, every node knows everything (nodes are the systems where blockchain clients are installed, like Geth for Ethereum).

     

    Every node maintains a local ledger containing whole blockchain data. Here, Alice, Sam, and Bob know how much bitcoins everyone has. This helps validate all transactions happening over the network.

    As Bob receives an event from Alice containing a bitcoin transaction. He checks the local copy of the blockchain and verifies if Alice owns that one bitcoin that she wants to send. If Bob finds out that the transaction is valid, he broadcasts that to all networks and waits for others to confirm. Other peers also check their local copy and acknowledge the transaction. If maximum peers confirm the transaction valid then that transaction gets added to the blockchain. And everyone will update their copy of ledger now, and Alice has one less bitcoin.

    Note: In actual cryptocurrency, validation occurs at a block-level rather than validating one transaction. Bob will validate a set of transactions and creates one block from it and will broadcast that transaction over the network to validate.

    6) Still, there is one problem with this approach. Here, we are using Bob as a validator. But what if he is a fraud. He might say that transaction is valid even if its invalid, and he has thousands of automated bots to support him. This way the whole blockchain will follow bots and accept the invalid transaction (Majority wins).

    In this example, Alice has one bitcoin. Still, she creates two transactions: one to Bob and another to Sam. Alice waits for the network to accept the transaction to Bob. Now Alice has 0 bitcoins. If Alice validates her own transaction to Sam and says it’s valid (Alice has no bitcoin left to spend), and she has a large number of bots to support her, then eventually the whole network will accept that transaction, and Alice will double spend the bitcoin.

    7) We can solve this problem with the POW (Proof of Work) consensus algorithm.

    This is a puzzle that one has to solve while validating the transactions present in the block.

    Here you can see that the block has a size of around 1MB. So, you need to append any random number to the block and calculate hash, so that the hash value will have a starting string of zeros as shown in the image.

    Blockchain decides this number, and then the next block miner has to calculate a random number so that hash has that many zeros in the beginning. To solve this puzzle, the miner has to try Peta combinations to get the answer. As this is a very complex process, miners get rewarded after the validation of the block.

    But how can we solve the above problem using mining?

    Suppose the blockchain network has 10,000 active mining nodes with the same computational power. The probability that one can mine is only 0.01%. If one wants to do fraud transactions, he should have huge mining power to validate the block and convince other nodes to accept the invalid block. To do this, one needs to own more than 50% of computational power, that is very difficult. 

    Now we have a prototype cryptocurrency model ready with us.

    Note: Each blockchain node follows the majority. Even if a transaction is invalid, but with more than 51% of nodes say it’s valid, the whole network will be convinced and go rogue. This means that any group owns 51% of computational power(hash power), controls the whole blockchain network. This is known as a 51% attack.

    Blockchain-based services:

    • Golem: Distributed computing platform.
    • Iexec: Distributed computing platform.
    • Sia distributed storage: Distributed storage, SLA is managed over the blockchain.
    • Ethrise: Insurance platform developed on Ethereum ecosystem.
    • Maecenas: Blockchain-based Auction of file arts.
    • More than 2000 cryptocurrency platforms.

    Disadvantages of Blockchain:

    There are a few limitations to blockchain-based solutions.

    • Crime: Due to its encryption and anonymous nature, blockchain solutions influence crimes.
    • Data size: Full nodes stores all transactional data and requires over 100 GB disk space.
    • Throughput: Blockchain systems are very slow.

    Bitcoin can perform only 5 transactions per sec, while any financial bank can do more than 24000 transactions per sec.

  • Installing Redis Service in DC/OS With Persistent Storage Using AWS Volumes

    Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker.

    It supports various data structures such as Strings, Hashes, Lists, Sets etc. DCOS offers Redis as a service

    Why Do We Use External Persistent Storage for Redis Mesos Containers?

    Since Redis is an in-memory database, an instance/service restart will result in loss of data. To counter this, it is always advisable to snapshot the Redis in-memory database from time to time.

    This helps Redis instance to recover from the point in time failure.

    In DCOS, Redis is deployed as a stateless service. To make it a stateful and persistent data, we can configure local volumes or external volumes.

    The disadvantage of having a local volume mapped to Mesos containers is when a slave node goes down, your local volume becomes unavailable, and the data loss occurs.

    However, with external persistent volumes, as they are available on each node of the DCOS cluster, a slave node failure does not impact the data availability.

    Rex-Ray

    REX-Ray is an open source, storage management solution designed to support container runtimes such as Docker and Mesos.

    REX-Ray enables stateful applications such as databases to persist and maintain its data after the life cycle of the container has ended. Built-in high availability enables orchestrators such as Docker Swarm, Kubernetes, and Mesos Frameworks like Marathon to automatically orchestrate storage tasks between hosts in a cluster.

    Built on top of the libStorage framework, REX-Ray’s simplified architecture consists of a single binary and runs as a stateless service on every host using a configuration file to orchestrate multiple storage platforms.

    Objective: To create a Redis service in DC/OS environment with persistent storage.

    Warning: The Persistent Volume feature is still in beta Phase for DC/OS Version 1.11.

    Prerequisites:

    • Make sure the rexray service is running and is in a healthy state for the cluster.

    Steps:

    • Click on the Add button in Services component of DC/OS GUI.
    • Click on JSON Configuration.  

    Note: For persistent storage, below code should be added in the normal Redis service configuration JSON file to mount external persistent volumes.

    "volumes": [
          {
            "containerPath": "/data",
            "mode": "RW",
            "external": {
              "name": "redis4volume",
              "provider": "dvdi",
              "options": {
                "dvdi/driver": "rexray"
              }
            }
          }
        ],

    • Make sure the service is up and in a running state:

    If you look closely, the service was suspended and respawned on a different slave node. We populated the database with dummy data and saved the snapshot in the data directory.

    When the service did come upon a different node 10.0.3.204, the data persisted and the volume was visible on the new node.

    core@ip-10-0-3-204 ~ $ /opt/mesosphere/bin/rexray volume list
    
    - name: datavolume
      volumeid: vol-00aacade602cf960c
      availabilityzone: us-east-1a
      status: in-use
      volumetype: standard
      iops: 0
      size: "16"
      networkname: ""
      attachments:
      - volumeid: vol-00aacade602cf960c
        instanceid: i-0d7cad91b62ec9a64
        devicename: /dev/xvdb
    

    •  Check the volume tab :

    Note: For external volumes, the status will be unavailable. This is an issue with DC/OS.

    The Entire Service JSON file:

    {
      "id": "/redis4.0-new-failover-test",
      "instances": 1,
      "cpus": 1.001,
      "mem": 2,
      "disk": 0,
      "gpus": 0,
      "backoffSeconds": 1,
      "backoffFactor": 1.15,
      "maxLaunchDelaySeconds": 3600,
      "container": {
        "type": "DOCKER",
        "volumes": [
          {
            "containerPath": "/data",
            "mode": "RW",
            "external": {
              "name": "redis4volume",
              "provider": "dvdi",
              "options": {
                "dvdi/driver": "rexray"
              }
            }
          }
        ],
        "docker": {
          "image": "redis:4",
          "network": "BRIDGE",
          "portMappings": [
            {
              "containerPort": 6379,
              "hostPort": 0,
              "servicePort": 10101,
              "protocol": "tcp",
              "name": "default",
              "labels": {
                "VIP_0": "/redis4.0:6379"
              }
            }
          ],
          "privileged": false,
          "forcePullImage": false
        }
      },
      "healthChecks": [
        {
          "gracePeriodSeconds": 60,
          "intervalSeconds": 5,
          "timeoutSeconds": 5,
          "maxConsecutiveFailures": 3,
          "portIndex": 0,
          "protocol": "TCP"
        }
      ],
      "upgradeStrategy": {
        "minimumHealthCapacity": 0.5,
        "maximumOverCapacity": 0
      },
      "unreachableStrategy": {
        "inactiveAfterSeconds": 300,
        "expungeAfterSeconds": 600
      },
      "killSelection": "YOUNGEST_FIRST",
      "requirePorts": true
    }

    Redis entrypoint

    To connect with Redis service, use below host:port in your applications:

    redis.marathon.l4lb.thisdcos.directory:6379

    Conclusion

    We learned about Standalone Redis Service deployment from DCOS catalog on DCOS.  Also, we saw how to add Persistent storage to it using RexRay. We also learned how RexRay automatically manages volumes over AWS ebs and how to integrate them in DCOS apps/services.  Finally, we saw how other applications can communicate with this Redis service.

    References

  • Installing Redis Cluster with Persistent Storage on Mesosphere DC/OS

    In the first part of this blog, we saw how to install standalone redis service on DC/OS with Persistent storage using RexRay and AWS EBS volumes.

    A single server is a single point of failure in every system, so to ensure high availability of redis database, we can deploy a master-slave cluster of Redis servers. In this blog, we will see how to setup such 6 node (3 master, 3 slave) Redis cluster and persist data using RexRay and AWS EBS volumes. After that we will see how to import existing data into this cluster.

    Redis Cluster

    It is form of replicated Redis servers in multi-master architecture. All the data is sharded into 16384 buckets, where every master node is assigned subset of buckets out of them (generally evenly sharded) and each master replicated by its slaves.  It provides more resilience and scaling for production grade deployments where heavy workload is expected. Applications can connect to any node in cluster mode and the request will be redirected to respective master node.

     Source:  Octo

         

    Objective: To create a Redis cluster with number of services in DCOC environment with persistent storage and import the existing Redis dump.rdb data to the cluster.

    Prerequisites :  

    • Make sure rexray component is running and is in a healthy state for DCOS cluster.

    Steps:

    • As per Redis doc, the minimal cluster should have at least 3 master and 3 slave nodes, so making it a total 6 Redis services.
    • All services will use similar json configuration except changes in names of service, external volume, and port mappings.
    • We will deploy one Redis service for each Redis cluster node and once all services are running, we will form cluster among them.
    • We will use host network for Redis node containers, for that we will restrict Redis nodes to run on particular node. This will help us to troubleshoot cluster (fixed IP, so we can restart Redis node any time without data loss).
    • Using host network adds a prerequisites that number of dcos nodes >= number of Redis nodes.
    1. First create Redis node services on DCOS:
    2. Click on the Add button in Services tab of DCOS UI
    • Click on JSON configuration
    • Add below json config for Redis service, change the values which are written in BLOCK letters with # as prefix and suffix.
    • #NODENAME# – Name of Redis node (Ex. redis-node-1)
    • #NODEHOSTIP# – IP of dcos node on which this Redis node will run. This ip must be unique for each Redis node. (Ex. 10.2.12.23)
    • #VOLUMENAME# – Name of persistent volume, Give name to identify volume on AWS EBS (Ex. <dcos cluster=”” name=””>-redis-node-<node number=””>)</node></dcos>
    • #NODEVIP# – VIP For the Redis node. It must be ‘Redis’ for first Redis node, for others it can be the same as NODENAME (Ex. redis-node-2)
    {
       "id": "/#NODENAME#",
       "backoffFactor": 1.15,
       "backoffSeconds": 1,
       "constraints": [
         [
           "hostname",
           "CLUSTER",
           "#NODEHOSTIP#"
         ]
       ],
       "container": {
         "type": "DOCKER",
         "volumes": [
           {
             "external": {
               "name": "#VOLUMENAME#",
               "provider": "dvdi",
               "options": {
                 "dvdi/driver": "rexray"
               }
             },
             "mode": "RW",
             "containerPath": "/data"
           }
         ],
         "docker": {
           "image": "parvezkazi13/redis:latest",
           "forcePullImage": false,
           "privileged": false,
           "parameters": []
         }
       },
       "cpus": 0.5,
       "disk": 0,
       "fetch": [],
       "healthChecks": [],
       "instances": 1,
       "maxLaunchDelaySeconds": 3600,
       "mem": 4096,
       "gpus": 0,
       "networks": [
         {
           "mode": "host"
         }
       ],
       "portDefinitions": [
         {
           "labels": {
             "VIP_0": "/#NODEVIP#:6379"
           },
           "name": "#NODEVIP#",
           "protocol": "tcp",
           "port": 6379
         }
       ],
       "requirePorts": true,
       "upgradeStrategy": {
         "maximumOverCapacity": 0,
         "minimumHealthCapacity": 0.5
       },
       "killSelection": "YOUNGEST_FIRST",
       "unreachableStrategy": {
         "inactiveAfterSeconds": 300,
         "expungeAfterSeconds": 600
       }
     }

    • After updating the highlighted fields, copy above json to json configuration box, click on ‘Review & Run’ button in the right corner, this will start the service with above configuration.
    • Once above service is UP and Running, then repeat the step 2 to 4 for each Redis node with respective values for highlighted fields.
    • So if we go with 6 node cluster, at the end we will have 6 Redis nodes UP and Running, like:

    Note: Since we are using external volume for persistent storage, we can not scale our services, i.e. each service will only one instance max. If we try to scale, we will get below error :

    2. Form the Redis cluster between Redis node services:

    • To create or manage Redis-cluster, first deploy redis-cluster-util container on DCOS using below json config:
    {
     "id": "/infrastructure/redis-cluster-util",
     "backoffFactor": 1.15,
     "backoffSeconds": 1,
     "constraints": [],
     "container": {
       "type": "DOCKER",
       "volumes": [
         {
           "containerPath": "/backup",
           "hostPath": "backups",
           "mode": "RW"
         }
       ],
       "docker": {
         "image": "parvezkazi13/redis-util",
         "forcePullImage": true,
         "privileged": false,
         "parameters": []
       }
     },
     "cpus": 0.25,
     "disk": 0,
     "fetch": [],
     "instances": 1,
     "maxLaunchDelaySeconds": 3600,
     "mem": 4096,
     "gpus": 0,
     "networks": [
       {
         "mode": "host"
       }
     ],
     "portDefinitions": [],
     "requirePorts": true,
     "upgradeStrategy": {
       "maximumOverCapacity": 0,
       "minimumHealthCapacity": 0.5
     },
     "killSelection": "YOUNGEST_FIRST",
     "unreachableStrategy": {
       "inactiveAfterSeconds": 300,
       "expungeAfterSeconds": 600
     },
     "healthChecks": []
    }

    This will run service as :

    • Get the IP addresses of all Redis nodes to form the cluster, as Redis-cluster can not be created with node’s hostname / dns. This is an open issue.

    Since we are using host network, we need the dcos node IP on which Redis nodes are running.

    Get all Redis nodes IP using:

    NODE_BASE_NAME=redis-nodedcos task $NODE_BASE_NAME | grep -E "$NODE_BASE_NAME-<[0-9]>" | awk '{print $2":6379"}' | paste -s -d' '  

    Here Redis-node is the prefix used for all Redis nodes.

    Note the output of this command, we will use it in further steps.

    • Get the node where redis-cluster-util container is running and ssh to dcos node using:
    dcos node ssh --master-proxy --private-ip $(dcos task | grep "redis-cluster-util" | awk '{print $2}')

    • Now find the docker container id of redis-cluster-util and exec it using:
    docker exec -it $(docker ps -qf ancestor="parvezkazi13/redis-util") bash  

    • No we are inside the redis-cluster-util container. Run below command to form Redis cluster.
    redis-trib.rb create --replicas 1 <Space separated IP address:PORT pair of all Redis nodes>

    • Here use the Redis nodes IP addresses which retrieved in step 2.
    redis-trib.rb create --replicas 1 10.0.1.90:6379 10.0.0.19:6379 10.0.9.203:6379 10.0.9.79:6379 10.0.3.199:6379 10.0.9.104:6379

    • Parameters:
    • The option –replicas 1 means that we want a slave for every master created.
    • The other arguments are the list of addresses (host:port) of the instances we want to use to create the new cluster.
    • Output:
    • Select ‘yes’ when it prompts to set the slot configuration shown.
    • Run below command to check the status of the newly create cluster
    redis-trib.rb check <Any redis node host:PORT>
    Ex:
    redis-trib.rb check 10.0.1.90:6379

    • Parameters:
    • host:port of any node from the cluster.
    • Output:
    • If all OK, it will show OK with status, else it will show ERR with the error message.

    3. Import existing dump.rdb to Redis cluster

    • At this point, all the Redis nodes should be empty and each one should have an ID and some assigned slots:

    Before reuse an existing dump data, we have to reshard all slots to one instance. We specify the number of slots to move (all, so 16384), the id we move to (here Node 1 – 10.0.1.90:6379) and where we take these slots from (all other nodes).

    redis-trib.rb reshard 10.0.1.90:6379  

    Parameters:

    host:port of any node from the cluster.

    Output:

    It will prompt for number of slots to move – here all. i.e 16384

    Receiving node id – here id of node 10.0.1.90:6379 (redis-node-1)

    Source node IDs  – here all, as we want to shard  all slots to one node.

    And prompt to proceed – press ‘yes’

    • Now check again node 10.0.1.90:6379  
    redis-trib.rb check 10.0.1.90:6379  

    Parameters: host:port of any node from the cluster.

    Output: it will show all (16384) slots moved to node 10.0.1.90:6379

    • Next step is Importing our existing Redis dump data.  

    Now copy the existing dump.rdb to our redis-cluster-util container using below steps:

    – Copy existing dump.rdb to dcos node on which redis-cluster-util container is running. Can use scp from any other public server to dcos node.

    – Now we have dump .rdb in our dcos node, copy this dump.rdb to redis-cluster-util container using below command:

    docker cp dump.rdb $(docker ps -qf ancestor="parvezkazi13/redis-util"):/data

    Now we have dump.rdb in our redis-cluster-util container, we can import it to our Redis cluster. Execute and go to the redis-cluster-util container using:

    docker exec -it $(docker ps -qf ancestor="parvezkazi13/redis-util") bash

    It will execute redis-cluster-util container which is already running and start its bash cmd.

    Run below command to import dump.rdb to Redis cluster:

    rdb --command protocol /data/dump.rdb | redis-cli --pipe -h 10.0.1.90 -p 6379

    Parameters:

    Path to dump.rdb

    host:port of any node from the cluster.

    Output:

    If successful, you’ll see something like:

    All data transferred. Waiting for the last reply...Last reply received from server.errors: 0, replies: 4341259  

    as well as this in the Redis server logs:

    95086:M 01 Mar 21:53:42.071 * 10000 changes in 60 seconds. Saving...95086:M 01 Mar 21:53:42.072 * Background saving started by pid 9822398223:C 01 Mar 21:53:44.277 * DB saved on disk

    WARNING:
    Like our Oracle DB instance can have multiple databases, similarly Redis saves keys in keyspaces.
    Now when Redis is in cluster mode, it does not accept the dumps which has more than one keyspaces. As per documentation:

    Redis Cluster does not support multiple databases like the stand alone version of Redis. There is just database 0 and the SELECT command is not allowed. “

    So while importing such multi-keyspace Redis dump, server fails while starting on below issue :

    23049:M 16 Mar 17:21:17.772 * DB loaded from disk: 5.222 seconds
    23049:M 16 Mar 17:21:17.772 # You can't have keys in a DB different than DB 0 when in Cluster mode. Exiting.
    Solution / WA :

    There is redis-cli command “MOVE” to move keys from one keyspace to another keyspace.

    Also can run below command to move all the keys from keyspace 1 to keyspace 0 :

    redis-cli -h "$HOST" -p "$PORT" -n 1 --raw keys "*" |  xargs -I{} redis-cli -h "$HOST" -p "$PORT" -n 1 move {} 0

    • Verify import status, using below commands : (inside redis-cluster-util container)
    redis-cli -h 10.0.1.90 -p 6379 info keyspace

    It will run Redis info command on node 10.0.1.90:6379 and fetch keyspace information, like below:

    # Keyspace
    db0:keys=33283,expires=0,avg_ttl=0

    • Now reshard all the slots to all instances evenly

    The reshard command will again list the existing nodes, their IDs and the assigned slots.

    redis-trib.rb reshard 10.0.1.90:6379

    Parameters:

    host:port of any node from the cluster.

    Output:

    It will prompt for number of slots to move – here (16384 /3 Masters = 5461)

    Receiving node id – here id of master node 2  

    Source node IDs  – id of first instance which has currently all the slots. (master 1)

    And prompt to proceed – press ‘yes’

    Repeat above step and for receiving node id, give id of master node 3.

    • After the above step, all 3 masters will have equal slots and imported keys will be distributed among the master nodes.
    • Put keys to cluster for verification
    redis-cli -h 10.0.1.90 -p 6379 set foo bar
    OK
    redis-cli -h 10.0.1.90 -p 6379 set foo bar
    (error) MOVED 4813 10.0.9.203:6379

    Above error shows that server saved this key to instance 10.0.9.203:6379, so client redirected it. To follow redirection, use flag “-c” which says it is a cluster mode, like:

    redis-cli -h 10.0.1.90 -p 6379 -c set foo bar
    OK

    Redis Entrypoint

    Application entrypoint for Redis cluster is mostly depends how your Redis client handles cluster support. Generally connecting to one of master nodes should do the work.

    Use below host:port in your applications :

    redis.marathon.l4lb.thisdcos.directory:6379

    Automation of Redis Cluster Creation

    We have automation script in place to deploy 6 node Redis cluster and form a cluster between them.

    Script location: Github

    • It deploys 6 marathon apps for 6 Redis nodes. All nodes are deployed on different nodes with CLUSTER_NAME as prefix to volume name.
    • Once all nodes are up and running, it deploys redis-cluster-util app which will be used to form Redis cluster.
    • Then it will print the Redis nodes and their IP addresses and prompt the user to proceed cluster creation.
    • If user selects to proceed, it will run redis-cluster-util app and create the cluster using IP addresses collected. Util container will prompt for some input that the user has to select.

    Conclusion

    We learned about Redis cluster deployment on DCOS with Persistent storage using RexRay. We also learned how rexray automatically manages volumes over aws ebs and how to integrate them in DCOS apps/services. We saw how to use redis-cluster-util container to manage Redis cluster for different purposes, like forming cluster, resharding, importing existing dump.rdb data etc. Finally, we looked at the automation part of whole cluster setup using dcos cli and bash.

    Reference

  • How To Use Inline Functions In React Applications Efficiently

    This blog post explores the performance cost of inline functions in a React application. Before we begin, let’s try to understand what inline function means in the context of a React application.

    What is an inline function?

    Simply put, an inline function is a function that is defined and passed down inside the render method of a React component.

    Let’s understand this with a basic example of what an inline function might look like in a React application:

    export default class CounterApp extends React.Component {
      constructor(props) {
        super(props);
        this.state = { count: 0 };
      }
      render() {
        return (
          <div className="App">
            <button
              onClick={() => {
              this.setState({ count: this.state.count + 1 });
              }}
            >COUNT ({this.state.count})</button>
          </div>
        );
      }
    }

    The onClick prop, in the example above, is being passed as an inline function that calls this.setState. The function is defined within the render method, often inline with JSX. In the context of React applications, this is a very popular and widely used pattern.

    Let’s begin by listing some common patterns and techniques where inline functions are used in a React application:

    • Render prop: A component prop that expects a function as a value. This function must return a JSX element, hence the name. Render prop is a good candidate for inline functions.
    render() {
      return (
        <ListView
          items={items}
          render={({ item }) => (<div>{item.label}</div>)}
        />
      );
    }

    • DOM event handlers: DOM event handlers often make a call to setState or invoke some effect in the React application such as sending data to an API server.
    <button
      onClick={() => {
        this.setState({ count: this.state.count + 1 });
      }}>
      COUNT ({this.state.count})
    </button>

    • Custom function or event handlers passed to child: Oftentimes, a child component requires a custom event handler to be passed down as props. Inline function is usually used in this scenario.
    <Button onTap={() => {
      this.nextPage();
    }}>Next<Button>

    Alternatives to inline function

    • Bind in constructor: One of the most common patterns is to define the function within the class component and then bind context to the function in constructor. We only need to bind the current context if we want to use this keyword inside the handler function.
    export default class CounterApp extends React.Component {
      constructor(props) {
        super(props);
        this.state = { count: 0 };
        this.increaseCount = this.increaseCount.bind(this);
      }
    
      increaseCount() {
        this.setState({ count: this.state.count + 1 });
      }
    
      render() {
        return (
          <div className="App">
            <button onClick={this.increaseCount}>COUNT ({this.state.count})</button>
          </div>
        );
     }
    }

    • Bind in render: Another common pattern is to bind the context inline when the function is passed down. Eventually, this gets repetitive and hence the first approach is more popular.
    render() {
      return (
        <div className="App">
          <button onClick={this.increaseCount.bind(this)}>COUNT ({this.state.count})</button>
        </div>
      );
    }

    • Define as public field:
    increaseCount = () => {
      this.setState({ count: this.state.count + 1 });
    };
    
    render() {
      return (
        <div className="App">
          <button onClick={this.increaseCount}>
            COUNT ({this.state.count})
          </button>
        </div>
      );
    }
    view raw

    There are several other approaches that React dev community has come up with, like using a helper method to bind all functions automatically in the constructor.

    After understanding inline functions with its examples and also taking a look at a few alternatives, let’s see why inline functions are so popular and widely used.

    Why use inline function

    Inline function definitions are right where they are invoked or passed down. This means inline functions are easier to write, especially when the body of the function is of a few instructions such as calling setState. This works well within loops as well.

    For example, when rendering a list and assigning a DOM event handler to each list item, passing down an inline function feels much more intuitive. For the same reason, inline functions also make code more organized and readable.

    Inline arrow functions preserve context that means developers can use this without having to worry about current execution context or explicitly bind a context to the function.

    <Button onTap={() => {
      this.prevPage();
    }}>Previous<Button>

    Inline functions make value from parent scope available within the function definition. It results in more intuitive code and developers need to pass down fewer parameters. Let’s understand this with an example.

    render() {
      const { count } = this.state;
      return (
        <div className="App">
          <button
            onClick={() => {
              this.setState({ count: count + 1 });
          }}>
            COUNT ({count})
          </button>
        </div>
      );
    }

    Here, the value of count is readily available to onClick event handlers. This behavior is called closing over.

    For these reasons, React developers make use of inline functions heavily. That said, inline function has also been a hot topic of debate because of performance concerns. Let’s take a look at a few of these arguments.

    Arguments against inline functions

    • A new function is defined every time the render method is called. It results in frequent garbage collection, and hence performance loss.
    • There is an eslint config that advises against using inline function jsx-no-bind. The idea behind this rule is when an inline function is passed down to a child component, React uses reference checks to re-render the component. This can result in child component rendering again and again as a reference to the passed prop value i.e. inline function. In this case, it doesn’t match the original one.

    <listitem onclick=”{()” ==””> console.log(‘click’)}></listitem>

    Suppose ListItem component implements shouldComponentUpdate method where it checks for onClick prop reference. Since inline functions are created every time a component re-renders, this means that the ListItem component will reference a new function every time, which points to a different location in memory. The comparison checks in shouldComponentUpdate and tells React to re-render ListItem even though the inline function’s behavior doesn’t change. This results in unnecessary DOM updates and eventually reduces the performance of applications.

    Performance concerns revolving around the Function.prototype.bind methods: when not using arrow functions, the inline function being passed down must be bound to a context if using this keyword inside the function. The practice of calling .bind before passing down an inline function raises performance concerns, but it has been fixed. For older browsers, Function.prototype.bind can be supplemented with a polyfill for performance.

    Now that we’ve summarized a few arguments in favor of inline functions and a few arguments against it, let’s investigate and see how inline functions really perform.

    render() {
      return (
        <div>
          {this.state.timeThen > this.state.timeNow ? (
           <>
             <button onClick={() => { /* some action */ }} />
             <button onClick={() => { /* another action */ }} />
           </>
          ) : (
            <button onClick={() => { /* yet another action */ }} />
          )}
        </div>
      );
    }

    Pre-optimization can often lead to bad code. For instance, let’s try to get rid of all the inline function definitions in the component above and move them to the constructor because of performance concerns.

    We’d then have to define 3 custom event handlers in the class definition and bind context to all three functions in the constructor.

    export default class CounterApp extends React.Component {
      constructor(props) {
        super(props);
        this.state = {
          timeThen: ...,
          timeNow: Date.now()
        };
        this.someAction = this.someAction.bind(this);
        this.anotherAction = this.anotherAction.bind(this);
        this.yetAnotherAction = this.yetAnotherAction.bind(this);
      }
    
      someAction() { /* some action */ }
      anotherAction() { /* another action */ }
      yetAnotherAction() { /* yet another action */ }
    
      render() {
        return (<div>
          {this.state.timeThen > this.state.timeNow ? (
            <>
              <button onClick={this.someAction} />
              <button onClick={this.anotherAction} />
            </>
          ) : (
            <button onClick={this.yetAnotherAction} />
          )}</div>);
      }
    }

    This would increase the initialization time of the component significantly as opposed to inline function declarations where only one or two functions are defined and used at a time based on the result of condition timeThen > timeNow.

    Concerns around render props: A render prop is a method that returns a React element and is used to share state among React components.

    Render props are meant to be invoked on each render since they share state between parent components and enclosed React elements. Inline functions are a good candidate for use in render prop and won’t cause any performance concern.

    render() {
      return (
        <ListView
          items={items}
          render={({ item }) => (<div>{item.label}</div>)}
        />
      )
    }

    Here, the render prop of ListView component returns a label enclosed in a div. Since the enclosed component can never know what the value of the item variable is, it can never be a PureComponent or have a meaningful implementation of shouldComponentUpdate(). This eliminates the concerns around use of inline function in render prop. In fact, promotes it in most cases.

    In my experience, inline render props can sometimes be harder to maintain especially when render prop returns a larger more complicated component in terms of code size. In such cases, breaking down the component further or having a separate method that gets passed down as render prop has worked well for me.

    Concerns around PureComponents and shouldComponentUpdate(): Pure components and various implementations of shouldComponentUpdate both do a strict type comparison of props and state. These act as performance enhancers by letting React know when or when not to trigger a render based on changes to state and props. Since inline functions are created on every render, when such a method is passed down to a pure component or a component that implements the shouldComponentUpdate method, it can lead to an unnecessary render. This is because of the changed reference of the inline function.

    To overcome this, consider skipping checks on all function props in shouldComponentUpdate(). This assumes that inline functions passed to the component are only different in reference and not behavior. If there is a difference in the behavior of the function passed down, it will result in a missed render and eventually lead to bugs in the component’s state and effects.

    Conclusion‍

    A common rule of thumb is to measure performance of the app and only optimize if needed. Performance impact of inline function, often categorized under micro-optimizations, is always a tradeoff between code readability, performance gain, code organization, etc that must be thought out carefully on a case by case basis and pre-optimization should be avoided.

    In this blog post, we observed that inline functions don’t necessarily bring in a lot of performance cost. They are widely used because of ease of writing, reading and organizing inline functions, especially when inline function definitions are short and simple.

  • Improving Elasticsearch Indexing in the Rails Model using Searchkick

    Searching has become a prominent feature of any web application, and a relevant search feature requires a robust search engine. The search engine should be capable of performing a full-text search, auto completion, providing suggestions, spelling corrections, fuzzy search, and analytics. 

    Elasticsearch, a distributed, fast, and scalable search and analytic engine, takes care of all these basic search requirements.

    The focus of this post is using a few approaches with Elasticsearch in our Rails application to reduce time latency for web requests. Let’s review one of the best ways to improve the Elasticsearch indexing in Rails models by moving them to background jobs.

    In a Rails application, Elasticsearch can be integrated with any of the following popular gems:

    We can continue with any of these gems mentioned above. But for this post, we will be moving forward with the Searchkick gem, which is a much more Rails-friendly gem.

    The default Searchkick gem option uses the object callbacks to sync the data in the respective Elasticsearch index. Being in the callbacks, it costs the request, which has the creation and updation of a resource to take additional time to process the web request.

    The below image shows logs from a Rails application, captured for an update request of a user record. We have added a print statement before Elasticsearch tries to sync in the Rails model so that it helps identify from the logs where the indexing has started. These logs show that the last two queries were executed for indexing the data in the Elasticsearch index.

    Since the Elasticsearch sync is happening while updating a user record, we can conclude that the user update request will take additional time to cover up the Elasticsearch sync.

    Below is the request flow diagram:

    From the request flow diagram, we can say that the end-user must wait for step 3 and 4 to be completed. Step 3 is to fetch the children object details from the database.

    To tackle the problem, we can move the Elasticsearch indexing to the background jobs. Usually, for Rails apps in production, there are separate app servers, database servers, background job processing servers, and Elasticsearch servers (in this scenario).

    This is how the request flow looks when we move Elasticsearch indexing:

    Let’s get to coding!

    For demo purposes, we will have a Rails app with models: `User` and `Blogpost`. The stack used here:

    • Rails 5.2
    • Elasticsearch 6.6.7
    • MySQL 5.6
    • Searchkick (gem for writing Elasticsearch queries in Ruby)
    • Sidekiq (gem for background processing)

    This approach does not require  any specific version of Rails, Elasticsearch or Mysql. Moreover, this approach is database agnostic. You can go through the code from this Github repo for reference.

    Let’s take a look at the user model with Elasticsearch index.

    # == Schema Information
    #
    # Table name: users
    #
    #  id            :bigint           not null, primary key
    #  name          :string(255)
    #  email         :string(255)
    #  mobile_number :string(255)
    #  created_at    :datetime         not null
    #  updated_at    :datetime         not null
    #
    class User < ApplicationRecord
     searchkick
    
     has_many :blogposts
     def search_data
       {
         name: name,
         email: email,
         total_blogposts: blogposts.count,
         last_published_blogpost_date: last_published_blogpost_date
       }
     end
     ...
    end

    Anytime a user object is inserted, updated, or deleted, Searchkick reindexes the data in the Elasticsearch user index synchronously.

    Searchkick already provides four ways to sync Elasticsearch index:

    • Inline (default)
    • Asynchronous
    • Queuing
    • Manual

    For more detailed information on this, refer to this page. In this post, we are looking in the manual approach to reindex the model data.

    To manually reindex, the user model will look like:

    class User < ApplicationRecord
     searchkick callbacks: false
    
     def search_data
       ...
     end
    end

    Now, we will need to define a callback that can sync the data to the Elasticsearch index. Typically, this callback must be written in all the models that have the Elasticsearch index. Instead, we can write a common concern and include it to required models.

    Here is what our concern will look like:

    module ElasticsearchIndexer
     extend ActiveSupport::Concern
    
     included do
       after_commit :reindex_model
       def reindex_model
         ElasticsearchWorker.perform_async(self.id, self.class.name)
       end
     end
    end

    In the above active support concern, we have called the Sidekiq worker named ElasticsearchWorker. After adding this concern, don’t forget to include the Elasticsearch indexer concern in the user model, like so:

    include ElasticsearchIndexer

    Now, let’s see the Elasticsearch Sidekiq worker:

    class ElasticsearchWorker
     include Sidekiq::Worker
     def perform(id, klass)
       begin
         klass.constantize.find(id.to_s).reindex
       rescue => e
         # Handle exception
       end
     end
    end

    That’s it, we’ve done it. Cool, huh? Now, whenever a user creates, updates, or deletes web request, a background job will be created. The background job can be seen in the Sidekiq web UI at localhost:3000/sidekiq

    Now, there is little problem in the Elasticsearch indexer concern. To reproduce this, go to your user edit page, click save, and look at localhost:3000/sidekiq—a job will be queued.

    We can handle this case by tracking the dirty attributes. 

    module ElasticsearchIndexer
     extend ActiveSupport::Concern
     included do
       after_commit :reindex_model
       def reindex_model
         return if self.previous_changes.keys.blank?
         ElasticsearchWorker.perform_async(self.id, klass)
       end
     end
    end

    Furthermore, there are few more areas of improvement. Suppose you are trying to update the field of user model that is not part of the Elasticsearch index, the Elasticsearch worker Sidekiq job will still get created and reindex the associated model object. This can be modified to create the Elasticsearch indexing worker Sidekiq job only if the Elasticsearch index fields are updated.

    module ElasticsearchIndexer
     extend ActiveSupport::Concern
     included do
       after_commit :reindex_model
       def reindex_model
         updated_fields = self.previous_changes.keys
        
         # For getting ES Index fields you can also maintain constant
         # on model level or get from the search_data method.
         es_index_fields = self.search_data.stringify_keys.keys
         return if (updated_fields & es_index_fields).blank?
         ElasticsearchWorker.perform_async(self.id, klass)
       end
     end
    end

    Conclusion

    Moving the Elasticsearch indexing to background jobs is a great way to boost the performance of the web app by reducing the response time of any web request. Implementing this approach for every model would not be ideal. I would recommend this approach only if the Elasticsearch index data are not needed in real-time.

    Since the execution of background jobs depends on the number of jobs it must perform, it might take time to reflect the changes in the Elasticsearch index if there are lots of jobs queued up. To solve this problem to some extent, the Elasticsearch indexing jobs can be added in a queue with high priority. Also, make sure you have a different app server and background job processing server. This approach works best if the app server is different than the background job processing server.