[GitHub] karaf pull request #378: Backport plugin optimizations from master

2017-09-27 Thread rovarga
GitHub user rovarga opened a pull request:

https://github.com/apache/karaf/pull/378

Backport plugin optimizations from master

OpenDaylight is a heavy user of feature generation and is using 4.0.9 
branch currently. These fixes speed up build time considerably and should be 
backported.

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/rovarga/karaf backport-plugin

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/karaf/pull/378.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #378


commit cc857dfecac35c3dff3dc46c21d28ea1cb1a1e9d
Author: Robert Varga <n...@hq.sk>
Date:   2017-08-13T16:56:29Z

Use java.util.file.Files.newInputStream()

Instead of wiring to FileInputStream, which is hard to GC due to
the presence of finalize(), use Files.newInputStream.

Brings down feature generation time in OpenDaylight, before:
real2m5.828s
user2m14.886s
sys 0m20.849s

after:
real1m46.523s
user1m59.258s
sys 0m17.048s

Signed-off-by: Robert Varga <n...@hq.sk>
(cherry picked from commit ed797960d2a43eee8c04a9572478320af2420cfb)

commit 8d55bc782eb1a135b47b9eb3e989dd8d9244d88a
Author: Robert Varga <n...@hq.sk>
Date:   2017-08-13T17:38:26Z

Cache unmarshalled Features

If we are processing a deep feature tree with multiple dependencies
referencing same features (like in the case of OpenDaylight), we end
up unmarshalling the same features over and over again.

Rather than doing that, instantiate a cache, which will hold a weak
reference to features already encountered.

Before:
real1m46.523s
user1m59.258s
sys 0m17.048s

After:
real0m42.642s
user1m0.892s
sys 0m10.148s

Signed-off-by: Robert Varga <n...@hq.sk>
(cherry picked from commit 9714d76be6442faca13e6f45f02a27eac52b8ebb)

commit 7e860d3392c947d662b1765a9206108a0222c7e0
Author: Robert Varga <n...@hq.sk>
Date:   2017-08-13T18:26:17Z

Reuse extracted manifest

Obtaining the manifest can cost us some IO. Treat it as an invariant
when determining whether a file is a bundle.

Signed-off-by: Robert Varga <n...@hq.sk>
(cherry picked from commit edcda0b0ea4a50ae8e8019af1eaff161507e3ee4)




---


[GitHub] karaf pull request #376: Turn Feature.VERSION_SEPARATOR into a char

2017-09-26 Thread rovarga
GitHub user rovarga opened a pull request:

https://github.com/apache/karaf/pull/376

Turn Feature.VERSION_SEPARATOR into a char

String.indexOf(char) is faster than String.indexOf(String), so use
char for VERSION_SEPARATOR.

Signed-off-by: Robert Varga <n...@hq.sk>

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/rovarga/karaf feature-version-char

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/karaf/pull/376.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #376


commit 0b61d22a36add072d34129043e28ac4a4a9dc731
Author: Robert Varga <n...@hq.sk>
Date:   2017-09-25T09:54:31Z

Turn Feature.VERSION_SEPARATOR into a char

String.indexOf(char) is faster than String.indexOf(String), so use
char for VERSION_SEPARATOR.

Signed-off-by: Robert Varga <n...@hq.sk>




---


[GitHub] karaf pull request #368: Speed up string splitting operations

2017-09-16 Thread rovarga
Github user rovarga closed the pull request at:

https://github.com/apache/karaf/pull/368


---


[GitHub] karaf pull request #368: Speed up string splitting operations

2017-09-14 Thread rovarga
GitHub user rovarga opened a pull request:

https://github.com/apache/karaf/pull/368

Speed up string splitting operations

Instead of performing multiple String.indexOf(String) operations,
use String.indexOf(char) and cache its result.

Signed-off-by: Robert Varga <n...@hq.sk>

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/rovarga/karaf indexof

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/karaf/pull/368.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #368


commit bc2b75b2acea745abe8a1f049f0bc77d3f2a4a5d
Author: Robert Varga <n...@hq.sk>
Date:   2017-09-14T14:54:46Z

Speed up string splitting operations

Instead of performing multiple String.indexOf(String) operations,
use String.indexOf(char) and cache its result.

Signed-off-by: Robert Varga <n...@hq.sk>




---


[GitHub] karaf pull request #367: Use Map.computeIfAbsent() in map population

2017-09-14 Thread rovarga
GitHub user rovarga opened a pull request:

https://github.com/apache/karaf/pull/367

Use Map.computeIfAbsent() in map population

Instead of performing two lookups, perform a computeIfAbsent(),
which perform a fused lookup-or-put.

Signed-off-by: Robert Varga <n...@hq.sk>

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/rovarga/karaf compute-if

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/karaf/pull/367.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #367


commit f1877b0ba0bf3af8fc2145d2f26c4795771214ab
Author: Robert Varga <n...@hq.sk>
Date:   2017-09-14T15:01:32Z

Use Map.computeIfAbsent() in map population

Instead of performing two lookups, perform a computeIfAbsent(),
which perform a fused lookup-or-put.

Signed-off-by: Robert Varga <n...@hq.sk>




---


[GitHub] karaf pull request #366: Speed up repository loading

2017-09-14 Thread rovarga
Github user rovarga closed the pull request at:

https://github.com/apache/karaf/pull/366


---


[GitHub] karaf pull request #366: Speed up repository loading

2017-09-14 Thread rovarga
GitHub user rovarga opened a pull request:

https://github.com/apache/karaf/pull/366

Speed up repository loading

toLoad is used as a java.util.Queue, but is backed by an ArrayList,
which is highly inefficient when large number of items are present.

Turn it into a Queue with ArrayDeque as the implementation, which shaves
OpenDaylight initial start time from 102 seconds down to under3 seconds.

Signed-off-by: Robert Varga <n...@hq.sk>

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/rovarga/karaf toload-features

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/karaf/pull/366.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #366


commit 6a40cab21f4f5fa2baf7c28ff7c6b05fe9a4868b
Author: Robert Varga <n...@hq.sk>
Date:   2017-09-14T11:26:07Z

Speed up repository loading

toLoad is used as a java.util.Queue, but is backed by an ArrayList,
which is highly inefficient when large number of items are present.

Turn it into a Queue with ArrayDeque as the implementation, which shaves
OpenDaylight initial start time from 102 seconds down to under3 seconds.

Signed-off-by: Robert Varga <n...@hq.sk>




---


[GitHub] karaf pull request #336: Optimize GenerateDescriptorMojo

2017-08-13 Thread rovarga
GitHub user rovarga opened a pull request:

https://github.com/apache/karaf/pull/336

Optimize GenerateDescriptorMojo

OpenDaylight typically processes deeply nested feature.xmls, which takes 
significant time. This PR optimizes GenerateDescriptorMojo, reducing build time 
observed by a factor of 3.

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/rovarga/karaf generate-features

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/karaf/pull/336.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #336


commit 689b415c45a1f5ac21b29a08fd65408018c0772f
Author: Robert Varga <n...@hq.sk>
Date:   2017-08-13T16:56:29Z

Use java.util.file.Files.newInputStream()

Instead of wiring to FileInputStream, which is hard to GC due to
the presence of finalize(), use Files.newInputStream.

Brings down feature generation time in OpenDaylight, before:
real2m5.828s
user2m14.886s
sys 0m20.849s

after:
real1m46.523s
user1m59.258s
sys 0m17.048s

Signed-off-by: Robert Varga <n...@hq.sk>

commit d429f8030235e5cfd1fd20130e231acf000b327b
Author: Robert Varga <n...@hq.sk>
Date:   2017-08-13T17:38:26Z

Cache unmarshalled Features

If we are processing a deep feature tree with multiple dependencies
referencing same features (like in the case of OpenDaylight), we end
up unmarshalling the same features over and over again.

Rather than doing that, instantiate a cache, which will hold a weak
reference to features already encountered.

Before:
real1m46.523s
user1m59.258s
sys 0m17.048s

After:
real0m42.642s
user1m0.892s
sys 0m10.148s

Signed-off-by: Robert Varga <n...@hq.sk>




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] karaf pull request #296: [KARAF-5107] Add DeploymentListener

2017-04-27 Thread rovarga
GitHub user rovarga opened a pull request:

https://github.com/apache/karaf/pull/296

[KARAF-5107] Add DeploymentListener

This adds the capability for external components to hook into
the Deployer machinery, so they can perform operations at
opportune moments.

Signed-off-by: Robert Varga <robert.va...@pantheon.tech>

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/rovarga/karaf karaf5107

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/karaf/pull/296.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #296


commit a46c6c8978a39b058e567eb8f7e577b90523cf8c
Author: Robert Varga <n...@hq.sk>
Date:   2017-04-27T12:15:41Z

[KARAF-5107] Add DeploymentListener

Signed-off-by: Robert Varga <robert.va...@pantheon.tech>




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] karaf pull request #279: Add Aries Quiesce to aries-blueprint

2017-02-14 Thread rovarga
Github user rovarga closed the pull request at:

https://github.com/apache/karaf/pull/279


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] karaf pull request #282: Expose Dependency.hasVersion()

2017-02-14 Thread rovarga
GitHub user rovarga opened a pull request:

https://github.com/apache/karaf/pull/282

Expose Dependency.hasVersion()

Since Dependency.getVersion() behaves the same as Feature.getVersion()
by returning "0.0.0" when no version is set, users attempting to examine
dependencies need to resort to touching the internal model to understand
that the version is not actually set.

Expose Dependency.hasVersion() to help potential users to understand
that the version has not been set.

Signed-off-by: Robert Varga <n...@hq.sk>

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/rovarga/karaf dependency-hasversion

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/karaf/pull/282.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #282


commit 400bcea403ad2e2409570421a9cf7f0a21e4bd02
Author: Robert Varga <n...@hq.sk>
Date:   2017-02-13T20:02:36Z

Expose Dependency.hasVersion()

Since Dependency.getVersion() behaves the same as Feature.getVersion()
by returning "0.0.0" when no version is set, users attempting to examine
dependencies need to resort to touching the internal model to understand
that the version is not actually set.

Expose Dependency.hasVersion() to help potential users to understand
that the version has not been set.

Signed-off-by: Robert Varga <n...@hq.sk>




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] karaf pull request #281: Add Dependecy.hasVersion()

2017-02-14 Thread rovarga
Github user rovarga closed the pull request at:

https://github.com/apache/karaf/pull/281


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] karaf pull request #281: Add Dependecy.hasVersion()

2017-02-14 Thread rovarga
GitHub user rovarga opened a pull request:

https://github.com/apache/karaf/pull/281

Add Dependecy.hasVersion()

Dependency.getVersion() behaves exactly like Feature.getVersion(),
masking unspecified versions to "0.0.0". This is forcing potential
users to perform unmasking, either via a hard-coded constant, or by
referencing internal.model.Feature.DEFAULT_VERSION.

Provide Dependency.hasVersion() with the same mechanics as
Feature.hasVersion().

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/rovarga/karaf dependency-hasversion

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/karaf/pull/281.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #281


commit 51097ce4367edd58ad43e2a56c2717d03e8bf1c0
Author: Jean-Baptiste Onofré <jbono...@apache.org>
Date:   2016-04-10T06:06:45Z

[KARAF-4477] Upgrade to Pax URL 2.4.7

commit 9973be7b4a5299cd07782c7ff9116f4076a98265
Author: Jean-Baptiste Onofré <jbono...@apache.org>
Date:   2016-04-10T08:25:47Z

[KARAF-4479] Fix JAVA_HOME definition for all shell in wrapper karaf-service

commit efc251749463ebf350bf8897a83900456b3c9d62
Author: Jean-Baptiste Onofré <jbono...@apache.org>
Date:   2016-04-11T10:47:03Z

[KARAF-4485] Update lock package in the failover documentation

commit 700b4b43a654d05849c137929463186893e4eb7e
Author: Jean-Baptiste Onofré <jbono...@apache.org>
Date:   2016-04-12T11:04:24Z

[KARAF-4482] Downgrade to Aries Blueprint CM 1.0.8

commit ec18716e2d338ebe2453d3dfbfc47b6e978f5147
Author: Andrea Cosentino <anco...@gmail.com>
Date:   2016-04-13T08:18:59Z

[KARAF-4492] Upgrade Apache Commons-compress to version 1.11

commit 0357766e78da336c2f9d47286638c93405e60b44
Author: Jean-Baptiste Onofré <jbono...@apache.org>
Date:   2016-04-13T11:49:52Z

[KARAF-4489] Introduce configCfgStore property in 
etc/org.apache.karaf.features.cfg to define if the features service 
automatically creates cfg file for  element

commit 3f6ddbbb18d3fb1025fdfc3b67f773bd1e9af8fe
Author: Jean-Baptiste Onofré <jbono...@apache.org>
Date:   2016-04-13T11:51:05Z

Merge branch 'karaf-4.0.x' of https://git-wip-us.apache.org/repos/asf/karaf 
into karaf-4.0.x

commit b3fcae21ae4d833d2a0a30d599442258816877b4
Author: Guillaume Nodet <gno...@apache.org>
Date:   2016-04-14T13:28:47Z

[KARAF-3802] Fix problem with the logic

commit d6ddec814b96025c155ad4aeb0aaa9d4056468e0
Author: mhautman <morgan.haut...@gmail.com>
Date:   2016-03-27T15:06:28Z

KARAF-4454 - Resolve scr:list conflict between gogo and Karaf

commit 55db450a95453c9e587cb6147ef087bb39bb4061
Author: Lars Kiesow <lkie...@uos.de>
Date:   2016-03-02T15:34:07Z

Fix problems in Karaf start script

This commit fixes most of the problems pointed out by shellcheck [1] in
the karaf start script (bin/karaf). These include:

 - Properly quote variables to prevent spaces from breaking the script
 - Ensure that KARAF_HOME is set for commands which would otherwise try
   to delete parts of the root file system. E.g:
   rm -rf "$KARAF_HOME/lib"
 - Use only $(..) instead of both $(...) and `...`
 - Require bash since not all commands are posix compliant anyway.

[1] http://shellcheck.net

Signed-off-by: Lars Kiesow <lkie...@uos.de>

commit 89941714ad8d7aa906768df6f41d9555e86c4aef
Author: Lars Kiesow <lkie...@uos.de>
Date:   2016-03-02T21:01:32Z

Always use ${} for variables

This commit makes the main start script use only ${VAR} instead of both
${VAR} and $VAR

Signed-off-by: Lars Kiesow <lkie...@uos.de>

commit c449f3e558074fac99887088d351233c16a3d72c
Author: Jean-Baptiste Onofré <jbono...@apache.org>
Date:   2016-04-17T20:56:02Z

[KARAF-4497] Upgrade to ServiceMix Specs 2.7.0

commit 4cb1b687b821c802749d8c65f4860e1811a33bb2
Author: Jean-Baptiste Onofré <jbono...@apache.org>
Date:   2016-04-18T05:23:59Z

[KARAF-4476] Upgrade to Aries Blueprint Core 1.6.1

commit d6ea1c853538006345714cfeb4559bfc6f607ac2
Author: Jean-Baptiste Onofré <jbono...@apache.org>
Date:   2016-04-18T05:54:03Z

Update RELEASE-NOTES in preparation for the 4.0.5 release

commit 231673c2d22166a0176ad9333510dae6ec75303c
Author: Jean-Baptiste Onofré <jbono...@apache.org>
Date:   2016-04-18T06:12:13Z

[maven-release-plugin] prepare release karaf-4.0.5

commit 5f4f23e72431ac3564d4f1f85e91a39656db1744
Author: Jean-Baptiste Onofré <jbono...@apache.org>
Date:   2016-04-18T06:12:36Z

[maven-release-plugin] prepare for next development iteration

commit 726121db0c9a7dd1d4f6bd14d6914248ae19903a
Author: Andrea Cosentino <anco...@gmail.com>
Date:   2016-04-19T06:51:2

[GitHub] karaf pull request #279: Add Aries Quiesce to aries-blueprint

2017-02-05 Thread rovarga
GitHub user rovarga opened a pull request:

https://github.com/apache/karaf/pull/279

Add Aries Quiesce to aries-blueprint

Signed-off-by: Robert Varga <n...@hq.sk>

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/rovarga/karaf quiesce

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/karaf/pull/279.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #279


commit 8e767edd96a55dfd34e705500754e442b88cb6f5
Author: Robert Varga <n...@hq.sk>
Date:   2017-02-06T03:52:23Z

Add Aries Quiesce to aries-blueprint

Signed-off-by: Robert Varga <n...@hq.sk>




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---