You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by an...@apache.org on 2016/09/10 17:14:39 UTC

[02/10] brooklyn-client git commit: move rest-client to brooklyn-client

http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/4122cfe1/java/src/test/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/java/src/test/webapp/WEB-INF/web.xml b/java/src/test/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..38b637a
--- /dev/null
+++ b/java/src/test/webapp/WEB-INF/web.xml
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+    
+     http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+<!DOCTYPE web-app PUBLIC
+ "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+ "http://java.sun.com/dtd/web-app_2_3.dtd" >
+
+<web-app>
+    <display-name>Brooklyn REST API v1</display-name>
+
+    <filter>
+        <filter-name>Brooklyn Request Tagging Filter</filter-name>
+        <filter-class>org.apache.brooklyn.rest.filter.RequestTaggingFilter</filter-class>
+    </filter>
+    <filter-mapping>
+        <filter-name>Brooklyn Request Tagging Filter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+
+    <filter>
+        <filter-name>Brooklyn Properties Authentication Filter</filter-name>
+        <filter-class>org.apache.brooklyn.rest.filter.BrooklynPropertiesSecurityFilter</filter-class>
+    </filter>
+    <filter-mapping>
+        <filter-name>Brooklyn Properties Authentication Filter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+
+    <filter>
+        <filter-name>Brooklyn Logging Filter</filter-name>
+        <filter-class>org.apache.brooklyn.rest.filter.LoggingFilter</filter-class>
+    </filter>
+    <filter-mapping>
+        <filter-name>Brooklyn Logging Filter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+
+    <filter>
+        <filter-name>Brooklyn HA Master Filter</filter-name>
+        <filter-class>org.apache.brooklyn.rest.filter.HaMasterCheckFilter</filter-class>
+    </filter>
+    <filter-mapping>
+        <filter-name>Brooklyn HA Master Filter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+
+<!-- Brooklyn REST is usually run as a filter so static content can be placed in a webapp
+     to which this is added; to run as a servlet directly, replace the filter tags 
+     below (after the comment) with the servlet tags (commented out immediately below),
+     (and do the same for the matching tags at the bottom)
+    <servlet>
+        <servlet-name>Brooklyn REST API v1 Servlet</servlet-name>
+        <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
+ -->
+    <filter>
+        <filter-name>Brooklyn REST API v1 Filter</filter-name>
+        <filter-class>com.sun.jersey.spi.container.servlet.ServletContainer</filter-class>
+
+        <!-- load our REST API jersey resources explicitly 
+            (the package scanner will only pick up classes with @Path annotations - doesn't look at implemented interfaces) 
+        -->
+        <init-param>
+            <param-name>com.sun.jersey.config.property.resourceConfigClass</param-name>
+            <param-value>com.sun.jersey.api.core.ClassNamesResourceConfig</param-value>
+        </init-param>
+        <init-param>
+            <param-name>com.sun.jersey.config.property.classnames</param-name>
+            <param-value>
+                org.apache.brooklyn.rest.apidoc.ApidocHelpMessageBodyWriter;
+                org.apache.brooklyn.rest.util.FormMapProvider;
+                com.fasterxml.jackson.jaxrs.JacksonJsonProvider;
+                org.apache.brooklyn.rest.resources.ActivityResource;
+                org.apache.brooklyn.rest.resources.ApidocResource;
+                org.apache.brooklyn.rest.resources.ApplicationResource;
+                org.apache.brooklyn.rest.resources.CatalogResource;
+                org.apache.brooklyn.rest.resources.EffectorResource;
+                org.apache.brooklyn.rest.resources.EntityConfigResource;
+                org.apache.brooklyn.rest.resources.EntityResource;
+                org.apache.brooklyn.rest.resources.LocationResource;
+                org.apache.brooklyn.rest.resources.PolicyConfigResource;
+                org.apache.brooklyn.rest.resources.PolicyResource;
+                org.apache.brooklyn.rest.resources.ScriptResource;
+                org.apache.brooklyn.rest.resources.SensorResource;
+                org.apache.brooklyn.rest.resources.VersionResource;
+            </param-value>
+        </init-param>
+
+        <init-param>
+            <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
+            <param-value>true</param-value>
+        </init-param>
+        
+        <!-- no need for WADL. of course you can turn it back on it you want. --> 
+        <init-param>
+            <param-name>com.sun.jersey.config.feature.DisableWADL</param-name>
+            <param-value>true</param-value>
+        </init-param>
+        
+    </filter>
+    <filter-mapping>
+        <filter-name>Brooklyn REST API v1 Filter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+<!-- Brooklyn REST as a filter above; replace above 5 lines with those commented out below,
+     to run it as a servlet (see note above) 
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+    <servlet-mapping>
+        <servlet-name>Brooklyn REST API v1 Servlet</servlet-name>
+        <url-pattern>/*</url-pattern>
+    </servlet-mapping>
+-->
+</web-app>

http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/4122cfe1/models/access.go
----------------------------------------------------------------------
diff --git a/models/access.go b/models/access.go
deleted file mode 100644
index 7fbdcbf..0000000
--- a/models/access.go
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package models
-
-type AccessSummary struct {
-	Links                       map[string]URI `json:"links"`
-	LocationProvisioningAllowed bool           `json:"locationProvisioningAllowed"`
-}

http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/4122cfe1/models/applications.go
----------------------------------------------------------------------
diff --git a/models/applications.go b/models/applications.go
deleted file mode 100644
index aa44b8d..0000000
--- a/models/applications.go
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package models
-
-type Tree struct {
-	Id            string   `json:"id"`
-	ParentId      string   `json:"parentId"`
-	Name          string   `json:"name"`
-	Type          string   `json:"type"`
-	CatalogItemId string   `json:"catalogItemId"`
-	Children      []Tree   `json:"children"`
-	GroupIds      []string `json:"groupIds"`
-	Members       []string `json:"members"`
-}
-
-type TaskSummary struct {
-	SubmitTimeUtc     int64                              `json:"submitTimeUtc"`
-	EndTimeUtc        int64                              `json:"endTimeUtc"`
-	IsCancelled       bool                               `json:"isCancelled"`
-	CurrentStatus     string                             `json:"currentStatus"`
-	BlockingTask      LinkTaskWithMetadata               `json:"blockingTask"`
-	DisplayName       string                             `json:"displayName"`
-	Streams           map[string]LinkStreamsWithMetadata `json:"streams"`
-	Description       string                             `json:"description"`
-	EntityId          string                             `json:"entityId"`
-	EntityDisplayName string                             `json:"entityDisplayName"`
-	Error             bool                               `json:"error"`
-	SubmittedByTask   LinkTaskWithMetadata               `json:"submittedByTask"`
-	Result            interface{}                        `json:"result"`
-	IsError           bool                               `json:"isError"`
-	DetailedStatus    string                             `json:"detailedStatus"`
-	Children          []LinkTaskWithMetadata             `json:"children"`
-	BlockingDetails   string                             `json:"blockingDetails"`
-	Cancelled         bool                               `json:"cancelled"`
-	Links             map[string]URI                     `json:"links"`
-	Id                string                             `json:"id"`
-	StartTimeUtc      int64                              `json:"startTimeUtc"`
-}
-
-type ApplicationSummary struct {
-	Links  map[string]URI  `json:"links"`
-	Id     string          `json:"id"`
-	Spec   ApplicationSpec `json:"spec"`
-	Status Status          `json:"status"`
-}
-
-type ApplicationSpec struct {
-	Name      string   `json:"name"`
-	Type      string   `json:"type"`
-	Locations []string `json:"locations"`
-}
-
-type Status string
-
-type LinkWithMetadata struct {
-}
-
-type LinkStreamsWithMetadata struct {
-	Link     string             `json:"link"`
-	Metadata LinkStreamMetadata `json:"metadata"`
-}
-
-type LinkStreamMetadata struct {
-	Name     string `json:"name"`
-	Size     int64  `json:"size"`
-	SizeText string `json:"sizeText"`
-}
-
-type LinkTaskWithMetadata struct {
-	Link     string           `json:"link"`
-	Metadata LinkTaskMetadata `json:"metadata"`
-}
-
-type LinkTaskMetadata struct {
-	Id                string `json:"id"`
-	TaskName          string `json:"taskName"`
-	EntityId          string `json:"entityId"`
-	EntityDisplayName string `json:"entityDisplayName"`
-}
-
-type URI string

http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/4122cfe1/models/catalog.go
----------------------------------------------------------------------
diff --git a/models/catalog.go b/models/catalog.go
deleted file mode 100644
index ef6dabf..0000000
--- a/models/catalog.go
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package models
-
-type CatalogItemSummary struct {
-	Name         string                 `json:"name"`
-	JavaType     string                 `json:"javaType"`
-	SymbolicName string                 `json:"symbolicName"`
-	Version      string                 `json:"version"`
-	PlanYaml     string                 `json:"planYaml"`
-	Description  string                 `json:"description"`
-	Deprecated   bool                   `json:"deprecated"`
-	Links        map[string]interface{} `json:"links"`
-	Id           string                 `json:"id"`
-	Type         string                 `json:"type"`
-}
-
-type CatalogPolicySummary struct {
-	symbolicName string         `json:"symbolicName"`
-	version      string         `json:"version"`
-	displayName  string         `json:"name"`
-	javaType     string         `json:"javaType"`
-	planYaml     string         `json:"planYaml"`
-	description  string         `json:"description"`
-	iconUrl      string         `json:"iconUrl"`
-	deprecated   bool           `json:"deprecated"`
-	links        map[string]URI `json:"links"`
-}
-
-type CatalogLocationSummary struct {
-}
-
-type CatalogEntitySummary struct {
-	symbolicName string                 `json:"symbolicName"`
-	version      string                 `json:"version"`
-	displayName  string                 `json:"name"`
-	javaType     string                 `json:"javaType"`
-	planYaml     string                 `json:"planYaml"`
-	description  string                 `json:"description"`
-	Config       []ConfigSummary        `json:"config"`
-	Effectors    []EffectorSummary      `json:"effectors"`
-	Sensors      []SensorSummary        `json:"sensors"`
-	Deprecated   bool                   `json:"deprecated"`
-	Links        map[string]interface{} `json:"links"`
-	Id           string                 `json:"id"`
-	Type         string                 `json:"type"`
-}

http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/4122cfe1/models/config.go
----------------------------------------------------------------------
diff --git a/models/config.go b/models/config.go
deleted file mode 100644
index bc97650..0000000
--- a/models/config.go
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package models
-
-type ConfigSummary struct {
-	Reconfigurable bool                `json:"reconfigurable"`
-	PossibleValues []map[string]string `json:"possibleValues"`
-	DefaultValue   interface{}         `json:"defaultValue"`
-	Name           string              `json:"name"`
-	Description    string              `json:"description"`
-	Links          map[string]URI      `json:"links"`
-	Label          string              `json:"label"`
-	Priority       float64             `json:"priority"`
-	Type           string              `json:"type"`
-}

http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/4122cfe1/models/effectors.go
----------------------------------------------------------------------
diff --git a/models/effectors.go b/models/effectors.go
deleted file mode 100644
index 1b846b7..0000000
--- a/models/effectors.go
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package models
-
-type EffectorSummary struct {
-	Name        string             `json:"name"`
-	Description string             `json:"description"`
-	Links       map[string]URI     `json:"links"`
-	Parameters  []ParameterSummary `json:"parameters"`
-	ReturnType  string             `json:"returnType"`
-}
-
-type ParameterSummary struct {
-	Name         string      `json:"name"`
-	Type         string      `json:"type"`
-	Description  string      `json:"description"`
-	DefaultValue interface{} `json:"defaultValue"`
-}

http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/4122cfe1/models/entities.go
----------------------------------------------------------------------
diff --git a/models/entities.go b/models/entities.go
deleted file mode 100644
index fdb85dc..0000000
--- a/models/entities.go
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package models
-
-type EntitySummary struct {
-	CatalogItemId string         `json:"catalogItemId"`
-	Name          string         `json:"name"`
-	Links         map[string]URI `json:"links"`
-	Id            string         `json:"id"`
-	Type          string         `json:"type"`
-}

http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/4122cfe1/models/locations.go
----------------------------------------------------------------------
diff --git a/models/locations.go b/models/locations.go
deleted file mode 100644
index 2505eae..0000000
--- a/models/locations.go
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package models
-
-type LocationSummary struct {
-	Id     string                 `json:"id"`
-	Name   string                 `json:"name"`
-	Spec   string                 `json:"spec"`
-	Type   string                 `json:"type"`
-	Config map[string]interface{} `json:"config"`
-	Links  map[string]URI         `json:"links"`
-}

http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/4122cfe1/models/policies.go
----------------------------------------------------------------------
diff --git a/models/policies.go b/models/policies.go
deleted file mode 100644
index fca9298..0000000
--- a/models/policies.go
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package models
-
-type PolicySummary struct {
-	CatalogItemId string         `json:"catalogItemId"`
-	Name          string         `json:"name"`
-	Links         map[string]URI `json:"links"`
-	Id            string         `json:"id"`
-	State         Status         `json:"state"`
-}
-
-type PolicyConfigList struct {
-	Name           string         `json:"name"`
-	Type           string         `json:"type"`
-	DefaultValue   interface{}    `json:"defaultValue`
-	Description    string         `json:"description"`
-	Reconfigurable bool           `json:"reconfigurable"`
-	Label          string         `json:"label"`
-	Priority       int64          `json:"priority"`
-	PossibleValues []interface{}  `json:"possibleValues"`
-	Links          map[string]URI `json:"links"`
-}

http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/4122cfe1/models/sensors.go
----------------------------------------------------------------------
diff --git a/models/sensors.go b/models/sensors.go
deleted file mode 100644
index 67b3b4f..0000000
--- a/models/sensors.go
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package models
-
-type SensorSummary struct {
-	Name        string         `json:"name"`
-	Description string         `json:"description"`
-	Links       map[string]URI `json:"links"`
-	Type        string         `json:"type"`
-}

http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/4122cfe1/models/version.go
----------------------------------------------------------------------
diff --git a/models/version.go b/models/version.go
deleted file mode 100644
index 8f12a67..0000000
--- a/models/version.go
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package models
-
-type VersionSummary struct {
-	Version     string                   `json:"version"`
-	BuildSha1   string                   `json:"buildSha1"`
-	BuildBranch string                   `json:"buildBranch"`
-	Features    []BrooklynFeatureSummary `json:"features"`
-}
-
-type BrooklynFeatureSummary struct {
-	Name           string            `json:"name"`
-	SymbolicName   string            `json:"symbolicName"`
-	Version        string            `json:"version"`
-	LastModified   string            `json:"lastModified"`
-	AdditionalData map[string]string `json:"additionalData"`
-}

http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/4122cfe1/net/net.go
----------------------------------------------------------------------
diff --git a/net/net.go b/net/net.go
deleted file mode 100644
index b35a6c3..0000000
--- a/net/net.go
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package net
-
-import (
-	"bytes"
-	"encoding/json"
-	"errors"
-	"io"
-	"io/ioutil"
-	"net/http"
-	"net/url"
-	"os"
-	"path/filepath"
-	"strconv"
-	"strings"
-	"crypto/tls"
-)
-
-type Network struct {
-	BrooklynUrl  string
-	BrooklynUser string
-	BrooklynPass string
-	SkipSslChecks bool
-}
-
-func NewNetwork(brooklynUrl, brooklynUser, brooklynPass string, skipSslChecks bool) (net *Network) {
-	net = new(Network)
-	net.BrooklynUrl = brooklynUrl
-	net.BrooklynUser = brooklynUser
-	net.BrooklynPass = brooklynPass
-	net.SkipSslChecks = skipSslChecks
-	return
-}
-
-func (net *Network) NewRequest(method, path string, body io.Reader) *http.Request {
-	req, _ := http.NewRequest(method, net.BrooklynUrl+path, body)
-	req.SetBasicAuth(net.BrooklynUser, net.BrooklynPass)
-	return req
-}
-
-func (net *Network) NewGetRequest(url string) *http.Request {
-	return net.NewRequest("GET", url, nil)
-}
-
-func (net *Network) NewPostRequest(url string, body io.Reader) *http.Request {
-	return net.NewRequest("POST", url, body)
-}
-
-func (net *Network) NewDeleteRequest(url string) *http.Request {
-	return net.NewRequest("DELETE", url, nil)
-}
-
-type HttpError struct {
-	Code    int
-	Status  string
-	Headers http.Header
-	Body    string
-}
-
-func (err HttpError) Error() string {
-	return err.Status
-}
-
-func makeError(resp *http.Response, code int, body []byte) error {
-	theError := HttpError{
-		Code:    code,
-		Status:  resp.Status,
-		Headers: resp.Header,
-	}
-	details := make(map[string]string)
-	if err := json.Unmarshal(body, &details); nil == err {
-		if message, ok := details["message"]; ok {
-			theError.Body = message
-			return theError
-		}
-	}
-	theError.Body = string(body)
-	return theError
-}
-
-func (net *Network) SendRequest(req *http.Request) ([]byte, error) {
-	tr := &http.Transport{
-		TLSClientConfig: &tls.Config{InsecureSkipVerify: net.SkipSslChecks},
-	}
-	client := &http.Client{Transport: tr}
-	resp, err := client.Do(req)
-	if err != nil {
-		return nil, err
-	}
-	defer resp.Body.Close()
-	body, err := ioutil.ReadAll(resp.Body)
-	if code, failed := unsuccessful(resp.Status); failed {
-		return nil, makeError(resp, code, body)
-	}
-	return body, err
-}
-
-const httpSuccessSeriesFrom = 200
-const httpSuccessSeriesTo = 300
-
-func unsuccessful(status string) (int, bool) {
-	tokens := strings.Split(status, " ")
-	if 0 == len(tokens) {
-		return -1, false
-	}
-	code, err := strconv.Atoi(tokens[0])
-	if nil != err {
-		return -1, false
-	}
-	return code, code < httpSuccessSeriesFrom || httpSuccessSeriesTo <= code
-}
-
-func (net *Network) SendGetRequest(url string) ([]byte, error) {
-	req := net.NewGetRequest(url)
-	req.Header.Set("Accept", "application/json, text/plain")
-	body, err := net.SendRequest(req)
-	return body, err
-}
-
-func (net *Network) SendDeleteRequest(url string) ([]byte, error) {
-	req := net.NewDeleteRequest(url)
-	body, err := net.SendRequest(req)
-	return body, err
-}
-
-func (net *Network) SendEmptyPostRequest(url string) ([]byte, error) {
-	req := net.NewPostRequest(url, nil)
-	body, err := net.SendRequest(req)
-	return body, err
-}
-
-func (net *Network) SendPostRequest(urlStr string, data []byte) ([]byte, error) {
-	req := net.NewPostRequest(urlStr, bytes.NewBuffer(data))
-	req.Header.Set("Content-Type", "application/json")
-	body, err := net.SendRequest(req)
-	return body, err
-}
-
-func (net *Network) SendPostResourceRequest(restUrl string, resourceUrl string, contentType string) ([]byte, error) {
-	resource, err := openResource(resourceUrl)
-	defer resource.Close()
-	req := net.NewPostRequest(restUrl, resource)
-	req.Header.Set("Content-Type", contentType)
-	body, err := net.SendRequest(req)
-	return body, err
-}
-
-func openResource(resourceUrl string) (io.ReadCloser, error) {
-	u, err := url.Parse(resourceUrl)
-	if err != nil {
-		return nil, err
-	}
-	if "" == u.Scheme || "file" == u.Scheme {
-		return openFileResource(u)
-
-	} else if "http" == u.Scheme || "https" == u.Scheme {
-		return openHttpResource(resourceUrl)
-
-	} else {
-		return nil, errors.New("Unrecognised protocol scheme: " + u.Scheme)
-	}
-}
-
-func openFileResource(url *url.URL) (io.ReadCloser, error) {
-	filePath := url.Path;
-	file, err := os.Open(filepath.Clean(filePath))
-	if err != nil {
-		return nil, err
-	}
-	return file, nil
-}
-
-func openHttpResource(resourceUrl string) (io.ReadCloser, error) {
-	resp, err := http.Get(resourceUrl)
-	if err != nil {
-		return nil, err
-	}
-	return resp.Body, nil
-}
-
-
-func VerifyLoginURL(network *Network) error {
-	url, err := url.Parse(network.BrooklynUrl)
-	if err != nil {
-		return err
-	}
-	if url.Scheme != "http" && url.Scheme != "https" {
-		return errors.New("Use login command to set Brooklyn URL with a scheme of \"http\" or \"https\"")
-	}
-	if url.Host == "" {
-		return errors.New("Use login command to set Brooklyn URL with a valid host[:port]")
-	}
-	return nil
-}

http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/4122cfe1/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 866ca04..292f835 100644
--- a/pom.xml
+++ b/pom.xml
@@ -17,116 +17,472 @@
     specific language governing permissions and limitations
     under the License.
 -->
-<project
-        xmlns="http://maven.apache.org/POM/4.0.0"
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 
     <modelVersion>4.0.0</modelVersion>
     <parent>
-        <groupId>org.apache.brooklyn</groupId>
-        <artifactId>brooklyn-parent</artifactId>
-        <version>0.10.0-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
-        <relativePath>../brooklyn-server/parent/</relativePath>
+        <groupId>org.apache</groupId>
+        <artifactId>apache</artifactId>
+        <version>17</version>
+        <relativePath></relativePath> <!-- prevent loading of ../pom.xml as the "parent" -->
     </parent>
-    
+
+    <groupId>org.apache.brooklyn</groupId>
+    <artifactId>brooklyn-client</artifactId>
+    <version>0.10.0-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
     <packaging>pom</packaging>
 
-    <artifactId>brooklyn-client-cli</artifactId>
-    <name>Brooklyn Client Command Line Interface</name>
+    <name>Brooklyn Client</name>
     <description>
-        A command line client for Apache Brooklyn
+        Brooklyn Client project root, serving as the ancestor POM for all projects --
+        declaring versions, profiles, and the modules to build
     </description>
 
+    <scm>
+        <connection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-brooklyn.git</connection>
+        <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/brooklyn.git</developerConnection>
+        <url>https://git-wip-us.apache.org/repos/asf?p=incubator-brooklyn.git</url>
+        <tag>HEAD</tag>
+    </scm>
 
-    <!--
+    <issueManagement>
+        <system>JIRA</system>
+        <url>https://issues.apache.org/jira/browse/BROOKLYN</url>
+    </issueManagement>
+    <ciManagement>
+        <system>Jenkins</system>
+        <url>https://builds.apache.org/job/incubator-brooklyn-master-build/</url>
+    </ciManagement>
+    <mailingLists>
+        <mailingList>
+            <name>Brooklyn Developer List</name>
+            <subscribe>dev-subscribe@brooklyn.apache.org</subscribe>
+            <unsubscribe>dev-unsubscribe@brooklyn.apache.org</unsubscribe>
+            <post>dev@brooklyn.apache.org</post>
+            <archive>
+                http://mail-archives.apache.org/mod_mbox/brooklyn-dev/
+            </archive>
+        </mailingList>
+    </mailingLists>
 
-    Run as one of:
+    <properties>
+        <brooklyn.version>0.10.0-SNAPSHOT</brooklyn.version>  <!-- BROOKLYN_VERSION -->
 
-    mvn -Dtarget=native clean install                      build for local platform
-    mvn -Dtarget=all clean install                         build for all supported platforms
-    mvn -Dtarget=cross -Dos=OS -Darch=ARCH clean install   build for platform with operating system OS and architecture ARCH
+        <org.osgi.core.version>6.0.0</org.osgi.core.version>
 
-    -->
+        <!-- Compilation -->
+        <java.version>1.7</java.version>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+
+        <!-- Testing Configuration -->
+        <includedTestGroups/>
+        <excludedTestGroups>Integration,Acceptance,Live,Live-sanity,WIP,Broken</excludedTestGroups>
+        <surefire.failIfNoSpecifiedTests>false</surefire.failIfNoSpecifiedTests>
+
+        <!-- Dependency Versions -->
+        <logback.version>1.0.7</logback.version>
+        <slf4j.version>1.6.6</slf4j.version>  <!-- used for java.util.logging jul-to-slf4j interception -->
+        <guava.version>16.0.1</guava.version>
+        <resteasy.version>3.0.8.Final</resteasy.version>
+        <cxf.version>3.1.4</cxf.version>
+        <httpclient.version>4.4.1</httpclient.version>
+        <jsr305.version>2.0.1</jsr305.version>
+        <gson.version>2.3</gson.version>
+        <jetty.version>9.2.13.v20150730</jetty.version>
+        <jetty-schemas.version>3.1.M0</jetty-schemas.version>
+        <mockwebserver.version>20121111</mockwebserver.version>
+
+        <!-- Testing Dependency Versions -->
+        <testng.version>6.8.8</testng.version>
+        <mockito.version>1.10.8</mockito.version>
+        <assertj.version>2.2.0</assertj.version> <!-- v 2.2.0 is being used as v 3.20 introduces Java8 dependencies-->
+        <cobertura.plugin.version>2.7</cobertura.plugin.version>
+        <surefire.version>2.18.1</surefire.version>
+        <plantuml.version>6121</plantuml.version>
+        <ant.version>1.8.4</ant.version>
+
+        <!-- Build Tool Versions -->
+        <maven-war-plugin.version>2.4</maven-war-plugin.version>
+        <maven-dependency-plugin.version>2.8</maven-dependency-plugin.version>
+        <maven-replacer-plugin.version>1.5.2</maven-replacer-plugin.version>
+        <nodejs-maven-plugin.version>1.0.3</nodejs-maven-plugin.version>
+        <nodejs-maven-binaries.version>0.10.25</nodejs-maven-binaries.version>
+        <jasmine-maven-plugin.version>1.3.1.5</jasmine-maven-plugin.version>
+        <requirejs-maven-plugin.version>2.0.0</requirejs-maven-plugin.version>
+        <maven-antrun-plugin.version>1.7</maven-antrun-plugin.version>
 
-    <properties>
-        <maven.antrun.plugin.version>1.8</maven.antrun.plugin.version>
-        <maven.assembly.plugin.version>2.6</maven.assembly.plugin.version>
-        <target>all</target>
     </properties>
 
-    <repositories>
-        <!--
-            Same as in the parent apache pom. Repeated here in case
-            direct parent's pom not found at relativePath. Can't fetch
-            the parent from remote repos for snapshot versions - no
-            snapshot repos enabled by default.
-        -->
-        <repository>
-            <id>apache.snapshots</id>
-            <name>Apache Snapshot Repository</name>
-            <url>http://repository.apache.org/snapshots</url>
-            <releases>
-                <enabled>false</enabled>
-            </releases>
-        </repository>
-    </repositories>
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>com.google.guava</groupId>
+                <artifactId>guava</artifactId>
+                <version>${guava.version}</version>
+            </dependency>
+            <!--  JAX-RS 2.0 RESTEasy Implementation -->
+            <dependency>
+                <groupId>org.jboss.resteasy</groupId>
+                <artifactId>resteasy-jaxrs</artifactId>
+                <version>${resteasy.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.jboss.resteasy</groupId>
+                <artifactId>resteasy-jackson2-provider</artifactId>
+                <version>${resteasy.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.jboss.resteasy</groupId>
+                <artifactId>jaxrs-api</artifactId>
+                <version>${resteasy.version}</version>
+            </dependency>
+            <!-- / JAX-RS -->
+            <dependency>
+                <groupId>org.apache.httpcomponents</groupId>
+                <artifactId>httpclient</artifactId>
+                <version>${httpclient.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.google.code.findbugs</groupId>
+                <artifactId>jsr305</artifactId>
+                <version>${jsr305.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.slf4j</groupId>
+                <artifactId>slf4j-api</artifactId>
+                <version>${slf4j.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.google.code.gson</groupId>
+                <artifactId>gson</artifactId>
+                <version>${gson.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.testng</groupId>
+                <artifactId>testng</artifactId>
+                <version>${testng.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-server</artifactId>
+                <version>${jetty.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.google.mockwebserver</groupId>
+                <artifactId>mockwebserver</artifactId>
+                <version>${mockwebserver.version}</version>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <modules>
+        <module>cli</module>
+        <module>java</module>
+    </modules>
 
     <build>
-        <plugins>
-            <plugin>
-                <artifactId>maven-antrun-plugin</artifactId>
-                <version>1.8</version>
-                <executions>
-                    <execution>
-                        <id>process-build-all</id>
-                        <phase>compile</phase>
-                        <configuration>
-                            <target>
-                                <ant target="${target}"/>
-                            </target>
-                        </configuration>
-                        <goals>
-                            <goal>run</goal>
-                        </goals>
-                    </execution>
-
-                </executions>
-            </plugin>
-
-            <plugin>
-                <artifactId>maven-assembly-plugin</artifactId>
-                <version>${maven.assembly.plugin.version}</version>
-                <configuration>
-                    <descriptors>
-                        <descriptor>release/assembly.xml</descriptor>
-                    </descriptors>
-                </configuration>
-                <executions>
-                    <execution>
-                        <id>make-assembly</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>single</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-
-            <plugin>
-                <groupId>org.apache.rat</groupId>
-                <artifactId>apache-rat-plugin</artifactId>
-                <version>0.11</version>
-                <configuration>
-                    <excludes combine.children="append">
-                        <exclude>vendor/**</exclude>
-                        <exclude>glide.*</exclude>
-                    </excludes>
-                </configuration>
-            </plugin>
-
-        </plugins>
+        <testSourceDirectory>src/test/java</testSourceDirectory>
+        <testResources>
+            <testResource>
+                <directory>src/test/resources</directory>
+            </testResource>
+        </testResources>
+
+        <pluginManagement>
+            <plugins>
+                <plugin>
+                    <artifactId>maven-antrun-plugin</artifactId>
+                    <version>1.8</version>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-clean-plugin</artifactId>
+                    <version>2.6.1</version>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-compiler-plugin</artifactId>
+                    <version>3.3</version>
+                    <configuration>
+                        <source>${java.version}</source>
+                        <target>${java.version}</target>
+                    </configuration>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-deploy-plugin</artifactId>
+                    <version>2.8.2</version>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-eclipse-plugin</artifactId>
+                    <version>2.10</version>
+                    <configuration>
+                        <additionalProjectnatures>
+                            <projectnature>org.eclipse.jdt.groovy.core.groovyNature</projectnature>
+                        </additionalProjectnatures>
+                    </configuration>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-enforcer-plugin</artifactId>
+                    <version>1.4.1</version>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-failsafe-plugin</artifactId>
+                    <version>2.18.1</version>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-jar-plugin</artifactId>
+                    <!-- version 2.4+ seems to break eclipse integration as per https://github.com/tesla/m2eclipse-extras/issues/10
+                         but cannot find issue on GitHub any more - 404 error -->
+                    <!-- XXX if this version is changed, update the MavenArtifactTest -->
+                    <version>2.6</version>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-javadoc-plugin</artifactId>
+                    <version>2.10.3</version>
+                    <configuration>
+                        <!-- disabling use because of NPE deploying to sonatype:
+                             http://stackoverflow.com/questions/888199/why-does-maven-install-fail-during-javadoc-generation
+                             http://bugs.sun.com/bugdatabase/view_bug.do;jsessionid=ac084ab7f47c4e7f1df2117cecd?bug_id=5101868
+                        -->
+                        <use>false</use>
+                        <links>
+                            <link>http://download.oracle.com/javaee/6/api</link>
+                        </links>
+                        <keywords>true</keywords>
+                        <author>false</author>
+                        <quiet>true</quiet>
+                        <aggregate>false</aggregate>
+                        <failOnError>false</failOnError>
+                        <detectLinks/>
+                        <tags>
+                            <tag>
+                                <name>todo</name>
+                                <placement>a</placement>
+                                <head>To-do:</head>
+                            </tag>
+                        </tags>
+                    </configuration>
+                    <executions>
+                        <execution>
+                            <id>attach-javadocs</id>
+                            <goals>
+                                <goal>jar</goal>
+                            </goals>
+                        </execution>
+                    </executions>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-resources-plugin</artifactId>
+                    <version>2.7</version>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-shade-plugin</artifactId>
+                    <version>2.3</version>
+                    <executions>
+                        <execution>
+                            <phase>package</phase>
+                            <goals>
+                                <goal>shade</goal>
+                            </goals>
+                            <configuration>
+                                <shadedArtifactAttached>true</shadedArtifactAttached>
+                                <shadedClassifierName>with-dependencies</shadedClassifierName>
+                                <filters>
+                                    <filter>
+                                        <artifact>*:*</artifact>
+                                        <excludes>
+                                            <exclude>META-INF/*.SF</exclude>
+                                            <exclude>META-INF/*.DSA</exclude>
+                                            <exclude>META-INF/*.RSA</exclude>
+                                        </excludes>
+                                    </filter>
+                                </filters>
+                            </configuration>
+                        </execution>
+                    </executions>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-site-plugin</artifactId>
+                    <version>3.4</version>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-source-plugin</artifactId>
+                    <version>2.4</version>
+                    <executions>
+                        <execution>
+                            <id>attach-sources</id>
+                            <phase>verify</phase>
+                            <goals>
+                                <goal>jar-no-fork</goal>
+                                <goal>test-jar-no-fork</goal>
+                            </goals>
+                        </execution>
+                    </executions>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-surefire-plugin</artifactId>
+                    <version>${surefire.version}</version>
+                    <configuration>
+                        <argLine>-Xms768m -Xmx768m -XX:MaxPermSize=256m -verbose:gc</argLine>
+                    </configuration>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.felix</groupId>
+                    <artifactId>maven-bundle-plugin</artifactId>
+                    <version>2.5.4</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.codehaus.mojo</groupId>
+                    <artifactId>findbugs-maven-plugin</artifactId>
+                    <version>3.0.1</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.codehaus.mojo</groupId>
+                    <artifactId>build-helper-maven-plugin</artifactId>
+                    <version>1.9.1</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.codehaus.mojo</groupId>
+                    <artifactId>cobertura-maven-plugin</artifactId>
+                    <version>${cobertura.plugin.version}</version>
+                </plugin>
+                <plugin>
+                    <groupId>com.google.code.maven-replacer-plugin</groupId>
+                    <artifactId>maven-replacer-plugin</artifactId>
+                    <version>1.4.1</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.codehaus.mojo</groupId>
+                    <artifactId>buildnumber-maven-plugin</artifactId>
+                    <version>1.3</version>
+                    <configuration>
+                        <getRevisionOnlyOnce>true</getRevisionOnlyOnce>
+                    </configuration>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.rat</groupId>
+                    <artifactId>apache-rat-plugin</artifactId>
+                    <version>0.11</version>
+                    <configuration>
+                        <excludes combine.children="append">
+                            <!-- Exclude sandbox because not part of distribution: not in tgz, and not uploaded to maven-central -->
+                            <exclude>sandbox/**</exclude>
+                            <!-- Exclude release because not part of distribution: not in tgz, and not uploaded to maven-central -->
+                            <exclude>release/**</exclude>
+                            <exclude>README.md</exclude>
+                            <!-- Exclude netbeans config files (not part of the project, but often on users' drives -->
+                            <exclude>**/nbactions.xml</exclude>
+                            <exclude>**/nb-configuration.xml</exclude>
+                        </excludes>
+                    </configuration>
+                </plugin>
 
+                <!-- This is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
+                <plugin>
+                    <groupId>org.eclipse.m2e</groupId>
+                    <artifactId>lifecycle-mapping</artifactId>
+                    <version>1.0.0</version>
+                    <configuration>
+                        <lifecycleMappingMetadata>
+                            <pluginExecutions>
+                                <pluginExecution>
+                                    <pluginExecutionFilter>
+                                        <groupId>org.apache.maven.plugins</groupId>
+                                        <artifactId>maven-dependency-plugin</artifactId>
+                                        <versionRange>[2.8,)</versionRange>
+                                        <goals>
+                                            <goal>copy-dependencies</goal>
+                                        </goals>
+                                    </pluginExecutionFilter>
+                                    <action>
+                                        <ignore/>
+                                    </action>
+                                </pluginExecution>
+                                <pluginExecution>
+                                    <pluginExecutionFilter>
+                                        <groupId>org.apache.maven.plugins</groupId>
+                                        <artifactId>maven-assembly-plugin</artifactId>
+                                        <versionRange>[2.4.1,)</versionRange>
+                                        <goals>
+                                            <goal>single</goal>
+                                        </goals>
+                                    </pluginExecutionFilter>
+                                    <action>
+                                        <ignore/>
+                                    </action>
+                                </pluginExecution>
+                                <pluginExecution>
+                                    <pluginExecutionFilter>
+                                        <groupId>org.codehaus.mojo</groupId>
+                                        <artifactId>build-helper-maven-plugin</artifactId>
+                                        <versionRange>[1.7,)</versionRange>
+                                        <goals>
+                                            <goal>attach-artifact</goal>
+                                        </goals>
+                                    </pluginExecutionFilter>
+                                    <action>
+                                        <ignore/>
+                                    </action>
+                                </pluginExecution>
+                                <pluginExecution>
+                                    <pluginExecutionFilter>
+                                        <groupId>org.apache.maven.plugins</groupId>
+                                        <artifactId>maven-enforcer-plugin</artifactId>
+                                        <versionRange>[1.3.1,)</versionRange>
+                                        <goals>
+                                            <goal>enforce</goal>
+                                        </goals>
+                                    </pluginExecutionFilter>
+                                    <action>
+                                        <ignore/>
+                                    </action>
+                                </pluginExecution>
+                                <pluginExecution>
+                                    <pluginExecutionFilter>
+                                        <groupId>org.apache.maven.plugins</groupId>
+                                        <artifactId>maven-remote-resources-plugin</artifactId>
+                                        <versionRange>[1.5,)</versionRange>
+                                        <goals>
+                                            <goal>process</goal>
+                                        </goals>
+                                    </pluginExecutionFilter>
+                                    <action>
+                                        <ignore/>
+                                    </action>
+                                </pluginExecution>
+                                <pluginExecution>
+                                    <pluginExecutionFilter>
+                                        <groupId>org.apache.maven.plugins</groupId>
+                                        <artifactId>maven-dependency-plugin</artifactId>
+                                        <versionRange>[2.8,)</versionRange>
+                                        <goals>
+                                            <goal>unpack</goal>
+                                            <goal>copy</goal>
+                                        </goals>
+                                    </pluginExecutionFilter>
+                                    <action>
+                                        <ignore/>
+                                    </action>
+                                </pluginExecution>
+                                <pluginExecution>
+                                    <pluginExecutionFilter>
+                                        <groupId>org.apache.maven.plugins</groupId>
+                                        <artifactId>maven-checkstyle-plugin</artifactId>
+                                        <versionRange>[2.13,)</versionRange>
+                                        <goals>
+                                            <goal>check</goal>
+                                        </goals>
+                                    </pluginExecutionFilter>
+                                    <action>
+                                        <ignore/>
+                                    </action>
+                                </pluginExecution>
+                            </pluginExecutions>
+                        </lifecycleMappingMetadata>
+                    </configuration>
+                </plugin>
+            </plugins>
+        </pluginManagement>
     </build>
 
 </project>

http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/4122cfe1/release/assembly.xml
----------------------------------------------------------------------
diff --git a/release/assembly.xml b/release/assembly.xml
deleted file mode 100644
index 8a32f91..0000000
--- a/release/assembly.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one
-    or more contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  The ASF licenses this file
-    to you under the Apache License, Version 2.0 (the
-    "License"); you may not use this file except in compliance
-    with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing,
-    software distributed under the License is distributed on an
-    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-    KIND, either express or implied.  See the License for the
-    specific language governing permissions and limitations
-    under the License.
--->
-<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"
-          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-          xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
-    <id>bin</id>
-    <formats>
-        <format>zip</format>
-    </formats>
-    <fileSets>
-        <fileSet>
-            <directory>release/files</directory>
-            <outputDirectory><!-- leave blank, meaning 'root of archive' --></outputDirectory>
-        </fileSet>
-        <fileSet>
-            <directory>release/license/files</directory>
-            <outputDirectory><!-- leave blank, meaning 'root of archive' --></outputDirectory>
-        </fileSet>
-        <fileSet>
-            <directory>${project.build.directory}/bin</directory>
-            <outputDirectory><!-- leave blank, meaning 'root of archive' --></outputDirectory>
-            <includes>
-                <include>**/br*</include>
-            </includes>
-        </fileSet>
-    </fileSets>
-</assembly>

http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/4122cfe1/release/build.bat
----------------------------------------------------------------------
diff --git a/release/build.bat b/release/build.bat
deleted file mode 100644
index cbef33a..0000000
--- a/release/build.bat
+++ /dev/null
@@ -1,24 +0,0 @@
-@echo off
-REM Licensed to the Apache Software Foundation (ASF) under one
-REM or more contributor license agreements.  See the NOTICE file
-REM distributed with this work for additional information
-REM regarding copyright ownership.  The ASF licenses this file
-REM to you under the Apache License, Version 2.0 (the
-REM "License"); you may not use this file except in compliance
-REM with the License.  You may obtain a copy of the License at
-REM
-REM   http://www.apache.org/licenses/LICENSE-2.0
-REM
-REM Unless required by applicable law or agreed to in writing,
-REM software distributed under the License is distributed on an
-REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-REM KIND, either express or implied.  See the License for the
-REM specific language governing permissions and limitations
-REM under the License.
-
-REM TODO
-echo.
-echo brooklyn-client CLI build not supported on Windows platforms, run maven with '-Dno-go-client' to skip.
-echo.
-
-exit 1

http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/4122cfe1/release/build.sh
----------------------------------------------------------------------
diff --git a/release/build.sh b/release/build.sh
deleted file mode 100755
index dfee050..0000000
--- a/release/build.sh
+++ /dev/null
@@ -1,283 +0,0 @@
-#!/usr/bin/env bash
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#  http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-#
-# Constants
-#
-OSVALUES="darwin freebsd linux netbsd openbsd windows"
-ARCHVALUES="386 amd64"
-BRNAME="br"
-GOPACKAGE="github.com/apache/brooklyn-client/${BRNAME}"
-PROJECT="github.com/apache/brooklyn-client"
-CLI_PACKAGE="${PROJECT}/${BRNAME}"
-GOBIN=go
-GLIDE=glide
-
-START_TIME=$(date +%s)
-
-#
-# Globals
-#
-os=""
-arch=""
-all=""
-outdir="."
-sourcedir="."
-label=""
-timestamp=""
-
-builds=(
-  darwin/amd64
-  linux/386
-  windows/386
-)
-
-show_help() {
-	echo "Usage:	$0 [-d <OUTPUTDIR>] [-l <LABEL>] [-t] -s <SOURCEDIR>"
-	echo "	$0 -o <OS> -a <ARCH> [-d <DIRECTORY>] [-l <LABEL>] [-t] -s <SOURCEDIR>"
-	echo "	$0 -A [-d <OUTPUTDIR>] [-l <LABEL>] [-t] -s <SOURCEDIR>"
-	echo "	$0 -h"
-	echo
-		cat <<-EOH
-	 -A  Build for default OS/ARCH combinations
-	 -a  Set ARCH to build for
-	 -d  Set output directory
-	 -h  Show help
-	 -l  Set label text for including in filename
-	 -o  Set OS to build for
-	 -t  Set timestamp for including in filename
-	 -s  Source directory
-
-EOH
-
-	echo $OSVALUES | awk 'BEGIN{printf("Supported OS:\n")};{for(i=1;i<=NF;i++){printf("\t%s\n",$i)}}'
-	echo $ARCHVALUES | awk 'BEGIN{printf("Supported ARCH:\n")};{for(i=1;i<=NF;i++){printf("\t%s\n",$i)}}'
-	echo Default build:
-	for build in ${builds[@]} ; do
-	    printf "\t%s\n" $build
-	done
-}
-
-while [ $# -gt 0 ]; do
-	case $1 in 
-	-h|help)
-		show_help
-		exit 0
-		;;
-	-d)
-		if [ $# -lt 2 ]; then
-			show_help
-			echo "Value for OUTPUTDIR must be provided"
-			exit 1
-		fi
-		outdir="$2"
-		shift 2
-		;;
-	-s)
-		if [ $# -lt 2 ]; then
-			show_help
-			echo "Value for SOURCEDIR must be provided"
-			exit 1
-		fi
-		sourcedir="$2"
-		shift 2
-		;;
-	-o)
-		if [ $# -lt 2 ]; then
-			show_help
-			echo "Value for OS must be provided"
-			exit 1
-		fi
-		os="$2"
-		shift 2
-		;;
-	-a)
-		if [ $# -lt 2 ]; then
-			show_help
-			echo "Value for ARCH must be provided"
-			exit 1
-		fi
-		arch="$2"
-		shift 2
-		;;
-	-A)
-		all="all"
-		shift 1
-		;;
-	-l)
-		if [ $# -lt 2 ]; then
-			show_help
-			echo "Value for LABEL must be provided"
-			exit 1
-		fi
-		label=".$2"
-		shift 2
-		;;
-	-t)
-		timestamp=`date +.%Y%m%d-%H%M%S`
-		shift
-		;;
-	*)
-		show_help
-		echo "Unrecognised parameter: $1"
-		exit 1
-		;;
-	esac
-done
-
-echo "Starting build.sh (brooklyn-client go build script)"
-
-#
-# Test if go is available
-#
-if ! command -v $GOBIN >/dev/null 2>&1 ; then
-  cat 1>&2 << \
---MARKER--
-
-ERROR: Go language binaries not found (running "$GOBIN")
-
-The binaries for go v1.6 must be installed to build the brooklyn-client CLI.
-See golang.org for more information, or run maven with '-Dno-go-client' to skip.
-
---MARKER--
-  exit 1
-fi
-
-GO_VERSION=`go version | awk '{print $3}'`
-GO_V=`echo $GO_VERSION | sed 's/^go1\.\([0-9][0-9]*\).*/\1/'`
-# test if not okay so error shows if regex above not matched
-if ! (( "$GO_V" >= 6 )) ; then
-  cat 1>&2 << \
---MARKER--
-
-ERROR: Incompatible Go language version: $GO_VERSION
-
-Go version 1.6 or higher is required to build the brooklyn-client CLI.
-See golang.org for more information, or run maven with '-Dno-go-client' to skip.
-
---MARKER--
-  exit 1
-fi
-
-
-if [ -n "$outdir" -a ! -d "$outdir" ]; then
-	show_help
-	echo "No such directory: $outdir"
-	exit 1
-fi
-
-# Set GOPATH to $outdir and link to source code.
-export GOPATH=${outdir}
-mkdir -p ${GOPATH}/src/${PROJECT%/*}
-[ -e ${GOPATH}/src/${PROJECT} ] || ln -s ${sourcedir} ${GOPATH}/src/${PROJECT}
-PATH=${GOPATH}/bin:${PATH}
-
-command -v $GLIDE >/dev/null 2>&1 || {
-	echo Installing $GLIDE
-	go get github.com/Masterminds/glide || { echo failed installing $GLIDE ; exit 1; }
-}
-
-command -v $GLIDE >/dev/null 2>&1 || {
-	echo "Command for resolving dependencies ($GLIDE) not found and could not be installed in $GOPATH"
-	exit 1
-}
-
-echo "Installing dependencies"
-$GLIDE install
-
-if [ -n "$all" -a \( -n "$os" -o -n "$arch" \) ]; then
-	show_help
-	echo "OS and ARCH must not be combined with ALL"
-	exit 1
-fi
-
-if [ \( -n "$os" -a -z "$arch" \) -o \( -z "$os" -a -n "$arch" \) ]; then
-	show_help
-	echo "OS and ARCH must be specified"
-	exit 1
-fi
-
-EXECUTABLE_DIR="$GOPATH/src/$CLI_PACKAGE"
-if [ -d ${EXECUTABLE_DIR} ]; then
-    cd ${EXECUTABLE_DIR}
-else
-	echo "Directory not found: ${EXECUTABLE_DIR}"
-	exit 2
-fi
-
-mkdir -p ${GOPATH}/bin
-
-# Disable use of C code modules (causes problems with cross-compiling)
-export CGO_ENABLED=0
-
-# build requested file
-function build_cli () {
-    local filepath=$1
-    mkdir -p ${filepath%/*}
-    $GOBIN build -ldflags "-s" -o $filepath $CLI_PACKAGE || return $?
-}
-
-# Do a build for one platorm, usage like: build_for_platform darwin/amd64
-function build_for_platform () {
-    local os=${1%/*}
-    local arch=${1#*/}
-    local BINARY=${BRNAME}
-    if [ "windows" = $os ] ; then
-        BINARY=${BINARY}.exe
-    fi
-    GOOS="$os" GOARCH="$arch" build_cli "${GOPATH}/bin/$os.$arch/${BINARY}${label}" || return $?
-}
-
-# Build as instructed
-if [ -z "$os" -a -z "$all" ]; then
-	echo "Building $BRNAME for native OS/ARCH"
-	build_cli "${GOPATH}/bin/${BRNAME}${label}${timestamp}" || exit $?
-elif [ -z "$all" ]; then
-	validos=`expr " $OSVALUES " : ".* $os "`
-	if [ "$validos" -eq 0 ]; then
-		show_help
-		echo "Unrecognised OS: $os"
-		exit 1
-	fi
-	validarch=`expr " $ARCHVALUES " : ".* $arch "`
-	if [ "$validarch" -eq 0 ]; then
-		show_help
-		echo "Unrecognised ARCH: $arch"
-		exit 1
-	fi
-	echo "Building $BRNAME for $os/$arch:"
-	build_for_platform $os/$arch || exit $?
-else
-	echo "Building $BRNAME for default OS/ARCH:"
-	for build in ${builds[@]}; do
-		echo "    $build"
-		build_for_platform $build || exit $?
-	done
-fi
-
-echo
-echo Successfully built the following binaries:
-echo
-ls -lR ${GOPATH}/bin
-echo
-
-END_TIME=$(date +%s)
-echo "Completed build.sh (brooklyn-client go build script) in $(( $END_TIME - START_TIME ))s"
-
-exit 0

http://git-wip-us.apache.org/repos/asf/brooklyn-client/blob/4122cfe1/release/files/README
----------------------------------------------------------------------
diff --git a/release/files/README b/release/files/README
deleted file mode 100644
index da1f0a0..0000000
--- a/release/files/README
+++ /dev/null
@@ -1,42 +0,0 @@
-
-Apache Brooklyn Command Line Client
-===================================
-
-What is it?
------------
-
-A command line client, "br", for **[Apache Brooklyn](https://brooklyn.apache.org)**.
-
-With this tool you can deploy and manage applications on a running Brooklyn server.
-
-This file gives a brief summary of how to use the Brooklyn CLI client tool.
-More complete documentation is available **[on the Apache Brooklyn website](https://brooklyn.apache.org/v/latest/ops/cli/cli-ref-guide.html).
-
-
-License
--------
-
-Please see the file [LICENSE](LICENSE).
-
-
-Getting Started
----------------
-
-Find the binary which is right for your platform. 
-You'll typically find it in a sub-directory here.
-(Note that "Darwin" is a technical name for "Mac OS X".)
-
-Add it to your path or alias it with `br`.
-
-Then log in to your Brooklyn instance with:
-
-    $ br login URL [USER PASSWORD]
-
-See the help command for info on all commands:
-
-    $ br help
-
-For help on individual commands:
-
-    $ br help COMMAND
-