[jira] [Commented] (MSITE-1000) Allow parametrisation of Doxia parser per file
[ https://issues.apache.org/jira/browse/MSITE-1000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17842664#comment-17842664 ] ASF GitHub Bot commented on MSITE-1000: --- michael-o commented on PR #177: URL: https://github.com/apache/maven-site-plugin/pull/177#issuecomment-2088535907 Here is a fix: https://github.com/apache/maven-plugin-tools/pull/281 > Allow parametrisation of Doxia parser per file > -- > > Key: MSITE-1000 > URL: https://issues.apache.org/jira/browse/MSITE-1000 > Project: Maven Site Plugin > Issue Type: New Feature > Components: doxia integration >Reporter: Konrad Windszus >Assignee: Konrad Windszus >Priority: Major > > Currently only the attributes used for rendering the site can be > parameterized in > https://maven.apache.org/plugins/maven-site-plugin/site-mojo.html#attributes. > There is no possibility to configure the parser in > https://github.com/apache/maven-doxia-sitetools/blob/dacaa552c1b8e89eed84db0f43b6b0a72be91d0c/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java#L322 > per document. > This would be nice in the context of > https://issues.apache.org/jira/browse/DOXIA-722 where generation of anchors > should be switched on/off for certain documents. Also generation of comments > may be desirable for certain documents. > I propose the following additional plugin goal parameter: > {code} > > > > **/apt/** > > false > true > > > {code} > where {{parserConfigurations}} is an array of a complex type with (include) > patterns on the source path (String array) and boolean methods for features. > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MSITE-1000) Allow parametrisation of Doxia parser per file
[ https://issues.apache.org/jira/browse/MSITE-1000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17842648#comment-17842648 ] ASF GitHub Bot commented on MSITE-1000: --- michael-o commented on PR #177: URL: https://github.com/apache/maven-site-plugin/pull/177#issuecomment-2088483641 The bug is in `org.apache.maven.tools.plugin.generator.PluginDescriptorFilesGenerator.getJavadocUrlForType(JavadocLinkGenerator, String)`. I guess it should until all generics are resolved. > Allow parametrisation of Doxia parser per file > -- > > Key: MSITE-1000 > URL: https://issues.apache.org/jira/browse/MSITE-1000 > Project: Maven Site Plugin > Issue Type: New Feature > Components: doxia integration >Reporter: Konrad Windszus >Assignee: Konrad Windszus >Priority: Major > > Currently only the attributes used for rendering the site can be > parameterized in > https://maven.apache.org/plugins/maven-site-plugin/site-mojo.html#attributes. > There is no possibility to configure the parser in > https://github.com/apache/maven-doxia-sitetools/blob/dacaa552c1b8e89eed84db0f43b6b0a72be91d0c/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java#L322 > per document. > This would be nice in the context of > https://issues.apache.org/jira/browse/DOXIA-722 where generation of anchors > should be switched on/off for certain documents. Also generation of comments > may be desirable for certain documents. > I propose the following additional plugin goal parameter: > {code} > > > > **/apt/** > > false > true > > > {code} > where {{parserConfigurations}} is an array of a complex type with (include) > patterns on the source path (String array) and boolean methods for features. > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MSITE-1000) Allow parametrisation of Doxia parser per file
[ https://issues.apache.org/jira/browse/MSITE-1000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17842597#comment-17842597 ] ASF GitHub Bot commented on MSITE-1000: --- michael-o commented on PR #177: URL: https://github.com/apache/maven-site-plugin/pull/177#issuecomment-2088245135 It also fails with: `Error generating maven-plugin-report-plugin:3.12.0:report report:` > Allow parametrisation of Doxia parser per file > -- > > Key: MSITE-1000 > URL: https://issues.apache.org/jira/browse/MSITE-1000 > Project: Maven Site Plugin > Issue Type: New Feature > Components: doxia integration >Reporter: Konrad Windszus >Assignee: Konrad Windszus >Priority: Major > > Currently only the attributes used for rendering the site can be > parameterized in > https://maven.apache.org/plugins/maven-site-plugin/site-mojo.html#attributes. > There is no possibility to configure the parser in > https://github.com/apache/maven-doxia-sitetools/blob/dacaa552c1b8e89eed84db0f43b6b0a72be91d0c/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java#L322 > per document. > This would be nice in the context of > https://issues.apache.org/jira/browse/DOXIA-722 where generation of anchors > should be switched on/off for certain documents. Also generation of comments > may be desirable for certain documents. > I propose the following additional plugin goal parameter: > {code} > > > > **/apt/** > > false > true > > > {code} > where {{parserConfigurations}} is an array of a complex type with (include) > patterns on the source path (String array) and boolean methods for features. > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MSITE-1000) Allow parametrisation of Doxia parser per file
[ https://issues.apache.org/jira/browse/MSITE-1000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17842573#comment-17842573 ] ASF GitHub Bot commented on MSITE-1000: --- michael-o commented on code in PR #177: URL: https://github.com/apache/maven-site-plugin/pull/177#discussion_r1585980633 ## src/main/java/org/apache/maven/plugins/site/render/ParserConfiguratorImpl.java: ## @@ -0,0 +1,156 @@ +/* + * 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.maven.plugins.site.render; + +import java.io.Closeable; +import java.io.IOException; +import java.nio.file.FileSystem; +import java.nio.file.FileSystems; +import java.nio.file.Path; +import java.nio.file.PathMatcher; +import java.util.Collection; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.stream.Collectors; + +import org.apache.maven.doxia.parser.Parser; +import org.apache.maven.doxia.siterenderer.ParserConfigurator; +import org.apache.maven.plugin.descriptor.MojoDescriptor; +import org.codehaus.plexus.PlexusContainer; +import org.codehaus.plexus.component.configurator.ComponentConfigurationException; +import org.codehaus.plexus.component.configurator.ComponentConfigurator; +import org.codehaus.plexus.component.repository.exception.ComponentLifecycleException; +import org.codehaus.plexus.component.repository.exception.ComponentLookupException; +import org.codehaus.plexus.configuration.PlexusConfiguration; + +/** + * Configures a parser based on a {@link PlexusConfiguration} for a particular parser id and optionally matching one of multiple patterns. + * It internally leverages the {@link ComponentConfigurator} for calling the right methods inside the parser implementation. + */ +public class ParserConfiguratorImpl implements ParserConfigurator, Closeable { + +private static final class ParserConfigurationKey { + +ParserConfigurationKey(String parserId, PlexusConfiguration patternsConfiguration) { +this(parserId, PlexusConfigurationUtils.getStringArrayValues(patternsConfiguration)); +} + +ParserConfigurationKey(String parserId, Collection patterns) { +this.parserId = parserId; +// lazily populate all matchers +matchers = patterns.stream() +.map(p -> FileSystems.getDefault().getPathMatcher(p)) +.collect(Collectors.toList()); Review Comment: I am fine with that. > Allow parametrisation of Doxia parser per file > -- > > Key: MSITE-1000 > URL: https://issues.apache.org/jira/browse/MSITE-1000 > Project: Maven Site Plugin > Issue Type: New Feature > Components: doxia integration >Reporter: Konrad Windszus >Assignee: Konrad Windszus >Priority: Major > > Currently only the attributes used for rendering the site can be > parameterized in > https://maven.apache.org/plugins/maven-site-plugin/site-mojo.html#attributes. > There is no possibility to configure the parser in > https://github.com/apache/maven-doxia-sitetools/blob/dacaa552c1b8e89eed84db0f43b6b0a72be91d0c/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java#L322 > per document. > This would be nice in the context of > https://issues.apache.org/jira/browse/DOXIA-722 where generation of anchors > should be switched on/off for certain documents. Also generation of comments > may be desirable for certain documents. > I propose the following additional plugin goal parameter: > {code} > > > > **/apt/** > > false > true > > > {code} > where {{parserConfigurations}} is an array of a complex type with (include) > patterns on the source path (String array) and boolean methods for features. > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MSITE-1000) Allow parametrisation of Doxia parser per file
[ https://issues.apache.org/jira/browse/MSITE-1000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17842266#comment-17842266 ] ASF GitHub Bot commented on MSITE-1000: --- michael-o commented on PR #177: URL: https://github.com/apache/maven-site-plugin/pull/177#issuecomment-2084555013 I will happily review again after #185 has been merged. > Allow parametrisation of Doxia parser per file > -- > > Key: MSITE-1000 > URL: https://issues.apache.org/jira/browse/MSITE-1000 > Project: Maven Site Plugin > Issue Type: New Feature > Components: doxia integration >Reporter: Konrad Windszus >Assignee: Konrad Windszus >Priority: Major > > Currently only the attributes used for rendering the site can be > parameterized in > https://maven.apache.org/plugins/maven-site-plugin/site-mojo.html#attributes. > There is no possibility to configure the parser in > https://github.com/apache/maven-doxia-sitetools/blob/dacaa552c1b8e89eed84db0f43b6b0a72be91d0c/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java#L322 > per document. > This would be nice in the context of > https://issues.apache.org/jira/browse/DOXIA-722 where generation of anchors > should be switched on/off for certain documents. Also generation of comments > may be desirable for certain documents. > I propose the following additional plugin goal parameter: > {code} > > > > **/apt/** > > false > true > > > {code} > where {{parserConfigurations}} is an array of a complex type with (include) > patterns on the source path (String array) and boolean methods for features. > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MSITE-1000) Allow parametrisation of Doxia parser per file
[ https://issues.apache.org/jira/browse/MSITE-1000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17842108#comment-17842108 ] ASF GitHub Bot commented on MSITE-1000: --- kwin commented on code in PR #177: URL: https://github.com/apache/maven-site-plugin/pull/177#discussion_r1583435793 ## src/main/java/org/apache/maven/plugins/site/render/ParserConfiguratorImpl.java: ## @@ -0,0 +1,156 @@ +/* + * 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.maven.plugins.site.render; + +import java.io.Closeable; +import java.io.IOException; +import java.nio.file.FileSystem; +import java.nio.file.FileSystems; +import java.nio.file.Path; +import java.nio.file.PathMatcher; +import java.util.Collection; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.stream.Collectors; + +import org.apache.maven.doxia.parser.Parser; +import org.apache.maven.doxia.siterenderer.ParserConfigurator; +import org.apache.maven.plugin.descriptor.MojoDescriptor; +import org.codehaus.plexus.PlexusContainer; +import org.codehaus.plexus.component.configurator.ComponentConfigurationException; +import org.codehaus.plexus.component.configurator.ComponentConfigurator; +import org.codehaus.plexus.component.repository.exception.ComponentLifecycleException; +import org.codehaus.plexus.component.repository.exception.ComponentLookupException; +import org.codehaus.plexus.configuration.PlexusConfiguration; + +/** + * Configures a parser based on a {@link PlexusConfiguration} for a particular parser id and optionally matching one of multiple patterns. + * It internally leverages the {@link ComponentConfigurator} for calling the right methods inside the parser implementation. + */ +public class ParserConfiguratorImpl implements ParserConfigurator, Closeable { + +private static final class ParserConfigurationKey { + +ParserConfigurationKey(String parserId, PlexusConfiguration patternsConfiguration) { +this(parserId, PlexusConfigurationUtils.getStringArrayValues(patternsConfiguration)); +} + +ParserConfigurationKey(String parserId, Collection patterns) { +this.parserId = parserId; +// lazily populate all matchers +matchers = patterns.stream() +.map(p -> FileSystems.getDefault().getPathMatcher(p)) +.collect(Collectors.toList()); Review Comment: Hopefully the javadoc comment on the affected parameter is clear enough. I really don't want to rely on plexus classes for the ant pattern support. > Allow parametrisation of Doxia parser per file > -- > > Key: MSITE-1000 > URL: https://issues.apache.org/jira/browse/MSITE-1000 > Project: Maven Site Plugin > Issue Type: New Feature > Components: doxia integration >Reporter: Konrad Windszus >Assignee: Konrad Windszus >Priority: Major > > Currently only the attributes used for rendering the site can be > parameterized in > https://maven.apache.org/plugins/maven-site-plugin/site-mojo.html#attributes. > There is no possibility to configure the parser in > https://github.com/apache/maven-doxia-sitetools/blob/dacaa552c1b8e89eed84db0f43b6b0a72be91d0c/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java#L322 > per document. > This would be nice in the context of > https://issues.apache.org/jira/browse/DOXIA-722 where generation of anchors > should be switched on/off for certain documents. Also generation of comments > may be desirable for certain documents. > I propose the following additional plugin goal parameter: > {code} > > > > **/apt/** > > false > true > > > {code} > where {{parserConfigurations}} is an array of a complex type with (include) > patterns on the source path (String array) and boolean methods for features. > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MSITE-1000) Allow parametrisation of Doxia parser per file
[ https://issues.apache.org/jira/browse/MSITE-1000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17842105#comment-17842105 ] ASF GitHub Bot commented on MSITE-1000: --- kwin commented on code in PR #177: URL: https://github.com/apache/maven-site-plugin/pull/177#discussion_r1583427213 ## src/main/java/org/apache/maven/plugins/site/render/AbstractSiteRenderingMojo.java: ## @@ -94,6 +97,37 @@ public abstract class AbstractSiteRenderingMojo extends AbstractSiteDescriptorMo @Parameter private Map attributes; +/** + * Parser configurations (per matching Doxia markup source file path patterns). + * Each configuration item has the following format: + * + * + *+ * + * + * + * glob:**/*.md Allow parametrisation of Doxia parser per file > -- > > Key: MSITE-1000 > URL: https://issues.apache.org/jira/browse/MSITE-1000 > Project: Maven Site Plugin > Issue Type: New Feature > Components: doxia integration >Reporter: Konrad Windszus >Assignee: Konrad Windszus >Priority: Major > > Currently only the attributes used for rendering the site can be > parameterized in > https://maven.apache.org/plugins/maven-site-plugin/site-mojo.html#attributes. > There is no possibility to configure the parser in > https://github.com/apache/maven-doxia-sitetools/blob/dacaa552c1b8e89eed84db0f43b6b0a72be91d0c/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java#L322 > per document. > This would be nice in the context of > https://issues.apache.org/jira/browse/DOXIA-722 where generation of anchors > should be switched on/off for certain documents. Also generation of comments > may be desirable for certain documents. > I propose the following additional plugin goal parameter: > {code} > > > > **/apt/** > > false > true > > > {code} > where {{parserConfigurations}} is an array of a complex type with (include) > patterns on the source path (String array) and boolean methods for features. > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MSITE-1000) Allow parametrisation of Doxia parser per file
[ https://issues.apache.org/jira/browse/MSITE-1000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17839082#comment-17839082 ] ASF GitHub Bot commented on MSITE-1000: --- michael-o commented on code in PR #177: URL: https://github.com/apache/maven-site-plugin/pull/177#discussion_r1572746343 ## src/main/java/org/apache/maven/plugins/site/render/ParserConfiguratorImpl.java: ## @@ -0,0 +1,156 @@ +/* + * 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.maven.plugins.site.render; + +import java.io.Closeable; +import java.io.IOException; +import java.nio.file.FileSystem; +import java.nio.file.FileSystems; +import java.nio.file.Path; +import java.nio.file.PathMatcher; +import java.util.Collection; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.stream.Collectors; + +import org.apache.maven.doxia.parser.Parser; +import org.apache.maven.doxia.siterenderer.ParserConfigurator; +import org.apache.maven.plugin.descriptor.MojoDescriptor; +import org.codehaus.plexus.PlexusContainer; +import org.codehaus.plexus.component.configurator.ComponentConfigurationException; +import org.codehaus.plexus.component.configurator.ComponentConfigurator; +import org.codehaus.plexus.component.repository.exception.ComponentLifecycleException; +import org.codehaus.plexus.component.repository.exception.ComponentLookupException; +import org.codehaus.plexus.configuration.PlexusConfiguration; + +/** + * Configures a parser based on a {@link PlexusConfiguration} for a particular parser id and optionally matching one of multiple patterns. + * It internally leverages the {@link ComponentConfigurator} for calling the right methods inside the parser implementation. + */ +public class ParserConfiguratorImpl implements ParserConfigurator, Closeable { + +private static final class ParserConfigurationKey { + +ParserConfigurationKey(String parserId, PlexusConfiguration patternsConfiguration) { +this(parserId, PlexusConfigurationUtils.getStringArrayValues(patternsConfiguration)); +} + +ParserConfigurationKey(String parserId, Collection patterns) { +this.parserId = parserId; +// lazily populate all matchers +matchers = patterns.stream() +.map(p -> FileSystems.getDefault().getPathMatcher(p)) +.collect(Collectors.toList()); Review Comment: I wonder how this might deviate from what we use to match path patterns. I not opposing, just mentioning. People are used the stuff we have with Plexus matching. Keep that in mind. ## src/main/java/org/apache/maven/plugins/site/render/ParserConfiguratorImpl.java: ## @@ -0,0 +1,156 @@ +/* + * 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.maven.plugins.site.render; + +import java.io.Closeable; +import java.io.IOException; +import java.nio.file.FileSystem; +import java.nio.file.FileSystems; +import java.nio.file.Path; +import java.nio.file.PathMatcher; +import java.util.Collection; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.stream.Collectors; + +import org.apache.maven.doxia.parser.Parser; +import org.apache.maven.doxia.siterenderer.ParserConfigurator; +import org.apache
[jira] [Commented] (MSITE-1000) Allow parametrisation of Doxia parser per file
[ https://issues.apache.org/jira/browse/MSITE-1000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17839078#comment-17839078 ] ASF GitHub Bot commented on MSITE-1000: --- michael-o commented on code in PR #177: URL: https://github.com/apache/maven-site-plugin/pull/177#discussion_r1572744522 ## src/main/java/org/apache/maven/plugins/site/render/AbstractSiteRenderingMojo.java: ## @@ -94,6 +97,37 @@ public abstract class AbstractSiteRenderingMojo extends AbstractSiteDescriptorMo @Parameter private Map attributes; +/** + * Parser configurations (per matching Doxia markup source file path patterns). + * Each configuration item has the following format: + * + * + *+ * + * + * + * glob:**/*.md Allow parametrisation of Doxia parser per file > -- > > Key: MSITE-1000 > URL: https://issues.apache.org/jira/browse/MSITE-1000 > Project: Maven Site Plugin > Issue Type: New Feature > Components: doxia integration >Reporter: Konrad Windszus >Assignee: Konrad Windszus >Priority: Major > > Currently only the attributes used for rendering the site can be > parameterized in > https://maven.apache.org/plugins/maven-site-plugin/site-mojo.html#attributes. > There is no possibility to configure the parser in > https://github.com/apache/maven-doxia-sitetools/blob/dacaa552c1b8e89eed84db0f43b6b0a72be91d0c/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java#L322 > per document. > This would be nice in the context of > https://issues.apache.org/jira/browse/DOXIA-722 where generation of anchors > should be switched on/off for certain documents. Also generation of comments > may be desirable for certain documents. > I propose the following additional plugin goal parameter: > {code} > > > > **/apt/** > > false > true > > > {code} > where {{parserConfigurations}} is an array of a complex type with (include) > patterns on the source path (String array) and boolean methods for features. > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MSITE-1000) Allow parametrisation of Doxia parser per file
[ https://issues.apache.org/jira/browse/MSITE-1000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17829225#comment-17829225 ] ASF GitHub Bot commented on MSITE-1000: --- kwin opened a new pull request, #177: URL: https://github.com/apache/maven-site-plugin/pull/177 This leverages PlexusConfigurator under the hood Requires https://github.com/apache/maven-doxia-sitetools/pull/140. > Allow parametrisation of Doxia parser per file > -- > > Key: MSITE-1000 > URL: https://issues.apache.org/jira/browse/MSITE-1000 > Project: Maven Site Plugin > Issue Type: New Feature > Components: doxia integration >Reporter: Konrad Windszus >Assignee: Konrad Windszus >Priority: Major > > Currently only the attributes used for rendering the site can be > parameterized in > https://maven.apache.org/plugins/maven-site-plugin/site-mojo.html#attributes. > There is no possibility to configure the parser in > https://github.com/apache/maven-doxia-sitetools/blob/dacaa552c1b8e89eed84db0f43b6b0a72be91d0c/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java#L322 > per document. > This would be nice in the context of > https://issues.apache.org/jira/browse/DOXIA-722 where generation of anchors > should be switched on/off for certain documents. Also generation of comments > may be desirable for certain documents. > I propose the following additional plugin goal parameter: > {code} > > > > **/apt/** > > false > true > > > {code} > where {{parserConfigurations}} is an array of a complex type with (include) > patterns on the source path (String array) and boolean methods for features. > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MSITE-1000) Allow parametrisation of Doxia parser per file
[ https://issues.apache.org/jira/browse/MSITE-1000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17828485#comment-17828485 ] Michael Osipov commented on MSITE-1000: --- Good idea, similar to the Maven Release Plugin. > Allow parametrisation of Doxia parser per file > -- > > Key: MSITE-1000 > URL: https://issues.apache.org/jira/browse/MSITE-1000 > Project: Maven Site Plugin > Issue Type: New Feature > Components: doxia integration >Reporter: Konrad Windszus >Assignee: Konrad Windszus >Priority: Major > > Currently only the attributes used for rendering the site can be > parameterized in > https://maven.apache.org/plugins/maven-site-plugin/site-mojo.html#attributes. > There is no possibility to configure the parser in > https://github.com/apache/maven-doxia-sitetools/blob/dacaa552c1b8e89eed84db0f43b6b0a72be91d0c/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java#L322 > per document. > This would be nice in the context of > https://issues.apache.org/jira/browse/DOXIA-722 where generation of anchors > should be switched on/off for certain documents. Also generation of comments > may be desirable for certain documents. > I propose the following additional plugin goal parameter: > {code} > > > > **/apt/** > > false > true > > > {code} > where {{parserConfigurations}} is an array of a complex type with (include) > patterns on the source path (String array) and boolean methods for features. > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MSITE-1000) Allow parametrisation of Doxia parser per file
[ https://issues.apache.org/jira/browse/MSITE-1000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17828482#comment-17828482 ] Konrad Windszus commented on MSITE-1000: I think the most flexible way is to introduce a configuration leveraging {{Xpp3Dom}} and https://github.com/eclipse/sisu.plexus/blob/master/org.eclipse.sisu.plexus/src/main/java/org/codehaus/plexus/component/configurator/ComponentConfigurator.java. That way the actual parameter names depend on the underlying parser and the injection would work the same as for Mojo parameters. This would just require {{doxia-site-tools}} to allow to pass a callback in the format {{Consumer parserConfigurator}}. > Allow parametrisation of Doxia parser per file > -- > > Key: MSITE-1000 > URL: https://issues.apache.org/jira/browse/MSITE-1000 > Project: Maven Site Plugin > Issue Type: New Feature > Components: doxia integration >Reporter: Konrad Windszus >Assignee: Konrad Windszus >Priority: Major > > Currently only the attributes used for rendering the site can be > parameterized in > https://maven.apache.org/plugins/maven-site-plugin/site-mojo.html#attributes. > There is no possibility to configure the parser in > https://github.com/apache/maven-doxia-sitetools/blob/dacaa552c1b8e89eed84db0f43b6b0a72be91d0c/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java#L322 > per document. > This would be nice in the context of > https://issues.apache.org/jira/browse/DOXIA-722 where generation of anchors > should be switched on/off for certain documents. Also generation of comments > may be desirable for certain documents. > I propose the following additional plugin goal parameter: > {code} > > > > **/apt/** > > false > true > > > {code} > where {{parserConfigurations}} is an array of a complex type with (include) > patterns on the source path (String array) and boolean methods for features. > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MSITE-1000) Allow parametrisation of Doxia parser per file
[ https://issues.apache.org/jira/browse/MSITE-1000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17807467#comment-17807467 ] Abel Salgado Romero commented on MSITE-1000: If I understand, this story is to allow clean configuration of other modules. If it helps, you can have a look at how we hacked our way around the limitations. It's similar to the proposal. This improvement is very appreciated and I look forward to seeing this completed. Here is how we do it, we added a custom element `` to the configuration, which we simply parsed by hand accessing the POM's XML (obviously IDE complain, but it works): * Get Xpp3Dom [https://github.com/asciidoctor/asciidoctor-maven-plugin/blob/80c699035933aae133afaf9592bcc065c3d41b74/src/main/java/org/asciidoctor/maven/site/AsciidoctorDoxiaParser.java#L106-L108] * Parse XML by hand to generate converted API object [https://github.com/asciidoctor/asciidoctor-maven-plugin/blob/80c699035933aae133afaf9592bcc065c3d41b74/src/main/java/org/asciidoctor/maven/site/SiteConversionConfigurationParser.java#L46-L80] * Pass the specific API object to the converter [https://github.com/asciidoctor/asciidoctor-maven-plugin/blob/80c699035933aae133afaf9592bcc065c3d41b74/src/main/java/org/asciidoctor/maven/site/AsciidoctorDoxiaParser.java#L79] The parser configuration is varied, strings (some could be enums), booleans, and free key-value maps. My only issue with the example is `parserConfigurations`, there should be a way to identify the config owner, you could have AsciiDoc and MarkDown and each one requires different configuation. I like having the tag be called `` **/apt/** **/apt/** Instead of something with a tag like: asciidoc **/apt/** markdownc **/apt/** > Allow parametrisation of Doxia parser per file > -- > > Key: MSITE-1000 > URL: https://issues.apache.org/jira/browse/MSITE-1000 > Project: Maven Site Plugin > Issue Type: New Feature > Components: doxia integration >Reporter: Konrad Windszus >Assignee: Konrad Windszus >Priority: Major > > Currently only the attributes used for rendering the site can be > parameterized in > https://maven.apache.org/plugins/maven-site-plugin/site-mojo.html#attributes. > There is no possibility to configure the parser in > https://github.com/apache/maven-doxia-sitetools/blob/dacaa552c1b8e89eed84db0f43b6b0a72be91d0c/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java#L322 > per document. > This would be nice in the context of > https://issues.apache.org/jira/browse/DOXIA-722 where generation of anchors > should be switched on/off for certain documents. Also generation of comments > may be desirable for certain documents. > I propose the following additional plugin goal parameter: > {code} > > > > **/apt/** > > false > true > > > {code} > where {{parserConfigurations}} is an array of a complex type with (include) > patterns on the source path (String array) and boolean methods for features. > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MSITE-1000) Allow parametrisation of Doxia parser per file
[ https://issues.apache.org/jira/browse/MSITE-1000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17806266#comment-17806266 ] ASF GitHub Bot commented on MSITE-1000: --- michael-o commented on PR #171: URL: https://github.com/apache/maven-site-plugin/pull/171#issuecomment-1890398224 @kwin Can you adapt to recent changes to the sitetools PR? I'd like to review this today. > Allow parametrisation of Doxia parser per file > -- > > Key: MSITE-1000 > URL: https://issues.apache.org/jira/browse/MSITE-1000 > Project: Maven Site Plugin > Issue Type: New Feature > Components: doxia integration >Reporter: Konrad Windszus >Assignee: Konrad Windszus >Priority: Major > > Currently only the attributes used for rendering the site can be > parameterized in > https://maven.apache.org/plugins/maven-site-plugin/site-mojo.html#attributes. > There is no possibility to configure the parser in > https://github.com/apache/maven-doxia-sitetools/blob/dacaa552c1b8e89eed84db0f43b6b0a72be91d0c/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java#L322 > per document. > This would be nice in the context of > https://issues.apache.org/jira/browse/DOXIA-722 where generation of anchors > should be switched on/off for certain documents. Also generation of comments > may be desirable for certain documents. > I propose the following additional plugin goal parameter: > {code} > > > > **/apt/** > > false > true > > > {code} > where {{parserConfigurations}} is an array of a complex type with (include) > patterns on the source path (String array) and boolean methods for features. > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MSITE-1000) Allow parametrisation of Doxia parser per file
[ https://issues.apache.org/jira/browse/MSITE-1000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17803997#comment-17803997 ] ASF GitHub Bot commented on MSITE-1000: --- michael-o commented on code in PR #171: URL: https://github.com/apache/maven-site-plugin/pull/171#discussion_r1444061958 ## src/main/java/org/apache/maven/plugins/site/render/ReportDocumentRenderer.java: ## @@ -131,6 +131,7 @@ public Sink createSink(File outputDirectory, String outputName) { docRenderingContext.getBasedirRelativePath(), document, docRenderingContext.getParserId(), +docRenderingContext.getParserConfiguration(), // TODO: use another config? Review Comment: This does not make sense for reports. > Allow parametrisation of Doxia parser per file > -- > > Key: MSITE-1000 > URL: https://issues.apache.org/jira/browse/MSITE-1000 > Project: Maven Site Plugin > Issue Type: New Feature >Reporter: Konrad Windszus >Priority: Major > > Currently only the attributes used for rendering the site can be > parameterized in > https://maven.apache.org/plugins/maven-site-plugin/site-mojo.html#attributes. > There is no possibility to configure the parser in > https://github.com/apache/maven-doxia-sitetools/blob/dacaa552c1b8e89eed84db0f43b6b0a72be91d0c/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java#L322 > per document. > This would be nice in the context of > https://issues.apache.org/jira/browse/DOXIA-722 where generation of anchors > should be switched on/off for certain documents. Also generation of comments > may be desirable for certain documents. > I propose the following additional plugin goal parameter: > {code} > > > > **/apt/** > > false > true > > > {code} > where {{parserConfigurations}} is an array of a complex type with (include) > patterns on the source path (String array) and boolean methods for features. > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MSITE-1000) Allow parametrisation of Doxia parser per file
[ https://issues.apache.org/jira/browse/MSITE-1000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17801932#comment-17801932 ] ASF GitHub Bot commented on MSITE-1000: --- kwin commented on code in PR #171: URL: https://github.com/apache/maven-site-plugin/pull/171#discussion_r1439879467 ## src/main/java/org/apache/maven/plugins/site/render/ParserConfiguration.java: ## @@ -0,0 +1,72 @@ +/* + * 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.maven.plugins.site.render; + +import java.util.LinkedList; +import java.util.List; + +import org.apache.maven.shared.utils.io.MatchPattern; +import org.apache.maven.shared.utils.io.MatchPatterns; + +public class ParserConfiguration { + +/** + * List of {@link MatchPattern} strings. If not set this configurations applies to all documents. + */ +private final List patterns; +/** + * @see {@link Parser#setEmitComments(boolean)} + */ +private boolean emitComments; +/** + * @see {@link Parser#setEmitAnchorsForIndexableEntries(boolean)} + */ +private boolean emitAnchorsForIndexableEntries; + +public ParserConfiguration() { +patterns = new LinkedList<>(); +} + +public boolean isEmitComments() { +return emitComments; +} + +public void setEmitComments(boolean emitComments) { +this.emitComments = emitComments; +} + +public boolean isEmitAnchorsForIndexableEntries() { +return emitAnchorsForIndexableEntries; +} + +public void setEmitAnchorsForIndexableEntries(boolean emitAnchorsForIndexableEntries) { +this.emitAnchorsForIndexableEntries = emitAnchorsForIndexableEntries; +} + +public void addPattern(String pattern) { +patterns.add(pattern); +} + +public MatchPatterns getPatterns() { Review Comment: Returning a Predicate on the file name is probably better instead of exposing the impl here. > Allow parametrisation of Doxia parser per file > -- > > Key: MSITE-1000 > URL: https://issues.apache.org/jira/browse/MSITE-1000 > Project: Maven Site Plugin > Issue Type: New Feature >Reporter: Konrad Windszus >Priority: Major > > Currently only the attributes used for rendering the site can be > parameterized in > https://maven.apache.org/plugins/maven-site-plugin/site-mojo.html#attributes. > There is no possibility to configure the parser in > https://github.com/apache/maven-doxia-sitetools/blob/dacaa552c1b8e89eed84db0f43b6b0a72be91d0c/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java#L322 > per document. > This would be nice in the context of > https://issues.apache.org/jira/browse/DOXIA-710 where generation of anchors > should be switched on/off for certain documents. Also generation of comments > may be desirable for certain documents. > I propose the following additional plugin goal parameter: > {code} > > > > **/apt/** > > false > true > > > {code} > where {{parserConfigurations}} is an array of a complex type with (include) > patterns on the source path (String array) and boolean methods for features. > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MSITE-1000) Allow parametrisation of Doxia parser per file
[ https://issues.apache.org/jira/browse/MSITE-1000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17801345#comment-17801345 ] Michael Osipov commented on MSITE-1000: --- Congrats for creation the thousandth issue! > Allow parametrisation of Doxia parser per file > -- > > Key: MSITE-1000 > URL: https://issues.apache.org/jira/browse/MSITE-1000 > Project: Maven Site Plugin > Issue Type: New Feature >Reporter: Konrad Windszus >Priority: Major > > Currently only the attributes used for rendering the site can be > parameterized in > https://maven.apache.org/plugins/maven-site-plugin/site-mojo.html#attributes. > There is no possibility to configure the parser in > https://github.com/apache/maven-doxia-sitetools/blob/dacaa552c1b8e89eed84db0f43b6b0a72be91d0c/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java#L322 > per document. > This would be nice in the context of > https://issues.apache.org/jira/browse/DOXIA-710 where generation of anchors > should be switched on/off for certain documents. Also generation of comments > may be desirable for certain documents. > I propose the following additional plugin goal parameter: > {code} > > > > **/apt/** > > false > true > > > {code} > where {{parserConfigurations}} is an array of a complex type with (include) > patterns on the source path (String array) and boolean methods for features. > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MSITE-1000) Allow parametrisation of Doxia parser per file
[ https://issues.apache.org/jira/browse/MSITE-1000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17801330#comment-17801330 ] ASF GitHub Bot commented on MSITE-1000: --- kwin commented on code in PR #171: URL: https://github.com/apache/maven-site-plugin/pull/171#discussion_r1438573138 ## src/main/java/org/apache/maven/plugins/site/render/ParserConfiguration.java: ## @@ -0,0 +1,72 @@ +/* + * 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.maven.plugins.site.render; + +import java.util.LinkedList; +import java.util.List; + +import org.apache.maven.shared.utils.io.MatchPattern; +import org.apache.maven.shared.utils.io.MatchPatterns; + +public class ParserConfiguration { Review Comment: This is supposed to be passed to https://github.com/apache/maven-doxia-sitetools/blob/dacaa552c1b8e89eed84db0f43b6b0a72be91d0c/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/SiteRenderingContext.java > Allow parametrisation of Doxia parser per file > -- > > Key: MSITE-1000 > URL: https://issues.apache.org/jira/browse/MSITE-1000 > Project: Maven Site Plugin > Issue Type: New Feature >Reporter: Konrad Windszus >Priority: Major > > Currently only the attributes used for rendering the site can be > parameterized in > https://maven.apache.org/plugins/maven-site-plugin/site-mojo.html#attributes. > There is no possibility to configure the parser in > https://github.com/apache/maven-doxia-sitetools/blob/dacaa552c1b8e89eed84db0f43b6b0a72be91d0c/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java#L322 > per document. > This would be nice in the context of > https://issues.apache.org/jira/browse/DOXIA-710 where generation of anchors > should be switched on/off for certain documents. Also generation of comments > may be desirable for certain documents. > I propose the following additional plugin goal parameter: > {code} > > > > **/apt/** > > false > true > > > {code} > where {{parserConfigurations}} is an array of a complex type with (include) > patterns on the source path (String array) and boolean methods for features. > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MSITE-1000) Allow parametrisation of Doxia parser per file
[ https://issues.apache.org/jira/browse/MSITE-1000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17801329#comment-17801329 ] ASF GitHub Bot commented on MSITE-1000: --- kwin opened a new pull request, #171: URL: https://github.com/apache/maven-site-plugin/pull/171 This is WIP to gather early feedback > Allow parametrisation of Doxia parser per file > -- > > Key: MSITE-1000 > URL: https://issues.apache.org/jira/browse/MSITE-1000 > Project: Maven Site Plugin > Issue Type: New Feature >Reporter: Konrad Windszus >Priority: Major > > Currently only the attributes used for rendering the site can be > parameterized in > https://maven.apache.org/plugins/maven-site-plugin/site-mojo.html#attributes. > There is no possibility to configure the parser in > https://github.com/apache/maven-doxia-sitetools/blob/dacaa552c1b8e89eed84db0f43b6b0a72be91d0c/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java#L322 > per document. > This would be nice in the context of > https://issues.apache.org/jira/browse/DOXIA-710 where generation of anchors > should be switched on/off for certain documents. Also generation of comments > may be desirable for certain documents. > I propose the following additional plugin goal parameter: > {code} > > > > **/apt/** > > false > true > > > {code} > where {{parserConfigurations}} is an array of a complex type with (include) > patterns on the source path (String array) and boolean methods for features. > -- This message was sent by Atlassian Jira (v8.20.10#820010)