[jira] [Commented] (SLING-8136) Analyser fails when javax.*, org.xml.sax.*, org.w3c.dom* or org.ietf.jgss imports are found
[ https://issues.apache.org/jira/browse/SLING-8136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16701816#comment-16701816 ] ASF GitHub Bot commented on SLING-8136: --- rombert closed pull request #11: SLING-8136 - Analyser fails when javax.*, org.xml.sax.*, org.w3c.dom* or org.ietf.jgss imports are found URL: https://github.com/apache/sling-org-apache-sling-feature-analyser/pull/11 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Analyser fails when javax.*, org.xml.sax.*, org.w3c.dom* or org.ietf.jgss > imports are found > --- > > Key: SLING-8136 > URL: https://issues.apache.org/jira/browse/SLING-8136 > Project: Sling > Issue Type: Bug > Components: Feature Model >Reporter: Robert Munteanu >Assignee: Karl Pauls >Priority: Major > Fix For: Feature Model Analyser 0.8.2 > > > I've tried running the {{slingfeature-maven-plugin}} to analyse imports and > exports using the {{bundle-packages}} analyser. > This seems to work just fine, just that some packages - found in the issue > title - are not seen as being provided by the framework. Some errors that pop > up are: > {noformat} > [ERROR] Bundle oak-auth-ldap:1.9.11 is importing package(s) org.ietf.jgss in > start level 0 but no bundle is exporting these for that start level. > [ERROR] Bundle oak-lucene:1.9.11 is importing package(s) > [org.xml.sax.helpers, org.xml.sax] in start level 0 but no bundle is > exporting these for that start level. > {noformat} > These packages are provided using an {{org.osgi.framework.system.packages}} > framework property, so I guess there is some glue missing to make this work. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8136) Analyser fails when javax.*, org.xml.sax.*, org.w3c.dom* or org.ietf.jgss imports are found
[ https://issues.apache.org/jira/browse/SLING-8136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16701815#comment-16701815 ] ASF GitHub Bot commented on SLING-8136: --- rombert commented on issue #11: SLING-8136 - Analyser fails when javax.*, org.xml.sax.*, org.w3c.dom* or org.ietf.jgss imports are found URL: https://github.com/apache/sling-org-apache-sling-feature-analyser/pull/11#issuecomment-442429819 @karlpauls provided a proper fix in https://github.com/apache/sling-org-apache-sling-feature-analyser/commit/591bfb9, closing This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Analyser fails when javax.*, org.xml.sax.*, org.w3c.dom* or org.ietf.jgss > imports are found > --- > > Key: SLING-8136 > URL: https://issues.apache.org/jira/browse/SLING-8136 > Project: Sling > Issue Type: Bug > Components: Feature Model >Reporter: Robert Munteanu >Assignee: Karl Pauls >Priority: Major > Fix For: Feature Model Analyser 0.8.2 > > > I've tried running the {{slingfeature-maven-plugin}} to analyse imports and > exports using the {{bundle-packages}} analyser. > This seems to work just fine, just that some packages - found in the issue > title - are not seen as being provided by the framework. Some errors that pop > up are: > {noformat} > [ERROR] Bundle oak-auth-ldap:1.9.11 is importing package(s) org.ietf.jgss in > start level 0 but no bundle is exporting these for that start level. > [ERROR] Bundle oak-lucene:1.9.11 is importing package(s) > [org.xml.sax.helpers, org.xml.sax] in start level 0 but no bundle is > exporting these for that start level. > {noformat} > These packages are provided using an {{org.osgi.framework.system.packages}} > framework property, so I guess there is some glue missing to make this work. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8136) Analyser fails when javax.*, org.xml.sax.*, org.w3c.dom* or org.ietf.jgss imports are found
[ https://issues.apache.org/jira/browse/SLING-8136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16700405#comment-16700405 ] ASF GitHub Bot commented on SLING-8136: --- rombert commented on issue #11: SLING-8136 - Analyser fails when javax.*, org.xml.sax.*, org.w3c.dom* or org.ietf.jgss imports are found URL: https://github.com/apache/sling-org-apache-sling-feature-analyser/pull/11#issuecomment-442056390 Well, I guess we could always read them from the `org.osgi.framework.system.packages` property and make sure we interpolate them, but I did not find a good way of doing that. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Analyser fails when javax.*, org.xml.sax.*, org.w3c.dom* or org.ietf.jgss > imports are found > --- > > Key: SLING-8136 > URL: https://issues.apache.org/jira/browse/SLING-8136 > Project: Sling > Issue Type: Bug > Components: Feature Model >Reporter: Robert Munteanu >Priority: Major > Fix For: Feature Model Analyser 0.8.2 > > > I've tried running the {{slingfeature-maven-plugin}} to analyse imports and > exports using the {{bundle-packages}} analyser. > This seems to work just fine, just that some packages - found in the issue > title - are not seen as being provided by the framework. Some errors that pop > up are: > {noformat} > [ERROR] Bundle oak-auth-ldap:1.9.11 is importing package(s) org.ietf.jgss in > start level 0 but no bundle is exporting these for that start level. > [ERROR] Bundle oak-lucene:1.9.11 is importing package(s) > [org.xml.sax.helpers, org.xml.sax] in start level 0 but no bundle is > exporting these for that start level. > {noformat} > These packages are provided using an {{org.osgi.framework.system.packages}} > framework property, so I guess there is some glue missing to make this work. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8136) Analyser fails when javax.*, org.xml.sax.*, org.w3c.dom* or org.ietf.jgss imports are found
[ https://issues.apache.org/jira/browse/SLING-8136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16700401#comment-16700401 ] ASF GitHub Bot commented on SLING-8136: --- bosschaert commented on issue #11: SLING-8136 - Analyser fails when javax.*, org.xml.sax.*, org.w3c.dom* or org.ietf.jgss imports are found URL: https://github.com/apache/sling-org-apache-sling-feature-analyser/pull/11#issuecomment-442055861 Hi @rombert one thought I have is that it might be an idea to configure the packages from the maven plugin configuration rather than hardcoding it? Accessing configuration is possible via the `AnalyserTaskContext.getConfiguration()` API. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Analyser fails when javax.*, org.xml.sax.*, org.w3c.dom* or org.ietf.jgss > imports are found > --- > > Key: SLING-8136 > URL: https://issues.apache.org/jira/browse/SLING-8136 > Project: Sling > Issue Type: Bug > Components: Feature Model >Reporter: Robert Munteanu >Priority: Major > Fix For: Feature Model Analyser 0.8.2 > > > I've tried running the {{slingfeature-maven-plugin}} to analyse imports and > exports using the {{bundle-packages}} analyser. > This seems to work just fine, just that some packages - found in the issue > title - are not seen as being provided by the framework. Some errors that pop > up are: > {noformat} > [ERROR] Bundle oak-auth-ldap:1.9.11 is importing package(s) org.ietf.jgss in > start level 0 but no bundle is exporting these for that start level. > [ERROR] Bundle oak-lucene:1.9.11 is importing package(s) > [org.xml.sax.helpers, org.xml.sax] in start level 0 but no bundle is > exporting these for that start level. > {noformat} > These packages are provided using an {{org.osgi.framework.system.packages}} > framework property, so I guess there is some glue missing to make this work. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8136) Analyser fails when javax.*, org.xml.sax.*, org.w3c.dom* or org.ietf.jgss imports are found
[ https://issues.apache.org/jira/browse/SLING-8136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16700376#comment-16700376 ] ASF GitHub Bot commented on SLING-8136: --- rombert opened a new pull request #11: SLING-8136 - Analyser fails when javax.*, org.xml.sax.*, org.w3c.dom* or org.ietf.jgss imports are found URL: https://github.com/apache/sling-org-apache-sling-feature-analyser/pull/11 This is more or less a band-aid, but at least it helps in moving forward with using the Analyser tasks. I'd be happy with a more permanent solution, but I can't seem to find it. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Analyser fails when javax.*, org.xml.sax.*, org.w3c.dom* or org.ietf.jgss > imports are found > --- > > Key: SLING-8136 > URL: https://issues.apache.org/jira/browse/SLING-8136 > Project: Sling > Issue Type: Bug > Components: Feature Model >Reporter: Robert Munteanu >Priority: Major > Fix For: Feature Model Analyser 0.8.2 > > > I've tried running the {{slingfeature-maven-plugin}} to analyse imports and > exports using the {{bundle-packages}} analyser. > This seems to work just fine, just that some packages - found in the issue > title - are not seen as being provided by the framework. Some errors that pop > up are: > {noformat} > [ERROR] Bundle oak-auth-ldap:1.9.11 is importing package(s) org.ietf.jgss in > start level 0 but no bundle is exporting these for that start level. > [ERROR] Bundle oak-lucene:1.9.11 is importing package(s) > [org.xml.sax.helpers, org.xml.sax] in start level 0 but no bundle is > exporting these for that start level. > {noformat} > These packages are provided using an {{org.osgi.framework.system.packages}} > framework property, so I guess there is some glue missing to make this work. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8127) Add a new Analyser that checks for duplicate API references across regions
[ https://issues.apache.org/jira/browse/SLING-8127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16696010#comment-16696010 ] ASF GitHub Bot commented on SLING-8127: --- bosschaert commented on issue #10: SLING-8127 - Add a new Analyser that checks for duplicate API references across regions URL: https://github.com/apache/sling-org-apache-sling-feature-analyser/pull/10#issuecomment-441061384 Thanks for the new Analyser, @simonetripodi - it's merged! This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a new Analyser that checks for duplicate API references across regions > -- > > Key: SLING-8127 > URL: https://issues.apache.org/jira/browse/SLING-8127 > Project: Sling > Issue Type: New Feature > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > > An exported package should only be listed in a single region, so having it > listed in more than one region is an error. > An analyser implementation that checks for this could be helpful to detect > such errors. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8127) Add a new Analyser that checks for duplicate API references across regions
[ https://issues.apache.org/jira/browse/SLING-8127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16696025#comment-16696025 ] ASF GitHub Bot commented on SLING-8127: --- simonetripodi commented on issue #10: SLING-8127 - Add a new Analyser that checks for duplicate API references across regions URL: https://github.com/apache/sling-org-apache-sling-feature-analyser/pull/10#issuecomment-441063885 yay - thanks a lot @bosschaert for the quick review, very appreciated! :) This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a new Analyser that checks for duplicate API references across regions > -- > > Key: SLING-8127 > URL: https://issues.apache.org/jira/browse/SLING-8127 > Project: Sling > Issue Type: New Feature > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: Simone Tripodi >Priority: Major > > An exported package should only be listed in a single region, so having it > listed in more than one region is an error. > An analyser implementation that checks for this could be helpful to detect > such errors. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8127) Add a new Analyser that checks for duplicate API references across regions
[ https://issues.apache.org/jira/browse/SLING-8127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16696009#comment-16696009 ] ASF GitHub Bot commented on SLING-8127: --- bosschaert closed pull request #10: SLING-8127 - Add a new Analyser that checks for duplicate API references across regions URL: https://github.com/apache/sling-org-apache-sling-feature-analyser/pull/10 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a new Analyser that checks for duplicate API references across regions > -- > > Key: SLING-8127 > URL: https://issues.apache.org/jira/browse/SLING-8127 > Project: Sling > Issue Type: New Feature > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > > An exported package should only be listed in a single region, so having it > listed in more than one region is an error. > An analyser implementation that checks for this could be helpful to detect > such errors. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8127) Add a new Analyser that checks for duplicate API references across regions
[ https://issues.apache.org/jira/browse/SLING-8127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16695969#comment-16695969 ] ASF GitHub Bot commented on SLING-8127: --- simonetripodi opened a new pull request #10: SLING-8127 - Add a new Analyser that checks for duplicate API references across regions URL: https://github.com/apache/sling-org-apache-sling-feature-analyser/pull/10 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a new Analyser that checks for duplicate API references across regions > -- > > Key: SLING-8127 > URL: https://issues.apache.org/jira/browse/SLING-8127 > Project: Sling > Issue Type: New Feature > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > > An exported package should only be listed in a single region, so having it > listed in more than one region is an error. > An analyser implementation that checks for this could be helpful to detect > such errors. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8104) Avoid magic when merging features
[ https://issues.apache.org/jira/browse/SLING-8104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16694497#comment-16694497 ] ASF GitHub Bot commented on SLING-8104: --- bosschaert closed pull request #9: SLING-8104 Avoid magic when merging features URL: https://github.com/apache/sling-org-apache-sling-feature/pull/9 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/src/main/java/org/apache/sling/feature/builder/BuilderContext.java b/src/main/java/org/apache/sling/feature/builder/BuilderContext.java index 1dd100c..61acba5 100644 --- a/src/main/java/org/apache/sling/feature/builder/BuilderContext.java +++ b/src/main/java/org/apache/sling/feature/builder/BuilderContext.java @@ -29,10 +29,6 @@ */ public class BuilderContext { -enum ArtifactMergeAlgorithm { -LATEST, HIGHEST -} - /** The required feature provider */ private final FeatureProvider provider; @@ -42,10 +38,10 @@ private final Map> extensionConfiguration = new HashMap<>(); private final List mergeExtensions = new ArrayList<>(); private final List postProcessExtensions = new ArrayList<>(); +private final List artifactsOverrides = new ArrayList<>(); private final Map variables = new HashMap<>(); private final Map frameworkProperties = new HashMap<>(); -private ArtifactMergeAlgorithm merge = ArtifactMergeAlgorithm.HIGHEST; /** * Create a new context @@ -72,27 +68,38 @@ public BuilderContext setArtifactProvider(final ArtifactProvider ap) { } /** - * Add overwrites for the variables + * Add overrides for the variables * - * @param vars The overwrites + * @param vars The overrides * @return The builder context */ -public BuilderContext addVariablesOverwrites(final Map vars) { +public BuilderContext addVariablesOverrides(final Map vars) { this.variables.putAll(vars); return this; } /** - * Add overwrites for the framework properties + * Add overrides for the framework properties * - * @param props The overwrites + * @param props The overrides * @return The builder context */ -public BuilderContext addFrameworkPropertiesOverwrites(final Map props) { +public BuilderContext addFrameworkPropertiesOverrides(final Map props) { this.frameworkProperties.putAll(props); return this; } +/** + * Add overrides for artifact clashes + * + * @param overrides The overrides + * @return The builder context + */ +public BuilderContext addArtifactsOverrides(final List overrides) { +this.artifactsOverrides.addAll(overrides); +return this; +} + /** * Add merge extensions * @@ -115,17 +122,6 @@ public BuilderContext addPostProcessExtensions(final PostProcessHandler... exten return this; } -/** - * Set the merge algorithm - * - * @param alg The algorithm - * @return The builder context - */ -public BuilderContext setMergeAlgorithm(final ArtifactMergeAlgorithm alg) { -this.merge = alg; -return this; -} - /** * Set a handler configuration * @@ -152,11 +148,15 @@ ArtifactProvider getArtifactProvider() { return this.artifactProvider; } -Map getVariablesOverwrites() { -return this.variables; +List getArtifactOverrides() { +return this.artifactsOverrides; +} + +Map getVariablesOverrides() { +return this.variables; } -Map getFrameworkPropertiesOverwrites() { +Map getFrameworkPropertiesOverrides() { return this.frameworkProperties; } @@ -168,10 +168,6 @@ FeatureProvider getFeatureProvider() { return this.provider; } -ArtifactMergeAlgorithm getMergeAlgorithm() { -return this.merge; -} - /** * Get the list of merge extensions * @return The list of merge extensions @@ -196,11 +192,11 @@ ArtifactMergeAlgorithm getMergeAlgorithm() { BuilderContext clone(final FeatureProvider featureProvider) { final BuilderContext ctx = new BuilderContext(featureProvider); ctx.setArtifactProvider(this.artifactProvider); +ctx.artifactsOverrides.addAll(this.artifactsOverrides); ctx.variables.putAll(this.variables); ctx.frameworkProperties.putAll(this.frameworkProperties); ctx.mergeExtensions.addAll(mergeExtensions); ctx.postProcessExtensions.addAll(postProcessExtensions); -ctx.merge = this.merge; return ctx; } } diff --git a/src/main/java/org/apache/sling/feature/builder/BuilderUtil.java
[jira] [Commented] (SLING-8104) Avoid magic when merging features
[ https://issues.apache.org/jira/browse/SLING-8104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16692293#comment-16692293 ] ASF GitHub Bot commented on SLING-8104: --- bosschaert opened a new pull request #9: SLING-8104 Avoid magic when merging features URL: https://github.com/apache/sling-org-apache-sling-feature/pull/9 When merging artifacts/bundles, they need to be selected from a provided override list if the artifact versions are not the same. The list has the following syntax: * `groupid1:artifactid1:` * `groupid2:artifactid2:` To apply the same override rule for all clashes, a wildcard using '*' for groupID and artifactID can be used: * `*:*:` means always select the same resolution in case of a clash. Where `` is one of the following: * `ALL` - select all the artifacts * `HIGHEST` - select only the artifact with the highest version number * `LATEST` - select only the artifact provided latest * `` - select this specific version When comparing version numbers these are converted to OSGi version numbers and the OSGi version number ordering is applied. When merging includes artifacts specified in the target feature override all artifacts with the same group ID and artifact ID in the included feature. Both the included as well the target feature can have multiple artifacts with the same group ID and artifact ID but different versions. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Avoid magic when merging features > - > > Key: SLING-8104 > URL: https://issues.apache.org/jira/browse/SLING-8104 > Project: Sling > Issue Type: Improvement > Components: Feature Model >Reporter: Carsten Ziegeler >Assignee: David Bosschaert >Priority: Blocker > Fix For: slingfeature-maven-plugin 1.0.0, Feature Model 0.2.2 > > > Currently when features are merged a simple algorithm is applied which just > picks the highest version based on the artifact version. However this version > might not have no meaning at all and might not really reflect what has > changed inside the bundle. > Especially when there is a major version change, this approach seems to be > clearly wrong > But in the end, picking a single version is magic. > While the problem could probably be solved by using something like a resolver > and figure out if just one version is enough or if both versions are needed, > without a resolver there is no way to figure this out. > Therefore we should provide a similar way as we do for variables at the > moment: if there is a clash the caller needs to provide context on what to > choose. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8104) Avoid magic when merging features
[ https://issues.apache.org/jira/browse/SLING-8104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16692294#comment-16692294 ] ASF GitHub Bot commented on SLING-8104: --- bosschaert commented on issue #8: SLING-8104 Avoid magic when merging features URL: https://github.com/apache/sling-org-apache-sling-feature/pull/8#issuecomment-440044890 New pull request: https://github.com/apache/sling-org-apache-sling-feature/pull/9 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Avoid magic when merging features > - > > Key: SLING-8104 > URL: https://issues.apache.org/jira/browse/SLING-8104 > Project: Sling > Issue Type: Improvement > Components: Feature Model >Reporter: Carsten Ziegeler >Assignee: David Bosschaert >Priority: Blocker > Fix For: slingfeature-maven-plugin 1.0.0, Feature Model 0.2.2 > > > Currently when features are merged a simple algorithm is applied which just > picks the highest version based on the artifact version. However this version > might not have no meaning at all and might not really reflect what has > changed inside the bundle. > Especially when there is a major version change, this approach seems to be > clearly wrong > But in the end, picking a single version is magic. > While the problem could probably be solved by using something like a resolver > and figure out if just one version is enough or if both versions are needed, > without a resolver there is no way to figure this out. > Therefore we should provide a similar way as we do for variables at the > moment: if there is a clash the caller needs to provide context on what to > choose. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8104) Avoid magic when merging features
[ https://issues.apache.org/jira/browse/SLING-8104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16692277#comment-16692277 ] ASF GitHub Bot commented on SLING-8104: --- bosschaert commented on issue #8: SLING-8104 Avoid magic when merging features URL: https://github.com/apache/sling-org-apache-sling-feature/pull/8#issuecomment-440040665 I'm closing this pull request as it has conflicts with master. I'll rebase and create a new pull request. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Avoid magic when merging features > - > > Key: SLING-8104 > URL: https://issues.apache.org/jira/browse/SLING-8104 > Project: Sling > Issue Type: Improvement > Components: Feature Model >Reporter: Carsten Ziegeler >Assignee: David Bosschaert >Priority: Blocker > Fix For: slingfeature-maven-plugin 1.0.0, Feature Model 0.2.2 > > > Currently when features are merged a simple algorithm is applied which just > picks the highest version based on the artifact version. However this version > might not have no meaning at all and might not really reflect what has > changed inside the bundle. > Especially when there is a major version change, this approach seems to be > clearly wrong > But in the end, picking a single version is magic. > While the problem could probably be solved by using something like a resolver > and figure out if just one version is enough or if both versions are needed, > without a resolver there is no way to figure this out. > Therefore we should provide a similar way as we do for variables at the > moment: if there is a clash the caller needs to provide context on what to > choose. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8104) Avoid magic when merging features
[ https://issues.apache.org/jira/browse/SLING-8104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16692278#comment-16692278 ] ASF GitHub Bot commented on SLING-8104: --- bosschaert closed pull request #8: SLING-8104 Avoid magic when merging features URL: https://github.com/apache/sling-org-apache-sling-feature/pull/8 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/src/main/java/org/apache/sling/feature/builder/BuilderContext.java b/src/main/java/org/apache/sling/feature/builder/BuilderContext.java index 1dd100c..f97d43d 100644 --- a/src/main/java/org/apache/sling/feature/builder/BuilderContext.java +++ b/src/main/java/org/apache/sling/feature/builder/BuilderContext.java @@ -29,10 +29,6 @@ */ public class BuilderContext { -enum ArtifactMergeAlgorithm { -LATEST, HIGHEST -} - /** The required feature provider */ private final FeatureProvider provider; @@ -42,10 +38,10 @@ private final Map> extensionConfiguration = new HashMap<>(); private final List mergeExtensions = new ArrayList<>(); private final List postProcessExtensions = new ArrayList<>(); +private final List artifactsOverrides = new ArrayList<>(); private final Map variables = new HashMap<>(); private final Map frameworkProperties = new HashMap<>(); -private ArtifactMergeAlgorithm merge = ArtifactMergeAlgorithm.HIGHEST; /** * Create a new context @@ -93,6 +89,17 @@ public BuilderContext addFrameworkPropertiesOverwrites(final Map return this; } +/** + * Add overrides for artifact clashes + * + * @param overrides The overwrites + * @return The builder context + */ +public BuilderContext addArtifactsOverrides(final List overrides) { +this.artifactsOverrides.addAll(overrides); +return this; +} + /** * Add merge extensions * @@ -115,17 +122,6 @@ public BuilderContext addPostProcessExtensions(final PostProcessHandler... exten return this; } -/** - * Set the merge algorithm - * - * @param alg The algorithm - * @return The builder context - */ -public BuilderContext setMergeAlgorithm(final ArtifactMergeAlgorithm alg) { -this.merge = alg; -return this; -} - /** * Set a handler configuration * @@ -152,8 +148,12 @@ ArtifactProvider getArtifactProvider() { return this.artifactProvider; } +List getArtifactOverrides() { +return this.artifactsOverrides; +} + Map getVariablesOverwrites() { -return this.variables; +return this.variables; } Map getFrameworkPropertiesOverwrites() { @@ -168,10 +168,6 @@ FeatureProvider getFeatureProvider() { return this.provider; } -ArtifactMergeAlgorithm getMergeAlgorithm() { -return this.merge; -} - /** * Get the list of merge extensions * @return The list of merge extensions @@ -196,11 +192,11 @@ ArtifactMergeAlgorithm getMergeAlgorithm() { BuilderContext clone(final FeatureProvider featureProvider) { final BuilderContext ctx = new BuilderContext(featureProvider); ctx.setArtifactProvider(this.artifactProvider); +ctx.artifactsOverrides.addAll(this.artifactsOverrides); ctx.variables.putAll(this.variables); ctx.frameworkProperties.putAll(this.frameworkProperties); ctx.mergeExtensions.addAll(mergeExtensions); ctx.postProcessExtensions.addAll(postProcessExtensions); -ctx.merge = this.merge; return ctx; } } diff --git a/src/main/java/org/apache/sling/feature/builder/BuilderUtil.java b/src/main/java/org/apache/sling/feature/builder/BuilderUtil.java index ad804d9..4af8580 100644 --- a/src/main/java/org/apache/sling/feature/builder/BuilderUtil.java +++ b/src/main/java/org/apache/sling/feature/builder/BuilderUtil.java @@ -23,13 +23,15 @@ import org.apache.sling.feature.Extension; import org.apache.sling.feature.Feature; import org.apache.sling.feature.FeatureConstants; -import org.apache.sling.feature.builder.BuilderContext.ArtifactMergeAlgorithm; +import org.osgi.framework.Version; import org.osgi.resource.Capability; import org.osgi.resource.Requirement; import java.io.StringReader; import java.io.StringWriter; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; import java.util.Enumeration; import java.util.HashMap; import java.util.List; @@ -50,6 +52,7 @@ * Utility methods for the builders */ class BuilderUtil { +static final String CATCHALL_OVERRIDE = "*:*:"; static boolean contains(String key, Iterable> iterable) {
[jira] [Commented] (SLING-8104) Avoid magic when merging features
[ https://issues.apache.org/jira/browse/SLING-8104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16691615#comment-16691615 ] ASF GitHub Bot commented on SLING-8104: --- bosschaert commented on issue #8: SLING-8104 Avoid magic when merging features URL: https://github.com/apache/sling-org-apache-sling-feature/pull/8#issuecomment-439870266 Thanks @cziegeler that approach works for me. I'll have a look at supporting that. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Avoid magic when merging features > - > > Key: SLING-8104 > URL: https://issues.apache.org/jira/browse/SLING-8104 > Project: Sling > Issue Type: Improvement > Components: Feature Model >Reporter: Carsten Ziegeler >Assignee: David Bosschaert >Priority: Blocker > Fix For: slingfeature-maven-plugin 1.0.0, Feature Model 0.2.2 > > > Currently when features are merged a simple algorithm is applied which just > picks the highest version based on the artifact version. However this version > might not have no meaning at all and might not really reflect what has > changed inside the bundle. > Especially when there is a major version change, this approach seems to be > clearly wrong > But in the end, picking a single version is magic. > While the problem could probably be solved by using something like a resolver > and figure out if just one version is enough or if both versions are needed, > without a resolver there is no way to figure this out. > Therefore we should provide a similar way as we do for variables at the > moment: if there is a clash the caller needs to provide context on what to > choose. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8104) Avoid magic when merging features
[ https://issues.apache.org/jira/browse/SLING-8104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16691294#comment-16691294 ] ASF GitHub Bot commented on SLING-8104: --- cziegeler commented on issue #8: SLING-8104 Avoid magic when merging features URL: https://github.com/apache/sling-org-apache-sling-feature/pull/8#issuecomment-439785577 I totally agree that we don't need special support for HIGHEST, it's already supported in the sense that the author knows the feature she's including and what version the artifact there has and she can simply do the right thing. Saying that we don't need to support two versions of the same artifact when inheriting is a little bit dangerous and inconsistent. It's easy to construct cases for it, like the included feature has three bundles Av1, Bv1 and Cv1 where A and B require Cv1. Now you inherit from this feature and want to replace B with X which happens to depend on Cv2. If you pick Cv2, then A doesn't work anymore, if you pick Cv1 then X doesn't work. Or there are other cases like providing compatibility or a migration strategy etc. If we say that "replace" is the common case when inheriting, I think it's simply: we can say the latest wins, like we do today. Now for the case that both versions are wanted in the end, the feature that includes simply list the version that replaces *and* the version that is replaced; listing the same artifact twice with different versions and then it should work as well. This needs just a slight modification to the current implementation This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Avoid magic when merging features > - > > Key: SLING-8104 > URL: https://issues.apache.org/jira/browse/SLING-8104 > Project: Sling > Issue Type: Improvement > Components: Feature Model >Reporter: Carsten Ziegeler >Assignee: David Bosschaert >Priority: Blocker > Fix For: slingfeature-maven-plugin 1.0.0, Feature Model 0.2.2 > > > Currently when features are merged a simple algorithm is applied which just > picks the highest version based on the artifact version. However this version > might not have no meaning at all and might not really reflect what has > changed inside the bundle. > Especially when there is a major version change, this approach seems to be > clearly wrong > But in the end, picking a single version is magic. > While the problem could probably be solved by using something like a resolver > and figure out if just one version is enough or if both versions are needed, > without a resolver there is no way to figure this out. > Therefore we should provide a similar way as we do for variables at the > moment: if there is a clash the caller needs to provide context on what to > choose. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8104) Avoid magic when merging features
[ https://issues.apache.org/jira/browse/SLING-8104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16691034#comment-16691034 ] ASF GitHub Bot commented on SLING-8104: --- bosschaert commented on issue #8: SLING-8104 Avoid magic when merging features URL: https://github.com/apache/sling-org-apache-sling-feature/pull/8#issuecomment-439724403 Hi @cziegeler I thought a little bit more about the includes… I totally agree that the includes should be processed without the needs for external overrides. However I'm not sure that supporting two concurrent versions with an include is necessary. With an include you are creating a new feature while using an existing feature as its prototype. Basically you take an existing feature that comes close to what you need, tweak that and as such define a new feature. When you create a normal feature (without using includes) you wouldn’t create a feature with the same bundle in different versions twice, would you? So why support two different versions through the includes/prototype mechanism? I think side-by-side versions could be useful when one feature provides a capability required by another feature, but to define a single feature with two identical bundles with different versions side-by-side sounds like an unlikely edge case. I think a simpler approach is as follows. Given a bundle Xv2 in feature A that includes feature I which also declared bundle Xv1, this should simply select the bundle Xv2 from feature A as you are tweaking the definition of I in A. If you want to select Xv1 from I you simply remove it from the definition of A. The case where a HIGHEST algorithm should be used is confusing here IMHO because let’s say I defines Xv3 instead of Xv1, then it would still be confusing/strange if the include would override the entity that is including it. A prototype object normally doesn’t override/ignore any specialisations made to it, so I would not support this algorithm for the Includes case. My 2c :) David This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Avoid magic when merging features > - > > Key: SLING-8104 > URL: https://issues.apache.org/jira/browse/SLING-8104 > Project: Sling > Issue Type: Improvement > Components: Feature Model >Reporter: Carsten Ziegeler >Assignee: David Bosschaert >Priority: Blocker > Fix For: slingfeature-maven-plugin 1.0.0, Feature Model 0.2.2 > > > Currently when features are merged a simple algorithm is applied which just > picks the highest version based on the artifact version. However this version > might not have no meaning at all and might not really reflect what has > changed inside the bundle. > Especially when there is a major version change, this approach seems to be > clearly wrong > But in the end, picking a single version is magic. > While the problem could probably be solved by using something like a resolver > and figure out if just one version is enough or if both versions are needed, > without a resolver there is no way to figure this out. > Therefore we should provide a similar way as we do for variables at the > moment: if there is a clash the caller needs to provide context on what to > choose. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8113) Set statusfilepath of package-init to registryHome via content-extension
[ https://issues.apache.org/jira/browse/SLING-8113?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16689435#comment-16689435 ] ASF GitHub Bot commented on SLING-8113: --- DominikSuess opened a new pull request #10: SLING-8113 - defining file in registryhome to capture executionplan s… URL: https://github.com/apache/sling-org-apache-sling-feature-extension-content/pull/10 …tatus. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Set statusfilepath of package-init to registryHome via content-extension > > > Key: SLING-8113 > URL: https://issues.apache.org/jira/browse/SLING-8113 > Project: Sling > Issue Type: Improvement >Reporter: Dominik Süß >Assignee: Dominik Süß >Priority: Major > > The statusfile of packageinit by default is persisted in the bundledata > repository to be by default agnostic of the filesystem structures. Anyhow in > case of usage along with content-extension the registry home is already > declared and is in contrast to the framework not supposed to be rebuilt and > therfore a more reliable location to store. As the content-extension already > generates the configuration for this service this is an easy addition to > persist the statusfile in the packageregistries home directory. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8104) Avoid magic when merging features
[ https://issues.apache.org/jira/browse/SLING-8104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16689281#comment-16689281 ] ASF GitHub Bot commented on SLING-8104: --- bosschaert commented on issue #8: SLING-8104 Avoid magic when merging features URL: https://github.com/apache/sling-org-apache-sling-feature/pull/8#issuecomment-439357538 Hi @cziegeler thanks for reviewing. > The other methods in the BuilderContext should be renamed from *Overwrites to *Overrides as well Yes, I'm planning to do this separately. Good point on the includes - I'll update this pull request with an implementation along the lines of what you have suggested. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Avoid magic when merging features > - > > Key: SLING-8104 > URL: https://issues.apache.org/jira/browse/SLING-8104 > Project: Sling > Issue Type: Improvement > Components: Feature Model >Reporter: Carsten Ziegeler >Assignee: David Bosschaert >Priority: Blocker > Fix For: slingfeature-maven-plugin 1.0.0, Feature Model 0.2.2 > > > Currently when features are merged a simple algorithm is applied which just > picks the highest version based on the artifact version. However this version > might not have no meaning at all and might not really reflect what has > changed inside the bundle. > Especially when there is a major version change, this approach seems to be > clearly wrong > But in the end, picking a single version is magic. > While the problem could probably be solved by using something like a resolver > and figure out if just one version is enough or if both versions are needed, > without a resolver there is no way to figure this out. > Therefore we should provide a similar way as we do for variables at the > moment: if there is a clash the caller needs to provide context on what to > choose. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8104) Avoid magic when merging features
[ https://issues.apache.org/jira/browse/SLING-8104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16689160#comment-16689160 ] ASF GitHub Bot commented on SLING-8104: --- cziegeler edited a comment on issue #8: SLING-8104 Avoid magic when merging features URL: https://github.com/apache/sling-org-apache-sling-feature/pull/8#issuecomment-439295972 This looks basically good to me, two comments: The other methods in the BuilderContext should be renamed from *Overwrites to *Overrides as well The new mechanism is now also used to process an include; however I think an include should be processable without providing additional information. So far, the latest artifact won, meaning that the one from the feature that has the include wins, which seems logical. On the other hand, this prevents the use case of having both versions. We already have the "remove" section in an include, we could add a "replace" section there as well which then means: Let's assume feature A includes feature I. If A lists a bundle in the replace section, this bundle version will win (== LATEST) If A lists a bundle in the bundles section, both versions will be included (== ALL) The decision for a HIGHEST is done by the feature author. Or we don't have a replace section which then requires to remove a bundle if A wants to provide a different version: If A removes the bundle inherited from I and adds a new one (== LATEST) If A lists a bundle in the bundles section, both versions will be included (==ALL) The first option makes it easier to change the version of a bundle, but introduces a new concept just for this use case. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Avoid magic when merging features > - > > Key: SLING-8104 > URL: https://issues.apache.org/jira/browse/SLING-8104 > Project: Sling > Issue Type: Improvement > Components: Feature Model >Reporter: Carsten Ziegeler >Assignee: David Bosschaert >Priority: Blocker > Fix For: slingfeature-maven-plugin 1.0.0, Feature Model 0.2.2 > > > Currently when features are merged a simple algorithm is applied which just > picks the highest version based on the artifact version. However this version > might not have no meaning at all and might not really reflect what has > changed inside the bundle. > Especially when there is a major version change, this approach seems to be > clearly wrong > But in the end, picking a single version is magic. > While the problem could probably be solved by using something like a resolver > and figure out if just one version is enough or if both versions are needed, > without a resolver there is no way to figure this out. > Therefore we should provide a similar way as we do for variables at the > moment: if there is a clash the caller needs to provide context on what to > choose. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8104) Avoid magic when merging features
[ https://issues.apache.org/jira/browse/SLING-8104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16689080#comment-16689080 ] ASF GitHub Bot commented on SLING-8104: --- cziegeler commented on issue #8: SLING-8104 Avoid magic when merging features URL: https://github.com/apache/sling-org-apache-sling-feature/pull/8#issuecomment-439295972 This looks basically good to me, two comments: The other methods in the BuilderContext should be renamed from *Overwrites to *Overrides as well The new mechanism is now also used to process an include; however I think an include should be processable without providing additional information. So far, the latest artifact won, meaning that the one from the feature that has the include wins, which seems logical. On the other hand, this prevents the use case of having both versions. We already have the "remove" section in an include, we could add a "replace" section there as well which then means: Let's assume feature A includes feature I. If A lists a bundle in the replace section, this bundle version will win (== LATEST) If A lists a bundle in the bundles section, both versions will be included (== ALL) The decision for a HIGHEST is done by the feature author. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Avoid magic when merging features > - > > Key: SLING-8104 > URL: https://issues.apache.org/jira/browse/SLING-8104 > Project: Sling > Issue Type: Improvement > Components: Feature Model >Reporter: Carsten Ziegeler >Assignee: David Bosschaert >Priority: Blocker > Fix For: slingfeature-maven-plugin 1.0.0, Feature Model 0.2.2 > > > Currently when features are merged a simple algorithm is applied which just > picks the highest version based on the artifact version. However this version > might not have no meaning at all and might not really reflect what has > changed inside the bundle. > Especially when there is a major version change, this approach seems to be > clearly wrong > But in the end, picking a single version is magic. > While the problem could probably be solved by using something like a resolver > and figure out if just one version is enough or if both versions are needed, > without a resolver there is no way to figure this out. > Therefore we should provide a similar way as we do for variables at the > moment: if there is a clash the caller needs to provide context on what to > choose. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8104) Avoid magic when merging features
[ https://issues.apache.org/jira/browse/SLING-8104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16688246#comment-16688246 ] ASF GitHub Bot commented on SLING-8104: --- bosschaert commented on issue #8: SLING-8104 Avoid magic when merging features URL: https://github.com/apache/sling-org-apache-sling-feature/pull/8#issuecomment-439086668 Note that the slingfeature-maven-plugin changes to provide the artifact override list is being developed here: https://github.com/bosschaert/sling-slingfeature-maven-plugin/tree/SLING-8104 @cziegeler @karlpauls WDYT? This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Avoid magic when merging features > - > > Key: SLING-8104 > URL: https://issues.apache.org/jira/browse/SLING-8104 > Project: Sling > Issue Type: Improvement > Components: Feature Model >Reporter: Carsten Ziegeler >Assignee: David Bosschaert >Priority: Blocker > Fix For: slingfeature-maven-plugin 1.0.0, Feature Model 0.2.2 > > > Currently when features are merged a simple algorithm is applied which just > picks the highest version based on the artifact version. However this version > might not have no meaning at all and might not really reflect what has > changed inside the bundle. > Especially when there is a major version change, this approach seems to be > clearly wrong > But in the end, picking a single version is magic. > While the problem could probably be solved by using something like a resolver > and figure out if just one version is enough or if both versions are needed, > without a resolver there is no way to figure this out. > Therefore we should provide a similar way as we do for variables at the > moment: if there is a clash the caller needs to provide context on what to > choose. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8104) Avoid magic when merging features
[ https://issues.apache.org/jira/browse/SLING-8104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16688237#comment-16688237 ] ASF GitHub Bot commented on SLING-8104: --- bosschaert opened a new pull request #8: SLING-8104 Avoid magic when merging features URL: https://github.com/apache/sling-org-apache-sling-feature/pull/8 When merging artifacts/bundles, they need to be selected from a provided override list if the artifact versions are not the same. The list has the following syntax: groupid1:artifactid1: groupid2:artifactid2: Where is one of the following: ALL - select all the artifacts HIGHEST - select only the artifact with the highest version number LATEST - select only the artifact provided latest - select this specific version When comparing version numbers these are converted to OSGi version numbers and the OSGi version number ordering is applied. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Avoid magic when merging features > - > > Key: SLING-8104 > URL: https://issues.apache.org/jira/browse/SLING-8104 > Project: Sling > Issue Type: Improvement > Components: Feature Model >Reporter: Carsten Ziegeler >Assignee: David Bosschaert >Priority: Blocker > Fix For: slingfeature-maven-plugin 1.0.0, Feature Model 0.2.2 > > > Currently when features are merged a simple algorithm is applied which just > picks the highest version based on the artifact version. However this version > might not have no meaning at all and might not really reflect what has > changed inside the bundle. > Especially when there is a major version change, this approach seems to be > clearly wrong > But in the end, picking a single version is magic. > While the problem could probably be solved by using something like a resolver > and figure out if just one version is enough or if both versions are needed, > without a resolver there is no way to figure this out. > Therefore we should provide a similar way as we do for variables at the > moment: if there is a clash the caller needs to provide context on what to > choose. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8078) New Analyser task which is able to detect Export-Package dependencies between regions
[ https://issues.apache.org/jira/browse/SLING-8078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16687817#comment-16687817 ] ASF GitHub Bot commented on SLING-8078: --- simonetripodi commented on issue #9: SLING-8078 - New Analyser task which is able to detect Export-Package dependencies between regions URL: https://github.com/apache/sling-org-apache-sling-feature-analyser/pull/9#issuecomment-438998916 Thanks to you @bosschaert for merging and please apologise for the misspelling! This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > New Analyser task which is able to detect Export-Package dependencies between > regions > - > > Key: SLING-8078 > URL: https://issues.apache.org/jira/browse/SLING-8078 > Project: Sling > Issue Type: New Feature > Components: Feature Model, Maven Plugins and Archetypes >Affects Versions: Feature Model Analyser 0.2.0 >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0, Feature Model Analyser > 0.2.2 > > > It may be helpful users have the need to define a {{deprecated}} region in > order to mark which APIs don't have to be exposed to end users, a new > Analyser Task implementation will help to detect if {{global}} exported APIs > don't have {{uses}} dependencies to APIs that are declared in the > {{deprecated}} region. > i.e. given a feature: > {noformat} > ... > [ > { > "name": "global" > "exports": ["org.osgi.util.function"] > }, > { > "name": "deprecated", >"exports": ["org.objectweb.asm"] > } > ] > ... > {noformat} > and a bundle declares the OSGi header in the Manifest as below: > {noformat} > Export-Package: org.osgi.util.function;uses:="org.objectweb.asm" > {noformat} > the new Analyser Task implementation will detect that "violation" > {noformat} > Bundle 'org.osgi:org.osgi.util.function:1.0.0', defined in feature > 'org.apache.sling.testing:org.apache.sling.testing.apiregions:1.0.0', > declares 'org.osgi.util.function' in the 'Export-Package' header which > requires 'org.objectweb.asm' package that is in the 'deprecated' region > {noformat} > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8078) New Analyser task which is able to detect Export-Package dependencies between regions
[ https://issues.apache.org/jira/browse/SLING-8078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16687764#comment-16687764 ] ASF GitHub Bot commented on SLING-8078: --- bosschaert closed pull request #9: SLING-8078 - New Analyser task which is able to detect Export-Package dependencies between regions URL: https://github.com/apache/sling-org-apache-sling-feature-analyser/pull/9 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > New Analyser task which is able to detect Export-Package dependencies between > regions > - > > Key: SLING-8078 > URL: https://issues.apache.org/jira/browse/SLING-8078 > Project: Sling > Issue Type: New Feature > Components: Feature Model, Maven Plugins and Archetypes >Affects Versions: Feature Model Analyser 0.2.0 >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0, Feature Model Analyser > 0.2.2 > > > It may be helpful users have the need to define a {{deprecated}} region in > order to mark which APIs don't have to be exposed to end users, a new > Analyser Task implementation will help to detect if {{global}} exported APIs > don't have {{uses}} dependencies to APIs that are declared in the > {{deprecated}} region. > i.e. given a feature: > {noformat} > ... > [ > { > "name": "global" > "exports": ["org.osgi.util.function"] > }, > { > "name": "deprecated", >"exports": ["org.objectweb.asm"] > } > ] > ... > {noformat} > and a bundle declares the OSGi header in the Manifest as below: > {noformat} > Export-Package: org.osgi.util.function;uses:="org.objectweb.asm" > {noformat} > the new Analyser Task implementation will detect that "violation" > {noformat} > Bundle 'org.osgi:org.osgi.util.function:1.0.0', defined in feature > 'org.apache.sling.testing:org.apache.sling.testing.apiregions:1.0.0', > declares 'org.osgi.util.function' in the 'Export-Package' header which > requires 'org.objectweb.asm' package that is in the 'deprecated' region > {noformat} > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8078) New Analyser task which is able to detect Export-Package dependencies between regions
[ https://issues.apache.org/jira/browse/SLING-8078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16687766#comment-16687766 ] ASF GitHub Bot commented on SLING-8078: --- bosschaert commented on issue #9: SLING-8078 - New Analyser task which is able to detect Export-Package dependencies between regions URL: https://github.com/apache/sling-org-apache-sling-feature-analyser/pull/9#issuecomment-438992884 Thanks for the PR @simonetripodi ! It's merged. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > New Analyser task which is able to detect Export-Package dependencies between > regions > - > > Key: SLING-8078 > URL: https://issues.apache.org/jira/browse/SLING-8078 > Project: Sling > Issue Type: New Feature > Components: Feature Model, Maven Plugins and Archetypes >Affects Versions: Feature Model Analyser 0.2.0 >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0, Feature Model Analyser > 0.2.2 > > > It may be helpful users have the need to define a {{deprecated}} region in > order to mark which APIs don't have to be exposed to end users, a new > Analyser Task implementation will help to detect if {{global}} exported APIs > don't have {{uses}} dependencies to APIs that are declared in the > {{deprecated}} region. > i.e. given a feature: > {noformat} > ... > [ > { > "name": "global" > "exports": ["org.osgi.util.function"] > }, > { > "name": "deprecated", >"exports": ["org.objectweb.asm"] > } > ] > ... > {noformat} > and a bundle declares the OSGi header in the Manifest as below: > {noformat} > Export-Package: org.osgi.util.function;uses:="org.objectweb.asm" > {noformat} > the new Analyser Task implementation will detect that "violation" > {noformat} > Bundle 'org.osgi:org.osgi.util.function:1.0.0', defined in feature > 'org.apache.sling.testing:org.apache.sling.testing.apiregions:1.0.0', > declares 'org.osgi.util.function' in the 'Export-Package' header which > requires 'org.objectweb.asm' package that is in the 'deprecated' region > {noformat} > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8078) New Analyser task which is able to detect Export-Package dependencies between regions
[ https://issues.apache.org/jira/browse/SLING-8078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16687740#comment-16687740 ] ASF GitHub Bot commented on SLING-8078: --- simonetripodi opened a new pull request #9: SLING-8078 - New Analyser task which is able to detect Export-Package dependencies between regions URL: https://github.com/apache/sling-org-apache-sling-feature-analyser/pull/9 s/requires/uses, according to the OSGi clausole This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > New Analyser task which is able to detect Export-Package dependencies between > regions > - > > Key: SLING-8078 > URL: https://issues.apache.org/jira/browse/SLING-8078 > Project: Sling > Issue Type: New Feature > Components: Feature Model, Maven Plugins and Archetypes >Affects Versions: Feature Model Analyser 0.2.0 >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0, Feature Model Analyser > 0.2.2 > > > It may be helpful users have the need to define a {{deprecated}} region in > order to mark which APIs don't have to be exposed to end users, a new > Analyser Task implementation will help to detect if {{global}} exported APIs > don't have {{uses}} dependencies to APIs that are declared in the > {{deprecated}} region. > i.e. given a feature: > {noformat} > ... > [ > { > "name": "global" > "exports": ["org.osgi.util.function"] > }, > { > "name": "deprecated", >"exports": ["org.objectweb.asm"] > } > ] > ... > {noformat} > and a bundle declares the OSGi header in the Manifest as below: > {noformat} > Export-Package: org.osgi.util.function;uses:="org.objectweb.asm" > {noformat} > the new Analyser Task implementation will detect that "violation" > {noformat} > Bundle 'org.osgi:org.osgi.util.function:1.0.0', defined in feature > 'org.apache.sling.testing:org.apache.sling.testing.apiregions:1.0.0', > declares 'org.osgi.util.function' in the 'Export-Package' header which > requires 'org.objectweb.asm' package that is in the 'deprecated' region > {noformat} > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8105) Make ContentHandler able to handle/ignore truncated files
[ https://issues.apache.org/jira/browse/SLING-8105?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16685845#comment-16685845 ] ASF GitHub Bot commented on SLING-8105: --- karlpauls closed pull request #8: SLING-8105 - checking for filelenght to skip truncated files and allo… URL: https://github.com/apache/sling-org-apache-sling-feature-extension-content/pull/8 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/src/main/java/org/apache/sling/feature/extension/content/ContentHandler.java b/src/main/java/org/apache/sling/feature/extension/content/ContentHandler.java index 8986d41..bb45a4b 100644 --- a/src/main/java/org/apache/sling/feature/extension/content/ContentHandler.java +++ b/src/main/java/org/apache/sling/feature/extension/content/ContentHandler.java @@ -57,7 +57,7 @@ private static ExecutionPlanBuilder buildExecutionPlan(Collection arti for (final Artifact a : artifacts) { final File file = prepareContext.getArtifactFile(a.getId()); -if (file.exists()) { +if (file.exists() && file.length() > 0) { packageReferences.add(file); } This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Make ContentHandler able to handle/ignore truncated files > - > > Key: SLING-8105 > URL: https://issues.apache.org/jira/browse/SLING-8105 > Project: Sling > Issue Type: Improvement > Components: Feature Model >Reporter: Dominik Süß >Assignee: Dominik Süß >Priority: Major > > The logic in ContentHandler may be improved to not just check for file > existence but also crosscheck if files got truncated. This mechanism is used > to prevent other tooling to filter out the artifacts on subsequent startup > whereas installation already happened in previous startups. Truncation > therefore is a mechanism in container based setups to effectively reduce > diskusage without functional impact. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8105) Make ContentHandler able to handle/ignore truncated files
[ https://issues.apache.org/jira/browse/SLING-8105?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16685815#comment-16685815 ] ASF GitHub Bot commented on SLING-8105: --- DominikSuess opened a new pull request #8: SLING-8105 - checking for filelenght to skip truncated files and allo… URL: https://github.com/apache/sling-org-apache-sling-feature-extension-content/pull/8 …w detection and ignoring of already registered This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Make ContentHandler able to handle/ignore truncated files > - > > Key: SLING-8105 > URL: https://issues.apache.org/jira/browse/SLING-8105 > Project: Sling > Issue Type: Improvement > Components: Feature Model >Reporter: Dominik Süß >Assignee: Dominik Süß >Priority: Major > > The logic in ContentHandler may be improved to not just check for file > existence but also crosscheck if files got truncated. This mechanism is used > to prevent other tooling to filter out the artifacts on subsequent startup > whereas installation already happened in previous startups. Truncation > therefore is a mechanism in container based setups to effectively reduce > diskusage without functional impact. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8105) Make ContentHandler able to handle/ignore truncated files
[ https://issues.apache.org/jira/browse/SLING-8105?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16685813#comment-16685813 ] ASF GitHub Bot commented on SLING-8105: --- DominikSuess closed pull request #7: SLING-8105 - checking for filelenght to skip truncated files and allo… URL: https://github.com/apache/sling-org-apache-sling-feature-extension-content/pull/7 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/src/main/java/org/apache/sling/feature/extension/content/ContentHandler.java b/src/main/java/org/apache/sling/feature/extension/content/ContentHandler.java index 8986d41..d85b083 100644 --- a/src/main/java/org/apache/sling/feature/extension/content/ContentHandler.java +++ b/src/main/java/org/apache/sling/feature/extension/content/ContentHandler.java @@ -57,7 +57,7 @@ private static ExecutionPlanBuilder buildExecutionPlan(Collection arti for (final Artifact a : artifacts) { final File file = prepareContext.getArtifactFile(a.getId()); -if (file.exists()) { +if (file.exists() && file.length() > 0) { packageReferences.add(file); } @@ -125,7 +125,6 @@ public boolean handle(Extension extension, LauncherPrepareContext prepareContext installationContext.addConfiguration(initcfg.getPid(), initcfg.getFactoryPid(), initcfg.getProperties()); // Workaround for too bold relocation mechanism - corresponding details at https://issues.apache.org/jira/browse/MSHADE-156 final Configuration registrycfg = new Configuration("org.UNSHADE.apache.jackrabbit.vault.packaging.registry.impl.FSPackageRegistry"); -registrycfg.getProperties().put("homePath", REGISTRY_FOLDER); installationContext.addConfiguration(registrycfg.getPid(), registrycfg.getFactoryPid(), registrycfg.getProperties());; return true; This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Make ContentHandler able to handle/ignore truncated files > - > > Key: SLING-8105 > URL: https://issues.apache.org/jira/browse/SLING-8105 > Project: Sling > Issue Type: Improvement > Components: Feature Model >Reporter: Dominik Süß >Assignee: Dominik Süß >Priority: Major > > The logic in ContentHandler may be improved to not just check for file > existence but also crosscheck if files got truncated. This mechanism is used > to prevent other tooling to filter out the artifacts on subsequent startup > whereas installation already happened in previous startups. Truncation > therefore is a mechanism in container based setups to effectively reduce > diskusage without functional impact. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8105) Make ContentHandler able to handle/ignore truncated files
[ https://issues.apache.org/jira/browse/SLING-8105?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16685806#comment-16685806 ] ASF GitHub Bot commented on SLING-8105: --- DominikSuess opened a new pull request #7: SLING-8105 - checking for filelenght to skip truncated files and allo… URL: https://github.com/apache/sling-org-apache-sling-feature-extension-content/pull/7 …w detection and ignoring of already registered This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Make ContentHandler able to handle/ignore truncated files > - > > Key: SLING-8105 > URL: https://issues.apache.org/jira/browse/SLING-8105 > Project: Sling > Issue Type: Improvement > Components: Feature Model >Reporter: Dominik Süß >Assignee: Dominik Süß >Priority: Major > > The logic in ContentHandler may be improved to not just check for file > existence but also crosscheck if files got truncated. This mechanism is used > to prevent other tooling to filter out the artifacts on subsequent startup > whereas installation already happened in previous startups. Truncation > therefore is a mechanism in container based setups to effectively reduce > diskusage without functional impact. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-7966) Enhance the CLI by adding tool informations and more descriptive options
[ https://issues.apache.org/jira/browse/SLING-7966?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16685268#comment-16685268 ] ASF GitHub Bot commented on SLING-7966: --- cziegeler commented on issue #4: SLING-7966 - Enhance the CLI by adding tool informations and more descriptive options URL: https://github.com/apache/sling-org-apache-sling-feature-analyser/pull/4#issuecomment-438280660 @simonetripodi We're dropping the CLI for now from the analyser (see SLING-8058) This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Enhance the CLI by adding tool informations and more descriptive options > > > Key: SLING-7966 > URL: https://issues.apache.org/jira/browse/SLING-7966 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Tooling >Affects Versions: Feature Model Analyser 0.2.0 >Reporter: Simone Tripodi >Assignee: Bertrand Delacretaz >Priority: Major > Fix For: Feature Model Analyser 0.2.2 > > > The proposal is about improving the user experience and doesn't intend to > change any existing feature. > Currently, command output is really concise: > {noformat} > $ java org.apache.sling.feature.analyser.main.Main > [INFO] Apache Sling Application Analyser > [INFO] > [ERROR] Required argument missing: feature file > {noformat} > I would like to have it improved like described (but not included) in > SLING-7929: > {noformat} > $ java org.apache.sling.feature.analyser.main.Main > Usage: sfa [-hqvX] -f= [-p=] > Apache Sling Application Analyser > -f, --feature-file= > Set feature file. > -h, --help Display the usage message. > -p, --plugin-class= > Explicitly specify plugin class to run, if ommitted the > default > plugins are used > -q, --quiet Log errors only. > -v, --version Display version information. > -X, --verbose Produce execution debug output. > Copyright(c) 2018 The Apache Software Foundation. > {noformat} > Pull request is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-7966) Enhance the CLI by adding tool informations and more descriptive options
[ https://issues.apache.org/jira/browse/SLING-7966?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16685270#comment-16685270 ] ASF GitHub Bot commented on SLING-7966: --- cziegeler edited a comment on issue #4: SLING-7966 - Enhance the CLI by adding tool informations and more descriptive options URL: https://github.com/apache/sling-org-apache-sling-feature-analyser/pull/4#issuecomment-438280660 @simonetripodi We're dropping the CLI for now from the analyser (see SLING-8102) This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Enhance the CLI by adding tool informations and more descriptive options > > > Key: SLING-7966 > URL: https://issues.apache.org/jira/browse/SLING-7966 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Tooling >Affects Versions: Feature Model Analyser 0.2.0 >Reporter: Simone Tripodi >Assignee: Bertrand Delacretaz >Priority: Major > Fix For: Feature Model Analyser 0.2.2 > > > The proposal is about improving the user experience and doesn't intend to > change any existing feature. > Currently, command output is really concise: > {noformat} > $ java org.apache.sling.feature.analyser.main.Main > [INFO] Apache Sling Application Analyser > [INFO] > [ERROR] Required argument missing: feature file > {noformat} > I would like to have it improved like described (but not included) in > SLING-7929: > {noformat} > $ java org.apache.sling.feature.analyser.main.Main > Usage: sfa [-hqvX] -f= [-p=] > Apache Sling Application Analyser > -f, --feature-file= > Set feature file. > -h, --help Display the usage message. > -p, --plugin-class= > Explicitly specify plugin class to run, if ommitted the > default > plugins are used > -q, --quiet Log errors only. > -v, --version Display version information. > -X, --verbose Produce execution debug output. > Copyright(c) 2018 The Apache Software Foundation. > {noformat} > Pull request is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-7929) Create a distribution package for the Feature Analyser
[ https://issues.apache.org/jira/browse/SLING-7929?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16685269#comment-16685269 ] ASF GitHub Bot commented on SLING-7929: --- cziegeler commented on issue #3: SLING-7929 - Create a distribution package for the Feature Analyser URL: https://github.com/apache/sling-org-apache-sling-feature-analyser/pull/3#issuecomment-438280704 @simonetripodi We're dropping the CLI for now from the analyser (see SLING-8058) This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Create a distribution package for the Feature Analyser > -- > > Key: SLING-7929 > URL: https://issues.apache.org/jira/browse/SLING-7929 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Tooling >Affects Versions: Feature Model Analyser 0.2.0 >Reporter: Simone Tripodi >Priority: Major > Fix For: Feature Model Analyser 0.2.2 > > > Packaging matters even if software distribution, I am going to submit a > proposal where the Analyser package can be distributed as a "product" like if > it was Apache Tomcat or Apache Maven, users will be able to download a > {{.zip}} or a {{.tar.gz}} package including required artifacts and > multi-platform binaries, the README with instructions of installation and > usage and, of course, legal files including NOTICE and LICENSE with enlisted > dependencies. > {noformat} > $ unzip org.apache.sling.feature.analyser-0.1.3-SNAPSHOT.zip > Archive: org.apache.sling.feature.analyser-0.1.3-SNAPSHOT.zip >creating: org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/ >creating: org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/bin/ >creating: org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/lib/ > inflating: org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/README.md > inflating: > org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/lib/org.apache.sling.commons.johnzon-1.0.0.jar > > inflating: org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/LICENSE > inflating: > org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/lib/org.apache.sling.feature.analyser-0.1.3-SNAPSHOT.jar > > inflating: org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/NOTICE > inflating: > org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/lib/geronimo-json_1.0_spec-1.0-alpha-1.jar > > inflating: > org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/lib/org.apache.felix.converter-1.0.0.jar > > inflating: > org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/lib/org.apache.felix.configurator-1.0.4.jar > > inflating: org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/bin/sfa.bat > inflating: org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/bin/sfa > inflating: > org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/lib/osgi.core-6.0.0.jar > inflating: > org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/lib/picocli-3.6.0.jar > inflating: > org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/lib/org.osgi.annotation.versioning-1.0.0.jar > > inflating: > org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/lib/slf4j-api-1.7.25.jar > inflating: > org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/lib/slf4j-simple-1.7.25.jar > inflating: > org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/lib/org.apache.sling.feature-0.1.3-SNAPSHOT.jar > > inflating: > org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/lib/org.apache.sling.feature.io-0.1.3-SNAPSHOT.jar > > inflating: > org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/lib/org.osgi.util.function-1.0.0.jar > > inflating: > org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/lib/org.apache.felix.utils-1.11.0.jar > > inflating: > org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/lib/commons-lang-2.6.jar > {noformat} > I am also enriching the CLI with few useful options (enable the debug log or > reducing it to errors-only, see the product version) and a shiny {{help}} > command that will simplify users usage, i.e. > Open the shell and type {{sfa --help}} to see the available commands: > {noformat} > $ ./bin/sfa --help > Usage: sfa [-hqvX] -f= [-p=] > Apache Sling Application Analyser > -f, --feature-file= > Set feature file. > -h, --help Display the usage message. > -p, --plugin-class= > Explicitly specify plugin class to run, if ommitted the > default > plugins are used > -q, --quiet Log errors only. > -v, --version Display version information. > -X, --verbose Produce execution debug output. > Copyright(c) 2018
[jira] [Commented] (SLING-7929) Create a distribution package for the Feature Analyser
[ https://issues.apache.org/jira/browse/SLING-7929?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16685228#comment-16685228 ] ASF GitHub Bot commented on SLING-7929: --- cziegeler commented on issue #3: SLING-7929 - Create a distribution package for the Feature Analyser URL: https://github.com/apache/sling-org-apache-sling-feature-analyser/pull/3#issuecomment-438272543 @simonetripodi Is it possible to create two jars - one that has just the class files from this project and the other one is the distribution with all dependencies? This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Create a distribution package for the Feature Analyser > -- > > Key: SLING-7929 > URL: https://issues.apache.org/jira/browse/SLING-7929 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Tooling >Affects Versions: Feature Model Analyser 0.2.0 >Reporter: Simone Tripodi >Priority: Major > Fix For: Feature Model Analyser 0.2.2 > > > Packaging matters even if software distribution, I am going to submit a > proposal where the Analyser package can be distributed as a "product" like if > it was Apache Tomcat or Apache Maven, users will be able to download a > {{.zip}} or a {{.tar.gz}} package including required artifacts and > multi-platform binaries, the README with instructions of installation and > usage and, of course, legal files including NOTICE and LICENSE with enlisted > dependencies. > {noformat} > $ unzip org.apache.sling.feature.analyser-0.1.3-SNAPSHOT.zip > Archive: org.apache.sling.feature.analyser-0.1.3-SNAPSHOT.zip >creating: org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/ >creating: org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/bin/ >creating: org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/lib/ > inflating: org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/README.md > inflating: > org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/lib/org.apache.sling.commons.johnzon-1.0.0.jar > > inflating: org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/LICENSE > inflating: > org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/lib/org.apache.sling.feature.analyser-0.1.3-SNAPSHOT.jar > > inflating: org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/NOTICE > inflating: > org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/lib/geronimo-json_1.0_spec-1.0-alpha-1.jar > > inflating: > org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/lib/org.apache.felix.converter-1.0.0.jar > > inflating: > org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/lib/org.apache.felix.configurator-1.0.4.jar > > inflating: org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/bin/sfa.bat > inflating: org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/bin/sfa > inflating: > org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/lib/osgi.core-6.0.0.jar > inflating: > org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/lib/picocli-3.6.0.jar > inflating: > org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/lib/org.osgi.annotation.versioning-1.0.0.jar > > inflating: > org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/lib/slf4j-api-1.7.25.jar > inflating: > org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/lib/slf4j-simple-1.7.25.jar > inflating: > org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/lib/org.apache.sling.feature-0.1.3-SNAPSHOT.jar > > inflating: > org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/lib/org.apache.sling.feature.io-0.1.3-SNAPSHOT.jar > > inflating: > org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/lib/org.osgi.util.function-1.0.0.jar > > inflating: > org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/lib/org.apache.felix.utils-1.11.0.jar > > inflating: > org.apache.sling.feature.analyser-0.1.3-SNAPSHOT/lib/commons-lang-2.6.jar > {noformat} > I am also enriching the CLI with few useful options (enable the debug log or > reducing it to errors-only, see the product version) and a shiny {{help}} > command that will simplify users usage, i.e. > Open the shell and type {{sfa --help}} to see the available commands: > {noformat} > $ ./bin/sfa --help > Usage: sfa [-hqvX] -f= [-p=] > Apache Sling Application Analyser > -f, --feature-file= > Set feature file. > -h, --help Display the usage message. > -p, --plugin-class= > Explicitly specify plugin class to run, if ommitted the > default > plugins are used > -q, --quiet Log errors only. > -v, --version Display version
[jira] [Commented] (SLING-7966) Enhance the CLI by adding tool informations and more descriptive options
[ https://issues.apache.org/jira/browse/SLING-7966?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16685227#comment-16685227 ] ASF GitHub Bot commented on SLING-7966: --- cziegeler commented on issue #4: SLING-7966 - Enhance the CLI by adding tool informations and more descriptive options URL: https://github.com/apache/sling-org-apache-sling-feature-analyser/pull/4#issuecomment-438272292 @simonetripodi This PR has currently merge conflicts, could you please redo it based on the latest? This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Enhance the CLI by adding tool informations and more descriptive options > > > Key: SLING-7966 > URL: https://issues.apache.org/jira/browse/SLING-7966 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Tooling >Affects Versions: Feature Model Analyser 0.2.0 >Reporter: Simone Tripodi >Assignee: Bertrand Delacretaz >Priority: Major > Fix For: Feature Model Analyser 0.2.2 > > > The proposal is about improving the user experience and doesn't intend to > change any existing feature. > Currently, command output is really concise: > {noformat} > $ java org.apache.sling.feature.analyser.main.Main > [INFO] Apache Sling Application Analyser > [INFO] > [ERROR] Required argument missing: feature file > {noformat} > I would like to have it improved like described (but not included) in > SLING-7929: > {noformat} > $ java org.apache.sling.feature.analyser.main.Main > Usage: sfa [-hqvX] -f= [-p=] > Apache Sling Application Analyser > -f, --feature-file= > Set feature file. > -h, --help Display the usage message. > -p, --plugin-class= > Explicitly specify plugin class to run, if ommitted the > default > plugins are used > -q, --quiet Log errors only. > -v, --version Display version information. > -X, --verbose Produce execution debug output. > Copyright(c) 2018 The Apache Software Foundation. > {noformat} > Pull request is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8099) Potential NPE condition in ContentOrderMergeProcessor
[ https://issues.apache.org/jira/browse/SLING-8099?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16683985#comment-16683985 ] ASF GitHub Bot commented on SLING-8099: --- bosschaert commented on issue #6: SLING-8099 - eliminating NPE condition URL: https://github.com/apache/sling-org-apache-sling-feature-extension-content/pull/6#issuecomment-437932381 Thanks @DominikSuess for the PR - it's merged. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Potential NPE condition in ContentOrderMergeProcessor > - > > Key: SLING-8099 > URL: https://issues.apache.org/jira/browse/SLING-8099 > Project: Sling > Issue Type: Bug > Components: Feature Model >Reporter: Dominik Süß >Priority: Major > > When a feature doesn't contain the content-package extension but anyhow > contains the {{default.content.startorder}} property this currently leads to > a NullPointerException. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8099) Potential NPE condition in ContentOrderMergeProcessor
[ https://issues.apache.org/jira/browse/SLING-8099?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16683984#comment-16683984 ] ASF GitHub Bot commented on SLING-8099: --- bosschaert closed pull request #6: SLING-8099 - eliminating NPE condition URL: https://github.com/apache/sling-org-apache-sling-feature-extension-content/pull/6 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/src/main/java/org/apache/sling/feature/extension/content/ContentOrderMergeProcessor.java b/src/main/java/org/apache/sling/feature/extension/content/ContentOrderMergeProcessor.java index 9289e4c..82ad7db 100644 --- a/src/main/java/org/apache/sling/feature/extension/content/ContentOrderMergeProcessor.java +++ b/src/main/java/org/apache/sling/feature/extension/content/ContentOrderMergeProcessor.java @@ -30,7 +30,7 @@ public static final String DEFAULT_CONTENT_START_ORDER = "default.content.startorder"; private void processFeature(Feature feature, Extension extension) { -if (feature == null) { +if (feature == null || extension == null) { return; } String defaultOrder = feature.getVariables().get(DEFAULT_CONTENT_START_ORDER); This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Potential NPE condition in ContentOrderMergeProcessor > - > > Key: SLING-8099 > URL: https://issues.apache.org/jira/browse/SLING-8099 > Project: Sling > Issue Type: Bug > Components: Feature Model >Reporter: Dominik Süß >Priority: Major > > When a feature doesn't contain the content-package extension but anyhow > contains the {{default.content.startorder}} property this currently leads to > a NullPointerException. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8099) Potential NPE condition in ContentOrderMergeProcessor
[ https://issues.apache.org/jira/browse/SLING-8099?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16683978#comment-16683978 ] ASF GitHub Bot commented on SLING-8099: --- DominikSuess opened a new pull request #6: SLING-8099 - eliminating NPE condition URL: https://github.com/apache/sling-org-apache-sling-feature-extension-content/pull/6 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Potential NPE condition in ContentOrderMergeProcessor > - > > Key: SLING-8099 > URL: https://issues.apache.org/jira/browse/SLING-8099 > Project: Sling > Issue Type: Bug > Components: Feature Model >Reporter: Dominik Süß >Priority: Major > > When a feature doesn't contain the content-package extension but anyhow > contains the {{default.content.startorder}} property this currently leads to > a NullPointerException. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8078) New Analyser task which is able to detect Export-Package dependencies between regions
[ https://issues.apache.org/jira/browse/SLING-8078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16683780#comment-16683780 ] ASF GitHub Bot commented on SLING-8078: --- simonetripodi commented on issue #8: SLING-8078 - New Analyser task which is able to detect Export-Package dependencies between regions URL: https://github.com/apache/sling-org-apache-sling-feature-analyser/pull/8#issuecomment-437872968 awesome, thanks a lot to your for the review! :) This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > New Analyser task which is able to detect Export-Package dependencies between > regions > - > > Key: SLING-8078 > URL: https://issues.apache.org/jira/browse/SLING-8078 > Project: Sling > Issue Type: New Feature > Components: Feature Model, Maven Plugins and Archetypes >Affects Versions: Feature Model Analyser 0.2.0 >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0, Feature Model Analyser > 0.2.2 > > > It may be helpful users have the need to define a {{deprecated}} region in > order to mark which APIs don't have to be exposed to end users, a new > Analyser Task implementation will help to detect if {{global}} exported APIs > don't have {{uses}} dependencies to APIs that are declared in the > {{deprecated}} region. > i.e. given a feature: > {noformat} > ... > [ > { > "name": "global" > "exports": ["org.osgi.util.function"] > }, > { > "name": "deprecated", >"exports": ["org.objectweb.asm"] > } > ] > ... > {noformat} > and a bundle declares the OSGi header in the Manifest as below: > {noformat} > Export-Package: org.osgi.util.function;uses:="org.objectweb.asm" > {noformat} > the new Analyser Task implementation will detect that "violation" > {noformat} > Bundle 'org.osgi:org.osgi.util.function:1.0.0', defined in feature > 'org.apache.sling.testing:org.apache.sling.testing.apiregions:1.0.0', > declares 'org.osgi.util.function' in the 'Export-Package' header which > requires 'org.objectweb.asm' package that is in the 'deprecated' region > {noformat} > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8078) New Analyser task which is able to detect Export-Package dependencies between regions
[ https://issues.apache.org/jira/browse/SLING-8078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16683737#comment-16683737 ] ASF GitHub Bot commented on SLING-8078: --- bosschaert commented on issue #8: SLING-8078 - New Analyser task which is able to detect Export-Package dependencies between regions URL: https://github.com/apache/sling-org-apache-sling-feature-analyser/pull/8#issuecomment-437865324 Thanks @simonetripodi for code and test case - it's merged! This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > New Analyser task which is able to detect Export-Package dependencies between > regions > - > > Key: SLING-8078 > URL: https://issues.apache.org/jira/browse/SLING-8078 > Project: Sling > Issue Type: New Feature > Components: Feature Model, Maven Plugins and Archetypes >Affects Versions: Feature Model Analyser 0.2.0 >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0, Feature Model Analyser > 0.2.2 > > > It may be helpful users have the need to define a {{deprecated}} region in > order to mark which APIs don't have to be exposed to end users, a new > Analyser Task implementation will help to detect if {{global}} exported APIs > don't have {{uses}} dependencies to APIs that are declared in the > {{deprecated}} region. > i.e. given a feature: > {noformat} > ... > [ > { > "name": "global" > "exports": ["org.osgi.util.function"] > }, > { > "name": "deprecated", >"exports": ["org.objectweb.asm"] > } > ] > ... > {noformat} > and a bundle declares the OSGi header in the Manifest as below: > {noformat} > Export-Package: org.osgi.util.function;uses:="org.objectweb.asm" > {noformat} > the new Analyser Task implementation will detect that "violation" > {noformat} > Bundle 'org.osgi:org.osgi.util.function:1.0.0', defined in feature > 'org.apache.sling.testing:org.apache.sling.testing.apiregions:1.0.0', > declares 'org.osgi.util.function' in the 'Export-Package' header which > requires 'org.objectweb.asm' package that is in the 'deprecated' region > {noformat} > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8078) New Analyser task which is able to detect Export-Package dependencies between regions
[ https://issues.apache.org/jira/browse/SLING-8078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16683736#comment-16683736 ] ASF GitHub Bot commented on SLING-8078: --- bosschaert closed pull request #8: SLING-8078 - New Analyser task which is able to detect Export-Package dependencies between regions URL: https://github.com/apache/sling-org-apache-sling-feature-analyser/pull/8 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > New Analyser task which is able to detect Export-Package dependencies between > regions > - > > Key: SLING-8078 > URL: https://issues.apache.org/jira/browse/SLING-8078 > Project: Sling > Issue Type: New Feature > Components: Feature Model, Maven Plugins and Archetypes >Affects Versions: Feature Model Analyser 0.2.0 >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0, Feature Model Analyser > 0.2.2 > > > It may be helpful users have the need to define a {{deprecated}} region in > order to mark which APIs don't have to be exposed to end users, a new > Analyser Task implementation will help to detect if {{global}} exported APIs > don't have {{uses}} dependencies to APIs that are declared in the > {{deprecated}} region. > i.e. given a feature: > {noformat} > ... > [ > { > "name": "global" > "exports": ["org.osgi.util.function"] > }, > { > "name": "deprecated", >"exports": ["org.objectweb.asm"] > } > ] > ... > {noformat} > and a bundle declares the OSGi header in the Manifest as below: > {noformat} > Export-Package: org.osgi.util.function;uses:="org.objectweb.asm" > {noformat} > the new Analyser Task implementation will detect that "violation" > {noformat} > Bundle 'org.osgi:org.osgi.util.function:1.0.0', defined in feature > 'org.apache.sling.testing:org.apache.sling.testing.apiregions:1.0.0', > declares 'org.osgi.util.function' in the 'Export-Package' header which > requires 'org.objectweb.asm' package that is in the 'deprecated' region > {noformat} > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8078) New Analyser task which is able to detect Export-Package dependencies between regions
[ https://issues.apache.org/jira/browse/SLING-8078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16683718#comment-16683718 ] ASF GitHub Bot commented on SLING-8078: --- simonetripodi commented on issue #8: SLING-8078 - New Analyser task which is able to detect Export-Package dependencies between regions URL: https://github.com/apache/sling-org-apache-sling-feature-analyser/pull/8#issuecomment-437860775 `testPackageEnlistedInBothRegions()` added, see latest commit! Please apologise once again :) This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > New Analyser task which is able to detect Export-Package dependencies between > regions > - > > Key: SLING-8078 > URL: https://issues.apache.org/jira/browse/SLING-8078 > Project: Sling > Issue Type: New Feature > Components: Feature Model, Maven Plugins and Archetypes >Affects Versions: Feature Model Analyser 0.2.0 >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0, Feature Model Analyser > 0.2.2 > > > It may be helpful users have the need to define a {{deprecated}} region in > order to mark which APIs don't have to be exposed to end users, a new > Analyser Task implementation will help to detect if {{global}} exported APIs > don't have {{uses}} dependencies to APIs that are declared in the > {{deprecated}} region. > i.e. given a feature: > {noformat} > ... > [ > { > "name": "global" > "exports": ["org.osgi.util.function"] > }, > { > "name": "deprecated", >"exports": ["org.objectweb.asm"] > } > ] > ... > {noformat} > and a bundle declares the OSGi header in the Manifest as below: > {noformat} > Export-Package: org.osgi.util.function;uses:="org.objectweb.asm" > {noformat} > the new Analyser Task implementation will detect that "violation" > {noformat} > Bundle 'org.osgi:org.osgi.util.function:1.0.0', defined in feature > 'org.apache.sling.testing:org.apache.sling.testing.apiregions:1.0.0', > declares 'org.osgi.util.function' in the 'Export-Package' header which > requires 'org.objectweb.asm' package that is in the 'deprecated' region > {noformat} > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8078) New Analyser task which is able to detect Export-Package dependencies between regions
[ https://issues.apache.org/jira/browse/SLING-8078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16683710#comment-16683710 ] ASF GitHub Bot commented on SLING-8078: --- simonetripodi commented on issue #8: SLING-8078 - New Analyser task which is able to detect Export-Package dependencies between regions URL: https://github.com/apache/sling-org-apache-sling-feature-analyser/pull/8#issuecomment-437859716 of course, please apologise for the missing test, I'll soon push! This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > New Analyser task which is able to detect Export-Package dependencies between > regions > - > > Key: SLING-8078 > URL: https://issues.apache.org/jira/browse/SLING-8078 > Project: Sling > Issue Type: New Feature > Components: Feature Model, Maven Plugins and Archetypes >Affects Versions: Feature Model Analyser 0.2.0 >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0, Feature Model Analyser > 0.2.2 > > > It may be helpful users have the need to define a {{deprecated}} region in > order to mark which APIs don't have to be exposed to end users, a new > Analyser Task implementation will help to detect if {{global}} exported APIs > don't have {{uses}} dependencies to APIs that are declared in the > {{deprecated}} region. > i.e. given a feature: > {noformat} > ... > [ > { > "name": "global" > "exports": ["org.osgi.util.function"] > }, > { > "name": "deprecated", >"exports": ["org.objectweb.asm"] > } > ] > ... > {noformat} > and a bundle declares the OSGi header in the Manifest as below: > {noformat} > Export-Package: org.osgi.util.function;uses:="org.objectweb.asm" > {noformat} > the new Analyser Task implementation will detect that "violation" > {noformat} > Bundle 'org.osgi:org.osgi.util.function:1.0.0', defined in feature > 'org.apache.sling.testing:org.apache.sling.testing.apiregions:1.0.0', > declares 'org.osgi.util.function' in the 'Export-Package' header which > requires 'org.objectweb.asm' package that is in the 'deprecated' region > {noformat} > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8078) New Analyser task which is able to detect Export-Package dependencies between regions
[ https://issues.apache.org/jira/browse/SLING-8078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16683670#comment-16683670 ] ASF GitHub Bot commented on SLING-8078: --- bosschaert commented on issue #8: SLING-8078 - New Analyser task which is able to detect Export-Package dependencies between regions URL: https://github.com/apache/sling-org-apache-sling-feature-analyser/pull/8#issuecomment-437854827 Hi Simo, thanks for the PR! Would it be possible to also include a unit test? This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > New Analyser task which is able to detect Export-Package dependencies between > regions > - > > Key: SLING-8078 > URL: https://issues.apache.org/jira/browse/SLING-8078 > Project: Sling > Issue Type: New Feature > Components: Feature Model, Maven Plugins and Archetypes >Affects Versions: Feature Model Analyser 0.2.0 >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0, Feature Model Analyser > 0.2.2 > > > It may be helpful users have the need to define a {{deprecated}} region in > order to mark which APIs don't have to be exposed to end users, a new > Analyser Task implementation will help to detect if {{global}} exported APIs > don't have {{uses}} dependencies to APIs that are declared in the > {{deprecated}} region. > i.e. given a feature: > {noformat} > ... > [ > { > "name": "global" > "exports": ["org.osgi.util.function"] > }, > { > "name": "deprecated", >"exports": ["org.objectweb.asm"] > } > ] > ... > {noformat} > and a bundle declares the OSGi header in the Manifest as below: > {noformat} > Export-Package: org.osgi.util.function;uses:="org.objectweb.asm" > {noformat} > the new Analyser Task implementation will detect that "violation" > {noformat} > Bundle 'org.osgi:org.osgi.util.function:1.0.0', defined in feature > 'org.apache.sling.testing:org.apache.sling.testing.apiregions:1.0.0', > declares 'org.osgi.util.function' in the 'Export-Package' header which > requires 'org.objectweb.asm' package that is in the 'deprecated' region > {noformat} > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8078) New Analyser task which is able to detect Export-Package dependencies between regions
[ https://issues.apache.org/jira/browse/SLING-8078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16683596#comment-16683596 ] ASF GitHub Bot commented on SLING-8078: --- simonetripodi opened a new pull request #8: SLING-8078 - New Analyser task which is able to detect Export-Package dependencies between regions URL: https://github.com/apache/sling-org-apache-sling-feature-analyser/pull/8 handling the error case where the same package is listed in both the exporting and hiding regions This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > New Analyser task which is able to detect Export-Package dependencies between > regions > - > > Key: SLING-8078 > URL: https://issues.apache.org/jira/browse/SLING-8078 > Project: Sling > Issue Type: New Feature > Components: Feature Model, Maven Plugins and Archetypes >Affects Versions: Feature Model Analyser 0.2.0 >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0, Feature Model Analyser > 0.2.2 > > > It may be helpful users have the need to define a {{deprecated}} region in > order to mark which APIs don't have to be exposed to end users, a new > Analyser Task implementation will help to detect if {{global}} exported APIs > don't have {{uses}} dependencies to APIs that are declared in the > {{deprecated}} region. > i.e. given a feature: > {noformat} > ... > [ > { > "name": "global" > "exports": ["org.osgi.util.function"] > }, > { > "name": "deprecated", >"exports": ["org.objectweb.asm"] > } > ] > ... > {noformat} > and a bundle declares the OSGi header in the Manifest as below: > {noformat} > Export-Package: org.osgi.util.function;uses:="org.objectweb.asm" > {noformat} > the new Analyser Task implementation will detect that "violation" > {noformat} > Bundle 'org.osgi:org.osgi.util.function:1.0.0', defined in feature > 'org.apache.sling.testing:org.apache.sling.testing.apiregions:1.0.0', > declares 'org.osgi.util.function' in the 'Export-Package' header which > requires 'org.objectweb.asm' package that is in the 'deprecated' region > {noformat} > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8092) Relocation in Content Extension to bold
[ https://issues.apache.org/jira/browse/SLING-8092?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16683555#comment-16683555 ] ASF GitHub Bot commented on SLING-8092: --- karlpauls closed pull request #5: SLING-8092 - using relocation to workaround the relocation issue of M… URL: https://github.com/apache/sling-org-apache-sling-feature-extension-content/pull/5 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/pom.xml b/pom.xml index a9d4c04..dc15f7f 100644 --- a/pom.xml +++ b/pom.xml @@ -92,6 +92,10 @@ org.apache.sling.feature.** + + org.UNSHADE.apache + org.apache + diff --git a/src/main/java/org/apache/sling/feature/extension/content/ContentHandler.java b/src/main/java/org/apache/sling/feature/extension/content/ContentHandler.java index 8f039b7..8986d41 100644 --- a/src/main/java/org/apache/sling/feature/extension/content/ContentHandler.java +++ b/src/main/java/org/apache/sling/feature/extension/content/ContentHandler.java @@ -119,11 +119,12 @@ public boolean handle(Extension extension, LauncherPrepareContext prepareContext builder.save(baos); executionPlans.add(baos.toString("UTF-8")); } -final Configuration initcfg = new Configuration("org.apache.sling.jcr.packageinit.impl.ExecutionPlanRepoInitializer"); +// Workaround for too bold relocation mechanism - corresponding details at https://issues.apache.org/jira/browse/MSHADE-156 +final Configuration initcfg = new Configuration("org.UNSHADE.apache.sling.jcr.packageinit.impl.ExecutionPlanRepoInitializer"); initcfg.getProperties().put("executionplans", executionPlans.toArray(new String[executionPlans.size()])); installationContext.addConfiguration(initcfg.getPid(), initcfg.getFactoryPid(), initcfg.getProperties()); - -final Configuration registrycfg = new Configuration("org.apache.jackrabbit.vault.packaging.registry.impl.FSPackageRegistry"); + // Workaround for too bold relocation mechanism - corresponding details at https://issues.apache.org/jira/browse/MSHADE-156 +final Configuration registrycfg = new Configuration("org.UNSHADE.apache.jackrabbit.vault.packaging.registry.impl.FSPackageRegistry"); registrycfg.getProperties().put("homePath", REGISTRY_FOLDER); installationContext.addConfiguration(registrycfg.getPid(), registrycfg.getFactoryPid(), registrycfg.getProperties());; diff --git a/src/test/java/org/apache/sling/feature/extension/content/ContentHandlerTest.java b/src/test/java/org/apache/sling/feature/extension/content/ContentHandlerTest.java index 3e97c18..06b7cff 100644 --- a/src/test/java/org/apache/sling/feature/extension/content/ContentHandlerTest.java +++ b/src/test/java/org/apache/sling/feature/extension/content/ContentHandlerTest.java @@ -105,8 +105,8 @@ public void testMultipleStartOrders() throws Exception { ArgumentCaptor> executionPlanCaptor = ArgumentCaptor.forClass(Dictionary.class); ch.handle(ext, prepareContext, installationContext); - verify(installationContext).addConfiguration(eq("org.apache.sling.jcr.packageinit.impl.ExecutionPlanRepoInitializer"), any(), executionPlanCaptor.capture()); - verify(installationContext).addConfiguration(eq("org.apache.jackrabbit.vault.packaging.registry.impl.FSPackageRegistry"), any(), any()); + verify(installationContext).addConfiguration(eq("org.UNSHADE.apache.sling.jcr.packageinit.impl.ExecutionPlanRepoInitializer"), any(), executionPlanCaptor.capture()); + verify(installationContext).addConfiguration(eq("org.UNSHADE.apache.jackrabbit.vault.packaging.registry.impl.FSPackageRegistry"), any(), any()); Iterator> dictIt = executionPlanCaptor.getAllValues().iterator(); final String[] executionplans = (String[]) dictIt.next().get("executionplans"); final String expected_0 = This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Relocation in Content Extension to bold > --- > > Key: SLING-8092 > URL:
[jira] [Commented] (SLING-8092) Relocation in Content Extension to bold
[ https://issues.apache.org/jira/browse/SLING-8092?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16683526#comment-16683526 ] ASF GitHub Bot commented on SLING-8092: --- DominikSuess opened a new pull request #5: SLING-8092 - using relocation to workaround the relocation issue of M… URL: https://github.com/apache/sling-org-apache-sling-feature-extension-content/pull/5 …SHADE-156 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Relocation in Content Extension to bold > --- > > Key: SLING-8092 > URL: https://issues.apache.org/jira/browse/SLING-8092 > Project: Sling > Issue Type: Bug > Components: Feature Model >Reporter: Dominik Süß >Priority: Major > > The relocation introduced in SLING-8068 is too bold and also relocates the > configuration names (String values) - This doesn't surface in unit testing as > shading happens afterward and due to the active fallback logic wasn't > recognized in a test run. > Background of the aggressive relocation behavior can be found in MSHADE-156 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8003) Interpolate Maven variables using the Maven Interpolator APIs rather that iterate string replacing operations
[ https://issues.apache.org/jira/browse/SLING-8003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16682541#comment-16682541 ] ASF GitHub Bot commented on SLING-8003: --- simonetripodi commented on issue #18: SLING-8003 - Interpolate Maven variables using the Maven Interpolator APIs rather that iterate string replacing operations URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/18#issuecomment-437608519 My pleasure, thanks for merging! :) This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Interpolate Maven variables using the Maven Interpolator APIs rather that > iterate string replacing operations > - > > Key: SLING-8003 > URL: https://issues.apache.org/jira/browse/SLING-8003 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > Currently, the {{Substitution}} class iterates over all variables and replace > them one by one in the whole input string. > We can improve performances - and avoid writing custom variables interpolator > - by replacing its use with the {{MavenReaderFilter}} API. > It will helpful also to avoid reading the Feature file and storing it in a > String, but keep working with {{Reader}} APIs. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8003) Interpolate Maven variables using the Maven Interpolator APIs rather that iterate string replacing operations
[ https://issues.apache.org/jira/browse/SLING-8003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16682381#comment-16682381 ] ASF GitHub Bot commented on SLING-8003: --- cziegeler commented on issue #18: SLING-8003 - Interpolate Maven variables using the Maven Interpolator APIs rather that iterate string replacing operations URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/18#issuecomment-437581385 Thanks for the patch @simonetripodi This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Interpolate Maven variables using the Maven Interpolator APIs rather that > iterate string replacing operations > - > > Key: SLING-8003 > URL: https://issues.apache.org/jira/browse/SLING-8003 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > Currently, the {{Substitution}} class iterates over all variables and replace > them one by one in the whole input string. > We can improve performances - and avoid writing custom variables interpolator > - by replacing its use with the {{MavenReaderFilter}} API. > It will helpful also to avoid reading the Feature file and storing it in a > String, but keep working with {{Reader}} APIs. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8003) Interpolate Maven variables using the Maven Interpolator APIs rather that iterate string replacing operations
[ https://issues.apache.org/jira/browse/SLING-8003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16682379#comment-16682379 ] ASF GitHub Bot commented on SLING-8003: --- cziegeler closed pull request #18: SLING-8003 - Interpolate Maven variables using the Maven Interpolator APIs rather that iterate string replacing operations URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/18 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Interpolate Maven variables using the Maven Interpolator APIs rather that > iterate string replacing operations > - > > Key: SLING-8003 > URL: https://issues.apache.org/jira/browse/SLING-8003 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > Currently, the {{Substitution}} class iterates over all variables and replace > them one by one in the whole input string. > We can improve performances - and avoid writing custom variables interpolator > - by replacing its use with the {{MavenReaderFilter}} API. > It will helpful also to avoid reading the Feature file and storing it in a > String, but keep working with {{Reader}} APIs. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8003) Interpolate Maven variables using the Maven Interpolator APIs rather that iterate string replacing operations
[ https://issues.apache.org/jira/browse/SLING-8003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16682069#comment-16682069 ] ASF GitHub Bot commented on SLING-8003: --- simonetripodi opened a new pull request #18: SLING-8003 - Interpolate Maven variables using the Maven Interpolator APIs rather that iterate string replacing operations URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/18 @bosschaert @cziegeler please have a look at that less-intrusive PR for variables interpolation - rather than iterating over all variables that have to be expanded, the interpolator replaces variables while scanning the JSON string This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Interpolate Maven variables using the Maven Interpolator APIs rather that > iterate string replacing operations > - > > Key: SLING-8003 > URL: https://issues.apache.org/jira/browse/SLING-8003 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > Currently, the {{Substitution}} class iterates over all variables and replace > them one by one in the whole input string. > We can improve performances - and avoid writing custom variables interpolator > - by replacing its use with the {{MavenReaderFilter}} API. > It will helpful also to avoid reading the Feature file and storing it in a > String, but keep working with {{Reader}} APIs. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8003) Interpolate Maven variables using the Maven Filtering APIs rather that iterate string replacing operations
[ https://issues.apache.org/jira/browse/SLING-8003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16681773#comment-16681773 ] ASF GitHub Bot commented on SLING-8003: --- simonetripodi closed pull request #7: SLING-8003 - Interpolate Maven variables using the Maven Filtering APIs rather that iterate string replacing operations URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/7 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Interpolate Maven variables using the Maven Filtering APIs rather that > iterate string replacing operations > -- > > Key: SLING-8003 > URL: https://issues.apache.org/jira/browse/SLING-8003 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > Currently, the {{Substitution}} class iterates over all variables and replace > them one by one in the whole input string. > We can improve performances - and avoid writing custom variables interpolator > - by replacing its use with the {{MavenReaderFilter}} API. > It will helpful also to avoid reading the Feature file and storing it in a > String, but keep working with {{Reader}} APIs. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8078) New Analyser task which is able to detect Export-Package dependencies between regions
[ https://issues.apache.org/jira/browse/SLING-8078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16681551#comment-16681551 ] ASF GitHub Bot commented on SLING-8078: --- simonetripodi commented on issue #16: SLING-8078 - New Analyser task which is able to detect Export-Package dependencies between regions URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/16#issuecomment-437383593 AWESOME good find @bosschaert !!! I just referenced to https://maven.apache.org/guides/mini/guide-configuring-plugins.html#Mapping_Properties to configure `Properties` of course the `Map` style is way better for me as well! :) Thanks! This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > New Analyser task which is able to detect Export-Package dependencies between > regions > - > > Key: SLING-8078 > URL: https://issues.apache.org/jira/browse/SLING-8078 > Project: Sling > Issue Type: New Feature > Components: Feature Model, Maven Plugins and Archetypes >Affects Versions: Feature Model Analyser 0.2.0 >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0, Feature Model Analyser > 0.2.2 > > > It may be helpful users have the need to define a {{deprecated}} region in > order to mark which APIs don't have to be exposed to end users, a new > Analyser Task implementation will help to detect if {{global}} exported APIs > don't have {{uses}} dependencies to APIs that are declared in the > {{deprecated}} region. > i.e. given a feature: > {noformat} > ... > [ > { > "name": "global" > "exports": ["org.osgi.util.function"] > }, > { > "name": "deprecated", >"exports": ["org.objectweb.asm"] > } > ] > ... > {noformat} > and a bundle declares the OSGi header in the Manifest as below: > {noformat} > Export-Package: org.osgi.util.function;uses:="org.objectweb.asm" > {noformat} > the new Analyser Task implementation will detect that "violation" > {noformat} > Bundle 'org.osgi:org.osgi.util.function:1.0.0', defined in feature > 'org.apache.sling.testing:org.apache.sling.testing.apiregions:1.0.0', > declares 'org.osgi.util.function' in the 'Export-Package' header which > requires 'org.objectweb.asm' package that is in the 'deprecated' region > {noformat} > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8078) New Analyser task which is able to detect Export-Package dependencies between regions
[ https://issues.apache.org/jira/browse/SLING-8078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16681508#comment-16681508 ] ASF GitHub Bot commented on SLING-8078: --- bosschaert commented on issue #16: SLING-8078 - New Analyser task which is able to detect Export-Package dependencies between regions URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/16#issuecomment-437375351 Hi @simonetripodi @cziegeler I was playing with the new plugin a little and found out that the same code that is checked in can also handle the following maven configuration: ``` **/*.json api-regions-dependencies my-global my-deprecated ``` So we can also use named keys for the task configuration. I think this is a little bit nicer since we already use named keys to address the task and it's more compact. As I mentioned - no need to change the code for this; it already works. It's just a matter of documenting/style. I'll update https://github.com/apache/sling-slingfeature-maven-plugin/README.md with some documentation about this goal. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > New Analyser task which is able to detect Export-Package dependencies between > regions > - > > Key: SLING-8078 > URL: https://issues.apache.org/jira/browse/SLING-8078 > Project: Sling > Issue Type: New Feature > Components: Feature Model, Maven Plugins and Archetypes >Affects Versions: Feature Model Analyser 0.2.0 >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0, Feature Model Analyser > 0.2.2 > > > It may be helpful users have the need to define a {{deprecated}} region in > order to mark which APIs don't have to be exposed to end users, a new > Analyser Task implementation will help to detect if {{global}} exported APIs > don't have {{uses}} dependencies to APIs that are declared in the > {{deprecated}} region. > i.e. given a feature: > {noformat} > ... > [ > { > "name": "global" > "exports": ["org.osgi.util.function"] > }, > { > "name": "deprecated", >"exports": ["org.objectweb.asm"] > } > ] > ... > {noformat} > and a bundle declares the OSGi header in the Manifest as below: > {noformat} > Export-Package: org.osgi.util.function;uses:="org.objectweb.asm" > {noformat} > the new Analyser Task implementation will detect that "violation" > {noformat} > Bundle 'org.osgi:org.osgi.util.function:1.0.0', defined in feature > 'org.apache.sling.testing:org.apache.sling.testing.apiregions:1.0.0', > declares 'org.osgi.util.function' in the 'Export-Package' header which > requires 'org.objectweb.asm' package that is in the 'deprecated' region > {noformat} > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8078) New Analyser task which is able to detect Export-Package dependencies between regions
[ https://issues.apache.org/jira/browse/SLING-8078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16681391#comment-16681391 ] ASF GitHub Bot commented on SLING-8078: --- simonetripodi commented on issue #16: SLING-8078 - New Analyser task which is able to detect Export-Package dependencies between regions URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/16#issuecomment-437347177 Thanks to you @cziegeler for reviewing and merging my modifications, very appreciated! Just for the record, the Maven configuration changed a little: ```XML **/*.json api-regions-dependencies exporting-apis my-global hiding-apis my-deprecated ``` This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > New Analyser task which is able to detect Export-Package dependencies between > regions > - > > Key: SLING-8078 > URL: https://issues.apache.org/jira/browse/SLING-8078 > Project: Sling > Issue Type: New Feature > Components: Feature Model, Maven Plugins and Archetypes >Affects Versions: Feature Model Analyser 0.2.0 >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: Feature Model Analyser 0.2.2 > > > It may be helpful users have the need to define a {{deprecated}} region in > order to mark which APIs don't have to be exposed to end users, a new > Analyser Task implementation will help to detect if {{global}} exported APIs > don't have {{uses}} dependencies to APIs that are declared in the > {{deprecated}} region. > i.e. given a feature: > {noformat} > ... > [ > { > "name": "global" > "exports": ["org.osgi.util.function"] > }, > { > "name": "deprecated", >"exports": ["org.objectweb.asm"] > } > ] > ... > {noformat} > and a bundle declares the OSGi header in the Manifest as below: > {noformat} > Export-Package: org.osgi.util.function;uses:="org.objectweb.asm" > {noformat} > the new Analyser Task implementation will detect that "violation" > {noformat} > Bundle 'org.osgi:org.osgi.util.function:1.0.0', defined in feature > 'org.apache.sling.testing:org.apache.sling.testing.apiregions:1.0.0', > declares 'org.osgi.util.function' in the 'Export-Package' header which > requires 'org.objectweb.asm' package that is in the 'deprecated' region > {noformat} > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8078) New Analyser task which is able to detect Export-Package dependencies between regions
[ https://issues.apache.org/jira/browse/SLING-8078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16681384#comment-16681384 ] ASF GitHub Bot commented on SLING-8078: --- cziegeler commented on issue #16: SLING-8078 - New Analyser task which is able to detect Export-Package dependencies between regions URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/16#issuecomment-437345023 Thanks @simonetripodi This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > New Analyser task which is able to detect Export-Package dependencies between > regions > - > > Key: SLING-8078 > URL: https://issues.apache.org/jira/browse/SLING-8078 > Project: Sling > Issue Type: New Feature > Components: Feature Model, Maven Plugins and Archetypes >Affects Versions: Feature Model Analyser 0.2.0 >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: Feature Model Analyser 0.2.2 > > > It may be helpful users have the need to define a {{deprecated}} region in > order to mark which APIs don't have to be exposed to end users, a new > Analyser Task implementation will help to detect if {{global}} exported APIs > don't have {{uses}} dependencies to APIs that are declared in the > {{deprecated}} region. > i.e. given a feature: > {noformat} > ... > [ > { > "name": "global" > "exports": ["org.osgi.util.function"] > }, > { > "name": "deprecated", >"exports": ["org.objectweb.asm"] > } > ] > ... > {noformat} > and a bundle declares the OSGi header in the Manifest as below: > {noformat} > Export-Package: org.osgi.util.function;uses:="org.objectweb.asm" > {noformat} > the new Analyser Task implementation will detect that "violation" > {noformat} > Bundle 'org.osgi:org.osgi.util.function:1.0.0', defined in feature > 'org.apache.sling.testing:org.apache.sling.testing.apiregions:1.0.0', > declares 'org.osgi.util.function' in the 'Export-Package' header which > requires 'org.objectweb.asm' package that is in the 'deprecated' region > {noformat} > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8078) New Analyser task which is able to detect Export-Package dependencies between regions
[ https://issues.apache.org/jira/browse/SLING-8078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16681387#comment-16681387 ] ASF GitHub Bot commented on SLING-8078: --- simonetripodi commented on issue #7: SLING-8078 - New Analyser task which is able to detect Export-Package dependencies between regions URL: https://github.com/apache/sling-org-apache-sling-feature-analyser/pull/7#issuecomment-437346521 thanks to you for continuous reviews, very appreciated! :) This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > New Analyser task which is able to detect Export-Package dependencies between > regions > - > > Key: SLING-8078 > URL: https://issues.apache.org/jira/browse/SLING-8078 > Project: Sling > Issue Type: New Feature > Components: Feature Model, Maven Plugins and Archetypes >Affects Versions: Feature Model Analyser 0.2.0 >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: Feature Model Analyser 0.2.2 > > > It may be helpful users have the need to define a {{deprecated}} region in > order to mark which APIs don't have to be exposed to end users, a new > Analyser Task implementation will help to detect if {{global}} exported APIs > don't have {{uses}} dependencies to APIs that are declared in the > {{deprecated}} region. > i.e. given a feature: > {noformat} > ... > [ > { > "name": "global" > "exports": ["org.osgi.util.function"] > }, > { > "name": "deprecated", >"exports": ["org.objectweb.asm"] > } > ] > ... > {noformat} > and a bundle declares the OSGi header in the Manifest as below: > {noformat} > Export-Package: org.osgi.util.function;uses:="org.objectweb.asm" > {noformat} > the new Analyser Task implementation will detect that "violation" > {noformat} > Bundle 'org.osgi:org.osgi.util.function:1.0.0', defined in feature > 'org.apache.sling.testing:org.apache.sling.testing.apiregions:1.0.0', > declares 'org.osgi.util.function' in the 'Export-Package' header which > requires 'org.objectweb.asm' package that is in the 'deprecated' region > {noformat} > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8078) New Analyser task which is able to detect Export-Package dependencies between regions
[ https://issues.apache.org/jira/browse/SLING-8078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16681385#comment-16681385 ] ASF GitHub Bot commented on SLING-8078: --- cziegeler closed pull request #16: SLING-8078 - New Analyser task which is able to detect Export-Package dependencies between regions URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/16 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > New Analyser task which is able to detect Export-Package dependencies between > regions > - > > Key: SLING-8078 > URL: https://issues.apache.org/jira/browse/SLING-8078 > Project: Sling > Issue Type: New Feature > Components: Feature Model, Maven Plugins and Archetypes >Affects Versions: Feature Model Analyser 0.2.0 >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: Feature Model Analyser 0.2.2 > > > It may be helpful users have the need to define a {{deprecated}} region in > order to mark which APIs don't have to be exposed to end users, a new > Analyser Task implementation will help to detect if {{global}} exported APIs > don't have {{uses}} dependencies to APIs that are declared in the > {{deprecated}} region. > i.e. given a feature: > {noformat} > ... > [ > { > "name": "global" > "exports": ["org.osgi.util.function"] > }, > { > "name": "deprecated", >"exports": ["org.objectweb.asm"] > } > ] > ... > {noformat} > and a bundle declares the OSGi header in the Manifest as below: > {noformat} > Export-Package: org.osgi.util.function;uses:="org.objectweb.asm" > {noformat} > the new Analyser Task implementation will detect that "violation" > {noformat} > Bundle 'org.osgi:org.osgi.util.function:1.0.0', defined in feature > 'org.apache.sling.testing:org.apache.sling.testing.apiregions:1.0.0', > declares 'org.osgi.util.function' in the 'Export-Package' header which > requires 'org.objectweb.asm' package that is in the 'deprecated' region > {noformat} > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8078) New Analyser task which is able to detect Export-Package dependencies between regions
[ https://issues.apache.org/jira/browse/SLING-8078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16681383#comment-16681383 ] ASF GitHub Bot commented on SLING-8078: --- cziegeler closed pull request #7: SLING-8078 - New Analyser task which is able to detect Export-Package dependencies between regions URL: https://github.com/apache/sling-org-apache-sling-feature-analyser/pull/7 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > New Analyser task which is able to detect Export-Package dependencies between > regions > - > > Key: SLING-8078 > URL: https://issues.apache.org/jira/browse/SLING-8078 > Project: Sling > Issue Type: New Feature > Components: Feature Model, Maven Plugins and Archetypes >Affects Versions: Feature Model Analyser 0.2.0 >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: Feature Model Analyser 0.2.2 > > > It may be helpful users have the need to define a {{deprecated}} region in > order to mark which APIs don't have to be exposed to end users, a new > Analyser Task implementation will help to detect if {{global}} exported APIs > don't have {{uses}} dependencies to APIs that are declared in the > {{deprecated}} region. > i.e. given a feature: > {noformat} > ... > [ > { > "name": "global" > "exports": ["org.osgi.util.function"] > }, > { > "name": "deprecated", >"exports": ["org.objectweb.asm"] > } > ] > ... > {noformat} > and a bundle declares the OSGi header in the Manifest as below: > {noformat} > Export-Package: org.osgi.util.function;uses:="org.objectweb.asm" > {noformat} > the new Analyser Task implementation will detect that "violation" > {noformat} > Bundle 'org.osgi:org.osgi.util.function:1.0.0', defined in feature > 'org.apache.sling.testing:org.apache.sling.testing.apiregions:1.0.0', > declares 'org.osgi.util.function' in the 'Export-Package' header which > requires 'org.objectweb.asm' package that is in the 'deprecated' region > {noformat} > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8078) New Analyser task which is able to detect Export-Package dependencies between regions
[ https://issues.apache.org/jira/browse/SLING-8078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16681382#comment-16681382 ] ASF GitHub Bot commented on SLING-8078: --- cziegeler commented on issue #7: SLING-8078 - New Analyser task which is able to detect Export-Package dependencies between regions URL: https://github.com/apache/sling-org-apache-sling-feature-analyser/pull/7#issuecomment-437344713 Thanks @simonetripodi This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > New Analyser task which is able to detect Export-Package dependencies between > regions > - > > Key: SLING-8078 > URL: https://issues.apache.org/jira/browse/SLING-8078 > Project: Sling > Issue Type: New Feature > Components: Feature Model, Maven Plugins and Archetypes >Affects Versions: Feature Model Analyser 0.2.0 >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: Feature Model Analyser 0.2.2 > > > It may be helpful users have the need to define a {{deprecated}} region in > order to mark which APIs don't have to be exposed to end users, a new > Analyser Task implementation will help to detect if {{global}} exported APIs > don't have {{uses}} dependencies to APIs that are declared in the > {{deprecated}} region. > i.e. given a feature: > {noformat} > ... > [ > { > "name": "global" > "exports": ["org.osgi.util.function"] > }, > { > "name": "deprecated", >"exports": ["org.objectweb.asm"] > } > ] > ... > {noformat} > and a bundle declares the OSGi header in the Manifest as below: > {noformat} > Export-Package: org.osgi.util.function;uses:="org.objectweb.asm" > {noformat} > the new Analyser Task implementation will detect that "violation" > {noformat} > Bundle 'org.osgi:org.osgi.util.function:1.0.0', defined in feature > 'org.apache.sling.testing:org.apache.sling.testing.apiregions:1.0.0', > declares 'org.osgi.util.function' in the 'Export-Package' header which > requires 'org.objectweb.asm' package that is in the 'deprecated' region > {noformat} > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8078) New Analyser task which is able to detect Export-Package dependencies between regions
[ https://issues.apache.org/jira/browse/SLING-8078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16681350#comment-16681350 ] ASF GitHub Bot commented on SLING-8078: --- simonetripodi commented on issue #7: SLING-8078 - New Analyser task which is able to detect Export-Package dependencies between regions URL: https://github.com/apache/sling-org-apache-sling-feature-analyser/pull/7#issuecomment-437339727 @cziegeler thanks a lot for the follow-up, I just updated both Analyzer (see https://github.com/apache/sling-org-apache-sling-feature-analyser/pull/7/commits/a4f89ddc9ed0fd70d839d1e1b2357b6a532a4f92) and the plugin (see https://github.com/apache/sling-slingfeature-maven-plugin/commit/05889c8f26f425e9ef1e20316b8074341508fd5b) branches in order to support the new requirement in the less intrusive way as possible, letting Maven doing its job. Any feedback is welcome! This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > New Analyser task which is able to detect Export-Package dependencies between > regions > - > > Key: SLING-8078 > URL: https://issues.apache.org/jira/browse/SLING-8078 > Project: Sling > Issue Type: New Feature > Components: Feature Model, Maven Plugins and Archetypes >Affects Versions: Feature Model Analyser 0.2.0 >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: Feature Model Analyser 0.2.2 > > > It may be helpful users have the need to define a {{deprecated}} region in > order to mark which APIs don't have to be exposed to end users, a new > Analyser Task implementation will help to detect if {{global}} exported APIs > don't have {{uses}} dependencies to APIs that are declared in the > {{deprecated}} region. > i.e. given a feature: > {noformat} > ... > [ > { > "name": "global" > "exports": ["org.osgi.util.function"] > }, > { > "name": "deprecated", >"exports": ["org.objectweb.asm"] > } > ] > ... > {noformat} > and a bundle declares the OSGi header in the Manifest as below: > {noformat} > Export-Package: org.osgi.util.function;uses:="org.objectweb.asm" > {noformat} > the new Analyser Task implementation will detect that "violation" > {noformat} > Bundle 'org.osgi:org.osgi.util.function:1.0.0', defined in feature > 'org.apache.sling.testing:org.apache.sling.testing.apiregions:1.0.0', > declares 'org.osgi.util.function' in the 'Export-Package' header which > requires 'org.objectweb.asm' package that is in the 'deprecated' region > {noformat} > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8032) Add a MOJO which is able to validate JSON Feature file against the JSON Schema
[ https://issues.apache.org/jira/browse/SLING-8032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16681257#comment-16681257 ] ASF GitHub Bot commented on SLING-8032: --- simonetripodi commented on issue #17: SLING-8032 - Add a MOJO which is able to validate JSON Feature file against the JSON Schema URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/17#issuecomment-437325020 cool, thanks to you for deep review! :) This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a MOJO which is able to validate JSON Feature file against the JSON Schema > -- > > Key: SLING-8032 > URL: https://issues.apache.org/jira/browse/SLING-8032 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > While SLING-7990 contributed the Schema definition, I would like to > contribute a simple MOJO which is able to validate Feature files against the > Schema. > JSON Schema validation does not fit as an {{AnalyserTask}} implementation, > since {{Feature}} instances are parsed already here, anyway the {{Analyser}} > takes in charge semantic analysis, while JSON Schema validation is is strict > about syntax and structure, this is why I would have a separated MOJO which > can be optionally enabled. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8078) New Analyser task which is able to detect Export-Package dependencies between regions
[ https://issues.apache.org/jira/browse/SLING-8078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16681213#comment-16681213 ] ASF GitHub Bot commented on SLING-8078: --- cziegeler commented on issue #7: SLING-8078 - New Analyser task which is able to detect Export-Package dependencies between regions URL: https://github.com/apache/sling-org-apache-sling-feature-analyser/pull/7#issuecomment-437316155 @simonetripodi Thanks. We had some more discussion on the configuration part and came to a minor change: instead of passing a map of Map configuration and then doing the filtering in the Analyser, the parameter should rather be a Map The key of that map is the name of the task and the Properties value are the properties passed into the task. This avoids defining a format for the key like we do atm The configuration in the maven plugin could still stay at is, you would just need to add the filtering in the maven plugin instead of the Analyser. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > New Analyser task which is able to detect Export-Package dependencies between > regions > - > > Key: SLING-8078 > URL: https://issues.apache.org/jira/browse/SLING-8078 > Project: Sling > Issue Type: New Feature > Components: Feature Model, Maven Plugins and Archetypes >Affects Versions: Feature Model Analyser 0.2.0 >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: Feature Model Analyser 0.2.2 > > > It may be helpful users have the need to define a {{deprecated}} region in > order to mark which APIs don't have to be exposed to end users, a new > Analyser Task implementation will help to detect if {{global}} exported APIs > don't have {{uses}} dependencies to APIs that are declared in the > {{deprecated}} region. > i.e. given a feature: > {noformat} > ... > [ > { > "name": "global" > "exports": ["org.osgi.util.function"] > }, > { > "name": "deprecated", >"exports": ["org.objectweb.asm"] > } > ] > ... > {noformat} > and a bundle declares the OSGi header in the Manifest as below: > {noformat} > Export-Package: org.osgi.util.function;uses:="org.objectweb.asm" > {noformat} > the new Analyser Task implementation will detect that "violation" > {noformat} > Bundle 'org.osgi:org.osgi.util.function:1.0.0', defined in feature > 'org.apache.sling.testing:org.apache.sling.testing.apiregions:1.0.0', > declares 'org.osgi.util.function' in the 'Export-Package' header which > requires 'org.objectweb.asm' package that is in the 'deprecated' region > {noformat} > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8085) Incorporate layering optimizations for cross layer dependencies
[ https://issues.apache.org/jira/browse/SLING-8085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16681210#comment-16681210 ] ASF GitHub Bot commented on SLING-8085: --- bosschaert commented on issue #4: SLING-8085 - adjusting ContentHandler to properly incorporating layer… URL: https://github.com/apache/sling-org-apache-sling-feature-extension-content/pull/4#issuecomment-437315541 Thanks for the pull request @DominikSuess , it's merged. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Incorporate layering optimizations for cross layer dependencies > --- > > Key: SLING-8085 > URL: https://issues.apache.org/jira/browse/SLING-8085 > Project: Sling > Issue Type: Improvement > Components: Feature Model >Reporter: Dominik Süß >Priority: Major > > In case an exeuction plan on a higher level depends on artifacts of a lower > level the exeuctionplan builder currently generates install wrong and > uncessary install tasks to fill the gap. This scenario is covered in > JCRVLT-319 and requires adoption of the consumer. > This ticket is to track incorporation of this optimization into the content > extension making use of this new mechanism. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8085) Incorporate layering optimizations for cross layer dependencies
[ https://issues.apache.org/jira/browse/SLING-8085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16681209#comment-16681209 ] ASF GitHub Bot commented on SLING-8085: --- bosschaert closed pull request #4: SLING-8085 - adjusting ContentHandler to properly incorporating layer… URL: https://github.com/apache/sling-org-apache-sling-feature-extension-content/pull/4 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/pom.xml b/pom.xml index e467dcf..a9d4c04 100644 --- a/pom.xml +++ b/pom.xml @@ -112,7 +112,7 @@ org.apache.jackrabbit.vault org.apache.jackrabbit.vault -3.2.4 +3.2.5-SNAPSHOT compile diff --git a/src/main/java/org/apache/sling/feature/extension/content/ContentHandler.java b/src/main/java/org/apache/sling/feature/extension/content/ContentHandler.java index 1a57118..8f039b7 100644 --- a/src/main/java/org/apache/sling/feature/extension/content/ContentHandler.java +++ b/src/main/java/org/apache/sling/feature/extension/content/ContentHandler.java @@ -21,9 +21,12 @@ import java.nio.file.Paths; import java.util.ArrayList; import java.util.Collection; -import java.util.LinkedHashMap; +import java.util.HashSet; + import java.util.List; import java.util.Map; +import java.util.Set; +import java.util.TreeMap; import org.apache.commons.collections.map.MultiValueMap; import org.apache.jackrabbit.vault.packaging.PackageId; @@ -48,7 +51,7 @@ private static final String REGISTRY_FOLDER = "packageregistry"; -private static ExecutionPlanBuilder buildExecutionPlan(Collection artifacts, LauncherPrepareContext prepareContext, File registryHome) throws Exception { +private static ExecutionPlanBuilder buildExecutionPlan(Collection artifacts, Set satisfiedPackages, LauncherPrepareContext prepareContext, File registryHome) throws Exception { List packageReferences = new ArrayList(); @@ -67,6 +70,7 @@ private static ExecutionPlanBuilder buildExecutionPlan(Collection arti FSPackageRegistry registry = new FSPackageRegistry(registryHome); ExecutionPlanBuilder builder = registry.createExecutionPlan(); +builder.with(satisfiedPackages); for (File pkgFile : packageReferences) { PackageId pid = registry.registerExternal(pkgFile, true); @@ -83,6 +87,7 @@ private static ExecutionPlanBuilder buildExecutionPlan(Collection arti builder.addTask().with(pid).with(Type.EXTRACT); } builder.validate(); +satisfiedPackages.addAll(builder.preview()); return builder; } @@ -93,7 +98,7 @@ public boolean handle(Extension extension, LauncherPrepareContext prepareContext File registryHome = getRegistryHomeDir(installationContext); if (extension.getType() == ExtensionType.ARTIFACTS && extension.getName().equals(FeatureConstants.EXTENSION_NAME_CONTENT_PACKAGES)) { -MultiValueMap orderedArtifacts = MultiValueMap.decorate(new LinkedHashMap>()); +MultiValueMap orderedArtifacts = MultiValueMap.decorate(new TreeMap>()); for (final Artifact a : extension.getArtifacts()) { int order; // content-packages without explicit start-order to be installed last @@ -105,10 +110,11 @@ public boolean handle(Extension extension, LauncherPrepareContext prepareContext orderedArtifacts.put(order, a); } List executionPlans = new ArrayList(); +Set satisfiedPackages = new HashSet<>(); for (Object key : orderedArtifacts.keySet()) { @SuppressWarnings("unchecked") Collection artifacts = orderedArtifacts.getCollection(key); -ExecutionPlanBuilder builder = buildExecutionPlan(artifacts, prepareContext, registryHome); +ExecutionPlanBuilder builder = buildExecutionPlan(artifacts, satisfiedPackages, prepareContext, registryHome); ByteArrayOutputStream baos = new ByteArrayOutputStream(); builder.save(baos); executionPlans.add(baos.toString("UTF-8")); diff --git a/src/test/java/org/apache/sling/feature/extension/content/ContentHandlerTest.java b/src/test/java/org/apache/sling/feature/extension/content/ContentHandlerTest.java new file mode 100644 index 000..3e97c18 --- /dev/null +++ b/src/test/java/org/apache/sling/feature/extension/content/ContentHandlerTest.java @@ -0,0 +1,129 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this
[jira] [Commented] (SLING-8083) Installer Hook: Installer events are not in all cases received
[ https://issues.apache.org/jira/browse/SLING-8083?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16681148#comment-16681148 ] ASF GitHub Bot commented on SLING-8083: --- ghenzler closed pull request #1: SLING-8083 avoid ClassNotFoundExceptions, take infoProvider.getInstallationState().getInstalledResources() into account URL: https://github.com/apache/sling-org-apache-sling-installer-provider-installhook/pull/1 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Installer Hook: Installer events are not in all cases received > -- > > Key: SLING-8083 > URL: https://issues.apache.org/jira/browse/SLING-8083 > Project: Sling > Issue Type: Bug > Components: Installer >Reporter: Georg Henzler >Assignee: Georg Henzler >Priority: Major > > In some cases, the installer hook does not receive the events for the > installation of the installable. This may be connected to the dynamic class > loader (that is used to load the hook) not active anymore. To ensure this is > not happening, classes like InstallerHookOsgiEventListener shall be loaded at > the very beginning of the hook (before it starts registering > InstallableResources) and > infoProvider.getInstallationState().getInstalledResources() should be taken > into account when waiting for the installables to be installed. > {code} > 02.11.2018 23:43:52.566 *ERROR* [qtp2051186638-83] > org.apache.sling.commons.classloader.impl.ClassLoaderFacade Dynamic class > loader has already been deactivated. > org.apache.sling.commons.classloader.impl.ClassLoaderFacade$StackTraceProbe: > Dynamic class loader has already been deactivated. > at > org.apache.sling.commons.classloader.impl.ClassLoaderFacade.checkManagerActive(ClassLoaderFacade.java:69) > [org.apache.sling.commons.classloader:1.4.2] > at > org.apache.sling.commons.classloader.impl.ClassLoaderFacade.loadClass(ClassLoaderFacade.java:133) > [org.apache.sling.commons.classloader:1.4.2] > at java.lang.ClassLoader.loadClass(ClassLoader.java:411) > at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:814) > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > at > org.apache.sling.installer.provider.installhook.OsgiInstallerHook.waitForServiceChanges(OsgiInstallerHook.java:410) > at > org.apache.sling.installer.provider.installhook.OsgiInstallerHook.execute(OsgiInstallerHook.java:201) > at > org.apache.jackrabbit.vault.packaging.impl.InstallHookProcessorImpl.execute(InstallHookProcessorImpl.java:148) > [org.apache.jackrabbit.vault:3.1.44] > at > org.apache.jackrabbit.vault.packaging.impl.ZipVaultPackage.extract(ZipVaultPackage.java:241) > [org.apache.jackrabbit.vault:3.1.44] > at > org.apache.jackrabbit.vault.packaging.impl.JcrPackageImpl.extract(JcrPackageImpl.java:398) > [org.apache.jackrabbit.vault:3.1.44] > at > org.apache.jackrabbit.vault.packaging.impl.JcrPackageImpl.extract(JcrPackageImpl.java:357) > [org.apache.jackrabbit.vault:3.1.44] > at > org.apache.jackrabbit.vault.packaging.impl.JcrPackageImpl.install(JcrPackageImpl.java:351) > [org.apache.jackrabbit.vault:3.1.44] > at > com.day.crx.packmgr.impl.servlets.ServiceServlet.doInstall(ServiceServlet.java:437) > [com.adobe.granite.crx-packagemgr:1.2.60] > at > com.day.crx.packmgr.impl.servlets.ServiceServlet.upload(ServiceServlet.java:512) > [com.adobe.granite.crx-packagemgr:1.2.60] > at > com.day.crx.packmgr.impl.servlets.ServiceServlet.doService(ServiceServlet.java:180) > [com.adobe.granite.crx-packagemgr:1.2.60] > at > com.day.crx.packmgr.impl.AbstractServlet.service(AbstractServlet.java:54) > [com.adobe.granite.crx-packagemgr:1.2.60] > at com.day.crx.packmgr.impl.MainServlet.doService(MainServlet.java:157) > [com.adobe.granite.crx-packagemgr:1.2.60] > at com.day.crx.packmgr.impl.MainServlet.service(MainServlet.java:134) > [com.adobe.granite.crx-packagemgr:1.2.60] > at > org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:120) > [org.apache.felix.http.jetty:3.4.7.B012] > at > org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:86) > [org.apache.felix.http.jetty:3.4.7.B012] > at > com.adobe.granite.cors.impl.CORSHandler.doFilter(CORSHandler.java:120) > [com.adobe.granite.cors:1.0.6] > at > org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:135) >
[jira] [Commented] (SLING-8032) Add a MOJO which is able to validate JSON Feature file against the JSON Schema
[ https://issues.apache.org/jira/browse/SLING-8032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16679961#comment-16679961 ] ASF GitHub Bot commented on SLING-8032: --- simonetripodi closed pull request #11: SLING-8032 - Add a MOJO which is able to validate JSON Feature file against the JSON Schema URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/11 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a MOJO which is able to validate JSON Feature file against the JSON Schema > -- > > Key: SLING-8032 > URL: https://issues.apache.org/jira/browse/SLING-8032 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > While SLING-7990 contributed the Schema definition, I would like to > contribute a simple MOJO which is able to validate Feature files against the > Schema. > JSON Schema validation does not fit as an {{AnalyserTask}} implementation, > since {{Feature}} instances are parsed already here, anyway the {{Analyser}} > takes in charge semantic analysis, while JSON Schema validation is is strict > about syntax and structure, this is why I would have a separated MOJO which > can be optionally enabled. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8032) Add a MOJO which is able to validate JSON Feature file against the JSON Schema
[ https://issues.apache.org/jira/browse/SLING-8032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16679561#comment-16679561 ] ASF GitHub Bot commented on SLING-8032: --- simonetripodi commented on issue #11: SLING-8032 - Add a MOJO which is able to validate JSON Feature file against the JSON Schema URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/11#issuecomment-436944950 Currently, the Schema definition is in the `org.apache.sling.feature` module, see https://github.com/apache/sling-org-apache-sling-feature/blob/master/schema/Feature-1.0.0.schema.json - would it be OK to move it to the `slingfeature-maven-plugin` space? I would suggest to have it in a single place to avoid synching multiple sources - WDYT? This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a MOJO which is able to validate JSON Feature file against the JSON Schema > -- > > Key: SLING-8032 > URL: https://issues.apache.org/jira/browse/SLING-8032 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > While SLING-7990 contributed the Schema definition, I would like to > contribute a simple MOJO which is able to validate Feature files against the > Schema. > JSON Schema validation does not fit as an {{AnalyserTask}} implementation, > since {{Feature}} instances are parsed already here, anyway the {{Analyser}} > takes in charge semantic analysis, while JSON Schema validation is is strict > about syntax and structure, this is why I would have a separated MOJO which > can be optionally enabled. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8032) Add a MOJO which is able to validate JSON Feature file against the JSON Schema
[ https://issues.apache.org/jira/browse/SLING-8032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16679941#comment-16679941 ] ASF GitHub Bot commented on SLING-8032: --- simonetripodi commented on issue #11: SLING-8032 - Add a MOJO which is able to validate JSON Feature file against the JSON Schema URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/11#issuecomment-437049507 Sure, just give me few minutes! This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a MOJO which is able to validate JSON Feature file against the JSON Schema > -- > > Key: SLING-8032 > URL: https://issues.apache.org/jira/browse/SLING-8032 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > While SLING-7990 contributed the Schema definition, I would like to > contribute a simple MOJO which is able to validate Feature files against the > Schema. > JSON Schema validation does not fit as an {{AnalyserTask}} implementation, > since {{Feature}} instances are parsed already here, anyway the {{Analyser}} > takes in charge semantic analysis, while JSON Schema validation is is strict > about syntax and structure, this is why I would have a separated MOJO which > can be optionally enabled. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8077) Transform ContentOrderMergeProcessor into MergeHandler
[ https://issues.apache.org/jira/browse/SLING-8077?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16679716#comment-16679716 ] ASF GitHub Bot commented on SLING-8077: --- bosschaert commented on issue #3: SLING-8077 - adding testcoverage and processing of source & target ev… URL: https://github.com/apache/sling-org-apache-sling-feature-extension-content/pull/3#issuecomment-436984676 Thanks for the additional tests @DominikSuess ! It's merged. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Transform ContentOrderMergeProcessor into MergeHandler > -- > > Key: SLING-8077 > URL: https://issues.apache.org/jira/browse/SLING-8077 > Project: Sling > Issue Type: Improvement > Components: Feature Model >Reporter: Dominik Süß >Priority: Major > > ContentOrderMergeProcessor as implemented in "Featuremodel - Content > Deployment Exension" currently postprocesses features after merge to set the > default start-order. this only works for cases where features with same order > are getting merged and mandates a sequential merge of features of different > order. > To tackle this issue the extension should take over the actual merge which > allows to preprocess the features before merging and setting the defaults > according to the defaults declared in the particular features before doing > the merge. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8083) Installer Hook: Installer events are not in all cases received
[ https://issues.apache.org/jira/browse/SLING-8083?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16679525#comment-16679525 ] ASF GitHub Bot commented on SLING-8083: --- ghenzler opened a new pull request #1: SLING-8083 avoid ClassNotFoundExceptions, take infoProvider.getInstallationState().getInstalledResources() into account URL: https://github.com/apache/sling-org-apache-sling-installer-provider-installhook/pull/1 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Installer Hook: Installer events are not in all cases received > -- > > Key: SLING-8083 > URL: https://issues.apache.org/jira/browse/SLING-8083 > Project: Sling > Issue Type: Bug > Components: Installer >Reporter: Georg Henzler >Assignee: Georg Henzler >Priority: Major > > In some cases, the installer hook does not receive the events for the > installation of the installable. This may be connected to the dynamic class > loader (that is used to load the hook) not active anymore. To ensure this is > not happening, classes like InstallerHookOsgiEventListener shall be loaded at > the very beginning of the hook (before it starts registering > InstallableResources) and > infoProvider.getInstallationState().getInstalledResources() should be taken > into account when waiting for the installables to be installed. > {code} > 02.11.2018 23:43:52.566 *ERROR* [qtp2051186638-83] > org.apache.sling.commons.classloader.impl.ClassLoaderFacade Dynamic class > loader has already been deactivated. > org.apache.sling.commons.classloader.impl.ClassLoaderFacade$StackTraceProbe: > Dynamic class loader has already been deactivated. > at > org.apache.sling.commons.classloader.impl.ClassLoaderFacade.checkManagerActive(ClassLoaderFacade.java:69) > [org.apache.sling.commons.classloader:1.4.2] > at > org.apache.sling.commons.classloader.impl.ClassLoaderFacade.loadClass(ClassLoaderFacade.java:133) > [org.apache.sling.commons.classloader:1.4.2] > at java.lang.ClassLoader.loadClass(ClassLoader.java:411) > at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:814) > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > at > org.apache.sling.installer.provider.installhook.OsgiInstallerHook.waitForServiceChanges(OsgiInstallerHook.java:410) > at > org.apache.sling.installer.provider.installhook.OsgiInstallerHook.execute(OsgiInstallerHook.java:201) > at > org.apache.jackrabbit.vault.packaging.impl.InstallHookProcessorImpl.execute(InstallHookProcessorImpl.java:148) > [org.apache.jackrabbit.vault:3.1.44] > at > org.apache.jackrabbit.vault.packaging.impl.ZipVaultPackage.extract(ZipVaultPackage.java:241) > [org.apache.jackrabbit.vault:3.1.44] > at > org.apache.jackrabbit.vault.packaging.impl.JcrPackageImpl.extract(JcrPackageImpl.java:398) > [org.apache.jackrabbit.vault:3.1.44] > at > org.apache.jackrabbit.vault.packaging.impl.JcrPackageImpl.extract(JcrPackageImpl.java:357) > [org.apache.jackrabbit.vault:3.1.44] > at > org.apache.jackrabbit.vault.packaging.impl.JcrPackageImpl.install(JcrPackageImpl.java:351) > [org.apache.jackrabbit.vault:3.1.44] > at > com.day.crx.packmgr.impl.servlets.ServiceServlet.doInstall(ServiceServlet.java:437) > [com.adobe.granite.crx-packagemgr:1.2.60] > at > com.day.crx.packmgr.impl.servlets.ServiceServlet.upload(ServiceServlet.java:512) > [com.adobe.granite.crx-packagemgr:1.2.60] > at > com.day.crx.packmgr.impl.servlets.ServiceServlet.doService(ServiceServlet.java:180) > [com.adobe.granite.crx-packagemgr:1.2.60] > at > com.day.crx.packmgr.impl.AbstractServlet.service(AbstractServlet.java:54) > [com.adobe.granite.crx-packagemgr:1.2.60] > at com.day.crx.packmgr.impl.MainServlet.doService(MainServlet.java:157) > [com.adobe.granite.crx-packagemgr:1.2.60] > at com.day.crx.packmgr.impl.MainServlet.service(MainServlet.java:134) > [com.adobe.granite.crx-packagemgr:1.2.60] > at > org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:120) > [org.apache.felix.http.jetty:3.4.7.B012] > at > org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:86) > [org.apache.felix.http.jetty:3.4.7.B012] > at > com.adobe.granite.cors.impl.CORSHandler.doFilter(CORSHandler.java:120) > [com.adobe.granite.cors:1.0.6] > at > org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:135) >
[jira] [Commented] (SLING-8032) Add a MOJO which is able to validate JSON Feature file against the JSON Schema
[ https://issues.apache.org/jira/browse/SLING-8032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16679695#comment-16679695 ] ASF GitHub Bot commented on SLING-8032: --- cziegeler commented on issue #11: SLING-8032 - Add a MOJO which is able to validate JSON Feature file against the JSON Schema URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/11#issuecomment-436978949 Yes, an invalid json can't be read anyway This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a MOJO which is able to validate JSON Feature file against the JSON Schema > -- > > Key: SLING-8032 > URL: https://issues.apache.org/jira/browse/SLING-8032 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > While SLING-7990 contributed the Schema definition, I would like to > contribute a simple MOJO which is able to validate Feature files against the > Schema. > JSON Schema validation does not fit as an {{AnalyserTask}} implementation, > since {{Feature}} instances are parsed already here, anyway the {{Analyser}} > takes in charge semantic analysis, while JSON Schema validation is is strict > about syntax and structure, this is why I would have a separated MOJO which > can be optionally enabled. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8032) Add a MOJO which is able to validate JSON Feature file against the JSON Schema
[ https://issues.apache.org/jira/browse/SLING-8032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16679931#comment-16679931 ] ASF GitHub Bot commented on SLING-8032: --- cziegeler commented on issue #11: SLING-8032 - Add a MOJO which is able to validate JSON Feature file against the JSON Schema URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/11#issuecomment-437047260 Hi @simonetripodi Could you please rebase your branch against master? The listed changes contain a lot of stuff from master This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a MOJO which is able to validate JSON Feature file against the JSON Schema > -- > > Key: SLING-8032 > URL: https://issues.apache.org/jira/browse/SLING-8032 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > While SLING-7990 contributed the Schema definition, I would like to > contribute a simple MOJO which is able to validate Feature files against the > Schema. > JSON Schema validation does not fit as an {{AnalyserTask}} implementation, > since {{Feature}} instances are parsed already here, anyway the {{Analyser}} > takes in charge semantic analysis, while JSON Schema validation is is strict > about syntax and structure, this is why I would have a separated MOJO which > can be optionally enabled. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8032) Add a MOJO which is able to validate JSON Feature file against the JSON Schema
[ https://issues.apache.org/jira/browse/SLING-8032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16679626#comment-16679626 ] ASF GitHub Bot commented on SLING-8032: --- simonetripodi commented on issue #11: SLING-8032 - Add a MOJO which is able to validate JSON Feature file against the JSON Schema URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/11#issuecomment-436962821 @cziegeler there is one problem on accessing to Feature files via `ProjectHelper#getFeatures`: they are parsed. So, if our internal JSON parser detects a violation, there will be no chance the Feature file will ever be validated due to runtime errors, i.e.: ``` [main] [ERROR] Internal error: java.lang.RuntimeException: Unable to read feature /Users/stripodi/Documents/cq-workspace/sling-slingfeature-maven-plugin/target/it/schema-validation-ko/src/main/features/invalid-feature.json: /Users/stripodi/Documents/cq-workspace/sling-slingfeature-maven-plugin/target/it/schema-validation-ko/src/main/features/invalid-feature.json : Key model-version is not one of the allowed types [class java.lang.String] : class java.lang.Long -> [Help 1] org.apache.maven.InternalErrorException: Internal error: java.lang.RuntimeException: Unable to read feature /Users/stripodi/Documents/cq-workspace/sling-slingfeature-maven-plugin/target/it/schema-validation-ko/src/main/features/invalid-feature.json ``` Any idea on how to work around this? TIA! This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a MOJO which is able to validate JSON Feature file against the JSON Schema > -- > > Key: SLING-8032 > URL: https://issues.apache.org/jira/browse/SLING-8032 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > While SLING-7990 contributed the Schema definition, I would like to > contribute a simple MOJO which is able to validate Feature files against the > Schema. > JSON Schema validation does not fit as an {{AnalyserTask}} implementation, > since {{Feature}} instances are parsed already here, anyway the {{Analyser}} > takes in charge semantic analysis, while JSON Schema validation is is strict > about syntax and structure, this is why I would have a separated MOJO which > can be optionally enabled. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8032) Add a MOJO which is able to validate JSON Feature file against the JSON Schema
[ https://issues.apache.org/jira/browse/SLING-8032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16679660#comment-16679660 ] ASF GitHub Bot commented on SLING-8032: --- simonetripodi commented on issue #11: SLING-8032 - Add a MOJO which is able to validate JSON Feature file against the JSON Schema URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/11#issuecomment-436972355 OK, so validation is turned _on_ by default? This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a MOJO which is able to validate JSON Feature file against the JSON Schema > -- > > Key: SLING-8032 > URL: https://issues.apache.org/jira/browse/SLING-8032 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > While SLING-7990 contributed the Schema definition, I would like to > contribute a simple MOJO which is able to validate Feature files against the > Schema. > JSON Schema validation does not fit as an {{AnalyserTask}} implementation, > since {{Feature}} instances are parsed already here, anyway the {{Analyser}} > takes in charge semantic analysis, while JSON Schema validation is is strict > about syntax and structure, this is why I would have a separated MOJO which > can be optionally enabled. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8085) Incorporate layering optimizations for cross layer dependencies
[ https://issues.apache.org/jira/browse/SLING-8085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16679818#comment-16679818 ] ASF GitHub Bot commented on SLING-8085: --- DominikSuess opened a new pull request #4: SLING-8085 - adjusting ContentHandler to properly incorporating layer… URL: https://github.com/apache/sling-org-apache-sling-feature-extension-content/pull/4 …ing flow as implemented in JCRVLT-319 (based on SNAPSHOT for now) / adding testcoverage This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Incorporate layering optimizations for cross layer dependencies > --- > > Key: SLING-8085 > URL: https://issues.apache.org/jira/browse/SLING-8085 > Project: Sling > Issue Type: Improvement > Components: Feature Model >Reporter: Dominik Süß >Priority: Major > > In case an exeuction plan on a higher level depends on artifacts of a lower > level the exeuctionplan builder currently generates install wrong and > uncessary install tasks to fill the gap. This scenario is covered in > JCRVLT-319 and requires adoption of the consumer. > This ticket is to track incorporation of this optimization into the content > extension making use of this new mechanism. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8032) Add a MOJO which is able to validate JSON Feature file against the JSON Schema
[ https://issues.apache.org/jira/browse/SLING-8032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16679332#comment-16679332 ] ASF GitHub Bot commented on SLING-8032: --- cziegeler commented on issue #11: SLING-8032 - Add a MOJO which is able to validate JSON Feature file against the JSON Schema URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/11#issuecomment-436885201 While a general purpose JSON schema mojo would be nice, I see at least two problems with this: - the configuration of where the json files are and which are included / excluded needs to be sync'ed with the configuration of where feature files are. Usually not a big deal as everyone uses the default configuration but as soon as you don't it can be come a subtle problem - the reference to the json schema needs to reference an external schema for the general purpose (a url). This might become tricky as you make sure that your schema is available publically in the internet and is accessible at build time I would rather prefer that we really only validate feature files. This way we can leverage the ProjectHelper.getFeatures to get the features. This method returns a map, and the key of each entry is the file path. This allows access to the raw feature files without having to repeat the configuration and the scanning logic. In addition if we bake in the schema for feature files we don't have any external dependency This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a MOJO which is able to validate JSON Feature file against the JSON Schema > -- > > Key: SLING-8032 > URL: https://issues.apache.org/jira/browse/SLING-8032 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > While SLING-7990 contributed the Schema definition, I would like to > contribute a simple MOJO which is able to validate Feature files against the > Schema. > JSON Schema validation does not fit as an {{AnalyserTask}} implementation, > since {{Feature}} instances are parsed already here, anyway the {{Analyser}} > takes in charge semantic analysis, while JSON Schema validation is is strict > about syntax and structure, this is why I would have a separated MOJO which > can be optionally enabled. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8032) Add a MOJO which is able to validate JSON Feature file against the JSON Schema
[ https://issues.apache.org/jira/browse/SLING-8032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16679610#comment-16679610 ] ASF GitHub Bot commented on SLING-8032: --- cziegeler closed pull request #11: SLING-8032 - Add a MOJO which is able to validate JSON Feature file against the JSON Schema URL: https://github.com/apache/sling-org-apache-sling-feature-io/pull/11 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a MOJO which is able to validate JSON Feature file against the JSON Schema > -- > > Key: SLING-8032 > URL: https://issues.apache.org/jira/browse/SLING-8032 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > While SLING-7990 contributed the Schema definition, I would like to > contribute a simple MOJO which is able to validate Feature files against the > Schema. > JSON Schema validation does not fit as an {{AnalyserTask}} implementation, > since {{Feature}} instances are parsed already here, anyway the {{Analyser}} > takes in charge semantic analysis, while JSON Schema validation is is strict > about syntax and structure, this is why I would have a separated MOJO which > can be optionally enabled. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8077) Transform ContentOrderMergeProcessor into MergeHandler
[ https://issues.apache.org/jira/browse/SLING-8077?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16679715#comment-16679715 ] ASF GitHub Bot commented on SLING-8077: --- bosschaert closed pull request #3: SLING-8077 - adding testcoverage and processing of source & target ev… URL: https://github.com/apache/sling-org-apache-sling-feature-extension-content/pull/3 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/pom.xml b/pom.xml index f5c121d..e467dcf 100644 --- a/pom.xml +++ b/pom.xml @@ -192,5 +192,18 @@ 1.3.1 compile + + +junit +junit +test + + + +org.mockito +mockito-core +2.23.0 +test + diff --git a/src/main/java/org/apache/sling/feature/extension/content/ContentOrderMergeProcessor.java b/src/main/java/org/apache/sling/feature/extension/content/ContentOrderMergeProcessor.java index 05b1133..9289e4c 100644 --- a/src/main/java/org/apache/sling/feature/extension/content/ContentOrderMergeProcessor.java +++ b/src/main/java/org/apache/sling/feature/extension/content/ContentOrderMergeProcessor.java @@ -24,13 +24,15 @@ import org.apache.sling.feature.KeyValueMap; import org.apache.sling.feature.builder.HandlerContext; import org.apache.sling.feature.builder.MergeHandler; -import org.apache.sling.feature.builder.PostProcessHandler; public class ContentOrderMergeProcessor implements MergeHandler { -private static final String DEFAULT_CONTENT_START_ORDER = "default.content.startorder"; +public static final String DEFAULT_CONTENT_START_ORDER = "default.content.startorder"; -private void processFeature(HandlerContext context, Feature feature, Extension extension) { +private void processFeature(Feature feature, Extension extension) { +if (feature == null) { +return; +} String defaultOrder = feature.getVariables().get(DEFAULT_CONTENT_START_ORDER); if (defaultOrder != null) { for (Artifact a : extension.getArtifacts()) { @@ -51,12 +53,14 @@ public boolean canMerge(Extension extension) { @Override public void merge(HandlerContext context, Feature target, Feature source, Extension targetEx, Extension sourceEx) { + +processFeature(target, targetEx); +processFeature(source, sourceEx); + if (targetEx == null) { target.getExtensions().add(sourceEx); return; } -processFeature(context, target, targetEx); -processFeature(context, source, sourceEx); for (final Artifact a : sourceEx.getArtifacts()) { boolean replace = true; final Artifact existing = targetEx.getArtifacts().getSame(a.getId()); diff --git a/src/test/java/org/apache/sling/feature/extension/content/ContentOrderMergeProcessorTest.java b/src/test/java/org/apache/sling/feature/extension/content/ContentOrderMergeProcessorTest.java new file mode 100644 index 000..15c5b8f --- /dev/null +++ b/src/test/java/org/apache/sling/feature/extension/content/ContentOrderMergeProcessorTest.java @@ -0,0 +1,124 @@ +/* + * 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 org.apache.sling.feature.extension.content; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; + +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +import org.apache.sling.feature.Artifact; +import org.apache.sling.feature.ArtifactId; +import org.apache.sling.feature.Artifacts; +import org.apache.sling.feature.Extension; +import org.apache.sling.feature.ExtensionType; +import org.apache.sling.feature.Feature; +import org.apache.sling.feature.builder.HandlerContext; +import org.junit.Test; +import org.mockito.Mock; + +public class ContentOrderMergeProcessorTest
[jira] [Commented] (SLING-8032) Add a MOJO which is able to validate JSON Feature file against the JSON Schema
[ https://issues.apache.org/jira/browse/SLING-8032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16679563#comment-16679563 ] ASF GitHub Bot commented on SLING-8032: --- cziegeler commented on issue #11: SLING-8032 - Add a MOJO which is able to validate JSON Feature file against the JSON Schema URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/11#issuecomment-436945663 I think the schema should be part of the feature-io module as this is doing the json handling. Totally agree with a single place. We can add the schema as a resource to the feature-io bundle and the maven plugin can pick it up from there This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a MOJO which is able to validate JSON Feature file against the JSON Schema > -- > > Key: SLING-8032 > URL: https://issues.apache.org/jira/browse/SLING-8032 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > While SLING-7990 contributed the Schema definition, I would like to > contribute a simple MOJO which is able to validate Feature files against the > Schema. > JSON Schema validation does not fit as an {{AnalyserTask}} implementation, > since {{Feature}} instances are parsed already here, anyway the {{Analyser}} > takes in charge semantic analysis, while JSON Schema validation is is strict > about syntax and structure, this is why I would have a separated MOJO which > can be optionally enabled. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8032) Add a MOJO which is able to validate JSON Feature file against the JSON Schema
[ https://issues.apache.org/jira/browse/SLING-8032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16679497#comment-16679497 ] ASF GitHub Bot commented on SLING-8032: --- simonetripodi commented on issue #11: SLING-8032 - Add a MOJO which is able to validate JSON Feature file against the JSON Schema URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/11#issuecomment-436930253 I got it, thanks @cziegeler for the feedback - I get back to work to apply those modifications! This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a MOJO which is able to validate JSON Feature file against the JSON Schema > -- > > Key: SLING-8032 > URL: https://issues.apache.org/jira/browse/SLING-8032 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > While SLING-7990 contributed the Schema definition, I would like to > contribute a simple MOJO which is able to validate Feature files against the > Schema. > JSON Schema validation does not fit as an {{AnalyserTask}} implementation, > since {{Feature}} instances are parsed already here, anyway the {{Analyser}} > takes in charge semantic analysis, while JSON Schema validation is is strict > about syntax and structure, this is why I would have a separated MOJO which > can be optionally enabled. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8032) Add a MOJO which is able to validate JSON Feature file against the JSON Schema
[ https://issues.apache.org/jira/browse/SLING-8032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16679969#comment-16679969 ] ASF GitHub Bot commented on SLING-8032: --- cziegeler commented on a change in pull request #17: SLING-8032 - Add a MOJO which is able to validate JSON Feature file against the JSON Schema URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/17#discussion_r231959908 ## File path: src/main/java/org/apache/sling/feature/maven/Preprocessor.java ## @@ -256,6 +305,8 @@ protected void readProjectFeatures( throw new RuntimeException("Unable to read feature " + file.getAbsolutePath(), io); } +checkFeatureFileValidation(file); + Review comment: If you validate the file, the validation might fail as the "id" property might not be set, this will be set by calling the next method, so validation should happen within that method This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a MOJO which is able to validate JSON Feature file against the JSON Schema > -- > > Key: SLING-8032 > URL: https://issues.apache.org/jira/browse/SLING-8032 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > While SLING-7990 contributed the Schema definition, I would like to > contribute a simple MOJO which is able to validate Feature files against the > Schema. > JSON Schema validation does not fit as an {{AnalyserTask}} implementation, > since {{Feature}} instances are parsed already here, anyway the {{Analyser}} > takes in charge semantic analysis, while JSON Schema validation is is strict > about syntax and structure, this is why I would have a separated MOJO which > can be optionally enabled. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8032) Add a MOJO which is able to validate JSON Feature file against the JSON Schema
[ https://issues.apache.org/jira/browse/SLING-8032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16679960#comment-16679960 ] ASF GitHub Bot commented on SLING-8032: --- simonetripodi commented on issue #11: SLING-8032 - Add a MOJO which is able to validate JSON Feature file against the JSON Schema URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/11#issuecomment-437055060 @cziegeler please refer to https://github.com/apache/sling-slingfeature-maven-plugin/pull/17 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a MOJO which is able to validate JSON Feature file against the JSON Schema > -- > > Key: SLING-8032 > URL: https://issues.apache.org/jira/browse/SLING-8032 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > While SLING-7990 contributed the Schema definition, I would like to > contribute a simple MOJO which is able to validate Feature files against the > Schema. > JSON Schema validation does not fit as an {{AnalyserTask}} implementation, > since {{Feature}} instances are parsed already here, anyway the {{Analyser}} > takes in charge semantic analysis, while JSON Schema validation is is strict > about syntax and structure, this is why I would have a separated MOJO which > can be optionally enabled. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8032) Add a MOJO which is able to validate JSON Feature file against the JSON Schema
[ https://issues.apache.org/jira/browse/SLING-8032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16679959#comment-16679959 ] ASF GitHub Bot commented on SLING-8032: --- simonetripodi opened a new pull request #17: SLING-8032 - Add a MOJO which is able to validate JSON Feature file against the JSON Schema URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/17 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a MOJO which is able to validate JSON Feature file against the JSON Schema > -- > > Key: SLING-8032 > URL: https://issues.apache.org/jira/browse/SLING-8032 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > While SLING-7990 contributed the Schema definition, I would like to > contribute a simple MOJO which is able to validate Feature files against the > Schema. > JSON Schema validation does not fit as an {{AnalyserTask}} implementation, > since {{Feature}} instances are parsed already here, anyway the {{Analyser}} > takes in charge semantic analysis, while JSON Schema validation is is strict > about syntax and structure, this is why I would have a separated MOJO which > can be optionally enabled. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8032) Add a MOJO which is able to validate JSON Feature file against the JSON Schema
[ https://issues.apache.org/jira/browse/SLING-8032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16679582#comment-16679582 ] ASF GitHub Bot commented on SLING-8032: --- cziegeler commented on issue #11: SLING-8032 - Add a MOJO which is able to validate JSON Feature file against the JSON Schema URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/11#issuecomment-436951654 sounds good to me This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a MOJO which is able to validate JSON Feature file against the JSON Schema > -- > > Key: SLING-8032 > URL: https://issues.apache.org/jira/browse/SLING-8032 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > While SLING-7990 contributed the Schema definition, I would like to > contribute a simple MOJO which is able to validate Feature files against the > Schema. > JSON Schema validation does not fit as an {{AnalyserTask}} implementation, > since {{Feature}} instances are parsed already here, anyway the {{Analyser}} > takes in charge semantic analysis, while JSON Schema validation is is strict > about syntax and structure, this is why I would have a separated MOJO which > can be optionally enabled. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8032) Add a MOJO which is able to validate JSON Feature file against the JSON Schema
[ https://issues.apache.org/jira/browse/SLING-8032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16679968#comment-16679968 ] ASF GitHub Bot commented on SLING-8032: --- cziegeler commented on a change in pull request #17: SLING-8032 - Add a MOJO which is able to validate JSON Feature file against the JSON Schema URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/17#discussion_r231959205 ## File path: src/main/java/org/apache/sling/feature/maven/Preprocessor.java ## @@ -404,6 +455,7 @@ public Feature provide(final ArtifactId id) { // "external" dependency, we can already resolve it final File featureFile = ProjectHelper.getOrResolveArtifact(info.project, env.session, env.artifactHandlerManager, env.resolver, id).getFile(); + checkFeatureFileValidation(featureFile); Review comment: I think we should not validate external features as these are released in maven already and therefore should be validated already This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a MOJO which is able to validate JSON Feature file against the JSON Schema > -- > > Key: SLING-8032 > URL: https://issues.apache.org/jira/browse/SLING-8032 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > While SLING-7990 contributed the Schema definition, I would like to > contribute a simple MOJO which is able to validate Feature files against the > Schema. > JSON Schema validation does not fit as an {{AnalyserTask}} implementation, > since {{Feature}} instances are parsed already here, anyway the {{Analyser}} > takes in charge semantic analysis, while JSON Schema validation is is strict > about syntax and structure, this is why I would have a separated MOJO which > can be optionally enabled. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8032) Add a MOJO which is able to validate JSON Feature file against the JSON Schema
[ https://issues.apache.org/jira/browse/SLING-8032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16679602#comment-16679602 ] ASF GitHub Bot commented on SLING-8032: --- simonetripodi opened a new pull request #11: SLING-8032 - Add a MOJO which is able to validate JSON Feature file against the JSON Schema URL: https://github.com/apache/sling-org-apache-sling-feature-io/pull/11 schema definition moved from sling-org-apache-sling-feature to sling-org-apache-sling-feature-io This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a MOJO which is able to validate JSON Feature file against the JSON Schema > -- > > Key: SLING-8032 > URL: https://issues.apache.org/jira/browse/SLING-8032 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > While SLING-7990 contributed the Schema definition, I would like to > contribute a simple MOJO which is able to validate Feature files against the > Schema. > JSON Schema validation does not fit as an {{AnalyserTask}} implementation, > since {{Feature}} instances are parsed already here, anyway the {{Analyser}} > takes in charge semantic analysis, while JSON Schema validation is is strict > about syntax and structure, this is why I would have a separated MOJO which > can be optionally enabled. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8032) Add a MOJO which is able to validate JSON Feature file against the JSON Schema
[ https://issues.apache.org/jira/browse/SLING-8032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16679926#comment-16679926 ] ASF GitHub Bot commented on SLING-8032: --- simonetripodi commented on issue #11: SLING-8032 - Add a MOJO which is able to validate JSON Feature file against the JSON Schema URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/11#issuecomment-437044956 Hi @cziegeler please check the updated branch, validation is now in the `Preprocessor` and proposed MOJO does not exist anymore. Any feedback will be more than appreciated :) This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a MOJO which is able to validate JSON Feature file against the JSON Schema > -- > > Key: SLING-8032 > URL: https://issues.apache.org/jira/browse/SLING-8032 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > While SLING-7990 contributed the Schema definition, I would like to > contribute a simple MOJO which is able to validate Feature files against the > Schema. > JSON Schema validation does not fit as an {{AnalyserTask}} implementation, > since {{Feature}} instances are parsed already here, anyway the {{Analyser}} > takes in charge semantic analysis, while JSON Schema validation is is strict > about syntax and structure, this is why I would have a separated MOJO which > can be optionally enabled. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8077) Transform ContentOrderMergeProcessor into MergeHandler
[ https://issues.apache.org/jira/browse/SLING-8077?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16679650#comment-16679650 ] ASF GitHub Bot commented on SLING-8077: --- DominikSuess opened a new pull request #3: SLING-8077 - adding testcoverage and processing of source & target ev… URL: https://github.com/apache/sling-org-apache-sling-feature-extension-content/pull/3 …en when being null This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Transform ContentOrderMergeProcessor into MergeHandler > -- > > Key: SLING-8077 > URL: https://issues.apache.org/jira/browse/SLING-8077 > Project: Sling > Issue Type: Improvement > Components: Feature Model >Reporter: Dominik Süß >Priority: Major > > ContentOrderMergeProcessor as implemented in "Featuremodel - Content > Deployment Exension" currently postprocesses features after merge to set the > default start-order. this only works for cases where features with same order > are getting merged and mandates a sequential merge of features of different > order. > To tackle this issue the extension should take over the actual merge which > allows to preprocess the features before merging and setting the defaults > according to the defaults declared in the particular features before doing > the merge. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8032) Add a MOJO which is able to validate JSON Feature file against the JSON Schema
[ https://issues.apache.org/jira/browse/SLING-8032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16679942#comment-16679942 ] ASF GitHub Bot commented on SLING-8032: --- simonetripodi edited a comment on issue #11: SLING-8032 - Add a MOJO which is able to validate JSON Feature file against the JSON Schema URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/11#issuecomment-437049507 Sure, just give me few minutes, I'll fill a new PR from a fresh new branch! This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a MOJO which is able to validate JSON Feature file against the JSON Schema > -- > > Key: SLING-8032 > URL: https://issues.apache.org/jira/browse/SLING-8032 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > While SLING-7990 contributed the Schema definition, I would like to > contribute a simple MOJO which is able to validate Feature files against the > Schema. > JSON Schema validation does not fit as an {{AnalyserTask}} implementation, > since {{Feature}} instances are parsed already here, anyway the {{Analyser}} > takes in charge semantic analysis, while JSON Schema validation is is strict > about syntax and structure, this is why I would have a separated MOJO which > can be optionally enabled. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8032) Add a MOJO which is able to validate JSON Feature file against the JSON Schema
[ https://issues.apache.org/jira/browse/SLING-8032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16679638#comment-16679638 ] ASF GitHub Bot commented on SLING-8032: --- cziegeler commented on issue #11: SLING-8032 - Add a MOJO which is able to validate JSON Feature file against the JSON Schema URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/11#issuecomment-436965172 Ah yes, you're right of course. the validation is too late. So we should probably move the validation out of the mojo into the Preprocessor (which reads the json files). The method preprocessFeature looks like a good place to add the validation. This method currently does - variable substitution - adds the "id" property if it is missing So I think we should change that method to: - add the "id" property if it is missing - validate the feature - variable substitution This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a MOJO which is able to validate JSON Feature file against the JSON Schema > -- > > Key: SLING-8032 > URL: https://issues.apache.org/jira/browse/SLING-8032 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > While SLING-7990 contributed the Schema definition, I would like to > contribute a simple MOJO which is able to validate Feature files against the > Schema. > JSON Schema validation does not fit as an {{AnalyserTask}} implementation, > since {{Feature}} instances are parsed already here, anyway the {{Analyser}} > takes in charge semantic analysis, while JSON Schema validation is is strict > about syntax and structure, this is why I would have a separated MOJO which > can be optionally enabled. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8032) Add a MOJO which is able to validate JSON Feature file against the JSON Schema
[ https://issues.apache.org/jira/browse/SLING-8032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16679571#comment-16679571 ] ASF GitHub Bot commented on SLING-8032: --- simonetripodi commented on issue #11: SLING-8032 - Add a MOJO which is able to validate JSON Feature file against the JSON Schema URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/11#issuecomment-436948124 awesome - would it be OK to have it under `META-INF/feature` or better something else? This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a MOJO which is able to validate JSON Feature file against the JSON Schema > -- > > Key: SLING-8032 > URL: https://issues.apache.org/jira/browse/SLING-8032 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > While SLING-7990 contributed the Schema definition, I would like to > contribute a simple MOJO which is able to validate Feature files against the > Schema. > JSON Schema validation does not fit as an {{AnalyserTask}} implementation, > since {{Feature}} instances are parsed already here, anyway the {{Analyser}} > takes in charge semantic analysis, while JSON Schema validation is is strict > about syntax and structure, this is why I would have a separated MOJO which > can be optionally enabled. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8032) Add a MOJO which is able to validate JSON Feature file against the JSON Schema
[ https://issues.apache.org/jira/browse/SLING-8032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16680037#comment-16680037 ] ASF GitHub Bot commented on SLING-8032: --- simonetripodi commented on a change in pull request #17: SLING-8032 - Add a MOJO which is able to validate JSON Feature file against the JSON Schema URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/17#discussion_r231987768 ## File path: src/main/java/org/apache/sling/feature/maven/Preprocessor.java ## @@ -256,6 +305,8 @@ protected void readProjectFeatures( throw new RuntimeException("Unable to read feature " + file.getAbsolutePath(), io); } +checkFeatureFileValidation(file); + Review comment: I got it - please check my latest commit, validation now happens `preprocessFeature` invocation :P This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a MOJO which is able to validate JSON Feature file against the JSON Schema > -- > > Key: SLING-8032 > URL: https://issues.apache.org/jira/browse/SLING-8032 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > While SLING-7990 contributed the Schema definition, I would like to > contribute a simple MOJO which is able to validate Feature files against the > Schema. > JSON Schema validation does not fit as an {{AnalyserTask}} implementation, > since {{Feature}} instances are parsed already here, anyway the {{Analyser}} > takes in charge semantic analysis, while JSON Schema validation is is strict > about syntax and structure, this is why I would have a separated MOJO which > can be optionally enabled. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8032) Add a MOJO which is able to validate JSON Feature file against the JSON Schema
[ https://issues.apache.org/jira/browse/SLING-8032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16680055#comment-16680055 ] ASF GitHub Bot commented on SLING-8032: --- cziegeler closed pull request #17: SLING-8032 - Add a MOJO which is able to validate JSON Feature file against the JSON Schema URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/17 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a MOJO which is able to validate JSON Feature file against the JSON Schema > -- > > Key: SLING-8032 > URL: https://issues.apache.org/jira/browse/SLING-8032 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > While SLING-7990 contributed the Schema definition, I would like to > contribute a simple MOJO which is able to validate Feature files against the > Schema. > JSON Schema validation does not fit as an {{AnalyserTask}} implementation, > since {{Feature}} instances are parsed already here, anyway the {{Analyser}} > takes in charge semantic analysis, while JSON Schema validation is is strict > about syntax and structure, this is why I would have a separated MOJO which > can be optionally enabled. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8032) Add a MOJO which is able to validate JSON Feature file against the JSON Schema
[ https://issues.apache.org/jira/browse/SLING-8032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16680023#comment-16680023 ] ASF GitHub Bot commented on SLING-8032: --- cziegeler commented on a change in pull request #17: SLING-8032 - Add a MOJO which is able to validate JSON Feature file against the JSON Schema URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/17#discussion_r231982937 ## File path: src/main/java/org/apache/sling/feature/maven/Preprocessor.java ## @@ -256,6 +305,8 @@ protected void readProjectFeatures( throw new RuntimeException("Unable to read feature " + file.getAbsolutePath(), io); } +checkFeatureFileValidation(file); + Review comment: The id is completely missing :) This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a MOJO which is able to validate JSON Feature file against the JSON Schema > -- > > Key: SLING-8032 > URL: https://issues.apache.org/jira/browse/SLING-8032 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > While SLING-7990 contributed the Schema definition, I would like to > contribute a simple MOJO which is able to validate Feature files against the > Schema. > JSON Schema validation does not fit as an {{AnalyserTask}} implementation, > since {{Feature}} instances are parsed already here, anyway the {{Analyser}} > takes in charge semantic analysis, while JSON Schema validation is is strict > about syntax and structure, this is why I would have a separated MOJO which > can be optionally enabled. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8032) Add a MOJO which is able to validate JSON Feature file against the JSON Schema
[ https://issues.apache.org/jira/browse/SLING-8032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16680052#comment-16680052 ] ASF GitHub Bot commented on SLING-8032: --- cziegeler commented on issue #17: SLING-8032 - Add a MOJO which is able to validate JSON Feature file against the JSON Schema URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/17#issuecomment-437086598 Thanks for the all the work @simonetripodi This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a MOJO which is able to validate JSON Feature file against the JSON Schema > -- > > Key: SLING-8032 > URL: https://issues.apache.org/jira/browse/SLING-8032 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > While SLING-7990 contributed the Schema definition, I would like to > contribute a simple MOJO which is able to validate Feature files against the > Schema. > JSON Schema validation does not fit as an {{AnalyserTask}} implementation, > since {{Feature}} instances are parsed already here, anyway the {{Analyser}} > takes in charge semantic analysis, while JSON Schema validation is is strict > about syntax and structure, this is why I would have a separated MOJO which > can be optionally enabled. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8032) Add a MOJO which is able to validate JSON Feature file against the JSON Schema
[ https://issues.apache.org/jira/browse/SLING-8032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16679975#comment-16679975 ] ASF GitHub Bot commented on SLING-8032: --- simonetripodi commented on a change in pull request #17: SLING-8032 - Add a MOJO which is able to validate JSON Feature file against the JSON Schema URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/17#discussion_r231961797 ## File path: src/main/java/org/apache/sling/feature/maven/Preprocessor.java ## @@ -404,6 +455,7 @@ public Feature provide(final ArtifactId id) { // "external" dependency, we can already resolve it final File featureFile = ProjectHelper.getOrResolveArtifact(info.project, env.session, env.artifactHandlerManager, env.resolver, id).getFile(); + checkFeatureFileValidation(featureFile); Review comment: makes sense, I'll drop that This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a MOJO which is able to validate JSON Feature file against the JSON Schema > -- > > Key: SLING-8032 > URL: https://issues.apache.org/jira/browse/SLING-8032 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > While SLING-7990 contributed the Schema definition, I would like to > contribute a simple MOJO which is able to validate Feature files against the > Schema. > JSON Schema validation does not fit as an {{AnalyserTask}} implementation, > since {{Feature}} instances are parsed already here, anyway the {{Analyser}} > takes in charge semantic analysis, while JSON Schema validation is is strict > about syntax and structure, this is why I would have a separated MOJO which > can be optionally enabled. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8032) Add a MOJO which is able to validate JSON Feature file against the JSON Schema
[ https://issues.apache.org/jira/browse/SLING-8032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16679981#comment-16679981 ] ASF GitHub Bot commented on SLING-8032: --- simonetripodi commented on a change in pull request #17: SLING-8032 - Add a MOJO which is able to validate JSON Feature file against the JSON Schema URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/17#discussion_r231964057 ## File path: src/main/java/org/apache/sling/feature/maven/Preprocessor.java ## @@ -256,6 +305,8 @@ protected void readProjectFeatures( throw new RuntimeException("Unable to read feature " + file.getAbsolutePath(), io); } +checkFeatureFileValidation(file); + Review comment: not yet interpolated variables in the `id` field are not an issue under Validation point of view, the Schema Validator just checks the `id` is a String and that looks like a MVN id/url This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a MOJO which is able to validate JSON Feature file against the JSON Schema > -- > > Key: SLING-8032 > URL: https://issues.apache.org/jira/browse/SLING-8032 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > While SLING-7990 contributed the Schema definition, I would like to > contribute a simple MOJO which is able to validate Feature files against the > Schema. > JSON Schema validation does not fit as an {{AnalyserTask}} implementation, > since {{Feature}} instances are parsed already here, anyway the {{Analyser}} > takes in charge semantic analysis, while JSON Schema validation is is strict > about syntax and structure, this is why I would have a separated MOJO which > can be optionally enabled. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SLING-8032) Add a MOJO which is able to validate JSON Feature file against the JSON Schema
[ https://issues.apache.org/jira/browse/SLING-8032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16680051#comment-16680051 ] ASF GitHub Bot commented on SLING-8032: --- simonetripodi commented on a change in pull request #17: SLING-8032 - Add a MOJO which is able to validate JSON Feature file against the JSON Schema URL: https://github.com/apache/sling-slingfeature-maven-plugin/pull/17#discussion_r231987768 ## File path: src/main/java/org/apache/sling/feature/maven/Preprocessor.java ## @@ -256,6 +305,8 @@ protected void readProjectFeatures( throw new RuntimeException("Unable to read feature " + file.getAbsolutePath(), io); } +checkFeatureFileValidation(file); + Review comment: I got it - please check my latest commit, validation now happens over `preprocessFeature` invocation result :P This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Add a MOJO which is able to validate JSON Feature file against the JSON Schema > -- > > Key: SLING-8032 > URL: https://issues.apache.org/jira/browse/SLING-8032 > Project: Sling > Issue Type: Improvement > Components: Feature Model, Maven Plugins and Archetypes >Reporter: Simone Tripodi >Assignee: David Bosschaert >Priority: Major > Fix For: slingfeature-maven-plugin 1.0.0 > > > While SLING-7990 contributed the Schema definition, I would like to > contribute a simple MOJO which is able to validate Feature files against the > Schema. > JSON Schema validation does not fit as an {{AnalyserTask}} implementation, > since {{Feature}} instances are parsed already here, anyway the {{Analyser}} > takes in charge semantic analysis, while JSON Schema validation is is strict > about syntax and structure, this is why I would have a separated MOJO which > can be optionally enabled. > PR is coming -- This message was sent by Atlassian JIRA (v7.6.3#76005)