You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Bukama (via GitHub)" <gi...@apache.org> on 2025/01/11 21:13:13 UTC
[PR] [MNGSITE-368] Rephrase naming conventions [maven-site]
Bukama opened a new pull request, #642:
URL: https://github.com/apache/maven-site/pull/642
This PR rephrases the naming conventions as requested in [MNGSITE-368].
Page is also converted from apt to markdown.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [MNGSITE-368] Rephrase naming conventions [maven-site]
Posted by "mthmulders (via GitHub)" <gi...@apache.org>.
mthmulders commented on code in PR #642:
URL: https://github.com/apache/maven-site/pull/642#discussion_r1916072868
##########
content/markdown/guides/mini/guide-naming-conventions.md:
##########
@@ -0,0 +1,126 @@
+<!--
+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.
+-->
+
+<head>
+ <title>Naming conventions of Maven coordinates (groupId, artifactId, and version)</title>
+</head>
+
+# Naming convention of Maven coordinates
+
+So that Maven can identify and utilise any artifact (e.g. a `.jar` file), this artifact must be identifiable through a
+unique combination of three identifiers.
+This combination is called the "[Maven coordinates][4]".
+Maven coordinates consist of a project identifier named `groupId`, an artifact
+identifier named `artifactId`, and the version identifier named `version`.
+
+This document defines the naming conventions of Maven coordinates.
+
+You should follow this convention whenever you create a new artifact.
+
+## Project identifier
+
+The `groupId` uniquely identifies the project across all projects.
+Each `groupId` should follow [Java's package name rules][1].
+This means it starts with a reversed domain name you control.
+
+Examples
+
+```
+org.apache.maven
+org.apache.commons
+```
+
+There are many legacy projects that do not follow this convention and instead use single word group IDs.
+However, it will be difficult to get a new single word group ID approved for inclusion in the Maven Central repository.
Review Comment:
```suggestion
However, it will be difficult to get a new single word groupId approved for inclusion in the Maven Central repository.
```
##########
content/markdown/guides/mini/guide-naming-conventions.md:
##########
@@ -0,0 +1,126 @@
+<!--
+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.
+-->
+
+<head>
+ <title>Naming conventions of Maven coordinates (groupId, artifactId, and version)</title>
+</head>
+
+# Naming convention of Maven coordinates
+
+So that Maven can identify and utilise any artifact (e.g. a `.jar` file), this artifact must be identifiable through a
+unique combination of three identifiers.
+This combination is called the "[Maven coordinates][4]".
+Maven coordinates consist of a project identifier named `groupId`, an artifact
+identifier named `artifactId`, and the version identifier named `version`.
+
+This document defines the naming conventions of Maven coordinates.
+
+You should follow this convention whenever you create a new artifact.
+
+## Project identifier
+
+The `groupId` uniquely identifies the project across all projects.
+Each `groupId` should follow [Java's package name rules][1].
+This means it starts with a reversed domain name you control.
+
+Examples
+
+```
+org.apache.maven
+org.apache.commons
+```
+
+There are many legacy projects that do not follow this convention and instead use single word group IDs.
+However, it will be difficult to get a new single word group ID approved for inclusion in the Maven Central repository.
+
+You can create as many subgroups as you want.
+A good way to determine the granularity of the `groupId` is to use the project structure.
+If the current project contains multiple subprojects, each subproject should append a new identifier to the parent's
+`groupId`.
+
+Example
+
+```
+// Parent
+org.apache.maven
+
+// Subprojects
+org.apache.maven.plugins
+org.apache.maven.reporting
+```
+
+## Artifact identifier
+
+The `artifactId` is the name of the artifact and therefore should describe the artifacts content.
+The identifiers should only consist of *lowercase* letters, digits, and hyphens only.
Review Comment:
```suggestion
The identifiers should only consist of *lowercase* letters, digits, and hyphens.
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [MNGSITE-368] Rephrase naming conventions [maven-site]
Posted by "ascheman (via GitHub)" <gi...@apache.org>.
ascheman commented on PR #642:
URL: https://github.com/apache/maven-site/pull/642#issuecomment-2601026366
> > I consider it a good practice to follow the [_one sentence per line_](https://nick.groenen.me/notes/one-sentence-per-line/) convention, or at most to make line breaks at [semantical _units of thought_](https://sembr.org/).
>
> I do this, but the coding rules (enforced by spotless) will enforce line breaks mid sentence.
Would it make sense to adjust Spotless rules then?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [MNGSITE-368] Rephrase naming conventions [maven-site]
Posted by "mthmulders (via GitHub)" <gi...@apache.org>.
mthmulders commented on code in PR #642:
URL: https://github.com/apache/maven-site/pull/642#discussion_r1916323951
##########
content/markdown/guides/mini/guide-naming-conventions.md:
##########
@@ -0,0 +1,126 @@
+<!--
+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.
+-->
+
+<head>
+ <title>Naming conventions of Maven coordinates (groupId, artifactId, and version)</title>
+</head>
+
+# Naming convention of Maven coordinates
+
+So that Maven can identify and utilise any artifact (e.g. a `.jar` file), this artifact must be identifiable through a
+unique combination of three identifiers.
+This combination is called the "[Maven coordinates][4]".
+Maven coordinates consist of a project identifier named `groupId`, an artifact
+identifier named `artifactId`, and the version identifier named `version`.
+
+This document defines the naming conventions of Maven coordinates.
+
+You should follow this convention whenever you create a new artifact.
+
+## Project identifier
+
+The `groupId` uniquely identifies the project across all projects.
+Each `groupId` should follow [Java's package name rules][1].
+This means it starts with a reversed domain name you control.
+
+Examples
+
+```
+org.apache.maven
+org.apache.commons
+```
+
+There are many legacy projects that do not follow this convention and instead use single word group IDs.
+However, it will be difficult to get a new single word group ID approved for inclusion in the Maven Central repository.
Review Comment:
Good one, I agree with you.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [MNGSITE-368] Rephrase naming conventions [maven-site]
Posted by "Bukama (via GitHub)" <gi...@apache.org>.
Bukama commented on code in PR #642:
URL: https://github.com/apache/maven-site/pull/642#discussion_r1916934262
##########
content/markdown/guides/mini/guide-naming-conventions.md:
##########
@@ -0,0 +1,122 @@
+<!--
+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.
+-->
+
+<head>
+ <title>Naming conventions of Maven coordinates (groupId, artifactId, and version)</title>
+</head>
+
+# Naming convention of Maven coordinates
+
+So that Maven can identify and utilise any artifact (e.g. an `.jar` file), this artifact must be identifiable through a
+unique combination of three identifiers.
+This combination is called the "[Maven coordinates][4]" and consists of a project identifier (`groupId`), an artifact
+identifier (`artifactId`) and the version identifier (`version`).
+
+This document defines the naming conventions of Maven coordinates.
+
+You should follow this convention, whenever you create a new artifact, however Maven does not enforce any.
+
+## Project identifier
+
+The `groupId` uniquely identifies your project across all projects.
+Each `groupId` should follow [Java's package name rules][1].
+This means it starts with a reversed domain name you control.
+
+Examples
+
+```
+org.apache.maven
+org.apache.commons
+```
+
+There are many legacy projects that do not follow this convention and instead use single word group IDs.
+However, it will be difficult to get a new single word group ID approved for inclusion in the Maven Central repository.
+
+You can create as many subgroups as you want.
+A good way to determine the granularity of the `groupId` is to use the project structure.
+If the current project contains multiple subprojects, each subproject should append a new identifier to the parent's
Review Comment:
Note: Will think and update this section tomorrow or so. Don't have enough time today and want to re-read thoughts from Slack about this too.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [MNGSITE-368] Rephrase naming conventions [maven-site]
Posted by "elharo (via GitHub)" <gi...@apache.org>.
elharo commented on code in PR #642:
URL: https://github.com/apache/maven-site/pull/642#discussion_r1913045355
##########
content/markdown/guides/mini/guide-naming-conventions.md:
##########
@@ -0,0 +1,122 @@
+<!--
+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.
+-->
+
+<head>
+ <title>Naming conventions of Maven coordinates (groupId, artifactId, and version)</title>
+</head>
+
+# Naming convention of Maven coordinates
+
+So that Maven can identify and utilise any artifact (e.g. an `.jar` file), this artifact must be identifiable through a
Review Comment:
a .jar file
##########
content/markdown/guides/mini/guide-naming-conventions.md:
##########
@@ -0,0 +1,122 @@
+<!--
+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.
+-->
+
+<head>
+ <title>Naming conventions of Maven coordinates (groupId, artifactId, and version)</title>
+</head>
+
+# Naming convention of Maven coordinates
+
+So that Maven can identify and utilise any artifact (e.g. an `.jar` file), this artifact must be identifiable through a
+unique combination of three identifiers.
+This combination is called the "[Maven coordinates][4]" and consists of a project identifier (`groupId`), an artifact
+identifier (`artifactId`) and the version identifier (`version`).
+
+This document defines the naming conventions of Maven coordinates.
+
+You should follow this convention, whenever you create a new artifact, however Maven does not enforce any.
+
+## Project identifier
+
+The `groupId` uniquely identifies your project across all projects.
Review Comment:
Again "project" is taken in Maven 4 for something else. We need a different word.
Also, prefer third person where possible. It might not be "your" project.
##########
content/markdown/guides/mini/guide-naming-conventions.md:
##########
@@ -0,0 +1,122 @@
+<!--
+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.
+-->
+
+<head>
+ <title>Naming conventions of Maven coordinates (groupId, artifactId, and version)</title>
+</head>
+
+# Naming convention of Maven coordinates
+
+So that Maven can identify and utilise any artifact (e.g. an `.jar` file), this artifact must be identifiable through a
+unique combination of three identifiers.
+This combination is called the "[Maven coordinates][4]" and consists of a project identifier (`groupId`), an artifact
+identifier (`artifactId`) and the version identifier (`version`).
Review Comment:
comma after (`artifactId`)
also better to use fewer parentheses. E.g.
This combination is called the "[Maven coordinates][4]". Maven coordinates consist of a project identifier named `groupId`, an artifact identifier named `artifactId`, and a version identifier named `version`.
Also we need a better word than "project" here now that Maven 4 is using "project" for what we used to call a "module".
##########
content/markdown/guides/mini/guide-naming-conventions.md:
##########
@@ -0,0 +1,122 @@
+<!--
+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.
+-->
+
+<head>
+ <title>Naming conventions of Maven coordinates (groupId, artifactId, and version)</title>
+</head>
+
+# Naming convention of Maven coordinates
+
+So that Maven can identify and utilise any artifact (e.g. an `.jar` file), this artifact must be identifiable through a
+unique combination of three identifiers.
+This combination is called the "[Maven coordinates][4]" and consists of a project identifier (`groupId`), an artifact
+identifier (`artifactId`) and the version identifier (`version`).
+
+This document defines the naming conventions of Maven coordinates.
+
+You should follow this convention, whenever you create a new artifact, however Maven does not enforce any.
+
+## Project identifier
+
+The `groupId` uniquely identifies your project across all projects.
+Each `groupId` should follow [Java's package name rules][1].
+This means it starts with a reversed domain name you control.
+
+Examples
+
+```
+org.apache.maven
+org.apache.commons
+```
+
+There are many legacy projects that do not follow this convention and instead use single word group IDs.
+However, it will be difficult to get a new single word group ID approved for inclusion in the Maven Central repository.
+
+You can create as many subgroups as you want.
+A good way to determine the granularity of the `groupId` is to use the project structure.
+If the current project contains multiple subprojects, each subproject should append a new identifier to the parent's
+`groupId`.
+
+Example
+
+```
+// Parent
+org.apache.maven
+
+// Subprojects
+org.apache.maven.plugins
+org.apache.maven.reporting
+```
+
+## Artifact identifier
+
+The `artifactId` is the name of the artifact (without version) and therefore should describe the artifacts content.
Review Comment:
delete "(without version)"
##########
content/markdown/guides/mini/guide-naming-conventions.md:
##########
@@ -0,0 +1,122 @@
+<!--
+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.
+-->
+
+<head>
+ <title>Naming conventions of Maven coordinates (groupId, artifactId, and version)</title>
+</head>
+
+# Naming convention of Maven coordinates
+
+So that Maven can identify and utilise any artifact (e.g. an `.jar` file), this artifact must be identifiable through a
+unique combination of three identifiers.
+This combination is called the "[Maven coordinates][4]" and consists of a project identifier (`groupId`), an artifact
+identifier (`artifactId`) and the version identifier (`version`).
+
+This document defines the naming conventions of Maven coordinates.
+
+You should follow this convention, whenever you create a new artifact, however Maven does not enforce any.
+
+## Project identifier
+
+The `groupId` uniquely identifies your project across all projects.
+Each `groupId` should follow [Java's package name rules][1].
+This means it starts with a reversed domain name you control.
+
+Examples
+
+```
+org.apache.maven
+org.apache.commons
+```
+
+There are many legacy projects that do not follow this convention and instead use single word group IDs.
+However, it will be difficult to get a new single word group ID approved for inclusion in the Maven Central repository.
+
+You can create as many subgroups as you want.
+A good way to determine the granularity of the `groupId` is to use the project structure.
+If the current project contains multiple subprojects, each subproject should append a new identifier to the parent's
Review Comment:
Don't we usually keep the group ID and change the artifact ID in this case?
##########
content/markdown/guides/mini/guide-naming-conventions.md:
##########
@@ -0,0 +1,122 @@
+<!--
+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.
+-->
+
+<head>
+ <title>Naming conventions of Maven coordinates (groupId, artifactId, and version)</title>
+</head>
+
+# Naming convention of Maven coordinates
+
+So that Maven can identify and utilise any artifact (e.g. an `.jar` file), this artifact must be identifiable through a
+unique combination of three identifiers.
+This combination is called the "[Maven coordinates][4]" and consists of a project identifier (`groupId`), an artifact
+identifier (`artifactId`) and the version identifier (`version`).
+
+This document defines the naming conventions of Maven coordinates.
+
+You should follow this convention, whenever you create a new artifact, however Maven does not enforce any.
Review Comment:
You should follow this convention whenever you create a new artifact.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [MNGSITE-368] Rephrase naming conventions [maven-site]
Posted by "Bukama (via GitHub)" <gi...@apache.org>.
Bukama commented on PR #642:
URL: https://github.com/apache/maven-site/pull/642#issuecomment-2593335337
> Please run mvn spotless:apply to fix the CI
Oh of course. Didn't pay attention to that yesterday evening with all this thoughts about the `groupId` discussion in mind.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [MNGSITE-368] Rephrase naming conventions [maven-site]
Posted by "Bukama (via GitHub)" <gi...@apache.org>.
Bukama commented on PR #642:
URL: https://github.com/apache/maven-site/pull/642#issuecomment-2590918679
Thanks for the feedback. Updated the "easy" parts so far.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [MNGSITE-368] Rephrase naming conventions [maven-site]
Posted by "Bukama (via GitHub)" <gi...@apache.org>.
Bukama commented on code in PR #642:
URL: https://github.com/apache/maven-site/pull/642#discussion_r1915469748
##########
content/markdown/guides/mini/guide-naming-conventions.md:
##########
@@ -0,0 +1,122 @@
+<!--
+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.
+-->
+
+<head>
+ <title>Naming conventions of Maven coordinates (groupId, artifactId, and version)</title>
+</head>
+
+# Naming convention of Maven coordinates
+
+So that Maven can identify and utilise any artifact (e.g. an `.jar` file), this artifact must be identifiable through a
+unique combination of three identifiers.
+This combination is called the "[Maven coordinates][4]" and consists of a project identifier (`groupId`), an artifact
+identifier (`artifactId`) and the version identifier (`version`).
+
+This document defines the naming conventions of Maven coordinates.
+
+You should follow this convention, whenever you create a new artifact, however Maven does not enforce any.
+
+## Project identifier
+
+The `groupId` uniquely identifies your project across all projects.
+Each `groupId` should follow [Java's package name rules][1].
+This means it starts with a reversed domain name you control.
+
+Examples
+
+```
+org.apache.maven
+org.apache.commons
+```
+
+There are many legacy projects that do not follow this convention and instead use single word group IDs.
+However, it will be difficult to get a new single word group ID approved for inclusion in the Maven Central repository.
+
+You can create as many subgroups as you want.
+A good way to determine the granularity of the `groupId` is to use the project structure.
+If the current project contains multiple subprojects, each subproject should append a new identifier to the parent's
Review Comment:
Hmm, yeah. Reads totally wrong now. After a break of some hours after writing I also see the clash with projects and subprojects especially in this sentence.
The apt-file's wording was:
> You can create as many subgroups as you want.
A good way to determine the granularity of the `groupId` is to use the project structure. That is, if the current project is a multiple module project, it should append a new identifier to the parent's `groupId`.
This also mixes two meanings of "project"s. Will think about (and try to align wording with the part above).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [MNGSITE-368] Rephrase naming conventions [maven-site]
Posted by "elharo (via GitHub)" <gi...@apache.org>.
elharo commented on code in PR #642:
URL: https://github.com/apache/maven-site/pull/642#discussion_r1921065342
##########
content/markdown/guides/mini/guide-naming-conventions.md:
##########
@@ -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.
+-->
+
+<head>
+ <title>Naming conventions of Maven coordinates (groupId, artifactId, and version)</title>
+</head>
+
+# Naming convention of Maven coordinates
+
+So that Maven can identify and utilise any artifact (e.g. a `.jar` file), this artifact must be identifiable through a
+unique combination of three identifiers.
+This combination is called the "[Maven coordinates][4]".
+Maven coordinates consist of a project group identifier named `groupId`, an artifact identifier named `artifactId`, and
+the version identifier named `version`.
+
+This document defines the naming conventions of Maven coordinates.
+
+You should follow this convention whenever you create a new artifact.
+
+## Project group identifier
+
+When projects of the same organization are topically related, we say they belong to the same "project group".
+The `groupId` uniquely identifies a project group across all other groups.
+Each `groupId` should follow [Java's package name rules][1].
+This means it starts with a reversed domain name you control.
+
+Examples
+
+```
+org.apache.maven
+org.apache.commons
Review Comment:
can we add a non-Apache example here? E,g. com.google.guava
##########
content/markdown/guides/mini/guide-naming-conventions.md:
##########
@@ -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.
+-->
+
+<head>
+ <title>Naming conventions of Maven coordinates (groupId, artifactId, and version)</title>
+</head>
+
+# Naming convention of Maven coordinates
+
+So that Maven can identify and utilise any artifact (e.g. a `.jar` file), this artifact must be identifiable through a
+unique combination of three identifiers.
+This combination is called the "[Maven coordinates][4]".
+Maven coordinates consist of a project group identifier named `groupId`, an artifact identifier named `artifactId`, and
+the version identifier named `version`.
+
+This document defines the naming conventions of Maven coordinates.
+
+You should follow this convention whenever you create a new artifact.
+
+## Project group identifier
+
+When projects of the same organization are topically related, we say they belong to the same "project group".
+The `groupId` uniquely identifies a project group across all other groups.
+Each `groupId` should follow [Java's package name rules][1].
+This means it starts with a reversed domain name you control.
+
+Examples
+
+```
+org.apache.maven
+org.apache.commons
+```
+
+There are many legacy projects that do not follow this convention and instead use single word group IDs.
+However, it will be difficult to get a new single word group ID approved for inclusion in the Maven Central repository.
+
+You can create as many subgroups as you want.
+A good way to determine the granularity of the `groupId` is to look at the project group's structure.
+If there are multiple projects of the same topic or type, e.g. plugins, those may be grouped in a subgroup.
+Each subgroup should append a new identifier to the parent's `groupId`.
+
+Example
+
+```
+// Parent project group
+org.apache.maven
+
+// Subgroups
+org.apache.maven.plugins
+org.apache.maven.reporting
+```
+
+## Artifact identifier
+
+The `artifactId` is the name of the artifact and therefore should describe the artifacts content.
+The identifiers should only consist of *lowercase* letters, digits, and hyphens.
+
+Examples
+
+```
+commons-math
+maven-clean-plugin
+```
+
+## Version identifier
+
+We recommend that the `version` follows the rules of [Semantic Versioning 1.0.0][2].
+It should start with the major version, followed by the minor version and the patch version.
+All three are numeric, separated by a dot.
+
+Examples
+
+```
+1.0.0
+2.3.2
+3.5.42
+```
+
+You can add labels for pre-releases or build metadata after the patch version.
+Avoid using dates in those labels, because they are usually associated with unstable versions (see below).
+
+Examples
+
+```
+// Pre-releases
+1.0.0-beta
+1.0.0-M1
+1.0.0-rc2
+
+// Build metadata
+1.2.3+dfc0c87
+2.3.4+15433
+```
+
+### Unstable versions (SNAPSHOT)
+
+The "latest" code on a development branch might change.
Review Comment:
I don't think this is quite what snapshots are. I suggest replacing this paragraph with something along the lines of
SNAPSHOTs are artifacts built in between releases. They may be built from a particular commit or from code that isn't even committed to the source repository. Usually the snapshot has the version of the next anticipated release followed by -SNAPSHOT. Unlike release versions, snapshot artifacts can and do change over time. They are a snapshot of the project at a particular point in time, generally used for testing.
##########
content/markdown/guides/mini/guide-naming-conventions.md:
##########
@@ -50,17 +51,17 @@ There are many legacy projects that do not follow this convention and instead us
However, it will be difficult to get a new single word group ID approved for inclusion in the Maven Central repository.
You can create as many subgroups as you want.
-A good way to determine the granularity of the `groupId` is to use the project structure.
-If the current project contains multiple subprojects, each subproject should append a new identifier to the parent's
-`groupId`.
+A good way to determine the granularity of the `groupId` is to look at the project group's structure.
Review Comment:
This seems fine to me.
##########
content/markdown/guides/mini/guide-naming-conventions.md:
##########
@@ -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.
+-->
+
+<head>
+ <title>Naming conventions of Maven coordinates (groupId, artifactId, and version)</title>
+</head>
+
+# Naming convention of Maven coordinates
+
+So that Maven can identify and utilise any artifact (e.g. a `.jar` file), this artifact must be identifiable through a
+unique combination of three identifiers.
+This combination is called the "[Maven coordinates][4]".
+Maven coordinates consist of a project group identifier named `groupId`, an artifact identifier named `artifactId`, and
+the version identifier named `version`.
+
+This document defines the naming conventions of Maven coordinates.
+
+You should follow this convention whenever you create a new artifact.
+
+## Project group identifier
+
+When projects of the same organization are topically related, we say they belong to the same "project group".
+The `groupId` uniquely identifies a project group across all other groups.
+Each `groupId` should follow [Java's package name rules][1].
+This means it starts with a reversed domain name you control.
+
+Examples
+
+```
+org.apache.maven
+org.apache.commons
+```
+
+There are many legacy projects that do not follow this convention and instead use single word group IDs.
+However, it will be difficult to get a new single word group ID approved for inclusion in the Maven Central repository.
+
+You can create as many subgroups as you want.
+A good way to determine the granularity of the `groupId` is to look at the project group's structure.
+If there are multiple projects of the same topic or type, e.g. plugins, those may be grouped in a subgroup.
+Each subgroup should append a new identifier to the parent's `groupId`.
+
+Example
+
+```
+// Parent project group
+org.apache.maven
+
+// Subgroups
+org.apache.maven.plugins
+org.apache.maven.reporting
+```
+
+## Artifact identifier
+
+The `artifactId` is the name of the artifact and therefore should describe the artifacts content.
Review Comment:
Perhaps delete "and therefore should describe the artifacts content". Siometimes it's just a name. E.g. jaxen, xom, and guava are all artifact IDs that don't really describe anything. But if you keep this
artifacts --> artifact's
##########
content/markdown/guides/mini/guide-naming-conventions.md:
##########
@@ -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.
+-->
+
+<head>
+ <title>Naming conventions of Maven coordinates (groupId, artifactId, and version)</title>
+</head>
+
+# Naming convention of Maven coordinates
+
+So that Maven can identify and utilise any artifact (e.g. a `.jar` file), this artifact must be identifiable through a
+unique combination of three identifiers.
+This combination is called the "[Maven coordinates][4]".
+Maven coordinates consist of a project group identifier named `groupId`, an artifact identifier named `artifactId`, and
+the version identifier named `version`.
+
+This document defines the naming conventions of Maven coordinates.
+
+You should follow this convention whenever you create a new artifact.
+
+## Project group identifier
+
+When projects of the same organization are topically related, we say they belong to the same "project group".
+The `groupId` uniquely identifies a project group across all other groups.
+Each `groupId` should follow [Java's package name rules][1].
+This means it starts with a reversed domain name you control.
+
+Examples
+
+```
+org.apache.maven
+org.apache.commons
+```
+
+There are many legacy projects that do not follow this convention and instead use single word group IDs.
+However, it will be difficult to get a new single word group ID approved for inclusion in the Maven Central repository.
+
+You can create as many subgroups as you want.
+A good way to determine the granularity of the `groupId` is to look at the project group's structure.
+If there are multiple projects of the same topic or type, e.g. plugins, those may be grouped in a subgroup.
+Each subgroup should append a new identifier to the parent's `groupId`.
+
+Example
+
+```
+// Parent project group
+org.apache.maven
+
+// Subgroups
+org.apache.maven.plugins
+org.apache.maven.reporting
+```
+
+## Artifact identifier
+
+The `artifactId` is the name of the artifact and therefore should describe the artifacts content.
+The identifiers should only consist of *lowercase* letters, digits, and hyphens.
+
+Examples
+
+```
+commons-math
+maven-clean-plugin
+```
+
+## Version identifier
+
+We recommend that the `version` follows the rules of [Semantic Versioning 1.0.0][2].
Review Comment:
follows --> follow
##########
content/markdown/guides/mini/guide-naming-conventions.md:
##########
@@ -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.
+-->
+
+<head>
+ <title>Naming conventions of Maven coordinates (groupId, artifactId, and version)</title>
+</head>
+
+# Naming convention of Maven coordinates
+
+So that Maven can identify and utilise any artifact (e.g. a `.jar` file), this artifact must be identifiable through a
+unique combination of three identifiers.
+This combination is called the "[Maven coordinates][4]".
+Maven coordinates consist of a project group identifier named `groupId`, an artifact identifier named `artifactId`, and
+the version identifier named `version`.
+
+This document defines the naming conventions of Maven coordinates.
+
+You should follow this convention whenever you create a new artifact.
+
+## Project group identifier
+
+When projects of the same organization are topically related, we say they belong to the same "project group".
Review Comment:
This is good. I like this.
##########
content/markdown/guides/mini/guide-naming-conventions.md:
##########
@@ -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.
+-->
+
+<head>
+ <title>Naming conventions of Maven coordinates (groupId, artifactId, and version)</title>
+</head>
+
+# Naming convention of Maven coordinates
+
+So that Maven can identify and utilise any artifact (e.g. a `.jar` file), this artifact must be identifiable through a
+unique combination of three identifiers.
+This combination is called the "[Maven coordinates][4]".
+Maven coordinates consist of a project group identifier named `groupId`, an artifact identifier named `artifactId`, and
+the version identifier named `version`.
+
+This document defines the naming conventions of Maven coordinates.
+
+You should follow this convention whenever you create a new artifact.
+
+## Project group identifier
+
+When projects of the same organization are topically related, we say they belong to the same "project group".
+The `groupId` uniquely identifies a project group across all other groups.
+Each `groupId` should follow [Java's package name rules][1].
+This means it starts with a reversed domain name you control.
+
+Examples
+
+```
+org.apache.maven
+org.apache.commons
+```
+
+There are many legacy projects that do not follow this convention and instead use single word group IDs.
+However, it will be difficult to get a new single word group ID approved for inclusion in the Maven Central repository.
+
+You can create as many subgroups as you want.
+A good way to determine the granularity of the `groupId` is to look at the project group's structure.
+If there are multiple projects of the same topic or type, e.g. plugins, those may be grouped in a subgroup.
+Each subgroup should append a new identifier to the parent's `groupId`.
+
+Example
+
+```
+// Parent project group
+org.apache.maven
+
+// Subgroups
+org.apache.maven.plugins
+org.apache.maven.reporting
+```
+
+## Artifact identifier
+
+The `artifactId` is the name of the artifact and therefore should describe the artifacts content.
+The identifiers should only consist of *lowercase* letters, digits, and hyphens.
+
+Examples
+
+```
+commons-math
+maven-clean-plugin
+```
+
+## Version identifier
+
+We recommend that the `version` follows the rules of [Semantic Versioning 1.0.0][2].
+It should start with the major version, followed by the minor version and the patch version.
+All three are numeric, separated by a dot.
+
+Examples
+
+```
+1.0.0
+2.3.2
+3.5.42
+```
+
+You can add labels for pre-releases or build metadata after the patch version.
+Avoid using dates in those labels, because they are usually associated with unstable versions (see below).
Review Comment:
delete "(see below)"
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [MNGSITE-368] Rephrase naming conventions [maven-site]
Posted by "elharo (via GitHub)" <gi...@apache.org>.
elharo merged PR #642:
URL: https://github.com/apache/maven-site/pull/642
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [MNGSITE-368] Rephrase naming conventions [maven-site]
Posted by "Bukama (via GitHub)" <gi...@apache.org>.
Bukama commented on PR #642:
URL: https://github.com/apache/maven-site/pull/642#issuecomment-2593342523
> I consider it a good practice to follow the [_one sentence per line_](https://nick.groenen.me/notes/one-sentence-per-line/) convention, or at most to make line breaks at [semantical _units of thought_](https://sembr.org/).
I do this, but the coding rules (enforced by spotless) will enforce line breaks mid sentence.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [MNGSITE-368] Rephrase naming conventions [maven-site]
Posted by "Bukama (via GitHub)" <gi...@apache.org>.
Bukama commented on code in PR #642:
URL: https://github.com/apache/maven-site/pull/642#discussion_r1921028546
##########
content/markdown/guides/mini/guide-naming-conventions.md:
##########
@@ -0,0 +1,122 @@
+<!--
+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.
+-->
+
+<head>
+ <title>Naming conventions of Maven coordinates (groupId, artifactId, and version)</title>
+</head>
+
+# Naming convention of Maven coordinates
+
+So that Maven can identify and utilise any artifact (e.g. an `.jar` file), this artifact must be identifiable through a
+unique combination of three identifiers.
+This combination is called the "[Maven coordinates][4]" and consists of a project identifier (`groupId`), an artifact
+identifier (`artifactId`) and the version identifier (`version`).
Review Comment:
Decided to go with "project group" and "project group identifier"
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [MNGSITE-368] Rephrase naming conventions [maven-site]
Posted by "Bukama (via GitHub)" <gi...@apache.org>.
Bukama commented on code in PR #642:
URL: https://github.com/apache/maven-site/pull/642#discussion_r1915461183
##########
content/markdown/guides/mini/guide-naming-conventions.md:
##########
@@ -0,0 +1,122 @@
+<!--
+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.
+-->
+
+<head>
+ <title>Naming conventions of Maven coordinates (groupId, artifactId, and version)</title>
+</head>
+
+# Naming convention of Maven coordinates
+
+So that Maven can identify and utilise any artifact (e.g. an `.jar` file), this artifact must be identifiable through a
+unique combination of three identifiers.
+This combination is called the "[Maven coordinates][4]" and consists of a project identifier (`groupId`), an artifact
+identifier (`artifactId`) and the version identifier (`version`).
Review Comment:
Your proposal sounds far better! Updated it, thanks.
About "project": What about "organisation" / "organisation identifier"? Is meaning wise close to the reversed domain of most projects.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [MNGSITE-368] Rephrase naming conventions [maven-site]
Posted by "mthmulders (via GitHub)" <gi...@apache.org>.
mthmulders commented on code in PR #642:
URL: https://github.com/apache/maven-site/pull/642#discussion_r1916323951
##########
content/markdown/guides/mini/guide-naming-conventions.md:
##########
@@ -0,0 +1,126 @@
+<!--
+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.
+-->
+
+<head>
+ <title>Naming conventions of Maven coordinates (groupId, artifactId, and version)</title>
+</head>
+
+# Naming convention of Maven coordinates
+
+So that Maven can identify and utilise any artifact (e.g. a `.jar` file), this artifact must be identifiable through a
+unique combination of three identifiers.
+This combination is called the "[Maven coordinates][4]".
+Maven coordinates consist of a project identifier named `groupId`, an artifact
+identifier named `artifactId`, and the version identifier named `version`.
+
+This document defines the naming conventions of Maven coordinates.
+
+You should follow this convention whenever you create a new artifact.
+
+## Project identifier
+
+The `groupId` uniquely identifies the project across all projects.
+Each `groupId` should follow [Java's package name rules][1].
+This means it starts with a reversed domain name you control.
+
+Examples
+
+```
+org.apache.maven
+org.apache.commons
+```
+
+There are many legacy projects that do not follow this convention and instead use single word group IDs.
+However, it will be difficult to get a new single word group ID approved for inclusion in the Maven Central repository.
Review Comment:
Good one, I agree with you. @Bukama please ignore the above suggestion.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [MNGSITE-368] Rephrase naming conventions [maven-site]
Posted by "Bukama (via GitHub)" <gi...@apache.org>.
Bukama commented on code in PR #642:
URL: https://github.com/apache/maven-site/pull/642#discussion_r1921114855
##########
content/markdown/guides/mini/guide-naming-conventions.md:
##########
@@ -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.
+-->
+
+<head>
+ <title>Naming conventions of Maven coordinates (groupId, artifactId, and version)</title>
+</head>
+
+# Naming convention of Maven coordinates
+
+So that Maven can identify and utilise any artifact (e.g. a `.jar` file), this artifact must be identifiable through a
+unique combination of three identifiers.
+This combination is called the "[Maven coordinates][4]".
+Maven coordinates consist of a project group identifier named `groupId`, an artifact identifier named `artifactId`, and
+the version identifier named `version`.
+
+This document defines the naming conventions of Maven coordinates.
+
+You should follow this convention whenever you create a new artifact.
+
+## Project group identifier
+
+When projects of the same organization are topically related, we say they belong to the same "project group".
+The `groupId` uniquely identifies a project group across all other groups.
+Each `groupId` should follow [Java's package name rules][1].
+This means it starts with a reversed domain name you control.
+
+Examples
+
+```
+org.apache.maven
+org.apache.commons
+```
+
+There are many legacy projects that do not follow this convention and instead use single word group IDs.
+However, it will be difficult to get a new single word group ID approved for inclusion in the Maven Central repository.
+
+You can create as many subgroups as you want.
+A good way to determine the granularity of the `groupId` is to look at the project group's structure.
+If there are multiple projects of the same topic or type, e.g. plugins, those may be grouped in a subgroup.
+Each subgroup should append a new identifier to the parent's `groupId`.
+
+Example
+
+```
+// Parent project group
+org.apache.maven
+
+// Subgroups
+org.apache.maven.plugins
+org.apache.maven.reporting
+```
+
+## Artifact identifier
+
+The `artifactId` is the name of the artifact and therefore should describe the artifacts content.
+The identifiers should only consist of *lowercase* letters, digits, and hyphens.
+
+Examples
+
+```
+commons-math
+maven-clean-plugin
+```
+
+## Version identifier
+
+We recommend that the `version` follows the rules of [Semantic Versioning 1.0.0][2].
+It should start with the major version, followed by the minor version and the patch version.
+All three are numeric, separated by a dot.
+
+Examples
+
+```
+1.0.0
+2.3.2
+3.5.42
+```
+
+You can add labels for pre-releases or build metadata after the patch version.
+Avoid using dates in those labels, because they are usually associated with unstable versions (see below).
+
+Examples
+
+```
+// Pre-releases
+1.0.0-beta
+1.0.0-M1
+1.0.0-rc2
+
+// Build metadata
+1.2.3+dfc0c87
+2.3.4+15433
+```
+
+### Unstable versions (SNAPSHOT)
+
+The "latest" code on a development branch might change.
Review Comment:
Yeah reads far better. Only change I did was moving the sentence about the version to the end, because it somehow "disrupts" the explanation what snapshots are.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [MNGSITE-368] Rephrase naming conventions [maven-site]
Posted by "mthmulders (via GitHub)" <gi...@apache.org>.
mthmulders commented on code in PR #642:
URL: https://github.com/apache/maven-site/pull/642#discussion_r1921034483
##########
content/markdown/guides/mini/guide-naming-conventions.md:
##########
@@ -50,17 +51,17 @@ There are many legacy projects that do not follow this convention and instead us
However, it will be difficult to get a new single word group ID approved for inclusion in the Maven Central repository.
You can create as many subgroups as you want.
-A good way to determine the granularity of the `groupId` is to use the project structure.
-If the current project contains multiple subprojects, each subproject should append a new identifier to the parent's
-`groupId`.
+A good way to determine the granularity of the `groupId` is to look at the project group's structure.
Review Comment:
I am not a native speaker, but I am unsure about "project group's structure", especially the apostrophe. @elharo is probably more qualified to say something about this. Would "the structure of the project group" work?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [MNGSITE-368] Rephrase naming conventions [maven-site]
Posted by "lprimak (via GitHub)" <gi...@apache.org>.
lprimak commented on code in PR #642:
URL: https://github.com/apache/maven-site/pull/642#discussion_r1915503520
##########
content/markdown/guides/mini/guide-naming-conventions.md:
##########
@@ -0,0 +1,122 @@
+<!--
+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.
+-->
+
+<head>
+ <title>Naming conventions of Maven coordinates (groupId, artifactId, and version)</title>
+</head>
+
+# Naming convention of Maven coordinates
+
+So that Maven can identify and utilise any artifact (e.g. an `.jar` file), this artifact must be identifiable through a
+unique combination of three identifiers.
+This combination is called the "[Maven coordinates][4]" and consists of a project identifier (`groupId`), an artifact
+identifier (`artifactId`) and the version identifier (`version`).
+
+This document defines the naming conventions of Maven coordinates.
+
+You should follow this convention, whenever you create a new artifact, however Maven does not enforce any.
+
+## Project identifier
+
+The `groupId` uniquely identifies your project across all projects.
+Each `groupId` should follow [Java's package name rules][1].
+This means it starts with a reversed domain name you control.
+
+Examples
+
+```
+org.apache.maven
+org.apache.commons
+```
+
+There are many legacy projects that do not follow this convention and instead use single word group IDs.
+However, it will be difficult to get a new single word group ID approved for inclusion in the Maven Central repository.
+
+You can create as many subgroups as you want.
+A good way to determine the granularity of the `groupId` is to use the project structure.
+If the current project contains multiple subprojects, each subproject should append a new identifier to the parent's
Review Comment:
What about "project domain group" or "project group"?
Maven `groupId` is strongly associated with domain in maven central, so that would make sense no?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [MNGSITE-368] Rephrase naming conventions [maven-site]
Posted by "Bukama (via GitHub)" <gi...@apache.org>.
Bukama commented on code in PR #642:
URL: https://github.com/apache/maven-site/pull/642#discussion_r1916929793
##########
content/markdown/guides/mini/guide-naming-conventions.md:
##########
@@ -0,0 +1,126 @@
+<!--
+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.
+-->
+
+<head>
+ <title>Naming conventions of Maven coordinates (groupId, artifactId, and version)</title>
+</head>
+
+# Naming convention of Maven coordinates
+
+So that Maven can identify and utilise any artifact (e.g. a `.jar` file), this artifact must be identifiable through a
+unique combination of three identifiers.
+This combination is called the "[Maven coordinates][4]".
+Maven coordinates consist of a project identifier named `groupId`, an artifact
+identifier named `artifactId`, and the version identifier named `version`.
+
+This document defines the naming conventions of Maven coordinates.
+
+You should follow this convention whenever you create a new artifact.
+
+## Project identifier
+
+The `groupId` uniquely identifies the project across all projects.
+Each `groupId` should follow [Java's package name rules][1].
+This means it starts with a reversed domain name you control.
+
+Examples
+
+```
+org.apache.maven
+org.apache.commons
+```
+
+There are many legacy projects that do not follow this convention and instead use single word group IDs.
+However, it will be difficult to get a new single word group ID approved for inclusion in the Maven Central repository.
+
+You can create as many subgroups as you want.
+A good way to determine the granularity of the `groupId` is to use the project structure.
+If the current project contains multiple subprojects, each subproject should append a new identifier to the parent's
+`groupId`.
+
+Example
+
+```
+// Parent
+org.apache.maven
+
+// Subprojects
+org.apache.maven.plugins
+org.apache.maven.reporting
+```
+
+## Artifact identifier
+
+The `artifactId` is the name of the artifact and therefore should describe the artifacts content.
+The identifiers should only consist of *lowercase* letters, digits, and hyphens only.
+
+Examples
+
+```
+commons-math
+maven-clean-plugin
+```
+
+## Version identifier
+
+The `version` should follow the rules of [Semantic Versioning][2].
Review Comment:
Link changed to 1.0.0 and number added in link text. Also changed to "we recommend.." - For me the word "should" was clear enough, as "should" is not "mush" and therefore not mandatory.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [MNGSITE-368] Rephrase naming conventions [maven-site]
Posted by "Bukama (via GitHub)" <gi...@apache.org>.
Bukama commented on code in PR #642:
URL: https://github.com/apache/maven-site/pull/642#discussion_r1915469748
##########
content/markdown/guides/mini/guide-naming-conventions.md:
##########
@@ -0,0 +1,122 @@
+<!--
+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.
+-->
+
+<head>
+ <title>Naming conventions of Maven coordinates (groupId, artifactId, and version)</title>
+</head>
+
+# Naming convention of Maven coordinates
+
+So that Maven can identify and utilise any artifact (e.g. an `.jar` file), this artifact must be identifiable through a
+unique combination of three identifiers.
+This combination is called the "[Maven coordinates][4]" and consists of a project identifier (`groupId`), an artifact
+identifier (`artifactId`) and the version identifier (`version`).
+
+This document defines the naming conventions of Maven coordinates.
+
+You should follow this convention, whenever you create a new artifact, however Maven does not enforce any.
+
+## Project identifier
+
+The `groupId` uniquely identifies your project across all projects.
+Each `groupId` should follow [Java's package name rules][1].
+This means it starts with a reversed domain name you control.
+
+Examples
+
+```
+org.apache.maven
+org.apache.commons
+```
+
+There are many legacy projects that do not follow this convention and instead use single word group IDs.
+However, it will be difficult to get a new single word group ID approved for inclusion in the Maven Central repository.
+
+You can create as many subgroups as you want.
+A good way to determine the granularity of the `groupId` is to use the project structure.
+If the current project contains multiple subprojects, each subproject should append a new identifier to the parent's
Review Comment:
Hmm, yeah. Reads totally wrong now. After a break of some hours after writing I also see the clash with projects and subprojects especially in this sentence.
The apt-file's wording was:
> You can create as many subgroups as you want.
A good way to determine the granularity of the `groupId` is to use the project structure. That is, if the current project is a multiple module project, it should append a new identifier to the parent's `groupId`.
This also mixed two meanings of projects. Will think about (and try to align wording with the part above).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [MNGSITE-368] Rephrase naming conventions [maven-site]
Posted by "elharo (via GitHub)" <gi...@apache.org>.
elharo commented on code in PR #642:
URL: https://github.com/apache/maven-site/pull/642#discussion_r1916297188
##########
content/markdown/guides/mini/guide-naming-conventions.md:
##########
@@ -0,0 +1,126 @@
+<!--
+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.
+-->
+
+<head>
+ <title>Naming conventions of Maven coordinates (groupId, artifactId, and version)</title>
+</head>
+
+# Naming convention of Maven coordinates
+
+So that Maven can identify and utilise any artifact (e.g. a `.jar` file), this artifact must be identifiable through a
+unique combination of three identifiers.
+This combination is called the "[Maven coordinates][4]".
+Maven coordinates consist of a project identifier named `groupId`, an artifact
+identifier named `artifactId`, and the version identifier named `version`.
+
+This document defines the naming conventions of Maven coordinates.
+
+You should follow this convention whenever you create a new artifact.
+
+## Project identifier
+
+The `groupId` uniquely identifies the project across all projects.
+Each `groupId` should follow [Java's package name rules][1].
+This means it starts with a reversed domain name you control.
+
+Examples
+
+```
+org.apache.maven
+org.apache.commons
+```
+
+There are many legacy projects that do not follow this convention and instead use single word group IDs.
+However, it will be difficult to get a new single word group ID approved for inclusion in the Maven Central repository.
+
+You can create as many subgroups as you want.
+A good way to determine the granularity of the `groupId` is to use the project structure.
+If the current project contains multiple subprojects, each subproject should append a new identifier to the parent's
+`groupId`.
+
+Example
+
+```
+// Parent
+org.apache.maven
+
+// Subprojects
+org.apache.maven.plugins
+org.apache.maven.reporting
+```
+
+## Artifact identifier
+
+The `artifactId` is the name of the artifact and therefore should describe the artifacts content.
+The identifiers should only consist of *lowercase* letters, digits, and hyphens only.
+
+Examples
+
+```
+commons-math
+maven-clean-plugin
+```
+
+## Version identifier
+
+The `version` should follow the rules of [Semantic Versioning][2].
Review Comment:
Semantic Versioning 1.0
Maven does not understand or follow semver 2.0.
Al;so, perhaps weaken this to make it clear this is advisory and not mandatory. E.g. "Preferably the version" or "We recommend that the version follow"
##########
content/markdown/guides/mini/guide-naming-conventions.md:
##########
@@ -0,0 +1,126 @@
+<!--
+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.
+-->
+
+<head>
+ <title>Naming conventions of Maven coordinates (groupId, artifactId, and version)</title>
+</head>
+
+# Naming convention of Maven coordinates
+
+So that Maven can identify and utilise any artifact (e.g. a `.jar` file), this artifact must be identifiable through a
+unique combination of three identifiers.
+This combination is called the "[Maven coordinates][4]".
+Maven coordinates consist of a project identifier named `groupId`, an artifact
+identifier named `artifactId`, and the version identifier named `version`.
+
+This document defines the naming conventions of Maven coordinates.
+
+You should follow this convention whenever you create a new artifact.
+
+## Project identifier
+
+The `groupId` uniquely identifies the project across all projects.
+Each `groupId` should follow [Java's package name rules][1].
+This means it starts with a reversed domain name you control.
+
+Examples
+
+```
+org.apache.maven
+org.apache.commons
+```
+
+There are many legacy projects that do not follow this convention and instead use single word group IDs.
+However, it will be difficult to get a new single word group ID approved for inclusion in the Maven Central repository.
+
+You can create as many subgroups as you want.
+A good way to determine the granularity of the `groupId` is to use the project structure.
+If the current project contains multiple subprojects, each subproject should append a new identifier to the parent's
+`groupId`.
+
+Example
+
+```
+// Parent
+org.apache.maven
+
+// Subprojects
+org.apache.maven.plugins
+org.apache.maven.reporting
+```
+
+## Artifact identifier
+
+The `artifactId` is the name of the artifact and therefore should describe the artifacts content.
+The identifiers should only consist of *lowercase* letters, digits, and hyphens only.
+
+Examples
+
+```
+commons-math
+maven-clean-plugin
+```
+
+## Version identifier
+
+The `version` should follow the rules of [Semantic Versioning][2].
+It should start with the major version, followed by the minor version and the patch version.
+All three are numeric, separated by a dot.
+
+Examples
+
+```
+1.0.0
+2.3.2
+3.5.42
+```
+
+You can add labels for pre-releases or build metadata after the patch version.
+Avoid using dates in those labels, because they are usually associated with unstable versions (see below).
+
+Examples
+
+```
+// Pre-releases
+1.0.0-beta
+1.0.0-M1
+1.0.0-rc2
+
+// Build metadata
+1.2.3+dfc0c87
+2.3.4+15433
+```
+
+### Unstable versions (SNAPSHOT)
+
+The "latest" code on a development branch might probably change.
+Maybe it's even unstable and not ready for use.
Review Comment:
delete even
##########
content/markdown/guides/mini/guide-naming-conventions.md:
##########
@@ -0,0 +1,126 @@
+<!--
+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.
+-->
+
+<head>
+ <title>Naming conventions of Maven coordinates (groupId, artifactId, and version)</title>
+</head>
+
+# Naming convention of Maven coordinates
+
+So that Maven can identify and utilise any artifact (e.g. a `.jar` file), this artifact must be identifiable through a
+unique combination of three identifiers.
+This combination is called the "[Maven coordinates][4]".
+Maven coordinates consist of a project identifier named `groupId`, an artifact
+identifier named `artifactId`, and the version identifier named `version`.
+
+This document defines the naming conventions of Maven coordinates.
+
+You should follow this convention whenever you create a new artifact.
+
+## Project identifier
+
+The `groupId` uniquely identifies the project across all projects.
+Each `groupId` should follow [Java's package name rules][1].
+This means it starts with a reversed domain name you control.
+
+Examples
+
+```
+org.apache.maven
+org.apache.commons
+```
+
+There are many legacy projects that do not follow this convention and instead use single word group IDs.
+However, it will be difficult to get a new single word group ID approved for inclusion in the Maven Central repository.
+
+You can create as many subgroups as you want.
+A good way to determine the granularity of the `groupId` is to use the project structure.
+If the current project contains multiple subprojects, each subproject should append a new identifier to the parent's
+`groupId`.
+
+Example
+
+```
+// Parent
+org.apache.maven
+
+// Subprojects
+org.apache.maven.plugins
+org.apache.maven.reporting
+```
+
+## Artifact identifier
+
+The `artifactId` is the name of the artifact and therefore should describe the artifacts content.
+The identifiers should only consist of *lowercase* letters, digits, and hyphens only.
+
+Examples
+
+```
+commons-math
+maven-clean-plugin
+```
+
+## Version identifier
+
+The `version` should follow the rules of [Semantic Versioning][2].
+It should start with the major version, followed by the minor version and the patch version.
+All three are numeric, separated by a dot.
+
+Examples
+
+```
+1.0.0
+2.3.2
+3.5.42
+```
+
+You can add labels for pre-releases or build metadata after the patch version.
+Avoid using dates in those labels, because they are usually associated with unstable versions (see below).
+
+Examples
+
+```
+// Pre-releases
+1.0.0-beta
+1.0.0-M1
+1.0.0-rc2
+
+// Build metadata
+1.2.3+dfc0c87
+2.3.4+15433
+```
+
+### Unstable versions (SNAPSHOT)
+
+The "latest" code on a development branch might probably change.
Review Comment:
delete probably as it's implicit in "might"
##########
content/markdown/guides/mini/guide-naming-conventions.md:
##########
@@ -0,0 +1,126 @@
+<!--
+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.
+-->
+
+<head>
+ <title>Naming conventions of Maven coordinates (groupId, artifactId, and version)</title>
+</head>
+
+# Naming convention of Maven coordinates
+
+So that Maven can identify and utilise any artifact (e.g. a `.jar` file), this artifact must be identifiable through a
+unique combination of three identifiers.
+This combination is called the "[Maven coordinates][4]".
+Maven coordinates consist of a project identifier named `groupId`, an artifact
+identifier named `artifactId`, and the version identifier named `version`.
+
+This document defines the naming conventions of Maven coordinates.
+
+You should follow this convention whenever you create a new artifact.
+
+## Project identifier
+
+The `groupId` uniquely identifies the project across all projects.
+Each `groupId` should follow [Java's package name rules][1].
+This means it starts with a reversed domain name you control.
+
+Examples
+
+```
+org.apache.maven
+org.apache.commons
+```
+
+There are many legacy projects that do not follow this convention and instead use single word group IDs.
+However, it will be difficult to get a new single word group ID approved for inclusion in the Maven Central repository.
Review Comment:
I prefer group ID as the term unless you are referring specifically to the element in pom.xml. This is how we talked about linked lists when discussing the data structure but the class name is LinkedList. Prose is not code.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [MNGSITE-368] Rephrase naming conventions [maven-site]
Posted by "elharo (via GitHub)" <gi...@apache.org>.
elharo commented on code in PR #642:
URL: https://github.com/apache/maven-site/pull/642#discussion_r1916294240
##########
content/markdown/guides/mini/guide-naming-conventions.md:
##########
@@ -0,0 +1,126 @@
+<!--
+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.
+-->
+
+<head>
+ <title>Naming conventions of Maven coordinates (groupId, artifactId, and version)</title>
+</head>
+
+# Naming convention of Maven coordinates
+
+So that Maven can identify and utilise any artifact (e.g. a `.jar` file), this artifact must be identifiable through a
+unique combination of three identifiers.
+This combination is called the "[Maven coordinates][4]".
+Maven coordinates consist of a project identifier named `groupId`, an artifact
+identifier named `artifactId`, and the version identifier named `version`.
+
+This document defines the naming conventions of Maven coordinates.
+
+You should follow this convention whenever you create a new artifact.
+
+## Project identifier
+
+The `groupId` uniquely identifies the project across all projects.
+Each `groupId` should follow [Java's package name rules][1].
+This means it starts with a reversed domain name you control.
+
+Examples
+
+```
+org.apache.maven
+org.apache.commons
+```
+
+There are many legacy projects that do not follow this convention and instead use single word group IDs.
+However, it will be difficult to get a new single word group ID approved for inclusion in the Maven Central repository.
Review Comment:
I prefer group ID as the term unless you are referring specifically to the element in pom.xml. This is similar to how we talk about linked lists when discussing the data structure, but the class name is LinkedList. Prose is not code.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [MNGSITE-368] Rephrase naming conventions [maven-site]
Posted by "Bukama (via GitHub)" <gi...@apache.org>.
Bukama commented on code in PR #642:
URL: https://github.com/apache/maven-site/pull/642#discussion_r1921113874
##########
content/markdown/guides/mini/guide-naming-conventions.md:
##########
@@ -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.
+-->
+
+<head>
+ <title>Naming conventions of Maven coordinates (groupId, artifactId, and version)</title>
+</head>
+
+# Naming convention of Maven coordinates
+
+So that Maven can identify and utilise any artifact (e.g. a `.jar` file), this artifact must be identifiable through a
+unique combination of three identifiers.
+This combination is called the "[Maven coordinates][4]".
+Maven coordinates consist of a project group identifier named `groupId`, an artifact identifier named `artifactId`, and
+the version identifier named `version`.
+
+This document defines the naming conventions of Maven coordinates.
+
+You should follow this convention whenever you create a new artifact.
+
+## Project group identifier
+
+When projects of the same organization are topically related, we say they belong to the same "project group".
+The `groupId` uniquely identifies a project group across all other groups.
+Each `groupId` should follow [Java's package name rules][1].
+This means it starts with a reversed domain name you control.
+
+Examples
+
+```
+org.apache.maven
+org.apache.commons
+```
+
+There are many legacy projects that do not follow this convention and instead use single word group IDs.
+However, it will be difficult to get a new single word group ID approved for inclusion in the Maven Central repository.
+
+You can create as many subgroups as you want.
+A good way to determine the granularity of the `groupId` is to look at the project group's structure.
+If there are multiple projects of the same topic or type, e.g. plugins, those may be grouped in a subgroup.
+Each subgroup should append a new identifier to the parent's `groupId`.
+
+Example
+
+```
+// Parent project group
+org.apache.maven
+
+// Subgroups
+org.apache.maven.plugins
+org.apache.maven.reporting
+```
+
+## Artifact identifier
+
+The `artifactId` is the name of the artifact and therefore should describe the artifacts content.
+The identifiers should only consist of *lowercase* letters, digits, and hyphens.
+
+Examples
+
+```
+commons-math
+maven-clean-plugin
+```
+
+## Version identifier
+
+We recommend that the `version` follows the rules of [Semantic Versioning 1.0.0][2].
Review Comment:
Isn't this 3rd person singular (The version identifier / the `version` element) and as this needs the "s"?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [MNGSITE-368] Rephrase naming conventions [maven-site]
Posted by "elharo (via GitHub)" <gi...@apache.org>.
elharo commented on PR #642:
URL: https://github.com/apache/maven-site/pull/642#issuecomment-2601028312
Maven does not "follow the [one sentence per line](https://nick.groenen.me/notes/one-sentence-per-line/) convention", and I consider that a very bad idea that harms readability. We do probably have a maximum line length set somewhere, though I'm not sure what it is.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org